mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-05 21:17:14 -05:00
Merge pull request #1 from kwsch/master
Update from upstream repo kwsch/PKHeX
This commit is contained in:
commit
5b83d5b2d4
|
|
@ -67,6 +67,7 @@ private void InitializeComponent()
|
|||
this.LB_Form = new System.Windows.Forms.ListBox();
|
||||
this.L_Seen = new System.Windows.Forms.Label();
|
||||
this.L_NotSeen = new System.Windows.Forms.Label();
|
||||
this.CB_DexUpgraded = new System.Windows.Forms.ToolStripComboBox();
|
||||
this.GB_Language.SuspendLayout();
|
||||
this.modifyMenu.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
|
|
@ -284,11 +285,11 @@ private void InitializeComponent()
|
|||
//
|
||||
// mnuUpgraded
|
||||
//
|
||||
this.mnuUpgraded.CheckOnClick = true;
|
||||
this.mnuUpgraded.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.CB_DexUpgraded});
|
||||
this.mnuUpgraded.Name = "mnuUpgraded";
|
||||
this.mnuUpgraded.Size = new System.Drawing.Size(148, 22);
|
||||
this.mnuUpgraded.Text = "National Dex";
|
||||
this.mnuUpgraded.Click += new System.EventHandler(this.mnuUpgraded_Click);
|
||||
this.mnuUpgraded.Text = "Dex Upgrade";
|
||||
//
|
||||
// CHK_Seen
|
||||
//
|
||||
|
|
@ -431,6 +432,12 @@ private void InitializeComponent()
|
|||
this.L_NotSeen.TabIndex = 58;
|
||||
this.L_NotSeen.Text = "Not Seen";
|
||||
//
|
||||
// CB_DexUpgraded
|
||||
//
|
||||
this.CB_DexUpgraded.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CB_DexUpgraded.Name = "CB_DexUpgraded";
|
||||
this.CB_DexUpgraded.Size = new System.Drawing.Size(112, 23);
|
||||
//
|
||||
// SAV_Pokedex4
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
|
@ -514,5 +521,6 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.ListBox LB_Form;
|
||||
private System.Windows.Forms.Label L_Seen;
|
||||
private System.Windows.Forms.Label L_NotSeen;
|
||||
private System.Windows.Forms.ToolStripComboBox CB_DexUpgraded;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ public partial class SAV_Pokedex4 : Form
|
|||
public SAV_Pokedex4()
|
||||
{
|
||||
InitializeComponent();
|
||||
CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L4, CHK_L5, CHK_L6, };
|
||||
CL = new[] { CHK_L1, CHK_L2, CHK_L3, CHK_L5, CHK_L4, CHK_L6, }; // JPN,ENG,FRA,GER,ITA,SPA
|
||||
WinFormsUtil.TranslateInterface(this, Main.curlanguage);
|
||||
|
||||
editing = true;
|
||||
|
|
@ -26,11 +26,16 @@ public SAV_Pokedex4()
|
|||
|
||||
for (int i = 1; i < SAV.MaxSpeciesID + 1; i++)
|
||||
LB_Species.Items.Add(i.ToString("000") + " - " + GameInfo.Strings.specieslist[i]);
|
||||
|
||||
mnuUpgraded.Checked = SAV.DexUpgraded;
|
||||
|
||||
|
||||
editing = false;
|
||||
LB_Species.SelectedIndex = 0;
|
||||
|
||||
string[] dexMode = new string[5] { "not given", "simple mode", "detect forms", "national dex", "other languages" };
|
||||
if (SAV.HGSS) dexMode = dexMode.Where((t, i) => i != 2).ToArray();
|
||||
for(int i = 0; i < dexMode.Length; i++)
|
||||
CB_DexUpgraded.Items.Add(dexMode[i]);
|
||||
if (SAV.DexUpgraded < CB_DexUpgraded.Items.Count)
|
||||
CB_DexUpgraded.SelectedIndex = SAV.DexUpgraded;
|
||||
}
|
||||
|
||||
private readonly SAV4 SAV = new SAV4(Main.SAV.Data);
|
||||
|
|
@ -71,32 +76,38 @@ private void removedropCB(object sender, KeyEventArgs e)
|
|||
private const string GENDERLESS = "Genderless";
|
||||
private const string MALE = "Male";
|
||||
private const string FEMALE = "Female";
|
||||
private static int[] DPLangSpecies = new int[14] { 23, 25, 54, 77, 120, 129, 202, 214, 215, 216, 228, 278, 287, 315 };
|
||||
private void getEntry()
|
||||
{
|
||||
// Load Bools for the data
|
||||
int bit = species - 1;
|
||||
byte mask = (byte) (1 << (bit & 7));
|
||||
byte mask = (byte)(1 << (bit & 7));
|
||||
int ofs = SAV.PokeDex + (bit >> 3) + 0x4;
|
||||
|
||||
if (!SAV.DP)
|
||||
int FormOffset1 = SAV.PokeDex + 4 + brSize * 4 + 4;
|
||||
int PokeDexLanguageFlags = FormOffset1 + (SAV.HGSS ? 0x3C : 0x20);
|
||||
int l_ofs = !SAV.DP ? species : (1 + Array.IndexOf(DPLangSpecies, species));
|
||||
if (l_ofs > 0)
|
||||
{
|
||||
int FormOffset1 = SAV.PokeDex + 4 + brSize*4 + 4;
|
||||
int PokeDexLanguageFlags = FormOffset1 + (SAV.HGSS ? 0x3C : 0x20);
|
||||
int l_ofs = PokeDexLanguageFlags + species;
|
||||
l_ofs += PokeDexLanguageFlags;
|
||||
for (int i = 0; i < LangCount; i++)
|
||||
CL[i].Checked = (SAV.Data[l_ofs] & (byte) (1 << i)) != 0;
|
||||
{
|
||||
CL[i].Enabled = true;
|
||||
CL[i].Checked = (SAV.Data[l_ofs] & (byte)(1 << i)) != 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
for (int i = 0; i < LangCount; i++) CL[i].Enabled = CL[i].Checked = false;
|
||||
|
||||
bool bit2 = (SAV.Data[ofs + brSize*2] & mask) != 0;
|
||||
bool bit3 = (SAV.Data[ofs + brSize*3] & mask) != 0;
|
||||
bool bit2 = (SAV.Data[ofs + brSize * 2] & mask) != 0;
|
||||
bool bit3 = (SAV.Data[ofs + brSize * 3] & mask) != 0;
|
||||
|
||||
CHK_Seen.Checked = (SAV.Data[ofs + brSize*1] & mask) != 0;
|
||||
CHK_Caught.Checked = (SAV.Data[ofs + brSize*0] & mask) != 0;
|
||||
CHK_Seen.Checked = (SAV.Data[ofs + brSize * 1] & mask) != 0;
|
||||
CHK_Caught.Checked = (SAV.Data[ofs + brSize * 0] & mask) != 0;
|
||||
|
||||
// Genders
|
||||
LB_Gender.Items.Clear();
|
||||
LB_NGender.Items.Clear();
|
||||
|
||||
|
||||
var active = CHK_Seen.Checked ? LB_Gender : LB_NGender;
|
||||
var inactive = LB_NGender;
|
||||
var other = bit2 ^ bit3 ? active : inactive;
|
||||
|
|
@ -137,65 +148,67 @@ private void getEntry()
|
|||
|
||||
private void setEntry()
|
||||
{
|
||||
if (species < 0)
|
||||
if (species < 0)
|
||||
return;
|
||||
|
||||
|
||||
int bit = species - 1;
|
||||
byte mask = (byte)(1 << (bit & 7));
|
||||
int ofs = SAV.PokeDex + (bit >> 3) + 0x4;
|
||||
|
||||
|
||||
// Check if already Seen
|
||||
if (!CHK_Seen.Checked || LB_Gender.Items.Count == 0)
|
||||
{
|
||||
SAV.Data[ofs + brSize*0] &= (byte) ~mask;
|
||||
SAV.Data[ofs + brSize*1] &= (byte) ~mask;
|
||||
SAV.Data[ofs + brSize*2] &= (byte) ~mask;
|
||||
SAV.Data[ofs + brSize*3] &= (byte) ~mask;
|
||||
SAV.Data[ofs + brSize * 0] &= (byte)~mask;
|
||||
SAV.Data[ofs + brSize * 1] &= (byte)~mask;
|
||||
SAV.Data[ofs + brSize * 2] &= (byte)~mask;
|
||||
SAV.Data[ofs + brSize * 3] &= (byte)~mask;
|
||||
}
|
||||
else // Is Seen
|
||||
{
|
||||
// Set the Species Owned Flag
|
||||
if (CHK_Caught.Checked)
|
||||
SAV.Data[ofs + brSize*0] |= mask;
|
||||
SAV.Data[ofs + brSize * 0] |= mask;
|
||||
else
|
||||
SAV.Data[ofs + brSize*0] &= (byte) ~mask;
|
||||
SAV.Data[ofs + brSize * 0] &= (byte)~mask;
|
||||
|
||||
SAV.Data[ofs + brSize*1] |= mask;
|
||||
switch ((string) LB_Gender.Items[0])
|
||||
SAV.Data[ofs + brSize * 1] |= mask;
|
||||
switch ((string)LB_Gender.Items[0])
|
||||
{
|
||||
case GENDERLESS:
|
||||
SAV.Data[ofs + brSize*2] &= (byte) ~mask;
|
||||
SAV.Data[ofs + brSize*3] &= (byte) ~mask;
|
||||
SAV.Data[ofs + brSize * 2] &= (byte)~mask;
|
||||
SAV.Data[ofs + brSize * 3] &= (byte)~mask;
|
||||
break;
|
||||
case FEMALE:
|
||||
SAV.Data[ofs + brSize*2] |= mask; // set
|
||||
SAV.Data[ofs + brSize * 2] |= mask; // set
|
||||
if (LB_Gender.Items.Count != 1) // Male present
|
||||
SAV.Data[ofs + brSize*3] &= (byte) ~mask; // unset
|
||||
SAV.Data[ofs + brSize * 3] &= (byte)~mask; // unset
|
||||
else
|
||||
SAV.Data[ofs + brSize*3] |= mask; // set
|
||||
SAV.Data[ofs + brSize * 3] |= mask; // set
|
||||
break;
|
||||
case MALE:
|
||||
SAV.Data[ofs + brSize*2] &= (byte) ~mask; // unset
|
||||
SAV.Data[ofs + brSize * 2] &= (byte)~mask; // unset
|
||||
if (LB_Gender.Items.Count != 1) // Female present
|
||||
SAV.Data[ofs + brSize*3] |= mask; // set
|
||||
SAV.Data[ofs + brSize * 3] |= mask; // set
|
||||
else
|
||||
SAV.Data[ofs + brSize*3] &= (byte) ~mask; // unset
|
||||
SAV.Data[ofs + brSize * 3] &= (byte)~mask; // unset
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentException("Invalid Gender???");
|
||||
}
|
||||
}
|
||||
|
||||
if (!SAV.DP)
|
||||
int FormOffset1 = SAV.PokeDex + 4 + 4 * brSize + 4;
|
||||
int PokeDexLanguageFlags = FormOffset1 + (SAV.HGSS ? 0x3C : 0x20);
|
||||
int l_ofs = !SAV.DP ? species : (1 + Array.IndexOf(DPLangSpecies, species));
|
||||
if (l_ofs > 0)
|
||||
{
|
||||
int FormOffset1 = SAV.PokeDex + 4 + 4*brSize + 4;
|
||||
int PokeDexLanguageFlags = FormOffset1 + (SAV.HGSS ? 0x3C : 0x20);
|
||||
l_ofs += PokeDexLanguageFlags;
|
||||
for (int i = 0; i < LangCount; i++)
|
||||
{
|
||||
if (CL[i].Checked)
|
||||
SAV.Data[PokeDexLanguageFlags + species] |= (byte) (1 << i);
|
||||
SAV.Data[l_ofs] |= (byte)(1 << i);
|
||||
else
|
||||
SAV.Data[PokeDexLanguageFlags + species] &= (byte) ~(1 << i);
|
||||
SAV.Data[l_ofs] &= (byte)~(1 << i);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -219,6 +232,8 @@ private void B_Cancel_Click(object sender, EventArgs e)
|
|||
private void B_Save_Click(object sender, EventArgs e)
|
||||
{
|
||||
setEntry();
|
||||
int s = CB_DexUpgraded.SelectedIndex;
|
||||
if (s >= 0) SAV.DexUpgraded = s;
|
||||
|
||||
// Return back to the parent savefile
|
||||
Array.Copy(SAV.Data, Main.SAV.Data, SAV.Data.Length);
|
||||
|
|
@ -238,7 +253,7 @@ private void B_GiveAll_Click(object sender, EventArgs e)
|
|||
CHK_L6.Checked = ModifierKeys != Keys.Control;
|
||||
}
|
||||
CHK_Caught.Checked = CHK_Seen.Checked = ModifierKeys != Keys.Control;
|
||||
|
||||
|
||||
if (ModifierKeys == Keys.Control)
|
||||
seenNone();
|
||||
else
|
||||
|
|
@ -306,7 +321,7 @@ private void modifyAll(object sender, EventArgs e)
|
|||
setEntry();
|
||||
getEntry();
|
||||
}
|
||||
|
||||
|
||||
private void CHK_Seen_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (!editing)
|
||||
|
|
@ -428,10 +443,5 @@ private void moveForm(object sender, EventArgs e)
|
|||
lb.Items.Insert(newIndex, item);
|
||||
lb.SelectedIndex = newIndex;
|
||||
}
|
||||
private void mnuUpgraded_Click(object sender, EventArgs e)
|
||||
{
|
||||
SAV.DexUpgraded ^= true;
|
||||
mnuUpgraded.Checked = SAV.DexUpgraded;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -757,7 +757,7 @@ protected override void setDex(PKM pkm)
|
|||
|
||||
const int brSize = 0x40;
|
||||
int bit = pkm.Species - 1;
|
||||
byte mask = (byte) (1 << (bit & 7));
|
||||
byte mask = (byte)(1 << (bit & 7));
|
||||
int ofs = PokeDex + (bit >> 3) + 0x4;
|
||||
|
||||
/* 4 BitRegions with 0x40*8 bits
|
||||
|
|
@ -774,26 +774,26 @@ protected override void setDex(PKM pkm)
|
|||
*/
|
||||
|
||||
// Set the Species Owned Flag
|
||||
Data[ofs + brSize*0] |= mask;
|
||||
Data[ofs + brSize * 0] |= mask;
|
||||
|
||||
// Check if already Seen
|
||||
if ((Data[ofs + brSize*1] & mask) == 0) // Not seen
|
||||
if ((Data[ofs + brSize * 1] & mask) == 0) // Not seen
|
||||
{
|
||||
int gr = pkm.PersonalInfo.Gender;
|
||||
switch (gr)
|
||||
{
|
||||
case 255: // Genderless
|
||||
case 0: // Male Only
|
||||
Data[ofs + brSize*1] &= mask;
|
||||
Data[ofs + brSize*2] &= mask;
|
||||
Data[ofs + brSize * 1] &= mask;
|
||||
Data[ofs + brSize * 2] &= mask;
|
||||
break;
|
||||
case 254: // Female Only
|
||||
Data[ofs + brSize*1] |= mask;
|
||||
Data[ofs + brSize*2] |= mask;
|
||||
Data[ofs + brSize * 1] |= mask;
|
||||
Data[ofs + brSize * 2] |= mask;
|
||||
break;
|
||||
default: // Male or Female
|
||||
bool m = (Data[ofs + brSize*1] & mask) != 0;
|
||||
bool f = (Data[ofs + brSize*2] & mask) != 0;
|
||||
bool m = (Data[ofs + brSize * 1] & mask) != 0;
|
||||
bool f = (Data[ofs + brSize * 2] & mask) != 0;
|
||||
if (!(m || f)) // Add both forms (not a single form == 00 or 11).
|
||||
{
|
||||
int gender = pkm.Gender & 1;
|
||||
|
|
@ -804,7 +804,7 @@ protected override void setDex(PKM pkm)
|
|||
}
|
||||
}
|
||||
|
||||
int FormOffset1 = PokeDex + 4 + brSize*4 + 4;
|
||||
int FormOffset1 = PokeDex + 4 + brSize * 4 + 4;
|
||||
var forms = getForms(pkm.Species);
|
||||
if (forms != null)
|
||||
{
|
||||
|
|
@ -829,8 +829,9 @@ protected override void setDex(PKM pkm)
|
|||
}
|
||||
}
|
||||
|
||||
// DP stops here.
|
||||
if (DP)
|
||||
int[] DPLangSpecies = new int[14] { 23, 25, 54, 77, 120, 129, 202, 214, 215, 216, 228, 278, 287, 315 };
|
||||
int dpl = 1 + Array.IndexOf(DPLangSpecies, pkm.Species);
|
||||
if (DP && dpl <= 0)
|
||||
return;
|
||||
|
||||
// Set the Language
|
||||
|
|
@ -838,7 +839,7 @@ protected override void setDex(PKM pkm)
|
|||
if (lang > 5) lang = 0; // no KOR
|
||||
if (lang < 0) lang = 1;
|
||||
int PokeDexLanguageFlags = FormOffset1 + (HGSS ? 0x3C : 0x20);
|
||||
Data[PokeDexLanguageFlags + pkm.Species] |= (byte) (1 << lang);
|
||||
Data[PokeDexLanguageFlags + (DP ? dpl : pkm.Species)] |= (byte)(1 << lang);
|
||||
}
|
||||
|
||||
public override bool getCaught(int species)
|
||||
|
|
@ -873,14 +874,12 @@ public int[] getForms(int species)
|
|||
}
|
||||
|
||||
int FormOffset1 = PokeDex + 4 + 4*brSize + 4;
|
||||
if (HGSS)
|
||||
FormOffset1 += 0x1C;
|
||||
switch (species)
|
||||
{
|
||||
case 422: // Shellos
|
||||
return getDexFormValues(Data[FormOffset1 + 0], 2, 2);
|
||||
return getDexFormValues(Data[FormOffset1 + 0], 1, 2);
|
||||
case 423: // Gastrodon
|
||||
return getDexFormValues(Data[FormOffset1 + 1], 2, 2);
|
||||
return getDexFormValues(Data[FormOffset1 + 1], 1, 2);
|
||||
case 412: // Burmy
|
||||
return getDexFormValues(Data[FormOffset1 + 2], 2, 3);
|
||||
case 413: // Wormadam
|
||||
|
|
@ -888,7 +887,7 @@ public int[] getForms(int species)
|
|||
case 201: // Unown
|
||||
return getData(FormOffset1 + 4, 0x1C).Select(i => (int)i).ToArray();
|
||||
}
|
||||
if (!DP)
|
||||
if (DP)
|
||||
return null;
|
||||
|
||||
int PokeDexLanguageFlags = FormOffset1 + (HGSS ? 0x3C : 0x20);
|
||||
|
|
@ -898,9 +897,9 @@ public int[] getForms(int species)
|
|||
case 479: // Rotom
|
||||
return getDexFormValues(BitConverter.ToUInt32(Data, FormOffset2), 3, 6);
|
||||
case 492: // Shaymin
|
||||
return getDexFormValues(Data[FormOffset2 + 4], 2, 2);
|
||||
return getDexFormValues(Data[FormOffset2 + 4], 1, 2);
|
||||
case 487: // Giratina
|
||||
return getDexFormValues(Data[FormOffset2 + 5], 2, 2);
|
||||
return getDexFormValues(Data[FormOffset2 + 5], 1, 2);
|
||||
case 172:
|
||||
if (!HGSS)
|
||||
return null;
|
||||
|
|
@ -922,15 +921,13 @@ public void setForms(int spec, int[] forms)
|
|||
}
|
||||
|
||||
int FormOffset1 = PokeDex + 4 + 4*brSize + 4;
|
||||
if (HGSS)
|
||||
FormOffset1 += 0x1C;
|
||||
switch (spec)
|
||||
{
|
||||
case 422: // Shellos
|
||||
Data[FormOffset1 + 0] = (byte)setDexFormValues(forms, 2, 2);
|
||||
Data[FormOffset1 + 0] = (byte)setDexFormValues(forms, 1, 2);
|
||||
return;
|
||||
case 423: // Gastrodon
|
||||
Data[FormOffset1 + 1] = (byte)setDexFormValues(forms, 2, 2);
|
||||
Data[FormOffset1 + 1] = (byte)setDexFormValues(forms, 1, 2);
|
||||
return;
|
||||
case 412: // Burmy
|
||||
Data[FormOffset1 + 2] = (byte)setDexFormValues(forms, 2, 3);
|
||||
|
|
@ -959,10 +956,10 @@ public void setForms(int spec, int[] forms)
|
|||
BitConverter.GetBytes(setDexFormValues(forms, 3, 6)).CopyTo(Data, FormOffset2);
|
||||
return;
|
||||
case 492: // Shaymin
|
||||
Data[FormOffset2 + 4] = (byte)setDexFormValues(forms, 2, 2);
|
||||
Data[FormOffset2 + 4] = (byte)setDexFormValues(forms, 1, 2);
|
||||
return;
|
||||
case 487: // Giratina
|
||||
Data[FormOffset2 + 5] = (byte)setDexFormValues(forms, 2, 2);
|
||||
Data[FormOffset2 + 5] = (byte)setDexFormValues(forms, 1, 2);
|
||||
return;
|
||||
case 172: // Pichu
|
||||
if (!HGSS)
|
||||
|
|
@ -978,8 +975,8 @@ private static int[] getDexFormValues(uint Value, int BitsPerForm, int readCt)
|
|||
int n1 = 0xFF >> (8 - BitsPerForm);
|
||||
for (int i = 0; i < Forms.Length; i++)
|
||||
{
|
||||
int val = (int)(Value >> (i*BitsPerForm))&n1;
|
||||
if (n1 == val)
|
||||
int val = (int)(Value >> (i * BitsPerForm)) & n1;
|
||||
if (n1 == val && BitsPerForm > 1)
|
||||
Forms[i] = -1;
|
||||
else
|
||||
Forms[i] = val;
|
||||
|
|
@ -1020,10 +1017,47 @@ private static bool checkInsertForm(ref int[] Forms, int FormNum)
|
|||
Forms[n1] = FormNum;
|
||||
return true;
|
||||
}
|
||||
public bool DexUpgraded
|
||||
public int DexUpgraded
|
||||
{
|
||||
get{ return (Data[0x1415 + GBO] & 1) != 0; }
|
||||
set{ Data[0x1415 + GBO] = (byte)((Data[0x1415 + GBO] & 0xFE) | (value ? 1 : 0)); }
|
||||
get
|
||||
{
|
||||
switch (Version)
|
||||
{
|
||||
case GameVersion.DP:
|
||||
if ((Data[0x1413 + GBO] & 1) != 0) return 4;
|
||||
else if ((Data[0x1415 + GBO] & 1) != 0) return 3;
|
||||
else if ((Data[0x1404 + GBO] & 1) != 0) return 2;
|
||||
else if ((Data[0x1414 + GBO] & 1) != 0) return 1;
|
||||
else return 0;
|
||||
case GameVersion.HGSS:
|
||||
if ((Data[0x15ED + GBO] & 1) != 0) return 3;
|
||||
else if ((Data[0x15EF + GBO] & 1) != 0) return 2;
|
||||
else if ((Data[0x15EE + GBO] & 1) != 0 && (Data[0x10D1 + GBO] & 8) != 0) return 1;
|
||||
else return 0;
|
||||
// case GameVersion.Pt: break;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
switch (Version)
|
||||
{
|
||||
case GameVersion.DP:
|
||||
Data[0x1413 + GBO] = (byte)((Data[0x1413 + GBO] & 0xFE) | (value == 4 ? 1 : 0));
|
||||
Data[0x1415 + GBO] = (byte)((Data[0x1415 + GBO] & 0xFE) | (value >= 3 ? 1 : 0));
|
||||
Data[0x1404 + GBO] = (byte)((Data[0x1404 + GBO] & 0xFE) | (value >= 2 ? 1 : 0));
|
||||
Data[0x1414 + GBO] = (byte)((Data[0x1414 + GBO] & 0xFE) | (value >= 1 ? 1 : 0));
|
||||
break;
|
||||
case GameVersion.HGSS:
|
||||
Data[0x15ED + GBO] = (byte)((Data[0x15ED + GBO] & 0xFE) | (value == 3 ? 1 : 0));
|
||||
Data[0x15EF + GBO] = (byte)((Data[0x15EF + GBO] & 0xFE) | (value >= 2 ? 1 : 0));
|
||||
Data[0x15EE + GBO] = (byte)((Data[0x15EE + GBO] & 0xFE) | (value >= 1 ? 1 : 0));
|
||||
Data[0x10D1 + GBO] = (byte)((Data[0x10D1 + GBO] & 0xF7) | (value >= 1 ? 8 : 0));
|
||||
break;
|
||||
// case GameVersion.Pt: break;
|
||||
default: return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user