private void setEnvironmentButton_Click(object sender, EventArgs e) { TCPGecko gecko = ((Form1)this.Owner).Gecko; gecko.poke32(environmentFlagsAddress, 0x0); gecko.poke32(environmentFlagsAddress + 0x4, 0x001FFFFF); gecko.poke32(environmentFlagsAddress + 0x8, 0x0); gecko.poke32(environmentFlagsAddress + 0xC, 0x0003EFBE); }
private void ApplyButton_Click(object sender, EventArgs e) { hold(); RecalculatePointer(); if (!FreezeCheckBox.Checked) { Gecko.poke32(timerAddress, (uint)TimerBox.Value * 60); } else { Gecko.poke32(timerAddress, 0xFFFFFFFE); } release(); }
private void OKButton_Click(object sender, EventArgs e) { // poke weapons into memory PokeWeapons(weapons, gecko, diff); // poke the equipped weapon gecko.poke32(Form1.equippedWeaponAddress, equippedWeapon); }
private void ApplyButton_Click(object sender, EventArgs e) { RecalculatePointer(); if (!BattleDojoRadioButton.Checked && !ReconRadioButton.Checked && !AmiiboRadioButton.Checked) { MessageBox.Show(Properties.Strings.SELECT_TIMER_TYPE_TEXT); return; } if (!FreezeCheckBox.Checked) { gecko.poke32(timerAddress, Convert.ToUInt32(TimerBox.Value * 60)); } else { gecko.poke32(timerAddress, 0xFFFFFFFE); } }
public int fixStuff(string str1, int invalid, string str2, uint fixAddress, int newPokeVal, int newVal, int noVal) { var fix = MessageBox.Show(str1 + invalid + str2, Strings.INVALID, MessageBoxButtons.YesNo); if (fix == DialogResult.Yes) { _gecko.poke32(fixAddress + MemoryUtils.Offset, Convert.ToUInt32(newPokeVal)); return(newVal); } return(noVal); }
private void applyButton_Click(object sender, EventArgs e) { SetFlag(ref progression, 0x1, tutorialBox.Checked); SetFlag(ref progression, 0x2, splatfestBox.Checked); SetFlag(ref progression, 0x4, rankedNewsBox.Checked); SetFlag(ref progression, 0x8, lobbyBox.Checked); SetFlag(ref progression, 0x10, heroSuitBox.Checked); SetFlag(ref progression, 0x80, greatZapfishBox.Checked); SetFlag(ref progression, 0x100, cuttlefishPostGameBox.Checked); SetFlag(ref progression, 0x800, rankedUnlockedBox.Checked); SetFlag(ref progression, 0x1000, rankShownBox.Checked); SetFlag(ref progression, 0x10000, snailsShownBox.Checked); SetFlag(ref progression, 0x100000, levelCapRaisedBox.Checked); SetFlag(ref progression, 0x200000, warningBox.Checked); gecko.poke32(progressBitsAddress + ((Form1)this.Owner).diff, progression); }
private void OKButton_Click(object sender, EventArgs e) { TCPGecko gecko = ((Form1)this.Owner).Gecko; // poke save slots in the list into memory uint currentPosition = saveSlotsAddress; foreach (LevelData data in levelSaveData) { // poke values gecko.poke32(currentPosition, data.levelNumber); gecko.poke32(currentPosition + 0x4, data.clearState); gecko.poke32(currentPosition + 0x8, Convert.ToUInt32(data.scroll)); // move to next save slot currentPosition += 0xC; } // fill in the rest of the slots with dummy data for (int i = levelSaveData.Count; i < 64; i++) { // poke values gecko.poke32(currentPosition, 0xFFFFFFFF); gecko.poke32(currentPosition + 0x4, 0x00000000); gecko.poke32(currentPosition + 0x8, 0x00000000); // move to next save slot currentPosition += 0xC; } // poke power eggs gecko.poke32(powerEggsAddress, Convert.ToUInt32(powerEggsBox.Value)); // poke upgrades gecko.poke32(heroShotAddress, Convert.ToUInt32(heroShotBox.SelectedIndex)); gecko.poke32(inkTankAddress, Convert.ToUInt32(inkTankBox.SelectedIndex)); gecko.poke32(splatBombAddress, Convert.ToUInt32(splatBombBox.SelectedIndex)); // for these upgrades, 0xFFFFFFFF = locked if (burstBombBox.SelectedIndex == 0) { gecko.poke32(burstBombAddress, 0xFFFFFFFF); } else { gecko.poke32(burstBombAddress, Convert.ToUInt32(burstBombBox.SelectedIndex - 1)); } if (seekerBox.SelectedIndex == 0) { gecko.poke32(seekerAddress, 0xFFFFFFFF); } else { gecko.poke32(seekerAddress, Convert.ToUInt32(seekerBox.SelectedIndex - 1)); } }
public static void PokeWeapons(List <Weapon> weapons, TCPGecko gecko, uint diff) { uint currentPosition = Form1.weaponsAddress + diff; foreach (Weapon weapon in weapons) { gecko.poke32(currentPosition, weapon.id); gecko.poke32(currentPosition + 0x4, weapon.weaponSpecificNumber); gecko.poke32(currentPosition + 0x8, (uint)weapon.subWeapon); gecko.poke32(currentPosition + 0xc, (uint)weapon.specialWeapon); gecko.poke32(currentPosition + 0x10, weapon.turfInked); gecko.poke32(currentPosition + 0x18, weapon.lastUsageTimestamp); if (weapon.isNew) { gecko.poke32(currentPosition + 0x1c, 0x0); } else { gecko.poke32(currentPosition + 0x1c, 0x00010000); } // move to next slot currentPosition += 0x28; } // fill the rest of the slots with dummy data for (int i = weapons.Count; i < 128; i++) { gecko.poke32(currentPosition, 0xFFFFFFFF); gecko.poke32(currentPosition + 0x4, 0xFFFFFFFF); gecko.poke32(currentPosition + 0x8, 0xFFFFFFFF); gecko.poke32(currentPosition + 0xc, 0xFFFFFFFF); gecko.poke32(currentPosition + 0x10, 0x0); gecko.poke32(currentPosition + 0x18, 0x0); gecko.poke32(currentPosition + 0x1c, 0x0); // move to next slot currentPosition += 0x28; } }
public void load() { hold(); rank = Convert.ToInt32(Gecko.peek(rankAddress + diff)) + 1; okane = Convert.ToInt32(Gecko.peek(okaneAddress + diff)); ude = Convert.ToInt32(Gecko.peek(udeAddress + diff)); mae = Convert.ToInt32(Gecko.peek(maeAddress + diff)); sazae = Convert.ToInt32(Gecko.peek(sazaeAddress + diff)); gender = Convert.ToInt32(Gecko.peek(genderAddress + diff)); eyes = Convert.ToInt32(Gecko.peek(eyesAddress + diff)); skin = Convert.ToInt32(Gecko.peek(skinAddress + diff)); figure = Gecko.peek(amiiboAddress + diff); try { rankBox.Value = rank; } catch (ArgumentOutOfRangeException) { int rankDisplay = fixStuff(Properties.Strings.BAD_RANK_1, rank, Properties.Strings.BAD_RANK_2, 0x12CDC1A8, 49, 50, 1); rankBox.Value = rankDisplay; } try { kaneBox.Value = okane; } catch (ArgumentOutOfRangeException) { int okaneDisplay = fixStuff(Properties.Strings.BAD_OKANE_1, okane, Properties.Strings.BAD_OKANE_2, 0x12CDC1A0, 9999999, 9999999, 0); kaneBox.Value = okaneDisplay; } try { maeBox.Value = mae; } catch (ArgumentOutOfRangeException) { int maeDisplay = fixStuff(Properties.Strings.BAD_MAE_1, mae, Properties.Strings.BAD_MAE_2, 0x12CDC1B0, 99, 99, 0); maeBox.Value = maeDisplay; } try { sazaeBox.Value = sazae; } catch (ArgumentOutOfRangeException) { int sazaeDisplay = fixStuff(Properties.Strings.BAD_SAZAE_1, sazae, Properties.Strings.BAD_SAZAE_2, 0x12CDC1B4, 999, 999, 0); sazaeBox.Value = sazaeDisplay; } try { udeBox.SelectedIndex = ude; } catch (ArgumentOutOfRangeException) { int udeDisplay = fixStuff(Properties.Strings.BAD_UDE_1, ude, Properties.Strings.BAD_UDE_2, 0x12CDC1AC, 10, 10, 0); udeBox.SelectedIndex = udeDisplay; } try { genderBox.SelectedIndex = gender; } catch (ArgumentOutOfRangeException) { genderBox.SelectedIndex = 0; Gecko.poke32(genderAddress, 0x00000000); } if (figure == 0xFFFFFFFF) { amiiboBox.SelectedIndex = 0; } else { amiiboBox.SelectedIndex = Convert.ToInt32(figure + 1); } eyeBox.SelectedIndex = eyes; skinBox.SelectedIndex = skin; release(); }
public static void PokeWeapons(List <Weapon> weapons, TCPGecko gecko, uint offset) { var currentPosition = (uint)GearAddress.Weapons + offset; foreach (var weapon in weapons) { gecko.poke32(currentPosition, weapon.Id); gecko.poke32(currentPosition + 0x4, weapon.WeaponSpecificNumber); gecko.poke32(currentPosition + 0x8, (uint)weapon.SubWeapon); gecko.poke32(currentPosition + 0xc, (uint)weapon.SpecialWeapon1); gecko.poke32(currentPosition + 0x10, weapon.TurfInked); gecko.poke32(currentPosition + 0x18, weapon.LastUsageTimestamp); if (weapon.IsNew) { gecko.poke32(currentPosition + 0x1c, 0x0); } else { gecko.poke32(currentPosition + 0x1c, 0x00010000); } // move to next slot currentPosition += 0x28; } // fill the rest of the slots with dummy data for (var i = weapons.Count; i < 128; i++) { gecko.poke32(currentPosition, 0xFFFFFFFF); gecko.poke32(currentPosition + 0x4, 0xFFFFFFFF); gecko.poke32(currentPosition + 0x8, 0xFFFFFFFF); gecko.poke32(currentPosition + 0xc, 0xFFFFFFFF); gecko.poke32(currentPosition + 0x10, 0x0); gecko.poke32(currentPosition + 0x18, 0x0); gecko.poke32(currentPosition + 0x1c, 0x0); // move to next slot currentPosition += 0x28; } }
private void OKButton_Click(object sender, EventArgs e) { hold(); pokeRank(0x12CDC1A4); //rank Gecko.poke32(0x12CDC1A0 + diff, ToUInt32(kaneBox.Value)); //money Gecko.poke32(0x12CDC1B4 + diff, ToUInt32(sazaeBox.Value)); pokeUdemae(0x12CDC1AC + diff); //udemae Gecko.poke32(0x12CDC1B0 + diff, ToUInt32(maeBox.Value)); //udemae2 pokeGender(0x12CD1D90 + diff); //gender pokeSkin(0x12CD1D94 + diff); //skin pokeEyes(0x12CD1D98 + diff); //eyes pokeAmiibo(0x12D1F130 + diff); //amiibo release(); }