diff --git a/MainWindow/Main.cs b/MainWindow/Main.cs index 63b78500c..239d93b36 100644 --- a/MainWindow/Main.cs +++ b/MainWindow/Main.cs @@ -689,10 +689,19 @@ private void openSAV(byte[] input, string path) { Util.Error("Invalid save file loaded. Aborting.", path); return; } if (sav.Generation <= 3) // Japanese Save files are different. Get isJapanese { - var dr = Util.Prompt(MessageBoxButtons.YesNoCancel, $"Generation {sav.Generation} Save File detected.", "Does this file originate from a Japanese game?"); - if (dr == DialogResult.Cancel) + var drJP = Util.Prompt(MessageBoxButtons.YesNoCancel, $"Generation {sav.Generation} Save File detected. Select Origins:", "Yes: International" + Environment.NewLine + "No: Japanese"); + if (drJP == DialogResult.Cancel) return; - sav.Japanese = dr == DialogResult.Yes; + sav.Japanese = drJP == DialogResult.No; + + if (sav.Version == GameVersion.FRLG) + { + var drFRLG = Util.Prompt(MessageBoxButtons.YesNoCancel, "FRLG Detected. Select version...", "Yes: FireRed" + Environment.NewLine + "No: LeafGreen"); + if (drFRLG == DialogResult.Cancel) + return; + + sav.Personal = drFRLG == DialogResult.Yes ? PersonalTable.FR : PersonalTable.LG; + } } SAV = sav; diff --git a/Saves/SaveFile.cs b/Saves/SaveFile.cs index f767aa96a..7c11b6000 100644 --- a/Saves/SaveFile.cs +++ b/Saves/SaveFile.cs @@ -45,7 +45,7 @@ public byte[] Write(bool DSV) public abstract bool ChecksumsValid { get; } public abstract string ChecksumInfo { get; } public abstract int Generation { get; } - public PersonalTable Personal { get; protected set; } + public PersonalTable Personal { get; set; } public bool ORASDEMO => Data.Length == SaveUtil.SIZE_G6ORASDEMO; public bool ORAS => Version == GameVersion.OR || Version == GameVersion.AS;