private void OnArcTextureLoaded(object sender, TextureTranslationEventArgs e) { if (Logger.CanDump(DumpType.Textures)) { Logger.DumpTexture(DumpType.Textures, e, false, CurrentLevel); } }
private void OnTextureLoad(object sender, TextureTranslationEventArgs e) { string textureName = e.Name; if (lastFoundTexture != textureName) { lastFoundTexture = textureName; Logger.WriteLine(ResourceType.Textures, LogLevel.Minor, $"FindTexture::{textureName}"); } var replacement = Memory.GetTexture(textureName); TextureResource resource = null; switch (replacement.TextureType) { case TextureType.PNG: resource = new TextureResource(1, 1, TextureFormat.ARGB32, File.ReadAllBytes(replacement.FilePath)); break; case TextureType.TEX: resource = TexUtils.ReadTexture(File.ReadAllBytes(replacement.FilePath), textureName); break; case TextureType.None: default: if (e.OriginalTexture != null) Logger.DumpTexture(DumpType.TexSprites, e, true, CurrentLevel); return; } if (lastLoadedTexture != textureName) Logger.WriteLine(ResourceType.Textures, $"Texture::{textureName}"); lastLoadedTexture = textureName; e.Data = resource; }
private void OnAssetTextureLoad(object sender, TextureTranslationEventArgs e) { if (lastFoundAsset != e.Name) { lastFoundAsset = e.Name; Logger.WriteLine(ResourceType.Assets, LogLevel.Minor, $"FindAsset::{e.Name} [{e.Meta}::{e.CompoundHash}]"); } string[] namePossibilities = { e.CompoundHash + "@" + SceneManager.GetActiveScene().buildIndex, e.Name + "@" + SceneManager.GetActiveScene().buildIndex, e.CompoundHash, e.Name }; foreach (string assetName in namePossibilities) { if (lastFoundAsset != assetName) { lastFoundAsset = assetName; Logger.WriteLine(ResourceType.Assets, LogLevel.Minor, $"TryFindAsset::{assetName}"); } string assetPath = Memory.GetAssetPath(assetName); if (assetPath == null) { continue; } if (lastLoadedAsset != assetName) { Logger.WriteLine(ResourceType.Assets, $"LoadAsset::{assetName}"); } lastLoadedAsset = assetName; e.Data = new TextureResource(1, 1, TextureFormat.ARGB32, File.ReadAllBytes(assetPath)); return; } Logger.DumpTexture(DumpType.Assets, e, true, CurrentLevel); }