From 2a4f1a7c320285cc5c1adb6937177c6763268ec7 Mon Sep 17 00:00:00 2001 From: SillyStar-Github <90102598+SillyStar-Github@users.noreply.github.com> Date: Tue, 29 Apr 2025 08:35:11 -0400 Subject: [PATCH] almanac weird text bugfix, I THINK THIS SHOULD BE IT GUYS --- MelonLoader/AssetStore/StringStore.cs | 6 ++-- MelonLoader/AssetStore/WarningStore.cs | 6 ++++ .../BaseTextObjects/TextMeshPro_Patch.cs | 2 +- .../Managers/AlmanacPlantBank_Patch.cs | 32 +++++++++++++------ MelonLoader/Utils.cs | 1 + 5 files changed, 34 insertions(+), 13 deletions(-) diff --git a/MelonLoader/AssetStore/StringStore.cs b/MelonLoader/AssetStore/StringStore.cs index 17c06da..d2a13c8 100644 --- a/MelonLoader/AssetStore/StringStore.cs +++ b/MelonLoader/AssetStore/StringStore.cs @@ -1084,8 +1084,9 @@ namespace PvZ_Fusion_Translator.AssetStore { "Japanese" , "困難:" }, { "Korean", "난이도:" }, { "Javanese" , "Kesulitan:" }, - { "Polish", "Trudność"}, - { "Hungarian", "Nehézség"}, + { "Polish", "Trudność:"}, + { "Hungarian", "Nehézség:"}, + { "Arabic", "صعوبة:"}, // { "Ukrainian" , "Складність:" }, // { "Slovak" , "Náročnosť:" }, } @@ -1107,6 +1108,7 @@ namespace PvZ_Fusion_Translator.AssetStore { "Javanese" , "Mayit:" }, { "Polish" , "Zombi:" }, { "Hungarian" , "Zombik:" }, + { "Arabic" , "الزومبي:" }, // { "Ukrainian" , "Зомбі:" }, // { "Slovak" , "Zombíci:"} } diff --git a/MelonLoader/AssetStore/WarningStore.cs b/MelonLoader/AssetStore/WarningStore.cs index 6455c38..1c9c925 100644 --- a/MelonLoader/AssetStore/WarningStore.cs +++ b/MelonLoader/AssetStore/WarningStore.cs @@ -107,6 +107,12 @@ namespace PvZ_Fusion_Translator.AssetStore "Kerüld a többi forrást, mert vírusokat tartalmazhatnak.\n" + "Kérjük, látogass el közösségünkbe a jövőbeli frissítésekért.", "Oké! Értem.") }, + { "Arabic" , ("The only valid source of this translation is from this community:\n" + + "discord.gg/DPAC5ZVJ8T. If you got this anywhere else like \n" + + "Plants Hybrid and superhybrid.online, they stole it.\n" + + "Stray away from other sources as they may contain viruses.\n" + + "Please visit our community for future updates.", + "Okay! Got it.") }, // { "OTHER" , ("A única fonte válida dessa tradução é desta\ncomunidade: discord.gg/DPAC5ZVJ8T. Se você obteve \nisso em qualquer lugar como Plants Hybrid\ne superhybrid.online,ou Blue Fly do Youtube,\nelses roubaram. Fique longe de sites falsos. Por favor,\nvisite nossa comunidade para futuras atualizações.", "¡Okei! Entendido.") } // { "OTHER" , ("Ang translation na ito ay galing dito lamang:\ndiscord.gg/DPAC5ZVJ8T. Pag nakuha niyo ito sa iba pa\nkagaya ng Plants Hybrid o superhybrid.online, anumang\nginawagawa ng Blue Fly mula sa Youtube, o anumang\nSub2Unlock links, scam sila. MAG INGAT dahil\nkasi baka may virus 'jan. Join kayo sa discord namin!\nFilipino Translation by ColinPogi" , "Tayo magsi-laro!") } }; diff --git a/MelonLoader/Patches/BaseTextObjects/TextMeshPro_Patch.cs b/MelonLoader/Patches/BaseTextObjects/TextMeshPro_Patch.cs index 6aa8151..c75c843 100644 --- a/MelonLoader/Patches/BaseTextObjects/TextMeshPro_Patch.cs +++ b/MelonLoader/Patches/BaseTextObjects/TextMeshPro_Patch.cs @@ -13,7 +13,7 @@ namespace PvZ_Fusion_Translator.Patches.BaseTextObjects { if (!string.IsNullOrEmpty(__instance.text)) { - if (__instance.transform.parent.name.StartsWith("AlmanacHelp")) + if (__instance.transform.parent.name.StartsWith("AlmanacHelp") || __instance.transform.parent.name.StartsWith("CardBank")) { __instance = StringStore.TranslateText(__instance); __instance.autoSizeTextContainer = false; diff --git a/MelonLoader/Patches/Managers/AlmanacPlantBank_Patch.cs b/MelonLoader/Patches/Managers/AlmanacPlantBank_Patch.cs index ac09456..eeb6350 100644 --- a/MelonLoader/Patches/Managers/AlmanacPlantBank_Patch.cs +++ b/MelonLoader/Patches/Managers/AlmanacPlantBank_Patch.cs @@ -2,6 +2,7 @@ using Il2Cpp; using Il2CppTMPro; using MelonLoader; +using MelonLoader.TinyJSON; using PvZ_Fusion_Translator.AssetStore; using UnityEngine; using static PvZ_Fusion_Translator.FileLoader; @@ -12,8 +13,8 @@ namespace PvZ_Fusion_Translator.Patches.Managers public static partial class AlmanacPlantBank_Patch { [HarmonyPatch(nameof(AlmanacPlantBank.InitNameAndInfoFromJson))] - [HarmonyPrefix] - private static bool InitNameAndInfoFromJson(Il2Cpp.AlmanacPlantBank __instance) + [HarmonyPostfix] + private static void InitNameAndInfoFromJson(Il2Cpp.AlmanacPlantBank __instance) { #if MULTI_LANGUAGE string currentLanguage = Utils.Language.ToString(); @@ -27,7 +28,7 @@ namespace PvZ_Fusion_Translator.Patches.Managers if (!File.Exists(path)) { Log.LogError($"LawnStringsTranslate.json file not found at path: {path}"); - return true; + return; } #if OBFUSCATE @@ -66,11 +67,12 @@ namespace PvZ_Fusion_Translator.Patches.Managers { if (plantInfo.seedType == __instance.theSeedType) { - component.text = plantInfo.info + "\n\n" + plantInfo.introduce; + component.autoSizeTextContainer = false; + component.text = plantInfo.info + "\n\n" + plantInfo.introduce; component.overflowMode = TextOverflowModes.Page; - //fix dimensions for cost text - component.rectTransform.offsetMax = new Vector2(component.rectTransform.offsetMax.x, 27.3839f); + //fix dimensions for cost text + component.rectTransform.offsetMax = new Vector2(component.rectTransform.offsetMax.x, 27.3839f); component.rectTransform.offsetMin = new Vector2(component.rectTransform.offsetMin.x, -29.3079f); component.rectTransform.sizeDelta = new Vector2(component.rectTransform.sizeDelta.x, 50.917f); component.transform.localPosition = new Vector3(component.transform.localPosition.x, component.transform.localPosition.y + 0.15f, component.transform.localPosition.z); @@ -95,14 +97,13 @@ namespace PvZ_Fusion_Translator.Patches.Managers } component2.font = fontAsset; component3.font = fontAsset; - return false; } } - return true; + return; } - [HarmonyPatch(nameof(AlmanacPlantBank_Patch.OnMouseDown))] + [HarmonyPatch(nameof(AlmanacPlantBank.OnMouseDown))] [HarmonyPrefix] private static bool OnMouseDown(Il2Cpp.AlmanacPlantBank __instance) { @@ -114,5 +115,16 @@ namespace PvZ_Fusion_Translator.Patches.Managers } return true; } - } + + [HarmonyPatch(nameof(AlmanacPlantBank.PVPInit))] + [HarmonyPostfix] + private static void PVPInit(Il2Cpp.AlmanacPlantBank __instance) + { + TextMeshPro component = __instance.introduce.GetComponent(); + if (component != null) + { + component.autoSizeTextContainer = false; + } + } + } } \ No newline at end of file diff --git a/MelonLoader/Utils.cs b/MelonLoader/Utils.cs index 5345ef7..0aceab7 100644 --- a/MelonLoader/Utils.cs +++ b/MelonLoader/Utils.cs @@ -127,6 +127,7 @@ namespace PvZ_Fusion_Translator // Slovak, Polish, Hungarian, + Arabic, LANG_END }