From 96671f6319594dfe44747c138c28fac61a538c61 Mon Sep 17 00:00:00 2001 From: Mixone-FinallyHere Date: Wed, 23 Dec 2020 01:45:32 +0100 Subject: [PATCH] Repaired a dumb msitake --- DSShinyEditor/DSShinyEditor.csproj | 11 ++++++++++- DSShinyEditor/Editor.cs | 22 +++++++++++++++++++++- DSShinyEditor/Tools/blz.exe | Bin 0 -> 8704 bytes 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 DSShinyEditor/Tools/blz.exe diff --git a/DSShinyEditor/DSShinyEditor.csproj b/DSShinyEditor/DSShinyEditor.csproj index 35a68ff..9873e88 100644 --- a/DSShinyEditor/DSShinyEditor.csproj +++ b/DSShinyEditor/DSShinyEditor.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.2 + netcoreapp3.1 false true @@ -19,4 +19,13 @@ + + + Always + + + Always + + + diff --git a/DSShinyEditor/Editor.cs b/DSShinyEditor/Editor.cs index 8a29b12..0efc890 100644 --- a/DSShinyEditor/Editor.cs +++ b/DSShinyEditor/Editor.cs @@ -48,7 +48,7 @@ public Editor(string path, byte rate) unpack.StartInfo.CreateNoWindow = true; unpack.Start(); unpack.WaitForExit(); - + DecompressArm9(workingFolder); // Modify the arm9 using (BinaryWriter bw = new BinaryWriter(File.OpenWrite(workingFolder + "arm9.bin"))) { @@ -68,6 +68,7 @@ public Editor(string path, byte rate) } else { // Copy ROM and modify it + File.Copy(path, workingFolder+"shinyModified.nds"); using (BinaryWriter bw = new BinaryWriter(File.OpenWrite(workingFolder + "shinyModified.nds"))) { @@ -94,5 +95,24 @@ public uint TryGetAddress(string gameVers) throw new Exception("Game not supported. Exiting.\n" + e.StackTrace); } } + + private void DecompressArm9(string workingFolder) + { + if (new FileInfo(workingFolder + @"arm9.bin").Length < 0xC0000) + { + BinaryWriter arm9Truncate = new BinaryWriter(File.OpenWrite(workingFolder + @"arm9.bin")); + long arm9Length = new FileInfo(workingFolder + @"arm9.bin").Length; + arm9Truncate.BaseStream.SetLength(arm9Length - 0xc); + arm9Truncate.Close(); + } + + Process decompress = new Process(); + decompress.StartInfo.FileName = @"Tools\blz.exe"; + decompress.StartInfo.Arguments = @" -d " + '"' + workingFolder + "arm9.bin" + '"'; + decompress.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; + decompress.StartInfo.CreateNoWindow = true; + decompress.Start(); + decompress.WaitForExit(); + } } } \ No newline at end of file diff --git a/DSShinyEditor/Tools/blz.exe b/DSShinyEditor/Tools/blz.exe new file mode 100644 index 0000000000000000000000000000000000000000..680c933e1a04b532b9251eb65564bc4a730cb818 GIT binary patch literal 8704 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