From b0cdd8e6cbed44fb478607649389948a24517a11 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 16 Feb 2023 22:01:12 +1000 Subject: [PATCH] add explicit render options --- Minerva/Controllers/BadgeController.cs | 14 ++++++++++- Minerva/Program.cs | 33 ++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/Minerva/Controllers/BadgeController.cs b/Minerva/Controllers/BadgeController.cs index ffdb94b..f82b6fb 100644 --- a/Minerva/Controllers/BadgeController.cs +++ b/Minerva/Controllers/BadgeController.cs @@ -22,6 +22,12 @@ namespace Minerva.Controllers if (badgeCode != null && badgeCode.Length > 0) { var badge = GetFromServer.ParseBadgeData(badgeCode); + + badge.Parts.ForEach(x => + { + x.IsShockwaveBadge = Program.SHOCKWAVE_BADGE_RENDER; + }); + //var avatar = new Avatar(figure, size, bodyDirection, headDirection, figuredataReader, action: action, gesture: gesture, headOnly: headOnly, frame: frame, carryDrink: carryDrink, cropImage: cropImage); if (badgeCode.EndsWith(".gif")) @@ -49,8 +55,14 @@ namespace Minerva.Controllers if (badgeCode != null && badgeCode.Length > 0) { var badge = GetFromServer.ParseBadgeData(badgeCode); + + badge.Parts.ForEach(x => + { + x.IsShockwaveBadge = Program.SHOCKWAVE_BADGE_RENDER; + }); + //var avatar = new Avatar(figure, size, bodyDirection, headDirection, figuredataReader, action: action, gesture: gesture, headOnly: headOnly, frame: frame, carryDrink: carryDrink, cropImage: cropImage); - + var badgeData = badge.Render(gifEncoder: true, forceWhiteBackground: true); if (badgeData != null) diff --git a/Minerva/Program.cs b/Minerva/Program.cs index 728fb41..6efdf43 100644 --- a/Minerva/Program.cs +++ b/Minerva/Program.cs @@ -5,8 +5,41 @@ namespace Minerva { public class Program { + public static bool SHOCKWAVE_BADGE_RENDER = true; + public static bool FLASH_BADGE_RENDER = false; + public static void Main(string[] args) { + var argsList = args.ToList(); + + if (!argsList.Contains("--shockwave-badge-render") && + !argsList.Contains("--flash-badge-render")) + { + Console.WriteLine(); + + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine("Warning!"); + + Console.ResetColor(); + Console.WriteLine("Needs to be started with either parameter included for finer tuning:"); + Console.WriteLine("--shockwave-badge-render (for Habbo versions using the Shockwave client)"); + Console.WriteLine("--flash-badge-render (for Habbo versions using the Flash client in 2013+)"); + + Console.WriteLine(); + } + + if (argsList.Contains("--shockwave-badge-render")) + { + Console.WriteLine("Shockwave badge rendering enabled"); + SHOCKWAVE_BADGE_RENDER = true; + } + else + { + Console.WriteLine("Flash (client versions above and including 2013+) badge rendering enabled"); + FLASH_BADGE_RENDER = false; + + } + var builder = WebApplication.CreateBuilder(args); // Add services to the container.