From 0540cf06dac572fee2d359fdf69f4de134675879 Mon Sep 17 00:00:00 2001 From: Shiru Date: Wed, 15 Jun 2022 14:55:04 +0100 Subject: [PATCH 1/6] Fixed sprite loading for V0.20.2 --- RespriteHero/RespriteHero.cs | 82 +++++++++++--------------------- RespriteHero/RespriteHero.csproj | 18 +++---- 2 files changed, 38 insertions(+), 62 deletions(-) diff --git a/RespriteHero/RespriteHero.cs b/RespriteHero/RespriteHero.cs index c39d886..426343d 100644 --- a/RespriteHero/RespriteHero.cs +++ b/RespriteHero/RespriteHero.cs @@ -39,7 +39,7 @@ public static Sprite LoadPNGCache(string filePath, Item2 item) { public static Sprite LoadPNG(string filePath, Item2 item) { Texture2D tex = null; byte[] fileData; - + MelonLogger.Msg(item.gameObject); float PPU = 16f; if (File.Exists(filePath)) { @@ -65,13 +65,15 @@ public static Sprite LoadPNG(string filePath, Item2 item) { if (PPU % 2 != 0) PPU += 1; + else if (PPU == 0) + return null; return Sprite.Create( tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f), PPU, //Calculated value based on image dimensions and item size - 0, + 0, SpriteMeshType.FullRect ); } @@ -81,71 +83,45 @@ public static int[] _BPTGetGridBounds(List colliders, Item2 item) Vector2 max = new Vector2 { x = 0, y = 0 }; Vector2 min = new Vector2 { x = 0, y = 0 }; if (colliders.Count > 0) { - foreach (BoxCollider2D collider in colliders) { - max.x = collider.bounds.max.x + collider.offset.x - item.gameObject.transform.position.x; - max.y = collider.bounds.max.y + collider.offset.y - item.gameObject.transform.position.y; - min.x = collider.bounds.min.x + collider.offset.x - item.gameObject.transform.position.x; - min.y = collider.bounds.min.y + collider.offset.y - item.gameObject.transform.position.y; + max.x = collider.size.x/2 + collider.offset.x - item.gameObject.transform.position.x; + max.y = collider.size.y/2 + collider.offset.y - item.gameObject.transform.position.y; + min.x = -collider.size.x/2 + collider.offset.x - item.gameObject.transform.position.x; + min.y = -collider.size.y/2 + collider.offset.y - item.gameObject.transform.position.y; } } - gridNum[0] = Mathf.RoundToInt(Mathf.Abs(max.x) + Mathf.Abs(min.x)); - gridNum[1] = Mathf.RoundToInt(Mathf.Abs(max.y) + Mathf.Abs(min.y)); + gridNum[0] = Mathf.RoundToInt(Mathf.Clamp(Mathf.Abs(max.x) + Mathf.Abs(min.x), 1, Mathf.Infinity)); + gridNum[1] = Mathf.RoundToInt(Mathf.Clamp(Mathf.Abs(max.y) + Mathf.Abs(min.y), 1, Mathf.Infinity)); + return gridNum; } - } - - //Every time an item is instantiated: - //Checks if the sprite exists in the cache - //If not, check if the expr - //This is not very efficient. But performance doesn't matter in - //the current context - [HarmonyPatch(typeof(Item2), "Start")] - class Item2_Start_Patch { - static void Postfix(ref Item2 __instance) { - string name = __instance.gameObject.name; - name = name.Replace("(Clone)", ""); - name = name.Replace("Variant", ""); - name = name.Replace("variant", ""); - name = name.Trim(); - string filename; - - ItemSpriteChanger itemSpriteChanger = __instance.GetComponent(); - if (itemSpriteChanger != null) { - List sprites = typeof(ItemSpriteChanger).GetField( - "sprites", - System.Reflection.BindingFlags.NonPublic | - System.Reflection.BindingFlags.Instance - ).GetValue(itemSpriteChanger) as List; - - for (int i = 0; i < sprites.Count; i++) { - filename = Application.dataPath + RespriteHero.TEXTURE_DIRECTORY + name + "_" + i + ".png"; - MelonLogger.Msg($"[ItemSpriteChanger]: Opening filename[{filename}]"); + public override void OnApplicationStart() { + List prefabs = Resources.FindObjectsOfTypeAll().ToList(); + foreach (Item2 item2 in prefabs) { + GameObject item = item2.gameObject; + string baseName = item.name.Replace("(Clone)", "").Trim(); + string filename = Application.dataPath + RespriteHero.TEXTURE_DIRECTORY + baseName.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() + ".png"; + if (File.Exists(filename)) { + SpriteRenderer prefabRenderer = item.GetComponent(); if (RespriteHero.SPRITE_CACHE.ContainsKey(filename) || File.Exists(filename)) { - Sprite newSprite = RespriteHero.LoadPNGCache(filename, __instance); - sprites[i] = newSprite; + MelonLogger.Msg($"[SpriteRenderer]: Opening filename[{filename}]"); + Sprite newSprite = RespriteHero.LoadPNGCache(filename, item2); + if (newSprite != null) { + prefabRenderer.sprite = newSprite; + prefabRenderer.material.mainTexture = newSprite.texture; + } + else { + MelonLogger.Msg("Sprite cannot be loaded"); + } } else { RespriteHero.UNUSED_CACHE.Add(filename); } } - - return; - } - - filename = Application.dataPath + RespriteHero.TEXTURE_DIRECTORY + name + ".png"; - - if (RespriteHero.SPRITE_CACHE.ContainsKey(filename) || File.Exists(filename)) { - MelonLogger.Msg($"[SpriteRenderer]: Opening filename[{filename}]"); - Sprite newSprite = RespriteHero.LoadPNGCache(filename, __instance); - SpriteRenderer spriteRenderer = __instance.gameObject.GetComponent(); - spriteRenderer.sprite = newSprite; - } - else { - RespriteHero.UNUSED_CACHE.Add(filename); } + base.OnApplicationStart(); } } } diff --git a/RespriteHero/RespriteHero.csproj b/RespriteHero/RespriteHero.csproj index 3880f10..dfd9be6 100644 --- a/RespriteHero/RespriteHero.csproj +++ b/RespriteHero/RespriteHero.csproj @@ -43,15 +43,15 @@ False - E:\SteamLibrary\steamapps\common\Backpack Hero\MelonLoader\0Harmony.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\MelonLoader\0Harmony.dll False - E:\SteamLibrary\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\Assembly-CSharp.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\Assembly-CSharp.dll False - E:\SteamLibrary\steamapps\common\Backpack Hero\MelonLoader\MelonLoader.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\MelonLoader\MelonLoader.dll False @@ -59,23 +59,23 @@ False - E:\SteamLibrary\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\Unity.TextMeshPro.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\Unity.TextMeshPro.dll False - E:\SteamLibrary\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.dll False - E:\SteamLibrary\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.ImageConversionModule.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.ImageConversionModule.dll False - E:\SteamLibrary\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.CoreModule.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.CoreModule.dll False - E:\SteamLibrary\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.Physics2DModule.dll + ..\..\..\..\..\..\..\Programs\Steam\steamapps\common\Backpack Hero\Backpack Hero_Data\Managed\UnityEngine.Physics2DModule.dll @@ -83,4 +83,4 @@ - + \ No newline at end of file From ce16ed6c173dca7878fb6be1f6397e92b424e72f Mon Sep 17 00:00:00 2001 From: Shiru Date: Wed, 15 Jun 2022 15:53:19 +0100 Subject: [PATCH 2/6] Added support for multi-sprite items --- RespriteHero/RespriteHero.cs | 81 ++++++++++++++++++++---------------- 1 file changed, 46 insertions(+), 35 deletions(-) diff --git a/RespriteHero/RespriteHero.cs b/RespriteHero/RespriteHero.cs index 426343d..7bd884d 100644 --- a/RespriteHero/RespriteHero.cs +++ b/RespriteHero/RespriteHero.cs @@ -4,16 +4,12 @@ using System.IO; using UnityEngine; using System.Linq; +using System; namespace RespriteHero { public class RespriteHero : MelonMod { - public static string TEXTURE_DIRECTORY = "/../ModConfig/RespriteHero/"; - //Cache of all the used sprites - public static Dictionary SPRITE_CACHE = new Dictionary(); - //Cache of all unused sprites, so we don't have to call - //IO operations every time we want to use a sprite - public static List UNUSED_CACHE = new List(); + public static string TEXTURE_DIRECTORY = @"\ModConfig\RespriteHero\"; public override void OnApplicationLateStart() { LoggerInstance.Msg("Texture Pack Mod Initialized"); @@ -25,17 +21,6 @@ public override void OnApplicationLateStart() { } } - public static Sprite LoadPNGCache(string filePath, Item2 item) { - if (SPRITE_CACHE.ContainsKey(filePath)) { - return SPRITE_CACHE[filePath]; - } - else { - Sprite sprite = LoadPNG(filePath, item); - SPRITE_CACHE.Add(filePath, sprite); - return sprite; - } - } - public static Sprite LoadPNG(string filePath, Item2 item) { Texture2D tex = null; byte[] fileData; @@ -98,30 +83,56 @@ public static int[] _BPTGetGridBounds(List colliders, Item2 item) } public override void OnApplicationStart() { - List prefabs = Resources.FindObjectsOfTypeAll().ToList(); - foreach (Item2 item2 in prefabs) { - GameObject item = item2.gameObject; - string baseName = item.name.Replace("(Clone)", "").Trim(); - string filename = Application.dataPath + RespriteHero.TEXTURE_DIRECTORY + baseName.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() + ".png"; - if (File.Exists(filename)) { - SpriteRenderer prefabRenderer = item.GetComponent(); - if (RespriteHero.SPRITE_CACHE.ContainsKey(filename) || File.Exists(filename)) { - MelonLogger.Msg($"[SpriteRenderer]: Opening filename[{filename}]"); - Sprite newSprite = RespriteHero.LoadPNGCache(filename, item2); - if (newSprite != null) { - prefabRenderer.sprite = newSprite; - prefabRenderer.material.mainTexture = newSprite.texture; - } - else { - MelonLogger.Msg("Sprite cannot be loaded"); + UnityEngine.SceneManagement.SceneManager.sceneLoaded += OnSceneLoad; + base.OnApplicationStart(); + } + void OnSceneLoad(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode scenemode) { + if (scene.name == "Game") { + List prefabs = GameObject.FindObjectOfType().defaultItems; + List files = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + TEXTURE_DIRECTORY).ToList(); + GameObject item = null; + foreach (string file in files) { + string[] split0 = file.Split(@"\".ToCharArray()); + string itemName = split0[split0.Length - 1].Replace(".png", "").Trim(); + if (file.Contains("_")) { + split0 = file.Split(@"\".ToCharArray()); + string[] split1 = split0[split0.Length - 1].Split('_'); + split1[1] = split1[1].Replace(".png", "").Trim(); + itemName = split1[0]; + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); + ItemSpriteChanger itemSpriteChanger = item.GetComponent(); + if (itemSpriteChanger != null) { + List sprites = typeof(ItemSpriteChanger).GetField( + "sprites", + System.Reflection.BindingFlags.NonPublic | + System.Reflection.BindingFlags.Instance + ).GetValue(itemSpriteChanger) as List; + + Sprite newSprite = RespriteHero.LoadPNG(file, item.GetComponent()); + if (newSprite != null) { + int index; + if (int.TryParse(split1[1], out index)) { + sprites[index] = newSprite; + if (index == 0) { + item.GetComponent().sprite = newSprite; + item.GetComponent().material.mainTexture = newSprite.texture; + } + } + } } } else { - RespriteHero.UNUSED_CACHE.Add(filename); + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); + if (item != null) { + Sprite newSprite = LoadPNG(file, item.GetComponent()); + if (newSprite != null) { + item.GetComponent().sprite = newSprite; + item.GetComponent().material.mainTexture = newSprite.texture; + } + } } } } - base.OnApplicationStart(); } } } From ba3095f63c59fbdc49dfcb39bb58bb011a3e3964 Mon Sep 17 00:00:00 2001 From: Shiru Date: Wed, 15 Jun 2022 15:55:34 +0100 Subject: [PATCH 3/6] Slightly reduced file size --- RespriteHero/Properties/AssemblyInfo.cs | 7 +++---- RespriteHero/RespriteHero.cs | 6 +----- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/RespriteHero/Properties/AssemblyInfo.cs b/RespriteHero/Properties/AssemblyInfo.cs index b235aba..ef6ba83 100644 --- a/RespriteHero/Properties/AssemblyInfo.cs +++ b/RespriteHero/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using MelonLoader; @@ -14,7 +13,7 @@ [assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -[assembly: MelonInfo(typeof(RespriteHero.RespriteHero), "RespriteHero", "0.3.0", "Ignacio Zevallos")] +[assembly: MelonInfo(typeof(RespriteHero.RespriteHero), "RespriteHero", "0.3.1", "Ignacio Zevallos")] [assembly: MelonGame("TheJaspel", "Backpack Hero")] // Setting ComVisible to false makes the types in this assembly not visible @@ -35,5 +34,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.3.0")] -[assembly: AssemblyFileVersion("0.3.0")] +[assembly: AssemblyVersion("0.3.1")] +[assembly: AssemblyFileVersion("0.3.1")] diff --git a/RespriteHero/RespriteHero.cs b/RespriteHero/RespriteHero.cs index 7bd884d..b30e54c 100644 --- a/RespriteHero/RespriteHero.cs +++ b/RespriteHero/RespriteHero.cs @@ -13,7 +13,7 @@ public class RespriteHero : MelonMod { public override void OnApplicationLateStart() { LoggerInstance.Msg("Texture Pack Mod Initialized"); - + UnityEngine.SceneManagement.SceneManager.sceneLoaded += OnSceneLoad; string path = Application.dataPath + TEXTURE_DIRECTORY; if (!Directory.Exists(path)) { LoggerInstance.Msg("ModConfig/RespriteHero folder doesn't exist. Creating one..."); @@ -82,10 +82,6 @@ public static int[] _BPTGetGridBounds(List colliders, Item2 item) return gridNum; } - public override void OnApplicationStart() { - UnityEngine.SceneManagement.SceneManager.sceneLoaded += OnSceneLoad; - base.OnApplicationStart(); - } void OnSceneLoad(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode scenemode) { if (scene.name == "Game") { List prefabs = GameObject.FindObjectOfType().defaultItems; From 360ba62a17b650cd1f6e691ccbd87cca162b57fa Mon Sep 17 00:00:00 2001 From: Shiru Date: Wed, 15 Jun 2022 19:46:59 +0100 Subject: [PATCH 4/6] Added the ability to change variant items like small key variant --- Mods/RespriteHero.dll | Bin 0 -> 9216 bytes RespriteHero/RespriteHero.cs | 10 ++++++++-- RespriteHero/RespriteHero.dll | Bin 0 -> 9216 bytes 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 Mods/RespriteHero.dll create mode 100644 RespriteHero/RespriteHero.dll diff --git a/Mods/RespriteHero.dll b/Mods/RespriteHero.dll new file mode 100644 index 0000000000000000000000000000000000000000..150f589ccadc4761373e0dd70a28e08edf1b75bf GIT binary patch literal 9216 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 x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); + if (file.Contains("Variant")) + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() + " Variant" == itemName); + else + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); ItemSpriteChanger itemSpriteChanger = item.GetComponent(); if (itemSpriteChanger != null) { List sprites = typeof(ItemSpriteChanger).GetField( @@ -118,7 +121,10 @@ void OnSceneLoad(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManag } } else { - item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); + if (file.Contains("Variant")) + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() + " Variant" == itemName); + else + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); if (item != null) { Sprite newSprite = LoadPNG(file, item.GetComponent()); if (newSprite != null) { diff --git a/RespriteHero/RespriteHero.dll b/RespriteHero/RespriteHero.dll new file mode 100644 index 0000000000000000000000000000000000000000..150f589ccadc4761373e0dd70a28e08edf1b75bf GIT binary patch literal 9216 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 Date: Wed, 15 Jun 2022 19:46:59 +0100 Subject: [PATCH 5/6] Added the ability to change variant items like small key variant --- Mods/RespriteHero.dll | Bin 0 -> 9216 bytes RespriteHero/RespriteHero.cs | 13 ++++++++++--- RespriteHero/RespriteHero.dll | Bin 0 -> 9216 bytes 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 Mods/RespriteHero.dll create mode 100644 RespriteHero/RespriteHero.dll diff --git a/Mods/RespriteHero.dll b/Mods/RespriteHero.dll new file mode 100644 index 0000000000000000000000000000000000000000..150f589ccadc4761373e0dd70a28e08edf1b75bf GIT binary patch literal 9216 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 x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); + if (file.Contains("Variant")) + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() + " Variant" == itemName); + else + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName && !x.name.Contains("Variant Variant")); ItemSpriteChanger itemSpriteChanger = item.GetComponent(); if (itemSpriteChanger != null) { List sprites = typeof(ItemSpriteChanger).GetField( @@ -118,7 +120,12 @@ void OnSceneLoad(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManag } } else { - item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName); + if (itemName.Contains("Variant")) { + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() + " Variant" == itemName); + } + else { + item = prefabs.Find(x => x.name.Replace("Variant", "").Replace("variant", "").Replace("1", "").Trim() == itemName && !x.name.Contains("Variant Variant")); + } if (item != null) { Sprite newSprite = LoadPNG(file, item.GetComponent()); if (newSprite != null) { diff --git a/RespriteHero/RespriteHero.dll b/RespriteHero/RespriteHero.dll new file mode 100644 index 0000000000000000000000000000000000000000..150f589ccadc4761373e0dd70a28e08edf1b75bf GIT binary patch literal 9216 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 Date: Wed, 15 Jun 2022 20:39:00 +0100 Subject: [PATCH 6/6] Updated Assembly to 0.3.2 --- Mods/RespriteHero.dll | Bin 9216 -> 9728 bytes RespriteHero.zip | Bin 0 -> 7056 bytes RespriteHero/Properties/AssemblyInfo.cs | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 RespriteHero.zip diff --git a/Mods/RespriteHero.dll b/Mods/RespriteHero.dll index 150f589ccadc4761373e0dd70a28e08edf1b75bf..37fb31ca2b0f1b258a090897e2364377f209b4c1 100644 GIT binary patch delta 3722 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 delta 3332 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 V0P@e84;<>_&iFVynxsEl{|BD+T3P@A literal 0 HcmV?d00001 diff --git a/RespriteHero/Properties/AssemblyInfo.cs b/RespriteHero/Properties/AssemblyInfo.cs index ef6ba83..47dcaf9 100644 --- a/RespriteHero/Properties/AssemblyInfo.cs +++ b/RespriteHero/Properties/AssemblyInfo.cs @@ -13,7 +13,7 @@ [assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -[assembly: MelonInfo(typeof(RespriteHero.RespriteHero), "RespriteHero", "0.3.1", "Ignacio Zevallos")] +[assembly: MelonInfo(typeof(RespriteHero.RespriteHero), "RespriteHero", "0.3.2", "Ignacio Zevallos")] [assembly: MelonGame("TheJaspel", "Backpack Hero")] // Setting ComVisible to false makes the types in this assembly not visible @@ -34,5 +34,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.3.1")] -[assembly: AssemblyFileVersion("0.3.1")] +[assembly: AssemblyVersion("0.3.2")] +[assembly: AssemblyFileVersion("0.3.2")]