From a655ea24d782cff988a3ee6fbae19edc7f65b685 Mon Sep 17 00:00:00 2001 From: KillzXGaming Date: Mon, 5 Aug 2019 15:38:03 -0400 Subject: [PATCH] Rework IGZ reading and add writing back (for textures) --- .vs/Toolbox/v15/.suo | Bin 797184 -> 914944 bytes File_Format_Library/FileFormats/BMD/BMD.cs | 8 +- .../FileFormats/CrashBandicoot/IGA_PAK.cs | 12 +- .../FileFormats/CrashBandicoot/IGZ.cs | 295 ------------- .../CrashBandicoot/IGZ_Structure.cs | 401 ++++++++++++++++++ .../FileFormats/CrashBandicoot/IGZ_TEX.cs | 166 ++++++++ .../FileFormats/{Texture => Pikmin}/TXE.cs | 0 File_Format_Library/Main.cs | 2 +- .../Generics/Texture/GenericTexture.cs | 1 + Switch_Toolbox_Library/Rendering/RenderLib.cs | 2 +- Switch_Toolbox_Library/Toolbox.Library.dll | Bin 5037056 -> 5037056 bytes Switch_Toolbox_Library/Toolbox.Library.pdb | Bin 3528192 -> 3528192 bytes 12 files changed, 581 insertions(+), 306 deletions(-) delete mode 100644 File_Format_Library/FileFormats/CrashBandicoot/IGZ.cs create mode 100644 File_Format_Library/FileFormats/CrashBandicoot/IGZ_Structure.cs create mode 100644 File_Format_Library/FileFormats/CrashBandicoot/IGZ_TEX.cs rename File_Format_Library/FileFormats/{Texture => Pikmin}/TXE.cs (100%) diff --git a/.vs/Toolbox/v15/.suo b/.vs/Toolbox/v15/.suo index 24dc10e8f876cba31be57665c2fe2fcc188495b1..10944068815919329f364b54a696bfd20d1f7ee6 100644 GIT binary patch delta 37923 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 Textures { get; set; } - bool DrawablesLoaded = false; public override void OnClick(TreeView treeView) { @@ -114,10 +112,6 @@ namespace FirstPlugin DrawableContainer.Drawables.Add(Renderer); DrawableContainer.Drawables.Add(Skeleton); - Textures = new Dictionary(); - - BMD_Renderer.TextureContainers.Add(this); - BMDFile = Model.Load(stream); LoadBMD(BMDFile); } diff --git a/File_Format_Library/FileFormats/CrashBandicoot/IGA_PAK.cs b/File_Format_Library/FileFormats/CrashBandicoot/IGA_PAK.cs index f7e34aa3..ac3986d6 100644 --- a/File_Format_Library/FileFormats/CrashBandicoot/IGA_PAK.cs +++ b/File_Format_Library/FileFormats/CrashBandicoot/IGA_PAK.cs @@ -96,9 +96,13 @@ namespace FirstPlugin //Remove this stupid long pointless path file.FileName = file.FileName.Replace("temporary/octane/data/nx/output/", string.Empty); + file.FileName = file.FileName.Replace("temporary/mack/data/win64/output/", string.Empty); + file.FileName = file.FileName.Replace("temporary/mack/data/nx/output/", string.Empty); - // if (file.FileOffset >= 0xff000000) - // file.FileOffset = + + + // if (file.FileOffset >= 0xff000000) + // file.FileOffset = } @@ -147,6 +151,9 @@ namespace FirstPlugin { get { + if (FileOffset == 0) + return new byte[0]; + using (var reader = new FileReader(SourceFile)) { int size = 0; @@ -181,6 +188,7 @@ namespace FirstPlugin } else { + reader.BaseStream.Seek(offset, SeekOrigin.Begin); return reader.ReadBytes((int)DecompressedFileSize); } } diff --git a/File_Format_Library/FileFormats/CrashBandicoot/IGZ.cs b/File_Format_Library/FileFormats/CrashBandicoot/IGZ.cs deleted file mode 100644 index 4c421610..00000000 --- a/File_Format_Library/FileFormats/CrashBandicoot/IGZ.cs +++ /dev/null @@ -1,295 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Toolbox; -using System.Windows.Forms; -using Toolbox.Library; -using Toolbox.Library.IO; -using Toolbox.Library.Forms; - -namespace FirstPlugin -{ - public class IGZ : STGenericTexture, IFileFormat, ISingleTextureIconLoader - { - public STGenericTexture IconTexture { get { return this; } } - - public FileType FileType { get; set; } = FileType.Layout; - - public bool CanSave { get; set; } - public string[] Description { get; set; } = new string[] { "Crash N.Sane Trilogy / CTR: Nitro-Fueled (IGZ)" }; - public string[] Extension { get; set; } = new string[] { "*.igz" }; - public string FileName { get; set; } - public string FilePath { get; set; } - public IFileInfo IFileInfo { get; set; } - - public bool Identify(System.IO.Stream stream) - { - using (var reader = new Toolbox.Library.IO.FileReader(stream, true)) - { - return reader.CheckSignature(4, "\x01ZGI"); - } - } - - public Type[] Types - { - get - { - List types = new List(); - return types.ToArray(); - } - } - - public Dictionary Formats = new Dictionary() - { - /* { 0xDE, new FormatInfo(TEX_FORMAT.R8G8B8A8_UNORM) }, - { 0x08, new FormatInfo(TEX_FORMAT.R8G8B8A8_UNORM) }, - { 0x46, new FormatInfo(TEX_FORMAT.R8G8B8A8_UNORM) }, - { 0x99, new FormatInfo(TEX_FORMAT.R8G8B8A8_UNORM) }, - - // { 0xCD, new FormatInfo(TEX_FORMAT.BC1_UNORM) }, - { 0x06, new FormatInfo(TEX_FORMAT.BC1_UNORM) }, - { 0x3B, new FormatInfo(TEX_FORMAT.BC1_UNORM) }, - { 0x9D, new FormatInfo(TEX_FORMAT.BC1_UNORM) }, - - { 0x51, new FormatInfo(TEX_FORMAT.BC1_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0x28, new FormatInfo(TEX_FORMAT.BC1_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0x1B, new FormatInfo(TEX_FORMAT.BC1_UNORM, PlatformSwizzle.Platform_Switch) }, - - { 0x39, new FormatInfo(TEX_FORMAT.BC3_UNORM) }, - { 0x88, new FormatInfo(TEX_FORMAT.BC3_UNORM) }, - { 0xDA, new FormatInfo(TEX_FORMAT.BC3_UNORM) }, - - { 0xCD, new FormatInfo(TEX_FORMAT.BC3_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0x6E, new FormatInfo(TEX_FORMAT.BC3_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0x45, new FormatInfo(TEX_FORMAT.BC3_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0x37, new FormatInfo(TEX_FORMAT.BC3_UNORM, PlatformSwizzle.Platform_Switch) }, - - { 0x18, new FormatInfo(TEX_FORMAT.BC5_UNORM) }, - { 0x47, new FormatInfo(TEX_FORMAT.BC5_UNORM) }, - { 0xB9, new FormatInfo(TEX_FORMAT.BC5_UNORM) }, - { 0x78, new FormatInfo(TEX_FORMAT.BC5_UNORM) }, - */ - { 0x9D3B06CD, new FormatInfo(TEX_FORMAT.BC1_UNORM) }, - { 0xDA888839, new FormatInfo(TEX_FORMAT.BC3_UNORM) }, //PC - { 0x78B94718, new FormatInfo(TEX_FORMAT.BC5_UNORM) }, //PC - { 0x994608DE, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT) }, //PC - { 0x1B282851, new FormatInfo(TEX_FORMAT.BC1_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0x37456ECD, new FormatInfo(TEX_FORMAT.BC3_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0xD0124568, new FormatInfo(TEX_FORMAT.BC3_UNORM, PlatformSwizzle.Platform_Switch) }, - { 0x8EBE8CF2, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT, PlatformSwizzle.Platform_Switch) }, - { 0xF8313483, new FormatInfo(TEX_FORMAT.BC1_UNORM, PlatformSwizzle.Platform_Ps4) }, - { 0xF0B976CF, new FormatInfo(TEX_FORMAT.BC3_UNORM, PlatformSwizzle.Platform_Ps4) }, - { 0x7D081E6A, new FormatInfo(TEX_FORMAT.BC5_UNORM, PlatformSwizzle.Platform_Ps4) }, - { 0x9B54FB48, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT, PlatformSwizzle.Platform_Ps4) }, - { 0xEDF22608, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT, PlatformSwizzle.Platform_Ps4) }, //Todo BGR32 - }; - - public class FormatInfo - { - public TEX_FORMAT Format; - public PlatformSwizzle Platform; - - public FormatInfo(TEX_FORMAT format, PlatformSwizzle platform = PlatformSwizzle.None) - { - Format = format; - Platform = platform; - } - } - - public void Load(System.IO.Stream stream) - { - using (var reader = new FileReader(stream)) - { - reader.ReadSignature(4, "\x01ZGI"); - uint unknown = reader.ReadUInt32(); //Same as section count? - uint unknown2 = reader.ReadUInt32(); //2171947023 - uint unknown3 = reader.ReadUInt32(); //2 - uint SectionCount = reader.ReadUInt32(); - reader.Seek(4); //padding - - //Always 3 of these used that point to certain areas - const int BLOCK_COUNT = 3; - - uint[] offsets = new uint[BLOCK_COUNT]; - uint[] sizes = new uint[BLOCK_COUNT]; - for (int j = 0; j < BLOCK_COUNT; j++) - { - offsets[j] = reader.ReadUInt32(); - sizes[j] = reader.ReadUInt32(); - reader.Seek(8); - } - - List TextureNames = new List(); - FormatInfo TextureFormat = null; - - //Now go to the first block. This is a list of section headers - //Each header follows the same structure, a signature, count, and size - reader.SeekBegin(offsets[0]); - for (int s = 0; s < SectionCount; s++) - { - long pos = reader.Position; - - string signature = reader.ReadString(4); - uint count = reader.ReadUInt32(); - uint sectioSize = reader.ReadUInt32(); - uint dataOffset = reader.ReadUInt32(); //0x10. Relative to start of section - - Console.WriteLine($"{signature} {count} {sectioSize} {dataOffset}"); - - reader.SeekBegin(pos + dataOffset); - switch (signature) - { - case "TSTR": - for (int i = 0; i < count; i++) - TextureNames.Add(reader.ReadZeroTerminatedString()); - - if (count > 0) - Text = TextureNames[0]; - - foreach (string name in TextureNames) - Console.WriteLine("tex " + name); - break; - case "TMET": - break; - case "MTSZ": - break; - case "EXID": //Texture Formats and maybe other formats - // reader.ReadUInt32(); //padding? - - //Seems only one code is used but why? - uint FormatCode = reader.ReadUInt32(); - if (Formats.ContainsKey(FormatCode)) - TextureFormat = Formats[FormatCode]; - else - throw new Exception("Unsupported format code!" + FormatCode.ToString("X")); - - Console.WriteLine($"TextureFormat {FormatCode.ToString("X")}"); - break; - case "RVTB": - break; - case "RSTT": - break; - case "ROFS": - break; - case "REXT": - break; - case "ROOT": - break; - case "ONAM": - break; - default: - Console.WriteLine("Unexpected Magic " + signature); - break; - } - - reader.SeekBegin(pos + sectioSize); - } - - reader.SeekBegin(offsets[1] + 0x48); - ushort width = reader.ReadUInt16(); - ushort height = reader.ReadUInt16(); - ushort depth = reader.ReadUInt16(); - ushort mipCount = reader.ReadUInt16(); - ushort arrayCount = reader.ReadUInt16(); - reader.Seek(10); //padding - uint unk = reader.ReadUInt32(); - reader.Seek(8); //padding - uint ImageSize = reader.ReadUInt32(); - - //Seek to start of image block - reader.Seek(84); - long dataPos = reader.Position; - long ImageSizeReal = reader.BaseStream.Length - dataPos; - - ImageData = reader.ReadBytes((int)ImageSizeReal); - Width = width; - Height = height; - Depth = depth; - ArrayCount = arrayCount; - Format = TextureFormat.Format; - // PlatformSwizzle = TextureFormat.Platform; - - Console.WriteLine($"PlatformSwizzle " + PlatformSwizzle); - } - } - - public byte[] ImageData { get; set; } - - public override TEX_FORMAT[] SupportedFormats - { - get - { - return new TEX_FORMAT[] - { - TEX_FORMAT.BC1_UNORM, - TEX_FORMAT.BC3_UNORM, - TEX_FORMAT.BC5_UNORM, - TEX_FORMAT.R8G8B8A8_UNORM, - TEX_FORMAT.R32G32B32A32_FLOAT, - }; - } - } - - - public override bool CanEdit { get; set; } = false; - - public override void SetImageData(System.Drawing.Bitmap bitmap, int ArrayLevel) - { - - } - - public override byte[] GetImageData(int ArrayLevel = 0, int MipLevel = 0) - { - if (PlatformSwizzle == PlatformSwizzle.Platform_Switch) - return TegraX1Swizzle.GetImageData(this, ImageData, ArrayLevel, MipLevel, 1); - else - return ImageData; - } - - public override void OnClick(TreeView treeView) - { - ImageEditorBase editor = (ImageEditorBase)LibraryGUI.GetActiveContent(typeof(ImageEditorBase)); - if (editor == null) - { - editor = new ImageEditorBase(); - editor.Dock = DockStyle.Fill; - LibraryGUI.LoadEditor(editor); - } - - editor.LoadProperties(GenericProperties); - editor.LoadImage(this); - } - - public void Unload() - { - - } - public byte[] Save() - { - return null; - } - - public class TSTR - { - List TextureNames = new List(); - - public void Read(FileReader reader) - { - long pos = reader.Position; - - reader.ReadSignature(4, "TSTR"); - uint textureCount = reader.ReadUInt32(); - uint sectionSize = reader.ReadUInt32(); - uint stringOffset = reader.ReadUInt32(); - - reader.SeekBegin(pos +stringOffset); - for (int i = 0; i < textureCount; i++) - { - TextureNames.Add(reader.ReadZeroTerminatedString()); - } - } - } - } -} diff --git a/File_Format_Library/FileFormats/CrashBandicoot/IGZ_Structure.cs b/File_Format_Library/FileFormats/CrashBandicoot/IGZ_Structure.cs new file mode 100644 index 00000000..4728f598 --- /dev/null +++ b/File_Format_Library/FileFormats/CrashBandicoot/IGZ_Structure.cs @@ -0,0 +1,401 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Toolbox; +using System.Windows.Forms; +using Toolbox.Library; +using Toolbox.Library.IO; +using Toolbox.Library.Forms; + +namespace FirstPlugin +{ + //A structure for an IGZ file that contains multiple resources + //This is to fully parse and get data from it from all resource types + //This links to multiple seperate files + public class IGZ_Structure + { + public static bool Identify(System.IO.Stream stream) + { + using (var reader = new Toolbox.Library.IO.FileReader(stream, true)) + { + return reader.CheckSignature(4, "\x01ZGI"); + } + } + + public enum Platform + { + Ps4, + Switch, + PC, + } + + //PC works perfectly, but Switch has issues with CTR + //Also a note, switch swizzling is never used? It always seems to be raw data + //Set the platform still for the sake of it. It won't swizzle or anything + public Dictionary Formats = new Dictionary() + { + { 0x9D3B06CD, new FormatInfo(TEX_FORMAT.BC1_UNORM) }, + { 0xDA888839, new FormatInfo(TEX_FORMAT.BC3_UNORM) }, //PC + { 0x78B94718, new FormatInfo(TEX_FORMAT.BC5_UNORM) }, //PC + { 0x994608DE, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT) }, //PC + { 0x1B282851, new FormatInfo(TEX_FORMAT.BC1_UNORM, Platform.Switch) }, + { 0x37456ECD, new FormatInfo(TEX_FORMAT.BC3_UNORM, Platform.Switch) }, + { 0xD0124568, new FormatInfo(TEX_FORMAT.BC3_UNORM, Platform.Switch) }, + { 0x8EBE8CF2, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT, Platform.Switch) }, + { 0xF8313483, new FormatInfo(TEX_FORMAT.BC1_UNORM, Platform.Ps4) }, + { 0xF0B976CF, new FormatInfo(TEX_FORMAT.BC3_UNORM, Platform.Ps4) }, + { 0x7D081E6A, new FormatInfo(TEX_FORMAT.BC5_UNORM, Platform.Ps4) }, + { 0x9B54FB48, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT, Platform.Ps4) }, + { 0xEDF22608, new FormatInfo(TEX_FORMAT.R32G32B32_FLOAT, Platform.Ps4) }, //Todo BGR32 + }; + + public class FormatInfo + { + public TEX_FORMAT Format; + public Platform Platform; + + public FormatInfo(TEX_FORMAT format, Platform platform = Platform.PC) + { + Format = format; + Platform = platform; + } + } + + public uint Version { get; set; } + public uint HeaderUnknown { get; set; } + public uint HeaderUnknown2 { get; set; } + + public List HeaderStrings = new List(); + public List DependenciesTable = new List(); + public List StringTable = new List(); + public List TMETStrings = new List(); + public List MTSZTable = new List(); + public List> FormatCodeList = new List>(); + public List ONAMTable = new List(); + + public List Headers = new List(); + + public TextureBlockInfo TextureInfo; + + public byte[] UnknownData; + + public void Read(FileReader reader) + { + reader.ReadSignature(4, "\x01ZGI"); + Version = reader.ReadUInt32(); //10 + HeaderUnknown = reader.ReadUInt32(); //2171947023 + HeaderUnknown2 = reader.ReadUInt32(); //2 + uint SectionCount = reader.ReadUInt32(); + reader.Seek(4); //padding + + //A chunk/block offset list. + List offsets = new List(); + List sizes = new List(); + + while (true) + { + uint offset = reader.ReadUInt32(); + uint size = reader.ReadUInt32(); + uint unknown = reader.ReadUInt32(); + uint unknown2 = reader.ReadUInt32(); + + if (offset != 0) + { + offsets.Add(offset); + sizes.Add(size); + } + else + break; + } + + //After we parsed the offsets/size array + //Save the rest of the data up to the next section + //All of this is mostly padding and a string or 2 + + reader.Seek(-16); //Seek back 16 due to trying to read the chunk info + + long headerEnd = reader.Position; + UnknownData = reader.ReadBytes((int)(offsets[0] - headerEnd)); + + //Now go to the first block. This is a list of section headers + //Each header follows the same structure, a signature, count, and size + reader.SeekBegin(offsets[0]); + for (int s = 0; s < SectionCount; s++) + { + long pos = reader.Position; + + string signature = reader.ReadString(4); + uint count = reader.ReadUInt32(); + uint sectioSize = reader.ReadUInt32(); + uint dataOffset = reader.ReadUInt32(); //0x10. Relative to start of section + + Console.WriteLine($"{signature} {count} {sectioSize} {dataOffset}"); + + CommonHeaderInfo header = new CommonHeaderInfo(); + header.Magic = signature; + + reader.SeekBegin(pos + dataOffset); + switch (signature) + { + case "TDEP": //Dependinces table + for (int i = 0; i < count; i++) + DependenciesTable.Add(reader.ReadZeroTerminatedString()); + break; + case "TSTR": //string table i assume + for (int i = 0; i < count; i++) + StringTable.Add(reader.ReadZeroTerminatedString()); + break; + case "TMET": //Another string list + for (int i = 0; i < count; i++) + TMETStrings.Add(reader.ReadZeroTerminatedString()); + break; + case "MTSZ": + for (int i = 0; i < count; i++) + MTSZTable.Add(reader.ReadUInt32()); + break; + case "EXID": //A format list for multiple data types + for (int i = 0; i < count; i++) + FormatCodeList.Add(Tuple.Create(reader.ReadUInt32(), reader.ReadUInt32())); + break; + case "EXNM": //Material data + break; + case "RVTB": + break; + case "RSTT": + break; + case "ROFS": + break; + case "REXT": + break; + case "ROOT": + break; + case "ONAM": + for (int i = 0; i < count; i++) + ONAMTable.Add(reader.ReadUInt32()); + break; + default: + Console.WriteLine("Unexpected Magic " + signature); + break; + } + + //For saving back just save the raw bytes + reader.SeekBegin(pos); + header.data = reader.ReadBytes((int)sectioSize); + Headers.Add(header); + + reader.SeekBegin(pos + sectioSize); + } + + //Todo find a better check for how a block/chunk is determined + if (sizes[1] == 192) //The size of an image info chunk/block + { + reader.SeekBegin(offsets[1]); + TextureInfo = new TextureBlockInfo(); + TextureInfo.UnkownData1 = reader.ReadBytes(0x48); + TextureInfo.Width = reader.ReadUInt16(); + TextureInfo.Height = reader.ReadUInt16(); + TextureInfo.Depth = reader.ReadUInt16(); + TextureInfo.MipCount = reader.ReadUInt16(); + TextureInfo.ArrayCount = reader.ReadUInt16(); + reader.Seek(10); //padding + TextureInfo.UnknownValue = reader.ReadUInt32(); + reader.Seek(8); //padding + uint ImageSize = reader.ReadUInt32(); + //Seek to start of image block + + TextureInfo.UnkownData2 = reader.ReadBytes((int)(offsets[2] - reader.Position)); + + //Seek the second block/chunk info + reader.SeekBegin(offsets[2]); + long dataPos = reader.Position; + + //The imagesize is weird so get from the end of file + long ImageSizeReal = reader.BaseStream.Length - dataPos; + TextureInfo.ImageData = reader.ReadBytes((int)ImageSizeReal); + + //Todo why is there 2 format codes even for textures? + foreach (var format in FormatCodeList) + { + if (Formats.ContainsKey(format.Item1)) + TextureInfo.FormatInfo = Formats[format.Item1]; + else + Console.WriteLine("Unsupported format code!" + format.Item1.ToString("X")); + + /* if (Formats.ContainsKey(format.Item2)) + TextureInfo.FormatInfo = Formats[format.Item2]; + else + Console.WriteLine("Unsupported format code!" + format.Item2.ToString("X"));*/ + } + } + else if (sizes[1] == 2568) //The size of a model info chunk/block + { + + } + } + + //Todo this has quite a bit of unknowns and needs more chunk support + //Textures should save fine + public void Write(FileWriter writer) + { + if (TextureInfo == null) + throw new Exception("Only textures can be saved currently!"); + + //Set the format code for the texture if found a proper pair match + if (TextureInfo != null) + { + //Go through each value and find a pair with a matching format and matching platform + foreach (var formatInfo in Formats) + { + uint code = formatInfo.Key; + if (formatInfo.Value.Format == TextureInfo.FormatInfo.Format && + formatInfo.Value.Platform == TextureInfo.FormatInfo.Platform) + { + //Set the first code + //unsure what the second code is for + uint code2 = FormatCodeList[0].Item2; + FormatCodeList[0] = Tuple.Create(code, code2); + } + } + } + + writer.SetByteOrder(false); + + writer.WriteSignature("\x01ZGI"); + writer.Write(Version); + writer.Write(HeaderUnknown); + writer.Write(HeaderUnknown2); + writer.Write(Headers.Count); + writer.Seek(4); //padding + + long chunkInfoArray = writer.Position; + + //Reseve space for all the used chunks + for (int i = 0; i < 3; i++) + { + writer.Write(uint.MaxValue); + writer.Write(uint.MaxValue); + writer.Write(uint.MaxValue); + writer.Write(uint.MaxValue); + } + + //Possibly aligned data, but there's sometimes strings in it + writer.Write(UnknownData); + + //Now start saving the header chunk. + long headerArrayPos = writer.Position; + foreach (var header in Headers) + { + if (header.Magic == "TSTR") //Save our string array chunk + { + long posTSRT = writer.Position; + + writer.WriteSignature("TSTR"); + writer.Write(StringTable.Count); + long posStrSizeOfs = writer.Position; + writer.Write(0); //save size after + writer.Write(16); //offset + + foreach (var item in StringTable) + { + writer.WriteString(item); + } + + long posTSRTEnd = writer.Position; + + //Note i will automate sizes later + writer.SeekBegin(posStrSizeOfs); + writer.Write((uint)(posTSRTEnd - posTSRT)); + + writer.SeekBegin(posTSRTEnd); + } + else if (header.Magic == "EXID") //Save our format chunk + { + writer.WriteSignature("EXID"); + writer.Write(FormatCodeList.Count); + writer.Write(20 + (FormatCodeList.Count * 8)); //Size + writer.Write(20); //Offset + writer.Write(0); //Padding + foreach (var item in FormatCodeList) + { + writer.Write(item.Item1); + writer.Write(item.Item2); + } + } + else + writer.Write(header.data); + } + long headerEndPos = writer.Position; + + long infoChunkPos = writer.Position; + if (TextureInfo != null) + { + writer.Write(TextureInfo.UnkownData1); + writer.Write(TextureInfo.Width); + writer.Write(TextureInfo.Height); + writer.Write(TextureInfo.Depth); + writer.Write(TextureInfo.MipCount); + writer.Write(TextureInfo.ArrayCount); + writer.Seek(10); //padding + writer.Write(TextureInfo.UnknownValue); + writer.Seek(8); //padding + writer.Write(TextureInfo.ImageData.Length); + writer.Write(TextureInfo.UnkownData2); + } + + long infoChunkEndPos = writer.Position; + + long dataChunkPos = writer.Position; + if (TextureInfo != null) + { + writer.Write(TextureInfo.ImageData); + } + + long dataChunkEndPos = writer.Position; + + //Go back and write all the used chunk data so far + writer.SeekBegin(chunkInfoArray); + + //Write the header array chunk first + writer.Write((uint)headerArrayPos); //Offset + writer.Write((uint)(headerEndPos - headerArrayPos)); //Size + writer.Write(2048); //Unknown + writer.Write(0); //Unknown + + //Write the info chunk + writer.Write((uint)infoChunkPos); //Offset + writer.Write((uint)(infoChunkEndPos - infoChunkPos)); //Size + writer.Write(8); //Unknown + writer.Write(131072); //Unknown + + //Write the data chunk + writer.Write((uint)dataChunkPos); //Offset + writer.Write((uint)(dataChunkEndPos - dataChunkPos)); //Size + writer.Write(4); //Unknown + writer.Write(0); //Unknown + } + + public class CommonHeaderInfo + { + public string Magic; + public byte[] data; + } + + public class TextureBlockInfo + { + public byte[] UnkownData1; + public uint UnknownValue; + public byte[] UnkownData2; + + public byte[] ImageData { get; set; } + + public ushort Width { get; set; } + public ushort Height { get; set; } + public ushort Depth { get; set; } + public ushort MipCount { get; set; } + public ushort ArrayCount { get; set; } + public FormatInfo FormatInfo { get; set; } + } + } +} diff --git a/File_Format_Library/FileFormats/CrashBandicoot/IGZ_TEX.cs b/File_Format_Library/FileFormats/CrashBandicoot/IGZ_TEX.cs new file mode 100644 index 00000000..0fcc9884 --- /dev/null +++ b/File_Format_Library/FileFormats/CrashBandicoot/IGZ_TEX.cs @@ -0,0 +1,166 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Toolbox; +using System.Windows.Forms; +using Toolbox.Library; +using Toolbox.Library.IO; +using Toolbox.Library.Forms; + +namespace FirstPlugin +{ + //I keep textures seperate due to the way files are handled + //While i could store all section data in one file, it's better to keep textures as + //a single tree node as all model sections are usually empty + public class IGZ_TEX : STGenericTexture, IFileFormat, ISingleTextureIconLoader, IContextMenuNode + { + public STGenericTexture IconTexture { get { return this; } } + + public FileType FileType { get; set; } = FileType.Layout; + + public bool CanSave { get; set; } + public string[] Description { get; set; } = new string[] { "Crash N.Sane Trilogy / CTR: Nitro-Fueled (IGZ)" }; + public string[] Extension { get; set; } = new string[] { "*.igz" }; + public string FileName { get; set; } + public string FilePath { get; set; } + public IFileInfo IFileInfo { get; set; } + + public bool Identify(System.IO.Stream stream) + { + return IGZ_Structure.Identify(stream); + } + + public Type[] Types + { + get + { + List types = new List(); + return types.ToArray(); + } + } + + public ToolStripItem[] GetContextMenuItems() + { + List Items = new List(); + Items.Add(new ToolStripMenuItem("Save", null, SaveAction, Keys.Control | Keys.S)); + Items.AddRange(base.GetContextMenuItems()); + return Items.ToArray(); + } + + + private void SaveAction(object sender, EventArgs args) + { + SaveFileDialog sfd = new SaveFileDialog(); + sfd.Filter = Utils.GetAllFilters(this); + sfd.FileName = FileName; + + if (sfd.ShowDialog() == DialogResult.OK) + { + STFileSaver.SaveFileFormat(this, sfd.FileName); + } + } + + public IGZ_Structure IGZStructure; + + public IGZ_Structure.Platform PlatformFormat; + + public void Load(System.IO.Stream stream) + { + CanSave = true; + + using (var reader = new FileReader(stream)) + { + //Parse with the IGZ structure class and get the texture info block + IGZStructure = new IGZ_Structure(); + IGZStructure.Read(reader); + + //Set all the info from the parsed struct + var texInfo = IGZStructure.TextureInfo; + Width = texInfo.Width; + Height = texInfo.Height; + Format = texInfo.FormatInfo.Format; + PlatformFormat = texInfo.FormatInfo.Platform; + ArrayCount = texInfo.ArrayCount; + Depth = texInfo.Depth; + + //Don't set the platform swizzle because they don't seem to be swizzled? + // PlatformSwizzle = texInfo.FormatInfo.Platform; + + //Grab the first entry from the string table + if (IGZStructure.StringTable.Count > 0) + Text = IGZStructure.StringTable[0]; + else + Text = FileName; + } + } + + public override TEX_FORMAT[] SupportedFormats + { + get + { + return new TEX_FORMAT[] + { + TEX_FORMAT.BC1_UNORM, + TEX_FORMAT.BC3_UNORM, + TEX_FORMAT.BC5_UNORM, + TEX_FORMAT.R8G8B8A8_UNORM, + TEX_FORMAT.R32G32B32A32_FLOAT, + }; + } + } + + + public override bool CanEdit { get; set; } = true; + + public override void SetImageData(System.Drawing.Bitmap bitmap, int ArrayLevel) + { + Console.WriteLine("Setting ImageData"); + IGZStructure.TextureInfo.ImageData = GenerateMipsAndCompress(bitmap, MipCount, Format); + } + + public override byte[] GetImageData(int ArrayLevel = 0, int MipLevel = 0) + { + if (PlatformSwizzle == PlatformSwizzle.Platform_Switch) + return TegraX1Swizzle.GetImageData(this, IGZStructure.TextureInfo.ImageData, ArrayLevel, MipLevel, 1); + else + return IGZStructure.TextureInfo.ImageData; + } + + public override void OnClick(TreeView treeView) + { + ImageEditorBase editor = (ImageEditorBase)LibraryGUI.GetActiveContent(typeof(ImageEditorBase)); + if (editor == null) + { + editor = new ImageEditorBase(); + editor.Dock = DockStyle.Fill; + LibraryGUI.LoadEditor(editor); + } + + editor.LoadProperties(GenericProperties); + editor.LoadImage(this); + } + + public void Unload() + { + + } + public byte[] Save() + { + //Apply the image info block from this image + IGZStructure.TextureInfo.Width = (ushort)this.Width; + IGZStructure.TextureInfo.Height = (ushort)this.Height; + IGZStructure.TextureInfo.MipCount = (ushort)this.MipCount; + IGZStructure.TextureInfo.Depth = (ushort)this.Depth; + IGZStructure.TextureInfo.ArrayCount = (ushort)this.ArrayCount; + IGZStructure.TextureInfo.FormatInfo.Format = this.Format; + IGZStructure.TextureInfo.FormatInfo.Platform = this.PlatformFormat; + IGZStructure.StringTable[0] = this.Text; + + var mem = new System.IO.MemoryStream(); + IGZStructure.Write(new FileWriter(mem)); + return mem.ToArray(); + } + } +} diff --git a/File_Format_Library/FileFormats/Texture/TXE.cs b/File_Format_Library/FileFormats/Pikmin/TXE.cs similarity index 100% rename from File_Format_Library/FileFormats/Texture/TXE.cs rename to File_Format_Library/FileFormats/Pikmin/TXE.cs diff --git a/File_Format_Library/Main.cs b/File_Format_Library/Main.cs index f7636c8c..545bda34 100644 --- a/File_Format_Library/Main.cs +++ b/File_Format_Library/Main.cs @@ -361,7 +361,7 @@ namespace FirstPlugin Formats.Add(typeof(G1T)); Formats.Add(typeof(BFLYT)); Formats.Add(typeof(ZSI)); - Formats.Add(typeof(IGZ)); + Formats.Add(typeof(IGZ_TEX)); //Unfinished wip formats not ready for use if (Runtime.DEVELOPER_DEBUG_MODE) diff --git a/Switch_Toolbox_Library/Generics/Texture/GenericTexture.cs b/Switch_Toolbox_Library/Generics/Texture/GenericTexture.cs index 0c45ee91..b3d8bd63 100644 --- a/Switch_Toolbox_Library/Generics/Texture/GenericTexture.cs +++ b/Switch_Toolbox_Library/Generics/Texture/GenericTexture.cs @@ -229,6 +229,7 @@ namespace Toolbox.Library { TEX_FORMAT.R32G32B32A32_FLOAT, new FormatInfo(16, 1, 1, 1, TargetBuffer.Color) }, { TEX_FORMAT.R32G32B32A32_SINT, new FormatInfo(16, 1, 1, 1, TargetBuffer.Color) }, { TEX_FORMAT.R32G32B32A32_UINT, new FormatInfo(16, 1, 1, 1, TargetBuffer.Color) }, + { TEX_FORMAT.R32G32B32_FLOAT, new FormatInfo(8, 1, 1, 1, TargetBuffer.Color) }, { TEX_FORMAT.R16G16B16A16_FLOAT, new FormatInfo(8, 1, 1, 1, TargetBuffer.Color) }, { TEX_FORMAT.R16G16B16A16_SINT, new FormatInfo(8, 1, 1, 1, TargetBuffer.Color) }, { TEX_FORMAT.R16G16B16A16_SNORM, new FormatInfo(8, 1, 1, 1, TargetBuffer.Color) }, diff --git a/Switch_Toolbox_Library/Rendering/RenderLib.cs b/Switch_Toolbox_Library/Rendering/RenderLib.cs index 624402bd..ab982e9b 100644 --- a/Switch_Toolbox_Library/Rendering/RenderLib.cs +++ b/Switch_Toolbox_Library/Rendering/RenderLib.cs @@ -26,7 +26,7 @@ namespace Toolbox.Library.Rendering } public class Vertex - { + { public Vector3 pos = new Vector3(0); public Vector3 nrm = new Vector3(0); public Vector4 col = new Vector4(1); diff --git a/Switch_Toolbox_Library/Toolbox.Library.dll b/Switch_Toolbox_Library/Toolbox.Library.dll index 6b105118e4ed68264110a87d5f50b7ce0e394e70..be244e5dd97b7f5e7b19b3cd1ac16dca2a9e92e0 100644 GIT binary patch delta 44424 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 delta 44427 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 a-P+-{Xzxv@T|eIt7BkdqTi^Oe+y4Q-?3MWd diff --git a/Switch_Toolbox_Library/Toolbox.Library.pdb b/Switch_Toolbox_Library/Toolbox.Library.pdb index b6244251c9276e71a87c5f6c040902c35ad1078e..61c9adb18ca6748f4d8699083a70257650b919e9 100644 GIT binary patch delta 118762 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 delta 118689 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�?-+68C8r%(P9leCd$zMU1f^N+EVkmG91!Tv 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