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();
            }
        }
        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;
            }
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        // 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 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();
        }
Exemple #8
0
        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 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 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 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;
        }
Exemple #13
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);
        }
Exemple #14
0
        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);
        }
Exemple #15
0
        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);
        }
Exemple #16
0
        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();
        }
Exemple #17
0
        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));
        }
Exemple #18
0
        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 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;
        }
Exemple #20
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;
        }
Exemple #21
0
        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 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;
        }
Exemple #25
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="dexNumber"></param>
    /// <returns></returns>
    public static object PokedexNumbertoSpecies(int dexNumber)
    {
        object pokedexNumbertoSpeciesRet = default;
        var    curval = 0;

        byte[] bytesloaded;
        bytesloaded = File.ReadAllBytes(MainObject.LoadedRom);

        // If DexNumber = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "NationalDexTable", "")), System.Globalization.NumberStyles.HexNumber) + ((DexNumber - 1) * 2), 2))), System.Globalization.NumberStyles.HexNumber) Then
        string LocalReverseHex1()
        {
            var argHexData = MMainFunctions.Get2Bytes(bytesloaded, int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NationalDexTable", ""), System.Globalization.NumberStyles.HexNumber) + (dexNumber - 1) * 2);
            var ret        = HexFunctions.ReverseHex(ref argHexData);

            return(ret);
        }

        if (dexNumber == int.Parse(LocalReverseHex1(), System.Globalization.NumberStyles.HexNumber))
        {
            curval = dexNumber - 1;
        }
        else
        {
            // While DexNumber <> Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "NationalDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (curval * 2), 2))), System.Globalization.NumberStyles.HexNumber)
            string LocalReverseHex()
            {
                var argHexData = MMainFunctions.Get2Bytes(bytesloaded, int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NationalDexTable", ""), System.Globalization.NumberStyles.HexNumber) + curval * 2);
                var ret        = HexFunctions.ReverseHex(ref argHexData);

                return(ret);
            }

            while (dexNumber != int.Parse(LocalReverseHex(), System.Globalization.NumberStyles.HexNumber))
            {
                curval += 1;
            }
        }

        pokedexNumbertoSpeciesRet = curval + 1;
        return(pokedexNumbertoSpeciesRet);
    }
        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;
        }
Exemple #28
0
        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;
        }
Exemple #30
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);
    }