From cd1bf42710cbda75743c6b9f4cb3e4c043a18c81 Mon Sep 17 00:00:00 2001 From: Kaphotics Date: Mon, 31 Oct 2016 21:43:21 -0700 Subject: [PATCH] separate demo from final game just an assumption, as the text didn't have enough filecounts, they may be splitting things up. text variable codes likely the same, and garcs may be shifted as 238 is a little too few for a full game --- pk3DS/Game/GARCReference.cs | 21 +++++++++++++++++++++ pk3DS/Game/GameConfig.cs | 4 ++++ pk3DS/Game/TextReference.cs | 15 +++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/pk3DS/Game/GARCReference.cs b/pk3DS/Game/GARCReference.cs index c53c3c7..88e9a0d 100644 --- a/pk3DS/Game/GARCReference.cs +++ b/pk3DS/Game/GARCReference.cs @@ -74,6 +74,27 @@ public GARCReference getRelativeGARC(int offset, string name = "") new GARCReference(071, "gametext", true), new GARCReference(079, "storytext", true), }; + public static readonly GARCReference[] GARCReference_SMDEMO = + { + new GARCReference(011, "move"), + new GARCReference(012, "eggmove"), + new GARCReference(013, "levelup"), + new GARCReference(014, "evolution"), + new GARCReference(015, "megaevo"), + new GARCReference(017, "personal"), + new GARCReference(019, "item"), + + new GARCReference(076, "zonedata"), + new GARCReference(081, "encdata"), + + new GARCReference(101, "trclass"), + new GARCReference(102, "trdata"), + new GARCReference(103, "trpoke"), + + // Varied + new GARCReference(030, "gametext", true), + new GARCReference(040, "storytext", true), + }; public static readonly GARCReference[] GARCReference_SM = { new GARCReference(011, "move"), diff --git a/pk3DS/Game/GameConfig.cs b/pk3DS/Game/GameConfig.cs index d06ae9d..4799160 100644 --- a/pk3DS/Game/GameConfig.cs +++ b/pk3DS/Game/GameConfig.cs @@ -67,6 +67,10 @@ private void getGameData(GameVersion game) break; case GameVersion.SMDEMO: + Files = GARCReference.GARCReference_SMDEMO; + Variables = TextVariableCode.VariableCodes_SM; + GameText = TextReference.GameText_SMDEMO; + break; case GameVersion.SM: Files = GARCReference.GARCReference_SM; Variables = TextVariableCode.VariableCodes_SM; diff --git a/pk3DS/Game/TextReference.cs b/pk3DS/Game/TextReference.cs index 886b273..eeab686 100644 --- a/pk3DS/Game/TextReference.cs +++ b/pk3DS/Game/TextReference.cs @@ -70,6 +70,21 @@ private TextReference(int index, TextName name) new TextReference(154, TextName.SuperTrainerNames), new TextReference(165, TextName.OPowerFlavor), }; + public static readonly TextReference[] GameText_SMDEMO = + { + new TextReference(020, TextName.ItemFlavor), + new TextReference(021, TextName.ItemNames), + new TextReference(026, TextName.SpeciesNames), + new TextReference(030, TextName.metlist_000000), + new TextReference(044, TextName.Forms), // Testing. + new TextReference(044, TextName.Natures), + new TextReference(046, TextName.AbilityNames), + new TextReference(049, TextName.TrainerText), + new TextReference(050, TextName.TrainerNames), + new TextReference(051, TextName.TrainerClasses), + new TextReference(052, TextName.Types), + new TextReference(055, TextName.MoveNames), + }; public static readonly TextReference[] GameText_SM = { new TextReference(020, TextName.ItemFlavor),