private void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { int CurEntry; string localReadHEX() { var argStart2 = int.Parse( Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "EggMoveTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox1.SelectedIndex * 2; var argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { var argHEXData = localReadHEX(); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } CurEntry = int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber); if (CurEntry > 20000) { ComboBox1.SelectedIndex = CurEntry - 20000 - 1; } else { ComboBox2.SelectedIndex = CurEntry; } }
public static object ChangeFallarborBattleTentName(int index, string newName) { object changeFallarborBattleTentNameRet = default; long offvar; offvar = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "FallarborBattleTentTrainers", ""), System.Globalization.NumberStyles.HexNumber); if (MainObject.Header2 == "BPE") { if (MainObject.Header3 == "J") { } else { MainObject.FileNum = FileSystem.FreeFile(); FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary); var pokeName = "xxxxxxxx"; var filler = Conversions.ToByte("&HFF"); pokeName = modTextSapp.NameAsc2Sapp(newName); FileSystem.FilePut(MainObject.FileNum, pokeName, offvar + 1L + 4L + index * 52); FileSystem.FilePut(MainObject.FileNum, filler, offvar + 1L + 4L + index * 52 + Strings.Len(newName)); } FileSystem.FileClose(MainObject.FileNum); changeFallarborBattleTentNameRet = newName; } else { //Interaction.MsgBox("What did you do? Contact Gamer2020"); Environment.Exit(0); } return(changeFallarborBattleTentNameRet); }
private void Button4_Click(object sender, EventArgs e) { string localReverseHEX() { string argHEXData = Strings.Right("0000" + Conversion.Hex(ComboBox4.SelectedIndex + 1), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } int argStart = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokedexTypeTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox4.SelectedIndex * 2; string argData = localReverseHEX(); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData); int refreshvar; int refreshvar2; refreshvar = ListBox4.SelectedIndex; refreshvar2 = ComboBox4.SelectedIndex; if (ListBox4.SelectedIndex == 0) { ListBox4.SelectedIndex = ListBox4.SelectedIndex + 1; } else { ListBox4.SelectedIndex = ListBox4.SelectedIndex - 1; } ListBox4.Items.Insert(refreshvar, GetNameFunctions.GetPokemonName(refreshvar2 + 1)); ListBox4.Items.RemoveAt(refreshvar + 1); ListBox4.SelectedIndex = refreshvar; }
private void AbilityList_SelectedIndexChanged(object sender, EventArgs e) { AbilityIndexTextBox.Text = AbilityList.SelectedIndex.ToString(); AbilityDesc = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityDescriptionTable", ""), System.Globalization.NumberStyles.HexNumber); TextBox1.Text = Conversions.ToString(GetNameFunctions.GetAbilityName(AbilityList.SelectedIndex)); string localReadHEX() { var argStart2 = AbilityDesc + AbilityList.SelectedIndex * 4; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { var argHEXData = "hs79ada955c05c4cfba1d3331badad5075()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } TextBox2.Text = Conversion.Hex(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 0x8000000); MainObject.FileNum = FileSystem.FreeFile(); FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary); var DexDescp = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; FileSystem.FileGet(MainObject.FileNum, ref DexDescp, int.Parse(TextBox2.Text, System.Globalization.NumberStyles.HexNumber) + 1, true); DexDescp = modTextSapp.Sapp2Asc(DexDescp); DexDescp = Strings.Mid(DexDescp, 1, Strings.InStr(1, DexDescp, @"\x")); DexDescp = Strings.Replace(DexDescp, @"\n", Constants.vbCrLf); DexDescp = Strings.Replace(Strings.RTrim(DexDescp), @"\", ""); CurrentAbilityDescripLength = Strings.Len(DexDescp); TextBox3.Text = DexDescp; FileSystem.FileClose(MainObject.FileNum); }
private void Button15_Click(object sender, EventArgs e) { Text = "Please wait..."; UseWaitCursor = true; ProgressBar.Value = 0; ProgressBar.Visible = true; int LoopVar; LoopVar = 0; while (LoopVar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "")) - 1d == true) { AbilityList.SelectedIndex = LoopVar; LoopVar += 1; Refresh(); Enabled = false; ModifyNameCommands.ChangeAbilityName(LoopVar, MMainFunctions.DecapString(Conversions.ToString(GetNameFunctions.GetAbilityName(LoopVar)))); ProgressBar.Value = (int)(LoopVar / Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "")) * 100d); } LoopVar = 0; AbilityList.Items.Clear(); while (LoopVar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "")) == true) { AbilityList.Items.Add(GetNameFunctions.GetAbilityName(LoopVar)); LoopVar += 1; } AbilityList.SelectedIndex = 0; Text = "Ability Editor"; UseWaitCursor = false; Enabled = true; ProgressBar.Visible = false; BringToFront(); }
private void AttackEditor_Load(object sender, EventArgs e) { int LoopVar; LoopVar = 1; if (System.IO.File.Exists(MainObject.AppPath + @"txt\PGETypeList.txt")) { ComboBox1.Items.Clear(); ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(MainObject.AppPath + @"txt\PGETypeList.txt")); } if (System.IO.File.Exists(MainObject.AppPath + @"txt\PGEAttackEffects.txt")) { Effects.Items.Clear(); Effects.Items.AddRange(System.IO.File.ReadAllLines(MainObject.AppPath + @"txt\PGEAttackEffects.txt")); } ComboBox3.Items.Clear(); while (LoopVar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAttacks", "")) + 1d == true) { ComboBox3.Items.Add(GetNameFunctions.GetAttackName(LoopVar)); LoopVar = LoopVar + 1; } ComboBox3.SelectedIndex = 0; }
private void TradeEditor_Load(object sender, EventArgs e) { int loopvar; loopvar = 0; ComboBox3.Items.Clear(); while (loopvar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfItems", "")) == true) { ComboBox3.Items.Add(GetNameFunctions.GetItemName(loopvar)); loopvar = loopvar + 1; } loopvar = 0; ComboBox1.Items.Clear(); ComboBox2.Items.Clear(); while (loopvar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfPokemon", "")) == true) { ComboBox1.Items.Add(GetNameFunctions.GetPokemonName(loopvar)); ComboBox2.Items.Add(GetNameFunctions.GetPokemonName(loopvar)); loopvar = loopvar + 1; } ListBox1.Items.Clear(); loopvar = 0; while (loopvar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfTrades", "0")) == true) { loopvar = loopvar + 1; ListBox1.Items.Add("Trade " + loopvar); } ListBox1.SelectedIndex = 0; }
private void ItemEditor_Load(object sender, EventArgs e) { if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG" | MainObject.Header2 == "BPE") { ItmImgPntrTextBox.Enabled = true; ItmPlPntrTextBox.Enabled = true; ItmRpntBttn.Enabled = true; ItemPicDataOff = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "ItemIMGData", ""), System.Globalization.NumberStyles.HexNumber); } else { ItmImgPntrTextBox.Enabled = false; ItmPlPntrTextBox.Enabled = false; ItmRpntBttn.Enabled = false; } ItemBaseOff = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "ItemData", ""), System.Globalization.NumberStyles.HexNumber); int LoopVar; LoopVar = 0; ItemListComboBox.Items.Clear(); while (LoopVar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfItems", "")) == true) { ItemListComboBox.Items.Add(GetNameFunctions.GetItemName(LoopVar)); LoopVar = LoopVar + 1; } ItemListComboBox.SelectedIndex = 0; }
private void PokedexDataEditor_Load(object sender, EventArgs e) { if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG" | MainObject.Header2 == "BPE" | MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV") { if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV") { Pointer2.Enabled = true; Description2.Enabled = true; } else { Pointer2.Enabled = false; Description2.Enabled = false; } ListBox1.Items.Clear(); offset1 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokedexData", ""), System.Globalization.NumberStyles.HexNumber); int varloop = 0; while (varloop < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfDexEntries", ""))) { ListBox1.Items.Add(Operators.ConcatenateObject(Strings.Right("0000" + varloop, 4) + ". ", GetNameFunctions.GetPokedexTypeName(varloop))); varloop = varloop + 1; } ListBox1.SelectedIndex = 0; } else { //Interaction.MsgBox("Unsupported ROM! Check the ReadMe!"); // Lets the person know the ROM isn't supported. Close(); } }
public static void ExportAbilityINI(string INIFileName, int AbilityIndex) { string AbilityDescription; int AbilityDescriptionTable; string CurAbilityDescriptionPointer; AbilityDescriptionTable = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityDescriptionTable", ""), System.Globalization.NumberStyles.HexNumber); string localReadHEX() { var argStart2 = AbilityDescriptionTable + AbilityIndex * 4; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { var argHEXData = "hs62d831781e974e0eb4a8d6b1d2d6c063()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } CurAbilityDescriptionPointer = Conversion.Hex(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 0x8000000); MainObject.FileNum = FileSystem.FreeFile(); FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary); var AbDescp = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; FileSystem.FileGet(MainObject.FileNum, ref AbDescp, int.Parse(CurAbilityDescriptionPointer, System.Globalization.NumberStyles.HexNumber) + 1, true); AbDescp = modTextSapp.Sapp2Asc(AbDescp); AbDescp = Strings.Mid(AbDescp, 1, Strings.InStr(1, AbDescp, @"\x")); // AbDescp = Replace(AbDescp, "\n", vbCrLf) // AbDescp = Replace(RTrim$(AbDescp), "\", "") AbDescp = AbDescp + "x"; AbilityDescription = AbDescp; FileSystem.FileClose(MainObject.FileNum); Ini.WriteString(INIFileName, "Ability", "AbilityName", Conversions.ToString(GetNameFunctions.GetAbilityName(AbilityIndex))); Ini.WriteString(INIFileName, "Ability", "AbilityDescription", AbilityDescription); }
// NEEDS TO BE MOVED TO THE FORMS SIDE public static void GetAndDrawTrainerPic(this PictureBox picBox, int index) { var sOffset = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "TrainerImageTable", ""), System.Globalization.NumberStyles.HexNumber) + index * 8; var pOffset = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "TrainerPaletteTable", ""), System.Globalization.NumberStyles.HexNumber) + index * 8; var temp = new byte[4096]; var image = new byte[65536]; var palette15 = new byte[4096]; Color[] palette32; Bitmap bSprite; using (var fs = new FileStream(MainObject.LoadedRom, FileMode.Open, FileAccess.Read)) { using var r = new BinaryReader(fs); fs.Position = sOffset; sOffset = r.ReadInt32() - 0x8000000; fs.Position = sOffset; r.Read(temp, 0, 0xFFF); Lz77.Lz77UnComp(temp, image); temp = new byte[4096]; fs.Position = pOffset; pOffset = r.ReadInt32() - 0x8000000; fs.Position = pOffset; r.Read(temp, 0, 0xFFF); Lz77.Lz77UnComp(temp, palette15); palette32 = GetImageFunctions.LoadPalette(palette15); } bSprite = GetImageFunctions.LoadSprite(ref image, palette32, 64, 64, Conversions.ToBoolean(Ini.GetString(MainObject.AppPath + "GBAPGESettings.ini", "Settings", "TransparentImages", "0"))); picBox.Image = bSprite; picBox.Refresh(); }
private void ListBox2_SelectedIndexChanged(object sender, EventArgs e) { int Looper; string pagepointer; string localReadHEX() { int argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "HabitatTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox1.SelectedIndex * 8; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { string argHEXData = "hs8bcacd3163f24ea8a33c5030d9ea266f()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } pagepointer = Conversion.Hex(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 0x8000000); string localReadHEX1() { int argStart2 = int.Parse(pagepointer, System.Globalization.NumberStyles.HexNumber) + ListBox2.SelectedIndex * 8; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX1() { string argHEXData = "hs556dce84eb7a4e8bbbd5d4ff4ed835d9()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } TextBox3.Text = Conversion.Hex(int.Parse(localReverseHEX1(), System.Globalization.NumberStyles.HexNumber) - 0x8000000); string localReadHEX2() { int argStart2 = int.Parse(pagepointer, System.Globalization.NumberStyles.HexNumber) + 4 + ListBox2.SelectedIndex * 8; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX2() { string argHEXData = "hsfafbc2366e26420193b7993527db23b8()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } TextBox4.Text = int.Parse(localReverseHEX2(), System.Globalization.NumberStyles.HexNumber).ToString(); ListBox3.Items.Clear(); Looper = 0; while (Looper < Conversions.ToDouble(TextBox4.Text)) { string localReadHEX3() { int argStart2 = int.Parse(TextBox3.Text, System.Globalization.NumberStyles.HexNumber) + Looper * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX3() { string argHEXData = "hs53ab15a1ae7842388d0811ef6dd6b3bf()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } ListBox3.Items.Add(GetNameFunctions.GetPokemonName(int.Parse(localReverseHEX3(), System.Globalization.NumberStyles.HexNumber))); Looper = Looper + 1; } ListBox3.SelectedIndex = 0; }
public static void SaveTrainerSpriteToFreeSpace(int index, byte[] sprite, Color[] pallete) { var sOffset = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "TrainerImageTable", ""), System.Globalization.NumberStyles.HexNumber) + index * 8; var pOffset = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "TrainerPaletteTable", ""), System.Globalization.NumberStyles.HexNumber) + index * 8; string imgString; string palString; byte[] imgBytes; byte[] palBytes; string imgNewOffset; string palNewOffset; string LocalCompressLz77String() { var argsrcString = WichuRomFunctions.ConvertByteArrayToString(ref sprite); var ret = WichuRomFunctions.CompressLz77String(ref argsrcString); return(ret); } var argstr = LocalCompressLz77String(); imgBytes = WichuRomFunctions.ConvertStringToByteArray(ref argstr); string LocalCompressLz77String1() { var argsrcString = WichuSpriteFunctions.ConvertPaletteToString(ref pallete); var ret = WichuRomFunctions.CompressLz77String(ref argsrcString); return(ret); } var argstr1 = LocalCompressLz77String1(); palBytes = WichuRomFunctions.ConvertStringToByteArray(ref argstr1); imgString = ByteFunctions.ByteArrayToHexString(imgBytes); palString = ByteFunctions.ByteArrayToHexString(palBytes); imgNewOffset = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, (long)(Strings.Len(imgString) / 2d), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString(); var argStart = Conversions.ToInteger(imgNewOffset); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref imgString); string LocalReverseHex() { var argHexData = Conversion.Hex(Conversions.ToDouble(imgNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret); } var argData = LocalReverseHex(); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref sOffset, ref argData); palNewOffset = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, (long)(Strings.Len(palString) / 2d), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString(); var argStart1 = Conversions.ToInteger(palNewOffset); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref palString); string LocalReverseHex1() { var argHexData = Conversion.Hex(Conversions.ToDouble(palNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret); } var argData1 = LocalReverseHex1(); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref pOffset, ref argData1); }
public static void ExportPokemonIcon(string filename, int PokemonIndex) { string localReadHEX() { var argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "IconPalTable", ""), System.Globalization.NumberStyles.HexNumber) + PokemonIndex; var argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } var bitout = GetImageFunctions.GetAndDrawPokemonIconToBitmap(PokemonIndex, int.Parse(localReadHEX(), System.Globalization.NumberStyles.HexNumber), true); bitout.Save(filename); }
public static object ChangePokedexTypeName(int index, string newName) { object changePokedexTypeNameRet = default; long offvar; offvar = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokedexData", ""), System.Globalization.NumberStyles.HexNumber); if (MainObject.Header3 == "J") { if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV") { MainObject.SkipVar = Conversions.ToInteger("36"); } else if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG") { MainObject.SkipVar = Conversions.ToInteger("36"); } else if (MainObject.Header2 == "BPE") { MainObject.SkipVar = Conversions.ToInteger("32"); } } else if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV") { MainObject.SkipVar = Conversions.ToInteger("36"); } else if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG") { MainObject.SkipVar = Conversions.ToInteger("36"); } else if (MainObject.Header2 == "BPE") { MainObject.SkipVar = Conversions.ToInteger("32"); } if (MainObject.Header3 == "J") { } else { MainObject.FileNum = FileSystem.FreeFile(); FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary); var pokeType = "xxxxxxxxxxx"; var filler = Conversions.ToByte("&HFF"); pokeType = modTextSapp.NameAsc2Sapp(newName); FileSystem.FilePut(MainObject.FileNum, pokeType, offvar + 1L + MainObject.SkipVar * index); FileSystem.FilePut(MainObject.FileNum, filler, offvar + 1L + MainObject.SkipVar * index + Strings.Len(newName)); } FileSystem.FileClose(MainObject.FileNum); changePokedexTypeNameRet = newName; return(changePokedexTypeNameRet); }
public static void GetAndDrawFrontPokemonPicBlack(this PictureBox picBox, int index) { var sOffset = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokemonFrontSprites", ""), System.Globalization.NumberStyles.HexNumber) + index * 8; // Pointer to Pokemon front sprites, + 8 = Bulbasaur. var pOffset = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokemonNormalPal", ""), System.Globalization.NumberStyles.HexNumber) + index * 8; // Pointer to Pokemon normal palettes, + 8 = Bulbasaur. var temp = new byte[4096]; var image = new byte[65536]; var palette15 = new byte[4096]; Color[] palette32; Bitmap bSprite; using (var fileStream = new FileStream(MainObject.LoadedRom, FileMode.Open, FileAccess.Read)) { using var r = new BinaryReader(fileStream); fileStream.Position = sOffset; sOffset = r.ReadInt32() - 0x8000000; fileStream.Position = sOffset; r.Read(temp, 0, 0xFFF); Lz77.Lz77UnComp(temp, image); temp = new byte[4096]; fileStream.Position = pOffset; pOffset = r.ReadInt32() - 0x8000000; fileStream.Position = pOffset; r.Read(temp, 0, 0xFFF); Lz77.Lz77UnComp(temp, palette15); palette32 = GetImageFunctions.LoadPalette(palette15); palette32[1] = Color.Black; palette32[2] = Color.Black; palette32[3] = Color.Black; palette32[4] = Color.Black; palette32[5] = Color.Black; palette32[6] = Color.Black; palette32[7] = Color.Black; palette32[8] = Color.Black; palette32[9] = Color.Black; palette32[10] = Color.Black; palette32[11] = Color.Black; palette32[12] = Color.Black; palette32[13] = Color.Black; palette32[14] = Color.Black; palette32[15] = Color.Black; } bSprite = GetImageFunctions.LoadSprite(ref image, palette32, 64, 64, Conversions.ToBoolean(Ini.GetString(MainObject.AppPath + "GBAPGESettings.ini", "Settings", "TransparentImages", "0"))); picBox.Image = bSprite; picBox.Refresh(); }
public static void ExportAttackINI(string INIFileName, int AttackIndex) { string AttackData; string AttackDescription; int AttackDescriptionTable; string CurAttackDescriptionPointer; string ContestData; AttackDescriptionTable = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AttackDescriptionTable", ""), System.Globalization.NumberStyles.HexNumber); string localReadHEX() { var argStart2 = AttackDescriptionTable + (AttackIndex - 1) * 4; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { var argHEXData = "hsf51ad8be0f614141955564223ef2563e()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } CurAttackDescriptionPointer = Conversion.Hex(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 0x8000000); MainObject.FileNum = FileSystem.FreeFile(); FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary); var ATDescp = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; FileSystem.FileGet(MainObject.FileNum, ref ATDescp, int.Parse(CurAttackDescriptionPointer, System.Globalization.NumberStyles.HexNumber) + 1, true); ATDescp = modTextSapp.Sapp2Asc(ATDescp); ATDescp = Strings.Mid(ATDescp, 1, Strings.InStr(1, ATDescp, @"\x")); // AbDescp = Replace(AbDescp, "\n", vbCrLf) // AtDescp = Replace(RTrim$(AtDescp), "\", "") ATDescp = ATDescp + "x"; AttackDescription = ATDescp; FileSystem.FileClose(MainObject.FileNum); var argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AttackData", ""), System.Globalization.NumberStyles.HexNumber) + AttackIndex * 12; var argLength = 12; AttackData = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); Ini.WriteString(INIFileName, "Attack", "AttackName", Conversions.ToString(GetNameFunctions.GetAttackName(AttackIndex))); Ini.WriteString(INIFileName, "Attack", "AttackData", AttackData); Ini.WriteString(INIFileName, "Attack", "AttackDescription", AttackDescription); if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV" | MainObject.Header2 == "BPE") { var argStart21 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "ContestMoveData", ""), System.Globalization.NumberStyles.HexNumber) + AttackIndex * 8; var argLength1 = 8; ContestData = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart21, ref argLength1); Ini.WriteString(INIFileName, "Attack", "ContestData", ContestData); } else { } }
private void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { string localReadHEX() { int argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokedexAlphabetTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox1.SelectedIndex * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { string argHEXData = "hsf8dbc22cf9934c8ca5406a8f7013a2fb()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } ComboBox1.SelectedIndex = Conversions.ToInteger(Operators.SubtractObject(ByteFunctions.PokedexNumbertoSpecies(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber)), 1)); }
private void ListBox3_SelectedIndexChanged(object sender, EventArgs e) { string localReadHEX() { int argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokedexSmallestTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox3.SelectedIndex * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { string argHEXData = "hs58434bdf19ed48f38f3040598eedaa65()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } ComboBox3.SelectedIndex = Conversions.ToInteger(Operators.SubtractObject(ByteFunctions.PokedexNumbertoSpecies(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber)), 1)); }
private void AbilityEdit_Load(object sender, EventArgs e) { int loopvar; loopvar = 0; AbilityList.Items.Clear(); while (loopvar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "0.0")) == true) { AbilityList.Items.Add(GetNameFunctions.GetAbilityName(loopvar)); loopvar += 1; } AbilityList.SelectedIndex = 0; }
private void ListBox4_SelectedIndexChanged(object sender, EventArgs e) { string localReadHEX() { int argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokedexTypeTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox4.SelectedIndex * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { string argHEXData = "hsdd7101f5ac524c75ae5dae2316120946()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } ComboBox4.SelectedIndex = int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 1; }
private void Button2_Click(object sender, EventArgs e) { string localReverseHEX() { string argHEXData = Conversion.Hex(int.Parse(TextBox2.Text, System.Globalization.NumberStyles.HexNumber) + 0x8000000); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } int argStart = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "HabitatTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox1.SelectedIndex * 8; string argData = localReverseHEX(); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData); int indexbuff; indexbuff = ListBox2.SelectedIndex; ListBox2.SelectedIndex = -1; ListBox2.SelectedIndex = indexbuff; }
private void Button1_Click(object sender, EventArgs e) { int tempy; tempy = ComboBox3.SelectedIndex; ModifyNameCommands.ChangeAttackName(ComboBox3.SelectedIndex + 1, TextBox1.Text); int LoopVar; LoopVar = 1; ComboBox3.Items.Clear(); while (LoopVar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAttacks", "")) + 1d == true) { ComboBox3.Items.Add(GetNameFunctions.GetAttackName(LoopVar)); LoopVar = LoopVar + 1; } ComboBox3.SelectedIndex = tempy; }
private void Button1_Click(object sender, EventArgs e) { int indexbuff; indexbuff = AbilityList.SelectedIndex; ModifyNameCommands.ChangeAbilityName(AbilityList.SelectedIndex, TextBox1.Text); int loopvar; loopvar = 0; AbilityList.Items.Clear(); while (loopvar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "")) == true) { AbilityList.Items.Add(GetNameFunctions.GetAbilityName(loopvar)); loopvar += 1; } AbilityList.SelectedIndex = -1; AbilityList.SelectedIndex = indexbuff; }
private void PokedexOrderEditor_Load(object sender, EventArgs e) { try { Offset1 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NationalDexTable", ""), System.Globalization.NumberStyles.HexNumber); Offset2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "SecondDexTable", ""), System.Globalization.NumberStyles.HexNumber); if (MainObject.Header2 == "BPE") { Offset3 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "HoenntoNationalDex", ""), System.Globalization.NumberStyles.HexNumber); } int LoopVar; ListBox1.Items.Clear(); LoopVar = 0; while (LoopVar < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfPokemon", "")) - 1d == true) { LoopVar = LoopVar + 1; ListBox1.Items.Add(GetNameFunctions.GetPokemonName(LoopVar)); } if (MainObject.Header2 == "BPE") { GroupBox4.Enabled = true; } else { GroupBox4.Enabled = false; } ListBox1.SelectedIndex = 0; Cursor = Cursors.Arrow; } catch (Exception exception) { Console.WriteLine(exception); throw; } }
private void ListBox3_SelectedIndexChanged(object sender, EventArgs e) { string pagepointer; string pokemonpointer; string localReadHEX() { int argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "HabitatTable", ""), System.Globalization.NumberStyles.HexNumber) + ListBox1.SelectedIndex * 8; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX() { string argHEXData = "hs2f853a68fa4e437f85e1eeac891b4e61()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } pagepointer = Conversion.Hex(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 0x8000000); string localReadHEX1() { int argStart2 = int.Parse(pagepointer, System.Globalization.NumberStyles.HexNumber) + ListBox2.SelectedIndex * 8; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX1() { string argHEXData = "hs973c9cb15ed243c8bc67e408979f365f()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } pokemonpointer = Conversion.Hex(int.Parse(localReverseHEX1(), System.Globalization.NumberStyles.HexNumber) - 0x8000000); string localReadHEX2() { int argStart2 = int.Parse(pokemonpointer, System.Globalization.NumberStyles.HexNumber) + ListBox3.SelectedIndex * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string localReverseHEX2() { string argHEXData = "hs689333cc3fb64fe8b6c4b213ad46319f()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } ComboBox1.SelectedIndex = int.Parse(localReverseHEX2(), System.Globalization.NumberStyles.HexNumber) - 1; }
public static void SaveAnimationSpriteToFreeSpace(int pokemonindex, byte[] sprite) { var sOffset = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokemonAnimations", ""), System.Globalization.NumberStyles.HexNumber) + pokemonindex * 8; // Pointer to Pokemon front sprites, + 8 = Bulbasaur. string imgString; byte[] imgBytes; string imgNewOffset; string LocalCompressLz77String() { var argsrcString = WichuRomFunctions.ConvertByteArrayToString(ref sprite); var ret = WichuRomFunctions.CompressLz77String(ref argsrcString); return(ret); } var argstr = LocalCompressLz77String(); imgBytes = WichuRomFunctions.ConvertStringToByteArray(ref argstr); imgString = ByteFunctions.ByteArrayToHexString(imgBytes); imgNewOffset = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, (long)(Strings.Len(imgString) / 2d), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString(); var argStart = Conversions.ToInteger(imgNewOffset); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref imgString); string LocalReverseHex() { var argHexData = Conversion.Hex(Conversions.ToDouble(imgNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret); } var argData = LocalReverseHex(); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref sOffset, ref argData); }
private void Button1_Click(object sender, EventArgs e) { int Looper; string localReverseHEX() { string argHEXData = Strings.Right("00000000" + Conversion.Hex(TextBox1.Text), 8); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret); } int argStart = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "HabitatTable", ""), System.Globalization.NumberStyles.HexNumber) + 4 + ListBox1.SelectedIndex * 8; string argData = localReverseHEX(); HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData); Looper = 0; ListBox2.Items.Clear(); while (Looper < Conversions.ToDouble(TextBox1.Text)) { ListBox2.Items.Add("Page " + (Looper + 1)); Looper = Looper + 1; } ListBox2.SelectedIndex = 0; }
/// <summary> /// /// </summary> /// <param name="species"></param> /// <returns></returns> // TODO: Fix the hex functions that are being hardcoded to string public static object SpeciestoDexNum(int species) { object speciesToDexNumRet = default; string LocalReadHex() { var argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NationalDexTable", ""), System.Globalization.NumberStyles.HexNumber) + (species - 1) * 2; var argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret); } string LocalReverseHex() { var argHexData = LocalReadHex(); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret); } speciesToDexNumRet = int.Parse(LocalReverseHex(), System.Globalization.NumberStyles.HexNumber); return(speciesToDexNumRet); }
public static object ChangeAttackName(int index, string newName) { object changeAttackNameRet = default; int offvar; offvar = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AttackNames", ""), System.Globalization.NumberStyles.HexNumber); if (MainObject.Header3 == "J") { } else { MainObject.FileNum = FileSystem.FreeFile(); FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary); var pokeName = "xxxxxxxxxxxxx"; var filler = Conversions.ToByte("&HFF"); pokeName = modTextSapp.NameAsc2Sapp(newName); FileSystem.FilePut(MainObject.FileNum, pokeName, offvar + 1 + 13 * index); FileSystem.FilePut(MainObject.FileNum, filler, offvar + 1 + 13 * index + Strings.Len(newName)); } FileSystem.FileClose(MainObject.FileNum); changeAttackNameRet = newName; return(changeAttackNameRet); }