Add trashbyte copy for OT import on gen1/2

Closes #1849
NAME_LENGTH is 11 for both gens and the offsets don't vary between
languages, so it's a simple fetch.
This commit is contained in:
Kurt 2018-02-22 22:42:50 -08:00
parent 016b75fe83
commit f9002c6cc9
5 changed files with 9 additions and 2 deletions

View file

@ -241,6 +241,7 @@ namespace PKHeX.Core
get => GetString(0x2598, OTLength); get => GetString(0x2598, OTLength);
set => SetString(value, OTLength).CopyTo(Data, 0x2598); set => SetString(value, OTLength).CopyTo(Data, 0x2598);
} }
public byte[] OT_Trash { get => GetData(0x2598, 11); set { if (value?.Length == 11) SetData(value, 0x2598); } }
public override int Gender public override int Gender
{ {
get => 0; get => 0;

View file

@ -268,6 +268,7 @@ namespace PKHeX.Core
get => GetString(Offsets.Trainer1 + 2, (Korean ? 2 : 1) * OTLength); get => GetString(Offsets.Trainer1 + 2, (Korean ? 2 : 1) * OTLength);
set => SetString(value, (Korean ? 2 : 1) * OTLength).CopyTo(Data, Offsets.Trainer1 + 2); set => SetString(value, (Korean ? 2 : 1) * OTLength).CopyTo(Data, Offsets.Trainer1 + 2);
} }
public byte[] OT_Trash { get => GetData(Offsets.Trainer1 + 2, 11); set { if (value?.Length == 11) SetData(value, Offsets.Trainer1 + 2); } }
public override int Gender public override int Gender
{ {
get => Version == GameVersion.C ? Data[Offsets.Gender] : 0; get => Version == GameVersion.C ? Data[Offsets.Gender] : 0;

View file

@ -57,7 +57,7 @@ namespace PKHeX.Core
}; };
private static readonly int[] mainSizes = { SIZE_G6XY, SIZE_G6ORAS, SIZE_G7SM, SIZE_G7USUM }; private static readonly int[] mainSizes = { SIZE_G6XY, SIZE_G6ORAS, SIZE_G7SM, SIZE_G7USUM };
private static readonly byte[] FOOTER_DSV = Encoding.ASCII.GetBytes("|-DESMUME SAVE-|"); private static readonly byte[] FOOTER_DSV = Encoding.ASCII.GetBytes("|-DESMUME SAVE-|");
internal static readonly string[] HEADER_COLO = { "GC6J","GC6E","GC6P" }; // NTSC-J, NTSC-U, PAL internal static readonly string[] HEADER_COLO = { "GC6J","GC6E","GC6P" }; // NTSC-J, NTSC-U, PAL
internal static readonly string[] HEADER_XD = { "GXXJ","GXXE","GXXP" }; // NTSC-J, NTSC-U, PAL internal static readonly string[] HEADER_XD = { "GXXJ","GXXE","GXXP" }; // NTSC-J, NTSC-U, PAL
internal static readonly string[] HEADER_RSBOX = { "GPXJ","GPXE","GPXP" }; // NTSC-J, NTSC-U, PAL internal static readonly string[] HEADER_RSBOX = { "GPXJ","GPXE","GPXP" }; // NTSC-J, NTSC-U, PAL

View file

@ -316,6 +316,11 @@ namespace PKHeX.WinForms.Controls
CB_Country.SelectedValue = SAV.Country; CB_Country.SelectedValue = SAV.Country;
CB_SubRegion.SelectedValue = SAV.SubRegion; CB_SubRegion.SelectedValue = SAV.SubRegion;
} }
// Copy OT trash bytes for sensitive games (Gen1/2)
if (SAV is SAV1 s1 && pkm is PK1 p1) p1.OT_Trash = s1.OT_Trash;
else if (SAV is SAV2 s2 && pkm is PK2 p2) p2.OT_Trash = s2.OT_Trash;
UpdateNickname(null, null); UpdateNickname(null, null);
} }
private void SetDetailsHT(SaveFile SAV) private void SetDetailsHT(SaveFile SAV)

View file

@ -300,7 +300,7 @@ namespace PKHeX.WinForms
SaveFileDialog sfd = new SaveFileDialog SaveFileDialog sfd = new SaveFileDialog
{ {
Filter = $"Decrypted PKM File|*.{pkx}" + Filter = $"Decrypted PKM File|*.{pkx}" +
(allowEncrypted ? $"|Encrypted PKM File|*.e{pkx.Substring(1, pkx.Length - 1)}" : "") + (allowEncrypted ? $"|Encrypted PKM File|*.e{pkx.Substring(1)}" : "") +
"|Binary File|*.bin" + "|Binary File|*.bin" +
"|All Files|*.*", "|All Files|*.*",
DefaultExt = pkx, DefaultExt = pkx,