diff --git a/WinExtract/.vs/WinExtract/v15/.suo b/WinExtract/.vs/WinExtract/v15/.suo index 78d789e..7cc421e 100644 Binary files a/WinExtract/.vs/WinExtract/v15/.suo and b/WinExtract/.vs/WinExtract/v15/.suo differ diff --git a/WinExtract/WinExtract/Program.cs b/WinExtract/WinExtract/Program.cs index 7c734db..74e7a6e 100644 --- a/WinExtract/WinExtract/Program.cs +++ b/WinExtract/WinExtract/Program.cs @@ -92,7 +92,8 @@ static void Main(string[] args) long sprt = bread.ReadUInt32(); bread.BaseStream.Position = sprt; string what = getSTRGEntry(bread.ReadUInt32()); - bread.BaseStream.Position += 0x34;//Skip 0x34 bytes + //bread.BaseStream.Position += 0x34;//Skip 0x34 bytes + bread.BaseStream.Position += 0x48;//Switch //TPAG uint spritec = bread.ReadUInt32(); for (int k = 0; k < spritec; k++) @@ -141,7 +142,8 @@ static void Main(string[] args) for (int i = 0; i < entries.Count - 1; i++) { uint offset = entries[i]; - bread.BaseStream.Position = offset + 4; + //bread.BaseStream.Position = offset + 4; + bread.BaseStream.Position = offset + 8;//Extra 0000 Switch offset = bread.ReadUInt32(); entries[i] = offset; } @@ -207,14 +209,14 @@ static void Main(string[] args) string hashString = sBuilder.ToString(); if (hashString == "ff44e9b4b88209202af1b73d7b187d5f")//Undertale 1.01 { - oldUndertale = true; + //oldUndertale = true; unpackAUDO = true; } } } else { - recordFiles(filesToCreate, chunk_name); + recordFiles(filesToCreate, chunk_name); if (chunk_name == "TXTR") collectFontImages(); } @@ -363,19 +365,23 @@ static uint calculateFontSize(uint font_offset) { return result; } - static void collectFontImages() { + static void collectFontImages() + { long bacup = bread.BaseStream.Position; bread.BaseStream.Position = FONT_offset; List fonts = collect_entries(false); - for (int f=0; f"E:\Undertale2\data.win" "E:\Undertale2\Data" - "E:\Game Maker Games PS Vita\game [Va-11 Hall-a PS Vita].win" "E:\Game Maker Games PS Vita\VA" + "D:\UndertaleSwitch\game.win" "D:\UndertaleSwitch\Data" true \ No newline at end of file diff --git a/WinPack/WinPack/Program.cs b/WinPack/WinPack/Program.cs index dfd4fac..f16a118 100644 --- a/WinPack/WinPack/Program.cs +++ b/WinPack/WinPack/Program.cs @@ -18,6 +18,7 @@ class Program static bool strgWithBr; static bool correctTXTR; static bool noAUDO; + static bool UTswitch; static List newFonts = new List(); static string[] chunks = new string[] { "GEN8","OPTN","LANG","EXTN","SOND","AGRP","SPRT","BGND","PATH","SCPT","GLOB","SHDR","FONT", "TMLN","OBJT","ROOM","DAFL","EMBI","TPAG","CODE","VARI","FUNC","STRG","TXTR","AUDO"}; @@ -51,6 +52,7 @@ static void Main(string[] args) if (args[i] == "-tt") translatale = true; if (args[i] == "-correctTXTR") correctTXTR = true; if (args[i] == "-noAUDO") noAUDO = true; + if (args[i] == "-switch") UTswitch = true; } translatale = true; strgWithBr = false; @@ -181,6 +183,10 @@ static void Main(string[] args) bwrite.Write(0x00000000); bwrite.Write(0xFFFFFFFF); } else bwrite.Write((uint)1); + if (UTswitch) { + bwrite.Write((uint)0);//Switch + chunk_size += 4;//Switch + } Offsets[f] = (uint)bwrite.BaseStream.Position; bwrite.Write((uint)0); chunk_size += 8; if (correctTXTR) chunk_size += 4;