Fix slot writes

This commit is contained in:
Kurt 2020-10-10 14:59:51 -07:00
parent dabdb31c74
commit 2e82636f1e
2 changed files with 34 additions and 0 deletions

View file

@ -114,6 +114,23 @@ namespace PKHeX.Core
return new PK1(data, Japanese) { OT_Trash = ot, Nickname_Trash = nick };
}
public override byte[] GetDataForFormatStored(PKM pkm)
{
byte[] result = new byte[SIZE_STORED];
var gb = (PK1)pkm;
var data = pkm.Data;
int len = StringLength;
data.CopyTo(result, 0);
gb.nick.CopyTo(result, PokeCrypto.SIZE_1STORED);
gb.otname.CopyTo(result, PokeCrypto.SIZE_1STORED + len);
return result;
}
public override byte[] GetDataForFormatParty(PKM pkm) => GetDataForFormatStored(pkm);
public override byte[] GetDataForParty(PKM pkm) => GetDataForFormatStored(pkm);
public override byte[] GetDataForBox(PKM pkm) => GetDataForFormatStored(pkm);
public int GetTeamOffset(int team) => Japanese ? GetTeamOffsetJ(team) : GetTeamOffsetU(team);
private int GetTeamOffsetJ(int team)

View file

@ -87,6 +87,23 @@ namespace PKHeX.Core
return new PK1(data, true) { OT_Trash = ot, Nickname_Trash = nick };
}
public override byte[] GetDataForFormatStored(PKM pkm)
{
byte[] result = new byte[SIZE_STORED];
var gb = (PK1)pkm;
var data = pkm.Data;
const int len = StringLength;
data.CopyTo(result, 0);
gb.nick.CopyTo(result, PokeCrypto.SIZE_1STORED);
gb.otname.CopyTo(result, PokeCrypto.SIZE_1STORED + len);
return result;
}
public override byte[] GetDataForFormatParty(PKM pkm) => GetDataForFormatStored(pkm);
public override byte[] GetDataForParty(PKM pkm) => GetDataForFormatStored(pkm);
public override byte[] GetDataForBox(PKM pkm) => GetDataForFormatStored(pkm);
public override int GetBoxOffset(int box) => Box + ListHeaderSize + (box * BoxSizeJ);
public static int GetTeamOffset(int team) => 0 + ListHeaderSize + (team * TeamSizeJ);