add Gen3 Badge

without RS
This commit is contained in:
pokecal
2017-04-16 15:14:07 +09:00
parent 50753a0d5b
commit a4f43f2afd
2 changed files with 36 additions and 3 deletions

View File

@@ -88,12 +88,17 @@ public SAV_SimpleTrainer()
if (SAV is SAV3)
{
GB_Map.Visible = false;
GB_Badges.Visible = false; // todo
SAV3 sav3 = (SAV3)SAV;
switch (sav3.Version)
{
case GameVersion.E: badgeval = sav3.Badges; break;
case GameVersion.FRLG: badgeval = sav3.Badges; break;
default: GB_Badges.Visible = false; break; // RS
}
L_Started.Visible = L_Fame.Visible = false;
CAL_AdventureStartDate.Visible = CAL_HoFDate.Visible = false;
CAL_AdventureStartTime.Visible = CAL_HoFTime.Visible = false;
return;
}
if (SAV is SAV3Colosseum || SAV is SAV3XD)
{
@@ -203,6 +208,12 @@ private void B_Save_Click(object sender, EventArgs e)
sav2.TextSpeed = CB_TextSpeed.SelectedIndex;
}
if (SAV is SAV3)
{
SAV3 sav3 = (SAV3)SAV;
sav3.Badges = badgeval & 0xFF;
}
if (SAV is SAV4)
{
SAV4 s = (SAV4)SAV;

View File

@@ -286,7 +286,29 @@ public int PlayedFrames
get { return Data[BlockOfs[0] + 0x12]; }
set { Data[BlockOfs[0] + 0x12] = (byte)value; }
}
public int Badges
{
get
{
switch (Version)
{
case GameVersion.E: return BitConverter.ToUInt16(Data, BlockOfs[2] + 0x3FC) >> 7 & 0xFF;
case GameVersion.FRLG: return Data[BlockOfs[2] + 0x64];
default: return 0; // RS
}
}
set
{
switch (Version)
{
case GameVersion.E:
BitConverter.GetBytes(BitConverter.ToUInt16(Data, BlockOfs[2] + 0x3FC) & ~(0xFF << 7) | (value << 7)).CopyTo(Data, BlockOfs[2] + 0x3FC);
break;
case GameVersion.FRLG: Data[BlockOfs[2] + 0x64] = (byte)value; break;
default: return; // RS
}
}
}
public override uint Money
{
get