// TODO: Move to unit test project public static void TestLayout() { var compressed = TestData.StringToBytes(TestData.OverworldLayoutCompressed); var uncompressed = TestData.StringToBytes(TestData.OverworldLayout); var testDecomp = BasicRing400.Decompress(Rom.GetStream(0xed8a00), 0x2000); var decompPassed = testDecomp.SequenceEqual(uncompressed); var testComp = BasicRing400.Compress(uncompressed); var compPassed = testComp.SequenceEqual(compressed); var testReDecomp = BasicRing400.Decompress(testComp, 0x2000); var reDecompPassed = testReDecomp.SequenceEqual(uncompressed); var testMaxComp = BasicRing400.CompressMax(uncompressed); var maxcompPassed = testMaxComp.SequenceEqual(compressed); var testMaxReDecomp = BasicRing400.Decompress(testComp, 0x2000); var maxreDecompPassed = testMaxReDecomp.SequenceEqual(uncompressed); var folder = @"c:\working\test\"; Directory.CreateDirectory(folder); WriteBytesToFile(compressed, Path.Combine(folder, "compressed.txt")); WriteBytesToFile(uncompressed, Path.Combine(folder, "uncompressed.txt")); WriteBytesToFile(testDecomp, Path.Combine(folder, "testDecomp.txt")); WriteBytesToFile(testComp, Path.Combine(folder, "testComp.txt")); WriteBytesToFile(testReDecomp, Path.Combine(folder, "testReDecomp.txt")); WriteBytesToFile(testMaxComp, Path.Combine(folder, "testMaxComp.txt")); WriteBytesToFile(testReDecomp, Path.Combine(folder, "testReDecomp.txt")); Console.WriteLine($" Decompression: {(decompPassed ? "Passed" : "Failed")}"); Console.WriteLine($" size: 0x{testDecomp.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine($" realsize: 0x{uncompressed.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine(); Console.WriteLine($" Compression: {(compPassed ? "Passed" : "Failed")}"); Console.WriteLine($" size: 0x{testComp.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine($" realsize: 0x{compressed.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine(); Console.WriteLine($"ReDecompression: {(reDecompPassed ? "Passed" : "Failed")}"); Console.WriteLine($" size: 0x{testReDecomp.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine($" realsize: 0x{uncompressed.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine(); Console.WriteLine($"Max Compression: {(maxcompPassed ? "Passed" : "Failed")}"); Console.WriteLine($" size: 0x{testMaxComp.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine($" realsize: 0x{compressed.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine(); Console.WriteLine($"Max ReDecompped: {(maxreDecompPassed ? "Passed" : "Failed")}"); Console.WriteLine($" size: 0x{testMaxReDecomp.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.WriteLine($" realsize: 0x{uncompressed.Length.ToString("x4", CultureInfo.InvariantCulture)}"); Console.ReadKey(); }