Make some properties into consts

This commit is contained in:
Kurt 2021-03-20 12:47:21 -07:00
parent a71d7d1950
commit 8d3f990667
6 changed files with 28 additions and 30 deletions

View file

@ -119,8 +119,8 @@ namespace PKHeX.Core
{
return new()
{
new SlotInfoMisc(sav.Data, 0, sav.GTS) {Type = StorageSlotType.GTS},
new SlotInfoMisc(sav.Data, 0, sav.Fused) {Type = StorageSlotType.Fused},
new SlotInfoMisc(sav.Data, 0, SAV6AO.GTS) {Type = StorageSlotType.GTS},
new SlotInfoMisc(sav.Data, 0, SAV6AO.Fused) {Type = StorageSlotType.Fused},
new SlotInfoMisc(sav.Data, 0, sav.GetBattleBoxSlot(0)) {Type = StorageSlotType.BattleBox},
new SlotInfoMisc(sav.Data, 1, sav.GetBattleBoxSlot(1)) {Type = StorageSlotType.BattleBox},

View file

@ -193,4 +193,4 @@ namespace PKHeX.Core
public abstract MyStatus6 Status { get; }
public abstract RecordBlock6 Records { get; }
}
}
}

View file

@ -33,9 +33,6 @@ namespace PKHeX.Core
private void Initialize()
{
GTS = 0x18200; // GtsData
Fused = 0x16A00; // UnionPokemon
PCLayout = 0x04400;
BattleBoxOffset = 0x04A00;
PSS = 0x05000;
@ -46,23 +43,23 @@ namespace PKHeX.Core
DaycareOffset = 0x1BC00;
BerryField = 0x1C400;
WondercardFlags = 0x1CC00;
Contest = 0x23600;
SecretBase = 0x23A00;
EonTicket = 0x319B8;
Box = 0x33000;
JPEG = 0x67C00;
EventFlag = EventConst + 0x2F0;
WondercardData = WondercardFlags + 0x100;
Daycare2 = DaycareOffset + 0x1F0;
}
public int EonTicket { get; private set; }
public int Contest { get; private set; }
private int Daycare2 { get; set; }
public int SecretBase { get; private set; }
public int GTS { get; private set; }
public int Fused { get; private set; }
/// <summary> Offset of the UnionPokemon block. </summary>
public const int Fused = 0x16A00;
/// <summary> Offset of the GtsData block. </summary>
public const int GTS = 0x18200;
/// <summary> Offset of the second daycare structure within the Daycare block. </summary>
private const int Daycare2 = 0x1BC00 + 0x1F0;
/// <summary> Offset of the Contest data block. </summary>
public const int Contest = 0x23600;
/// <summary> Offset of the Secret Base block. </summary>
public const int SecretBase = 0x23A00;
#region Blocks
public override IReadOnlyList<BlockInfo> AllBlocks => Blocks.BlockInfo;

View file

@ -334,15 +334,16 @@ namespace PKHeX.Core
public void SetPartySlotAtIndex(PKM pkm, int index, PKMImportSetting trade = PKMImportSetting.UseDefault, PKMImportSetting dex = PKMImportSetting.UseDefault)
{
// update party count
if (index <= -1)
throw new ArgumentException("Invalid Party offset provided; unable to resolve party slot index.");
if ((uint)index > 5)
throw new ArgumentOutOfRangeException(nameof(index));
int currentCount = PartyCount;
if (pkm.Species != 0)
{
if (PartyCount <= index)
if (currentCount <= index)
PartyCount = index + 1;
}
else if (PartyCount > index)
else if (currentCount > index)
{
PartyCount = index;
}

View file

@ -20,7 +20,7 @@ namespace PKHeX.WinForms
for (int i = 0; i < lbl_spec.Length; i++)
{
lbl_spec[i].Text = $"{GameInfo.Strings.pokeblocks[94 + i]}:";
nup_spec[i].Value = BitConverter.ToUInt32(SAV.Data, SAV.Contest + (i * 4));
nup_spec[i].Value = BitConverter.ToUInt32(SAV.Data, SAV6AO.Contest + (i * 4));
}
}
@ -34,7 +34,7 @@ namespace PKHeX.WinForms
private void B_Save_Click(object sender, EventArgs e)
{
for (int i = 0; i < nup_spec.Length; i++)
BitConverter.GetBytes((uint)nup_spec[i].Value).CopyTo(SAV.Data, SAV.Contest + (i * 4));
BitConverter.GetBytes((uint)nup_spec[i].Value).CopyTo(SAV.Data, SAV6AO.Contest + (i * 4));
Origin.CopyChangesFrom(SAV);
Close();
}

View file

@ -70,8 +70,8 @@ namespace PKHeX.WinForms
{
LB_Favorite.Items.Clear();
int playeroff = SAV.SecretBase + 0x326;
int favoff = SAV.SecretBase + 0x63A;
int playeroff = SAV6AO.SecretBase + 0x326;
int favoff = SAV6AO.SecretBase + 0x63A;
string OT = StringConverter.GetString6(SAV.Data, playeroff + 0x218, 0x1A);
LB_Favorite.Items.Add($"* {OT}");
for (int i = 0; i < 30; i++)
@ -153,11 +153,11 @@ namespace PKHeX.WinForms
{
// OR/AS: Secret base @ 0x23A00
if (index == 0) // Self, 0x314 bytes? Doesn't store pokemon data
return SAV.SecretBase + 0x326;
return SAV6AO.SecretBase + 0x326;
--index;
// Received
return SAV.SecretBase + 0x63A + (index * SecretBase6.SIZE);
return SAV6AO.SecretBase + 0x63A + (index * SecretBase6.SIZE);
}
private void B_FAV2SAV(object sender, EventArgs e)
@ -224,7 +224,7 @@ namespace PKHeX.WinForms
{
uint flags = Util.ToUInt32(MT_Flags.Text);
SAV.Records.SetRecord(080, (int)flags);
Array.Copy(BitConverter.GetBytes(flags), 0, SAV.Data, SAV.SecretBase + 0x62C, 4); // write counter
Array.Copy(BitConverter.GetBytes(flags), 0, SAV.Data, SAV6AO.SecretBase + 0x62C, 4); // write counter
Origin.CopyChangesFrom(SAV);
Close();
}
@ -236,8 +236,8 @@ namespace PKHeX.WinForms
// int qty = BitConverter.ToUInt16(sav, offset + i * 4);
// int has = BitConverter.ToUInt16(sav, offset + i * 4 + 2);
SAV.Data[SAV.SecretBase + (i * 4)] = 25;
SAV.Data[SAV.SecretBase + (i * 4) + 2] = 1;
SAV.Data[SAV6AO.SecretBase + (i * 4)] = 25;
SAV.Data[SAV6AO.SecretBase + (i * 4) + 2] = 1;
}
}
@ -518,7 +518,7 @@ namespace PKHeX.WinForms
if (LB_Favorite.SelectedIndex < 1) { WinFormsUtil.Alert("Cannot delete your Secret Base."); return; }
int index = LB_Favorite.SelectedIndex - 1;
int favoff = SAV.SecretBase + 0x63A;
int favoff = SAV6AO.SecretBase + 0x63A;
string BaseTrainer = StringConverter.GetString6(SAV.Data, favoff + (index * 0x3E0) + 0x218, 0x1A);
if (string.IsNullOrEmpty(BaseTrainer))
BaseTrainer = "Empty";