Exemplo n.º 1
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);
        }
        // Don't even know if these work. Was going to write pointer functions but never did. - Gamer2020
        public static object Pointer2Offset(string pointer)
        {
            object pointer2OffsetRet = default;

            pointer2OffsetRet = Conversions.ToDouble(HexFunctions.ReverseHex(ref pointer)) - 134217728d;
            return(pointer2OffsetRet);
        }
        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;
            }
        }
        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);
        }
        public static object Offset2Pointer(long offset)
        {
            object offset2PointerRet = default;
            var    argHexData        = offset.ToString();

            offset2PointerRet = Conversions.ToDouble(HexFunctions.ReverseHex(ref argHexData)) + 134217728d;
            return(offset2PointerRet);
        }
        private void Button6_Click(object sender, EventArgs e)
        {
            string currentDestinationPositionOffset;
            string destinationToWrite;

            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 = localReadHEX();
                var ret        = HexFunctions.ReverseHex(ref argHEXData);

                return(ret);
            }

            currentDestinationPositionOffset = Conversion.Hex(Conversion.Val("&H" + localReverseHEX()) - 134217728d);
            destinationToWrite = modTextSapp.Asc2Sapp(Strings.Replace(TextBox3.Text, Constants.vbCrLf, @"\n") + @"\x");
            if (Strings.Len(TextBox3.Text) > CurrentAbilityDescripLength)
            {
                var result = MessageBox.Show("The text will be written to free space and the pointer will be repointed. Would you like to do that?", "Repoint?", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    string newtextoff;
                    newtextoff         = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, Strings.Len(destinationToWrite + " "), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
                    MainObject.FileNum = FileSystem.FreeFile();
                    FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                    FileSystem.FilePut(MainObject.FileNum, destinationToWrite + " ", (long)(Conversions.ToDouble("&H" + Conversion.Hex(newtextoff)) + 1d), false);
                    FileSystem.FileClose(MainObject.FileNum);
                    TextBox2.Text = Conversion.Hex(newtextoff);
                    Button2.PerformClick();
                    Label21.Text      = "Length: " + Strings.Len(TextBox3.Text) + "/" + CurrentAbilityDescripLength;
                    Label21.ForeColor = Color.Black;
                    if (Strings.Len(TextBox3.Text) > CurrentAbilityDescripLength)
                    {
                        Label21.Text     += " Requires repoint!";
                        Label21.ForeColor = Color.Red;
                    }
                }
                else
                {
                }
            }
            else
            {
                MainObject.FileNum = FileSystem.FreeFile();
                FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                FileSystem.FilePut(MainObject.FileNum, destinationToWrite, (long)(Conversions.ToDouble("&H" + currentDestinationPositionOffset) + 1d), false);
                FileSystem.FileClose(MainObject.FileNum);
                TextBox2.Text = currentDestinationPositionOffset;
            }
        }
        public async void NewToOldReversHexEquivalency()
        {
            var data = "the quick brown fox";

            var result = HexFunctionsVb.ReverseHEX(ref data);

            var data2 = "the quick brown fox";

            var newResult = HexFunctions.ReverseHex(ref data2);

            Assert.Equal(result, newResult);
        }
Exemplo n.º 8
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 ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string LocalReadHex()
            {
                var argStart2 = _offset + 2 * ListBox1.SelectedIndex; 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);
            }

            Combo1.SelectedIndex = int.Parse(LocalReverseHex(), System.Globalization.NumberStyles.HexNumber);
        }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TMHMList_SelectedIndexChanged(object sender, EventArgs e)
        {
            string LocalReadHex()
            {
                var argStart2 = _tmhmAttacks + TMHMList.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);
            }

            AttackList.SelectedIndex = int.Parse(LocalReverseHex(), System.Globalization.NumberStyles.HexNumber);
        }
Exemplo n.º 11
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);
    }
Exemplo n.º 12
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);
        }
Exemplo n.º 13
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);
    }
Exemplo n.º 14
0
        private void Button2_Click(object sender, EventArgs e)
        {
            int indexbuff;

            indexbuff = ListBox1.SelectedIndex;
            string LocalReverseHex()
            {
                var argHexData = Strings.Right("0000" + Conversion.Hex(Combo1.SelectedIndex), 4); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var argStart = _offset + 2 * ListBox1.SelectedIndex;
            var argData  = LocalReverseHex();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
            var loopything = 0.ToString();

            ListBox1.Items.Clear();
            while (Conversions.ToDouble(loopything) < Conversion.Val(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfMoveTutorAttacks", "")))
            {
                string LocalReadHex()
                {
                    var argStart2 = (int)(_offset + 2d * Conversions.ToDouble(loopything)); var argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string LocalReverseHex1()
                {
                    var argHexData = LocalReadHex(); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
                }

                ListBox1.Items.Add(GetNameFunctions.GetAttackName(int.Parse(LocalReverseHex1(), System.Globalization.NumberStyles.HexNumber)));
                loopything = (Conversions.ToDouble(loopything) + 1d).ToString();
            }

            Cursor = Cursors.Arrow;
            ListBox1.SelectedIndex = indexbuff;
        }
Exemplo n.º 15
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);
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            int    countervar;
            string AbilitiesNamesBuffer;
            string AbilitiesNamesNewOffset;
            string AbilitiesDescriptionTableBuffer;
            string AbilitiesDescriptionTableNewOffset;

            if (File.Exists(MainObject.LoadedRom.Substring(0, MainObject.LoadedRom.Length - 4) + ".ini") == true)
            {
                //Interaction.MsgBox("An INI for this ROM has been detected! Values will be updated as needed.");
            }
            else
            {
                //Interaction.MsgBox("INI not found! One will now be created for this ROM in the same location as the ROM. Keep the ini with the ROM so that PGE can know the location of the data.");
                File.Copy(MainObject.AppPath + @"ini\roms.ini", MainObject.LoadedRom.Substring(0, MainObject.LoadedRom.Length - 4) + ".ini", true);
            }

            Cursor = Cursors.WaitCursor;

            // Ability Names

            int argStart2 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityNames", ""), System.Globalization.NumberStyles.HexNumber);
            int argLength = (int)(Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "")) * 13d);

            AbilitiesNamesBuffer = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength);

            // Deletes old data

            if (CheckBox3.Checked)
            {
                int    argStart = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityNames", ""), System.Globalization.NumberStyles.HexNumber);
                string argData  = Conversions.ToString(MMainFunctions.MakeFreeSpaceString((int)(Strings.Len(AbilitiesNamesBuffer) / 2d)));
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
            }

            countervar = 0;
            while (countervar < Conversions.ToDouble(TextBox1.Text))
            {
                countervar           = countervar + 1;
                AbilitiesNamesBuffer = AbilitiesNamesBuffer + "ACACACACACACACFF0000000000";
            }

            AbilitiesNamesNewOffset = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, (long)(Strings.Len(AbilitiesNamesBuffer) / 2d), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
            int argStart1 = Conversions.ToInteger(AbilitiesNamesNewOffset);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref AbilitiesNamesBuffer);
            Ini.WriteString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityNames", Conversion.Hex(AbilitiesNamesNewOffset));

            // Repoint ability Names

            string localReverseHEX()
            {
                string argHEXData = Conversion.Hex(Conversions.ToDouble(AbilitiesNamesNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart3 = 0x1C0;
            string argData1  = localReverseHEX();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart3, ref argData1);
            string localReverseHEX1()
            {
                string argHEXData = Conversion.Hex(Conversions.ToDouble(AbilitiesNamesNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart4 = 0xD8004;
            string argData2  = localReverseHEX1();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart4, ref argData2);
            string localReverseHEX2()
            {
                string argHEXData = Conversion.Hex(Conversions.ToDouble(AbilitiesNamesNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart5 = 0xD8624;
            string argData3  = localReverseHEX2();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart5, ref argData3);
            string localReverseHEX3()
            {
                string argHEXData = Conversion.Hex(Conversions.ToDouble(AbilitiesNamesNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart6 = 0x1367A0;
            string argData4  = localReverseHEX3();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart6, ref argData4);

            // ability Descriptions

            int argStart21 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityDescriptionTable", ""), System.Globalization.NumberStyles.HexNumber);
            int argLength1 = (int)(Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "")) * 4d);

            AbilitiesDescriptionTableBuffer = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart21, ref argLength1);

            // Deletes old data

            if (CheckBox3.Checked)
            {
                int    argStart7 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityDescriptionTable", ""), System.Globalization.NumberStyles.HexNumber);
                string argData5  = Conversions.ToString(MMainFunctions.MakeFreeSpaceString((int)(Strings.Len(AbilitiesDescriptionTableBuffer) / 2d)));
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart7, ref argData5);
            }

            countervar = 0;
            while (countervar < Conversions.ToDouble(TextBox1.Text))
            {
                countervar = countervar + 1;
                AbilitiesDescriptionTableBuffer = AbilitiesDescriptionTableBuffer + "C4F32408";
            }

            AbilitiesDescriptionTableNewOffset = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, (long)(Strings.Len(AbilitiesDescriptionTableBuffer) / 2d), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
            int argStart8 = Conversions.ToInteger(AbilitiesDescriptionTableNewOffset);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart8, ref AbilitiesDescriptionTableBuffer);
            Ini.WriteString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "AbilityDescriptionTable", Conversion.Hex(AbilitiesDescriptionTableNewOffset));

            // Repoint Abilities Description Table

            string localReverseHEX4()
            {
                string argHEXData = Conversion.Hex(Conversions.ToDouble(AbilitiesDescriptionTableNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart9 = 0x1C4;
            string argData6  = localReverseHEX4();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart9, ref argData6);
            string localReverseHEX5()
            {
                string argHEXData = Conversion.Hex(Conversions.ToDouble(AbilitiesDescriptionTableNewOffset) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart10 = 0x1367A8;
            string argData7   = localReverseHEX5();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart10, ref argData7);


            // Updates the number of Abilities
            Ini.WriteString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", (Conversions.ToInteger(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "")) + Conversions.ToInteger(TextBox1.Text)).ToString());
            Label1.Text = "Number of abilities in ROM: " + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfAbilities", "");
            Cursor      = Cursors.Arrow;
            //Interaction.MsgBox("Abilities expanded successfully!");
        }
Exemplo n.º 17
0
        public static bool SaveCry(Cry crytosave, int cryTable)
        {
            if (crytosave.Offset == 0)
            {
                return(false);
            }
            // var lookup = new byte[] { 0x0, 0x1, 0x4, 0x9, 0x10, 0x19, 0x24, 0x31, 0xC0, 0xCF, 0xDC, 0xE7, 0xF0, 0xF7, 0xFC, 0xFF };
            var lookup = new sbyte[] { 0, 1, 4, 9, 16, 25, 36, 49, -64, -49, -36, -25, -16, -9, -4, -1 };

            crytosave.Compressed = false;

            // copy cry data to be written
            var data = new List <byte>();

            if (crytosave.Compressed)
            {
                //Interaction.MsgBox("This should not be enabled!");
                Environment.Exit(0);
            }

            // ' data is compressed in blocks of 1 + 0x20 bytes at a time
            // ' first byte is normal signed PCM data
            // ' following 0x20 bytes are compressed based on previous value
            // ' (for a value not in lookup table, closest value will be chosen instead)
            // 'Console.WriteLine("compressed");

            // ' each block has 0x40 samples
            // Dim blockCount = crytosave.Data.Length / &H40
            // If crytosave.Data.Length Mod &H40 > 0 Then
            // blockCount += 1
            // End If

            // ' truncates the length of the last block
            // ' so we don't waste space
            // Dim lastBlockSize = crytosave.Data.Length - crytosave.Data.Length / &H40 * &H40
            // If lastBlockSize = 0 Then
            // lastBlockSize = &H21
            // Else
            // lastBlockSize = 1 + (lastBlockSize / 2) + (If(lastBlockSize Mod 2 = 0, 0, 1))
            // End If

            // Dim blocks = New Byte(blockCount - 1)() {}
            // For n As Integer = 0 To blockCount - 1
            // ' create new block
            // If n < blockCount - 1 Then
            // blocks(n) = New Byte(32) {}
            // Else
            // blocks(n) = New Byte(lastBlockSize - 1) {}
            // End If

            // Dim i As Integer = n * &H40
            // Dim k As Integer = 0

            // If i < crytosave.Data.Length Then
            // ' set first value
            // blocks(n)(k) = BitConverter.GetBytes(crytosave.Data(i))(0)
            // End If

            // k = k + 1

            // Dim pcm As SByte

            // If i < crytosave.Data.Length Then

            // pcm = crytosave.Data(i)

            // End If

            // i = i + 1

            // Dim j As Integer = 1
            // While j < &H40 And i < crytosave.Data.Length
            // ' get current sample
            // Dim sample As SByte = crytosave.Data(i)

            // i = i + 1

            // ' difference between previous sample and this
            // Dim diff As Integer = sample - pcm

            // ' check for a perfect match in lookup table
            // Dim lookupI = -1
            // For x As Integer = 0 To 15
            // If lookup(x) = diff Then
            // lookupI = x
            // Exit For
            // End If
            // Next

            // ' search for the closest match in the table
            // If lookupI = -1 Then
            // Dim bestDiff As Integer = 255
            // For x As Integer = 0 To 15
            // If Math.Abs(CInt(lookup(x)) - diff) < bestDiff Then
            // lookupI = x
            // bestDiff = Math.Abs(lookup(x) - diff)
            // End If
            // Next
            // End If

            // ' set value in block
            // ' on an odd value, increase position in block
            // If j Mod 2 = 0 Then
            // blocks(n)(k) = blocks(n)(k) Or CByte(lookupI << 4)
            // Else
            // blocks(n)(k) = blocks(n)(k) Or CByte(lookupI)

            // k = k + 1

            // End If

            // ' set previous
            // pcm = sample
            // j += 1
            // End While
            // Next

            // For n As Integer = 0 To blockCount - 1
            // data.AddRange(blocks(n))
            // Next
            else
            {
                // uncompressed, copy directly to data
                // Console.WriteLine("uncompressed");
                foreach (var s in crytosave.Data)
                {
                    data.Add((byte)(s & 0xFF));
                }
            }

            //// determine if cry requires repointing
            //if (crytosave.Size < data.Count)
            //{
            //    var result = MessageBox.Show("The Cry will be written to free space and the pointer will be repointed. Would you like to do that?", "Repoint?", MessageBoxButtons.YesNo);
            //    if (result == DialogResult.Yes)
            //    {
            //        var result2 = MessageBox.Show("Fill the old cry with free space?", "Delete old cry?", MessageBoxButtons.YesNo);
            //        if (result2 == DialogResult.Yes)
            //        {
            //            string argData = Conversions.ToString(MainObject.MakeFreeSpaceString(crytosave.Size + 16));
            //            HexFunctions.WriteHEX(ref MainObject.LoadedRom, ref crytosave.Offset, ref argData);
            //        }

            //        // set new cry offset
            //        crytosave.Offset = (int)modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, data.Count, Conversions.ToLong("&H" + INI.GetString(Conversions.ToString(MainObject.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000")));
            //    }
            //    else
            //    {
            //        return false;
            //    }
            //}

            // write cry


            string LocalReverseHex()
            {
                var argHexData = Strings.Right("0000" + (ushort)(crytosave.Compressed ? 1 : 0), 4); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var argData1 = LocalReverseHex();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref crytosave.Offset, ref argData1);
            string LocalReverseHex1()
            {
                var argHexData = Strings.Right("0000" + (ushort)(crytosave.Looped ? 0x4000 : 0), 4); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var argStart = crytosave.Offset + 2;
            var argData2 = LocalReverseHex1();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData2);
            string LocalReverseHex2()
            {
                var argHexData = Strings.Right("00000000" + (crytosave.SampleRate << 10), 8); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var argStart1 = crytosave.Offset + 4;
            var argData3  = LocalReverseHex2();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref argData3);
            string LocalReverseHex3()
            {
                var argHexData = Strings.Right("00000000" + crytosave.LoopStart, 8); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var argStart2 = crytosave.Offset + 8;
            var argData4  = LocalReverseHex3();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart2, ref argData4);
            string LocalReverseHex4()
            {
                var argHexData = Strings.Right("00000000" + (crytosave.Data.Length - 1), 8); var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var argStart3 = crytosave.Offset + 12;
            var argData5  = LocalReverseHex4();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart3, ref argData5);

            // WriteHEX(LoadedROM, crytosave.Offset, ReverseHEX(VB.Right("0000" & CUShort(If(crytosave.Compressed, 1, 0)), 4)))
            // WriteHEX(LoadedROM, crytosave.Offset + 2, ReverseHEX(VB.Right("0000" & CUShort(If(crytosave.Looped, &H4000, 0)), 4)))
            // WriteHEX(LoadedROM, crytosave.Offset + 4, ReverseHEX(VB.Right("00000000" & (crytosave.SampleRate << 10), 8)))
            // WriteHEX(LoadedROM, crytosave.Offset + 8, ReverseHEX(VB.Right("00000000" & (crytosave.LoopStart), 8)))
            // WriteHEX(LoadedROM, crytosave.Offset + 12, ReverseHEX(VB.Right("00000000" & (crytosave.Data.Length - 1), 8)))

            var tempbuff  = ByteFunctions.ByteArrayToHexString(data.ToArray());
            var argStart4 = crytosave.Offset + 16;

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart4, ref tempbuff);

            // write cry table entry

            // WriteHEX(LoadedROM, cryTable + (crytosave.Index * 12), ReverseHEX(If(crytosave.Compressed, "00003C20", "00003C00")))
            // WriteHEX(LoadedROM, cryTable + (crytosave.Index * 12) + 4, ReverseHEX(VB.Right("00000000" & Hex(crytosave.Offset), 8)))
            // WriteHEX(LoadedROM, cryTable + (crytosave.Index * 12) + 8, "FF00FF")


            // rom.WriteUInt16(CUShort(If(Cry.Compressed, 1, 0)))
            // rom.WriteUInt16(CUShort(If(Cry.Looped, &H4000, 0)))
            // rom.WriteInt32(Cry.SampleRate << 10)
            // rom.WriteInt32(Cry.LoopStart)
            // rom.WriteInt32(Cry.Data.Length - 1)
            // rom.WriteBytes(data.ToArray())

            // ' write cry table entry
            // rom.Seek(cryTable + Cry.Index * 12)
            // rom.WriteUInt32(If(Cry.Compressed, &H3C20UI, &H3C00UI))
            // rom.WritePointer(Cry.Offset)
            // rom.WriteUInt32(&HFF00FFUI)

            // ' write growl table entry
            // rom.Seek(growlTable + Cry.Index * 12)
            // rom.WriteUInt32(If(Cry.Compressed, &H3C30UI, &H3C00UI))
            // ' !!! not sure if 00 should be used for uncompressed
            // rom.WritePointer(Cry.Offset)
            // rom.WriteUInt32(&HFF00FFUI)
            return(true);
        }
        private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            MainObject.I = ListBox1.SelectedIndex;

            // makes i be the list index so that the location of the pokemon's dex number can be calculated

            string localReadHEX()
            {
                int argStart2 = Offset1 + MainObject.I * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX()
            {
                string argHEXData = "hs45cff97aaf574e74a3dedc016893c670()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            ListBox2.SelectedIndex = int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber);
            // loads the pokemon's dex number into the listbox
            string localReadHEX1()
            {
                int argStart2 = Offset2 + MainObject.I * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX1()
            {
                string argHEXData = "hsdc35e85185d840e3b75bcc2901032b3d()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            ListBox3.SelectedIndex = int.Parse(localReverseHEX1(), System.Globalization.NumberStyles.HexNumber);
        }
        private void Button4_Click(object sender, EventArgs e)
        {
            int    indexbuff = ListBox1.SelectedIndex;
            string Y;
            string Var1;
            string Var2;
            byte   filler = 0x0;

            if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV")
            {
                if (DexDescripLength1 < Strings.Len(Description1.Text))
                {
                    var resultR = MessageBox.Show("The text for the first box will be written to free space and the pointer will be repointed. Would you like to do that?", "Repoint?", MessageBoxButtons.YesNo);
                    if (resultR == DialogResult.Yes)
                    {
                        Y    = modTextSapp.Asc2Sapp(Strings.Replace(Description1.Text, Constants.vbCrLf, @"\n") + @"\x");
                        Var1 = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, Strings.Len(Y + " "), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
                        MainObject.FileNum = FileSystem.FreeFile();
                        FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                        FileSystem.FilePut(MainObject.FileNum, Y + " ", Conversions.ToLong("&H" + Conversion.Hex(Conversions.ToDouble(Var1) + 1d)), false);
                        FileSystem.FileClose(MainObject.FileNum);
                        Pointer1.Text    = Conversion.Hex(Var1);
                        Label1.Text      = "Length: " + Strings.Len(Description1.Text) + "/" + DexDescripLength1;
                        Label1.ForeColor = Color.Black;
                        if (Strings.Len(Description1.Text) > DexDescripLength1)
                        {
                            Label1.Text      = Label1.Text + " Requires repoint!";
                            Label1.ForeColor = Color.Red;
                        }
                    }
                }
                else
                {
                    MainObject.FileNum = FileSystem.FreeFile();
                    string localReadHEX()
                    {
                        int argStart2 = offset1 + 4 + 12 + indexbuff * MainObject.SkipVar; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                    }

                    string localReverseHEX()
                    {
                        string argHEXData = "hs51b16dc2898b44ff911b6714b083601a()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                    }

                    Var1 = (Conversions.ToDouble("&H" + Conversion.Hex(Conversion.Val("&H" + localReverseHEX()) - 134217728d)) + 1d).ToString();
                    FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                    Y = modTextSapp.Asc2Sapp(Strings.Replace(Description1.Text, Constants.vbCrLf, @"\n") + @"\x");
                    FileSystem.FilePut(MainObject.FileNum, Y, Conversions.ToLong(Var1), false);
                    FileSystem.FileClose(MainObject.FileNum);
                }

                if (DexDescripLength2 < Strings.Len(Description2.Text))
                {
                    var resultR2 = MessageBox.Show("The text for the second box will be written to free space and the pointer will be repointed. Would you like to do that?", "Repoint?", MessageBoxButtons.YesNo);
                    if (resultR2 == DialogResult.Yes)
                    {
                        Y    = modTextSapp.Asc2Sapp(Strings.Replace(Description2.Text, Constants.vbCrLf, @"\n") + @"\x");
                        Var2 = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, Strings.Len(Y + " "), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
                        MainObject.FileNum = FileSystem.FreeFile();
                        FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                        FileSystem.FilePut(MainObject.FileNum, Y + " ", Conversions.ToLong("&H" + Conversion.Hex(Conversions.ToDouble(Var2) + 1d)), false);
                        FileSystem.FileClose(MainObject.FileNum);
                        Pointer2.Text    = Conversion.Hex(Var2);
                        Label2.Text      = "Length: " + Strings.Len(Description2.Text) + "/" + DexDescripLength2;
                        Label2.ForeColor = Color.Black;
                        if (Strings.Len(Description2.Text) > DexDescripLength2)
                        {
                            Label2.Text      = Label2.Text + " Requires repoint!";
                            Label2.ForeColor = Color.Red;
                        }
                    }
                }
                else
                {
                    MainObject.FileNum = FileSystem.FreeFile();
                    string localReadHEX1()
                    {
                        int argStart2 = offset1 + 8 + 12 + indexbuff * MainObject.SkipVar; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                    }

                    string localReverseHEX1()
                    {
                        string argHEXData = "hs01bb51be16554c358108779efac04211()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                    }

                    Var2 = (Conversions.ToDouble("&H" + Conversion.Hex(Conversion.Val("&H" + localReverseHEX1()) - 134217728d)) + 1d).ToString();
                    FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                    Y = modTextSapp.Asc2Sapp(Strings.Replace(Description2.Text, Constants.vbCrLf, @"\n") + @"\x");
                    FileSystem.FilePut(MainObject.FileNum, Y, Conversions.ToLong(Var2), false);
                    FileSystem.FileClose(MainObject.FileNum);
                }

                Button1.PerformClick();
            }
            else if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG")
            {
                if (DexDescripLength1 < Strings.Len(Description1.Text))
                {
                    var resultBPR = MessageBox.Show("The text will be written to free space and the pointer will be repointed. Would you like to do that?", "Repoint?", MessageBoxButtons.YesNo);
                    if (resultBPR == DialogResult.Yes)
                    {
                        Y    = modTextSapp.Asc2Sapp(Strings.Replace(Description1.Text, Constants.vbCrLf, @"\n") + @"\x");
                        Var1 = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, Strings.Len(Y + " "), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
                        MainObject.FileNum = FileSystem.FreeFile();
                        FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                        FileSystem.FilePut(MainObject.FileNum, Y + " ", Conversions.ToLong("&H" + Conversion.Hex(Conversions.ToDouble(Var1) + 1d)), false);
                        FileSystem.FileClose(MainObject.FileNum);
                        Pointer1.Text = Conversion.Hex(Var1);
                        Button1.PerformClick();
                        Label1.Text      = "Length: " + Strings.Len(Description1.Text) + "/" + DexDescripLength1;
                        Label1.ForeColor = Color.Black;
                        if (Strings.Len(Description1.Text) > DexDescripLength1)
                        {
                            Label1.Text      = Label1.Text + " Requires repoint!";
                            Label1.ForeColor = Color.Red;
                        }
                    }
                }
                else
                {
                    MainObject.FileNum = FileSystem.FreeFile();
                    string localReadHEX2()
                    {
                        int argStart2 = offset1 + 4 + 12 + indexbuff * MainObject.SkipVar; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                    }

                    string localReverseHEX2()
                    {
                        string argHEXData = "hs91f932c452ba4355be63561627680c95()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                    }

                    Var1 = (Conversions.ToDouble("&H" + Conversion.Hex(Conversion.Val("&H" + localReverseHEX2()) - 134217728d)) + 1d).ToString();
                    FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                    Y = modTextSapp.Asc2Sapp(Strings.Replace(Description1.Text, Constants.vbCrLf, @"\n") + @"\x");
                    FileSystem.FilePut(MainObject.FileNum, Y, Conversions.ToLong(Var1), false);
                    FileSystem.FileClose(MainObject.FileNum);
                }
            }
            else if (MainObject.Header2 == "BPE")
            {
                if (DexDescripLength1 < Strings.Len(Description1.Text))
                {
                    var resultBPE = MessageBox.Show("The text will be written to free space and the pointer will be repointed. Would you like to do that?", "Repoint?", MessageBoxButtons.YesNo);
                    if (resultBPE == DialogResult.Yes)
                    {
                        Y    = modTextSapp.Asc2Sapp(Strings.Replace(Description1.Text, Constants.vbCrLf, @"\n") + @"\x");
                        Var1 = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, Strings.Len(Y + " "), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
                        MainObject.FileNum = FileSystem.FreeFile();
                        FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                        FileSystem.FilePut(MainObject.FileNum, Y + " ", Conversions.ToLong("&H" + Conversion.Hex(Conversions.ToDouble(Var1) + 1d)), false);
                        FileSystem.FileClose(MainObject.FileNum);
                        Pointer1.Text = Conversion.Hex(Var1);
                        Button1.PerformClick();
                        Label1.Text      = "Length: " + Strings.Len(Description1.Text) + "/" + DexDescripLength1;
                        Label1.ForeColor = Color.Black;
                        if (Strings.Len(Description1.Text) > DexDescripLength1)
                        {
                            Label1.Text      = Label1.Text + " Requires repoint!";
                            Label1.ForeColor = Color.Red;
                        }
                    }
                }
                else
                {
                    MainObject.FileNum = FileSystem.FreeFile();
                    string localReadHEX3()
                    {
                        int argStart2 = offset1 + 4 + 12 + indexbuff * MainObject.SkipVar; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                    }

                    string localReverseHEX3()
                    {
                        string argHEXData = "hsb63b60d4bdb0479fb54422b69bb80b94()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                    }

                    Var1 = (Conversions.ToDouble("&H" + Conversion.Hex(Conversion.Val("&H" + localReverseHEX3()) - 134217728d)) + 1d).ToString();
                    FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                    Y = modTextSapp.Asc2Sapp(Strings.Replace(Description1.Text, Constants.vbCrLf, @"\n") + @"\x");
                    FileSystem.FilePut(MainObject.FileNum, Y, Conversions.ToLong(Var1), false);
                    FileSystem.FileClose(MainObject.FileNum);
                }
            }
        }
        private void Button3_Click(object sender, EventArgs e)
        {
            int indexbuff = ListBox1.SelectedIndex;

            offset1 = int.Parse(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "PokedexData", ""), System.Globalization.NumberStyles.HexNumber);
            if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV")
            {
                string localReverseHEX()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Hght.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart = offset1 + 12 + indexbuff * MainObject.SkipVar;
                string argData  = localReverseHEX();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
                string localReverseHEX1()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Wght.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart1 = offset1 + 2 + 12 + indexbuff * MainObject.SkipVar;
                string argData1  = localReverseHEX1();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref argData1);
                string localReverseHEX2()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Scale1.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart2 = offset1 + 26 + indexbuff * MainObject.SkipVar;
                string argData2  = localReverseHEX2();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart2, ref argData2);
                string localReverseHEX3()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Offset_1.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart3 = offset1 + 28 + indexbuff * MainObject.SkipVar;
                string argData3  = localReverseHEX3();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart3, ref argData3);
                string localReverseHEX4()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Scale2.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart4 = offset1 + 30 + indexbuff * MainObject.SkipVar;
                string argData4  = localReverseHEX4();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart4, ref argData4);
                string localReverseHEX5()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Offset_2.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart5 = offset1 + 32 + indexbuff * MainObject.SkipVar;
                string argData5  = localReverseHEX5();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart5, ref argData5);
            }
            else if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG")
            {
                string localReverseHEX6()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Hght.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart6 = offset1 + 12 + indexbuff * MainObject.SkipVar;
                string argData6  = localReverseHEX6();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart6, ref argData6);
                string localReverseHEX7()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Wght.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart7 = offset1 + 2 + 12 + indexbuff * MainObject.SkipVar;
                string argData7  = localReverseHEX7();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart7, ref argData7);
                string localReverseHEX8()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Scale1.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart8 = offset1 + 26 + indexbuff * MainObject.SkipVar;
                string argData8  = localReverseHEX8();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart8, ref argData8);
                string localReverseHEX9()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Offset_1.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart9 = offset1 + 28 + indexbuff * MainObject.SkipVar;
                string argData9  = localReverseHEX9();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart9, ref argData9);
                string localReverseHEX10()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Scale2.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart10 = offset1 + 30 + indexbuff * MainObject.SkipVar;
                string argData10  = localReverseHEX10();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart10, ref argData10);
                string localReverseHEX11()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Offset_2.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart11 = offset1 + 32 + 12 + indexbuff * MainObject.SkipVar;
                string argData11  = localReverseHEX11();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart11, ref argData11);
            }
            else if (MainObject.Header2 == "BPE")
            {
                string localReverseHEX12()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Hght.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart12 = offset1 + 12 + indexbuff * MainObject.SkipVar;
                string argData12  = localReverseHEX12();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart12, ref argData12);
                string localReverseHEX13()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Wght.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart13 = offset1 + 2 + 12 + indexbuff * MainObject.SkipVar;
                string argData13  = localReverseHEX13();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart13, ref argData13);
                string localReverseHEX14()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Scale1.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart14 = offset1 + 22 + indexbuff * MainObject.SkipVar;
                string argData14  = localReverseHEX14();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart14, ref argData14);
                string localReverseHEX15()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Offset_1.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart15 = offset1 + 24 + indexbuff * MainObject.SkipVar;
                string argData15  = localReverseHEX15();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart15, ref argData15);
                string localReverseHEX16()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Scale2.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart16 = offset1 + 26 + indexbuff * MainObject.SkipVar;
                string argData16  = localReverseHEX16();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart16, ref argData16);
                string localReverseHEX17()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(Offset_2.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart17 = offset1 + 28 + indexbuff * MainObject.SkipVar;
                string argData17  = localReverseHEX17();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart17, ref argData17);
            }

            ModifyNameCommands.ChangePokedexTypeName(indexbuff, Type1.Text);
            ListBox1.Items.Clear();
            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 = indexbuff;
        }
Exemplo n.º 21
0
        public static Cry LoadCry(int index, int cryTable)
        {
            var cryToLoad = new Cry();

            // If ledrom Is Nothing Then
            // Return False
            // End If

            // load cry table entry
            // ledrom.Seek(cryTable + index * 12)

            // Dim someValue = ledrom.ReadInt32()
            // Dim cryOffset = ledrom.ReadPointer()
            // Dim cryShape = ledrom.ReadInt32()

            string LocalReadHex()
            {
                var argStart2 = cryTable + index * 12; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex()
            {
                var argHexData = "hs114971a3962f4785bb1199029f740d9a()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var someValue = int.Parse(LocalReverseHex(), System.Globalization.NumberStyles.HexNumber);

            string LocalReadHex1()
            {
                var argStart2 = cryTable + index * 12 + 4; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex1()
            {
                var argHexData = "hs42097b91af9a4cb7bf85297615b2b82c()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var cryOffset = int.Parse(LocalReverseHex1(), System.Globalization.NumberStyles.HexNumber) - 0x8000000;

            string LocalReadHex2()
            {
                var argStart2 = cryTable + index * 12 + 8; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex2()
            {
                var argHexData = "hs636c588e252f49388e9b7cfd50d62ae5()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            var cryShape = int.Parse(LocalReverseHex2(), System.Globalization.NumberStyles.HexNumber);


            // If cryOffset = 0 Then
            // Return False
            // End If

            // load cry data
            // ledrom.Seek(cryOffset)

            cryToLoad.Offset = cryOffset;
            cryToLoad.Index  = index;


            // CryToLoad.Compressed = ledrom.ReadUInt16() = &H1
            // CryToLoad.Looped = ledrom.ReadUInt16() = &H4000
            // CryToLoad.SampleRate = ledrom.ReadInt32() >> 10
            // CryToLoad.LoopStart = ledrom.ReadInt32()
            // CryToLoad.Size = ledrom.ReadInt32() + 1

            string LocalReadHex3()
            {
                var argStart2 = cryOffset + 0; var argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex3()
            {
                var argHexData = "hs228b8612293b47259bd1ddc81cc475da()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            cryToLoad.Compressed = short.Parse(LocalReverseHex3(), System.Globalization.NumberStyles.HexNumber) == 0x1;
            string LocalReadHex4()
            {
                var argStart2 = cryOffset + 2; var argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex4()
            {
                var argHexData = "hs1356c430d68a4b5c97b50286fa9e623c()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            cryToLoad.Looped = short.Parse(LocalReverseHex4(), System.Globalization.NumberStyles.HexNumber) == 0x4000;
            string LocalReadHex5()
            {
                var argStart2 = cryOffset + 4; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex5()
            {
                var argHexData = "hsdf6fddefae014a00ae3654bb21c3d239()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            cryToLoad.SampleRate = int.Parse(LocalReverseHex5(), System.Globalization.NumberStyles.HexNumber) >> 10;
            string LocalReadHex6()
            {
                var argStart2 = cryOffset + 8; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex6()
            {
                var argHexData = "hs8b94dd1b930547378b53e2d5ed2df7c4()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            cryToLoad.LoopStart = int.Parse(LocalReverseHex6(), System.Globalization.NumberStyles.HexNumber);
            string LocalReadHex7()
            {
                var argStart2 = cryOffset + 12; var argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string LocalReverseHex7()
            {
                var argHexData = "hs29971bab56db428e81f7e305c6e4d9da()"; var ret = HexFunctions.ReverseHex(ref argHexData); return(ret);
            }

            cryToLoad.Size = int.Parse(LocalReverseHex7(), System.Globalization.NumberStyles.HexNumber) + 1;
            if (!cryToLoad.Compressed)
            {
                // uncompressed, 1 sample per 1 byte of size
                cryToLoad.Data = new sbyte[cryToLoad.Size];
                for (int g = 0, loopTo = cryToLoad.Size - 1; g <= loopTo; g++)
                {
                    string LocalReadHex8()
                    {
                        var argStart2 = cryOffset + 16 + g; var argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                    }

                    cryToLoad.Data[g] = (sbyte)ByteFunctions.ByteToSignedInteger(Conversions.ToByte("&H" + LocalReadHex8()));
                }
            }
            else
            {
                // compressed, a bit of a hassle
                var lookup = new sbyte[] { 0, 1, 4, 9, 16, 25, 36, 49, -64, -49, -36, -25, -16, -9, -4, -1 };

                var   start     = cryOffset + 16;
                var   offtrack  = cryOffset + 16;
                var   alignment = 0;
                var   size      = 0;
                sbyte pcmLevel  = 0;
                var   data      = new List <sbyte>();
                while (true)
                {
                    if (alignment == 0)
                    {
                        var argLength = 1;
                        pcmLevel  = (sbyte)ByteFunctions.ByteToSignedInteger(Conversions.ToByte("&H" + HexFunctions.ReadHex(ref MainObject.LoadedRom, ref offtrack, ref argLength)));
                        offtrack += 1;
                        data.Add(pcmLevel);
                        alignment = 0x20;
                    }

                    var argLength1 = 1;
                    var input      = Conversions.ToByte("&H" + HexFunctions.ReadHex(ref MainObject.LoadedRom, ref offtrack, ref argLength1));
                    offtrack += 1;
                    if (alignment < 0x20)
                    {
                        // first nybble
                        pcmLevel += lookup[input >> 4];
                        data.Add(pcmLevel);
                    }

                    // second nybble
                    pcmLevel += lookup[input & 0xF];
                    data.Add(pcmLevel);

                    // exit when currentSize >= cry.Size
                    size += 2;
                    if (size >= cryToLoad.Size)
                    {
                        break;
                    }

                    alignment -= 1;
                }

                cryToLoad.Data = data.ToArray();
                // bytes needed to recompress
                cryToLoad.Size = offtrack - start;
            }

            return(cryToLoad);
        }
Exemplo n.º 22
0
        private void SaveBttn_Click(object sender, EventArgs e)
        {
            int listvar;
            int LoopVar;

            listvar = ItemListComboBox.SelectedIndex;
            ModifyNameCommands.ChangeItemName(listvar, ChangeNameTextBox.Text);
            string localReverseHEX()
            {
                string argHEXData = Strings.Right("0000" + Conversion.Hex(IndexTextBox.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart = ItemBaseOff + 14 + listvar * 44;
            string argData  = localReverseHEX();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
            string localReverseHEX1()
            {
                string argHEXData = Strings.Right("0000" + Conversion.Hex(PriceTextBox.Text), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart1 = ItemBaseOff + 16 + listvar * 44;
            string argData1  = localReverseHEX1();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref argData1);
            int    argStart2 = ItemBaseOff + 18 + listvar * 44;
            string argData2  = Conversion.Hex(HoldEffectTextBox.Text);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart2, ref argData2);
            int    argStart3 = ItemBaseOff + 19 + listvar * 44;
            string argData3  = Conversion.Hex(ValueTextBox.Text);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart3, ref argData3);
            int    argStart4 = ItemBaseOff + 24 + listvar * 44;
            string argData4  = Conversion.Hex(MysteryValue1TextBox.Text);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart4, ref argData4);
            int    argStart5 = ItemBaseOff + 25 + listvar * 44;
            string argData5  = Conversion.Hex(MysteryValue2TextBox.Text);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart5, ref argData5);
            int    argStart6 = ItemBaseOff + 26 + listvar * 44;
            string argData6  = Conversion.Hex(PocketComboBox.SelectedIndex);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart6, ref argData6);
            int    argStart7 = ItemBaseOff + 27 + listvar * 44;
            string argData7  = Conversion.Hex(TypeTextBox.Text);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart7, ref argData7);
            string localReverseHEX2()
            {
                string argHEXData = Conversion.Hex(int.Parse(FieldUsagePTTextBox.Text, System.Globalization.NumberStyles.HexNumber) + 0x8000000); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart8 = ItemBaseOff + 28 + ItemListComboBox.SelectedIndex * 44;
            string argData8  = localReverseHEX2();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart8, ref argData8);
            string localReverseHEX3()
            {
                string argHEXData = Conversion.Hex(int.Parse(BattleUsagePTTextBox.Text, System.Globalization.NumberStyles.HexNumber) + 0x8000000); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart9 = ItemBaseOff + 36 + ItemListComboBox.SelectedIndex * 44;
            string argData9  = localReverseHEX3();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart9, ref argData9);
            int    argStart10 = ItemBaseOff + 32 + listvar * 44;
            string argData10  = Conversion.Hex(BUTextBox.Text);

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart10, ref argData10);
            string localReverseHEX4()
            {
                string argHEXData = ExtParTxt.Text; var ret = HexFunctions.ReverseHex(ref argHEXData); ExtParTxt.Text = argHEXData; return(ret);
            }

            int    argStart11 = ItemBaseOff + 40 + ItemListComboBox.SelectedIndex * 44;
            string argData11  = localReverseHEX4();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart11, ref argData11);
            if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG" | MainObject.Header2 == "BPE")
            {
            }
            else
            {
            }

            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 = listvar;
        }
        private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            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");
            }

            string localReadHEX()
            {
                int argStart2 = offset1 + 4 + (+12) + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX()
            {
                string argHEXData = "hs4099ba47f4d04e2a8a27e2db60a1453a()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            Pointer1.Text = Conversion.Hex(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
            string localReadHEX1()
            {
                int argStart2 = offset1 + 12 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX1()
            {
                string argHEXData = "hs89826ebe3b4b4379b7b47d00d956dce6()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            Hght.Text = int.Parse(localReverseHEX1(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX2()
            {
                int argStart2 = offset1 + 2 + 12 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX2()
            {
                string argHEXData = "hse2fe6f17f5df47338905c3df8b580ccd()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            Wght.Text = int.Parse(localReverseHEX2(), System.Globalization.NumberStyles.HexNumber).ToString();
            if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV")
            {
                string localReadHEX3()
                {
                    int argStart2 = offset1 + 26 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX3()
                {
                    string argHEXData = "hs14a5f45dd5cc4716b9391b33084844a3()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Scale1.Text = int.Parse(localReverseHEX3(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX4()
                {
                    int argStart2 = offset1 + 28 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX4()
                {
                    string argHEXData = "hs8015a5f7bdf7479e99e0187a4ab72606()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Offset_1.Text = short.Parse(localReverseHEX4(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX5()
                {
                    int argStart2 = offset1 + 30 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX5()
                {
                    string argHEXData = "hsc2f8003cd43946d0a8f40279182f99b5()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Scale2.Text = int.Parse(localReverseHEX5(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX6()
                {
                    int argStart2 = offset1 + 32 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX6()
                {
                    string argHEXData = "hs4acca145494d44d68a4dbc1c93c6a9aa()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Offset_2.Text = short.Parse(localReverseHEX6(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX7()
                {
                    int argStart2 = offset1 + 8 + (+12) + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX7()
                {
                    string argHEXData = "hs7133a7661e3b4be887c6caf6830dd6fa()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Pointer2.Text = Conversion.Hex(int.Parse(localReverseHEX7(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
                EnglishRSDescpLoad();
            }
            else if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG")
            {
                string localReadHEX8()
                {
                    int argStart2 = offset1 + 26 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX8()
                {
                    string argHEXData = "hs7f045388245a402295756234321435ec()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Scale1.Text = int.Parse(localReverseHEX8(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX9()
                {
                    int argStart2 = offset1 + 28 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX9()
                {
                    string argHEXData = "hsfb71dcde829f429583ba9b05dc9763f6()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Offset_1.Text = short.Parse(localReverseHEX9(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX10()
                {
                    int argStart2 = offset1 + 30 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX10()
                {
                    string argHEXData = "hscae1ea656831424cb9b92c546bf803c1()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Scale2.Text = int.Parse(localReverseHEX10(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX11()
                {
                    int argStart2 = offset1 + 32 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX11()
                {
                    string argHEXData = "hse992a5f5d36b41b2902804c92db10e41()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Offset_2.Text = short.Parse(localReverseHEX11(), System.Globalization.NumberStyles.HexNumber).ToString();
                EnglishFRLGEDescpLoad();
            }
            else if (MainObject.Header2 == "BPE")
            {
                string localReadHEX12()
                {
                    int argStart2 = offset1 + 22 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX12()
                {
                    string argHEXData = "hs729239149be8418aa1296526c1d45949()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Scale1.Text = int.Parse(localReverseHEX12(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX13()
                {
                    int argStart2 = offset1 + 24 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX13()
                {
                    string argHEXData = "hsc393ecc944b34297abf690fbfaa24587()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Offset_1.Text = short.Parse(localReverseHEX13(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX14()
                {
                    int argStart2 = offset1 + 26 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX14()
                {
                    string argHEXData = "hs408b1cae7c9f4727a689025a449fabac()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Scale2.Text = int.Parse(localReverseHEX14(), System.Globalization.NumberStyles.HexNumber).ToString();
                string localReadHEX15()
                {
                    int argStart2 = offset1 + 28 + ListBox1.SelectedIndex * MainObject.SkipVar; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX15()
                {
                    string argHEXData = "hs5a265a35d79840d8938bbf518fb8b780()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                Offset_2.Text = short.Parse(localReverseHEX15(), System.Globalization.NumberStyles.HexNumber).ToString();
                EnglishFRLGEDescpLoad();
            }

            Type1.Text = Conversions.ToString(GetNameFunctions.GetPokedexTypeName(ListBox1.SelectedIndex));
        }
Exemplo n.º 24
0
        private void ItmRpntBttn_Click(object sender, EventArgs e)
        {
            if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG" | MainObject.Header2 == "BPE")
            {
                string localReverseHEX()
                {
                    string argHEXData = Conversion.Hex(int.Parse(ItmImgPntrTextBox.Text, System.Globalization.NumberStyles.HexNumber) + 0x8000000); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart = ItemPicDataOff + ItemListComboBox.SelectedIndex * 8;
                string argData  = localReverseHEX();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
                string localReverseHEX1()
                {
                    string argHEXData = Conversion.Hex(int.Parse(ItmPlPntrTextBox.Text, System.Globalization.NumberStyles.HexNumber) + 0x8000000); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart1 = ItemPicDataOff + ItemListComboBox.SelectedIndex * 8 + 4;
                string argData1  = localReverseHEX1();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref argData1);
                ItemImagePictureBox.GetAndDrawItemPic(ItemListComboBox.SelectedIndex);
            }
            else
            {
            }
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            int indexbuff = ListBox1.SelectedIndex;

            if (MainObject.Header3 == "J")
            {
                if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV")
                {
                    MessageBox.Show("Support for this language has not been added yet!");
                    Environment.Exit(0);
                }
                else if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG")
                {
                    MessageBox.Show("Support for this language has not been added yet!");
                    Environment.Exit(0);
                }
                else if (MainObject.Header2 == "BPE")
                {
                    MessageBox.Show("Support for this language has not been added yet!");
                    Environment.Exit(0);
                }
            }
            else if (MainObject.Header2 == "AXP" | MainObject.Header2 == "AXV")
            {
                string localReverseHEX()
                {
                    string argHEXData = Conversion.Hex(Conversion.Val("&H" + Strings.Right("000000" + Pointer1.Text, 6)) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart = offset1 + 4 + 12 + indexbuff * MainObject.SkipVar;
                string argData  = localReverseHEX();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
                string localReverseHEX1()
                {
                    string argHEXData = Conversion.Hex(Conversion.Val("&H" + Strings.Right("000000" + Pointer2.Text, 6)) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart1 = offset1 + 8 + 12 + indexbuff * MainObject.SkipVar;
                string argData1  = localReverseHEX1();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref argData1);
                EnglishRSDescpLoad();
            }
            else if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG")
            {
                string localReverseHEX2()
                {
                    string argHEXData = Conversion.Hex(Conversion.Val("&H" + Strings.Right("000000" + Pointer1.Text, 6)) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart2 = offset1 + 4 + 12 + indexbuff * MainObject.SkipVar;
                string argData2  = localReverseHEX2();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart2, ref argData2);
                EnglishFRLGEDescpLoad();
            }
            else if (MainObject.Header2 == "BPE")
            {
                string localReverseHEX3()
                {
                    string argHEXData = Conversion.Hex(Conversion.Val("&H" + Strings.Right("000000" + Pointer1.Text, 6)) + 134217728d); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart3 = offset1 + 4 + 12 + indexbuff * MainObject.SkipVar;
                string argData3  = localReverseHEX3();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart3, ref argData3);
                EnglishFRLGEDescpLoad();
            }
        }
Exemplo n.º 26
0
        private void DscrpRpntBttn_Click(object sender, EventArgs e)
        {
            string localReverseHEX()
            {
                string argHEXData = Conversion.Hex(int.Parse(DescribPointTextBox.Text, System.Globalization.NumberStyles.HexNumber) + 0x8000000); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart = ItemBaseOff + 20 + ItemListComboBox.SelectedIndex * 44;
            string argData  = localReverseHEX();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
            MainObject.FileNum = FileSystem.FreeFile();
            FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
            string ItemDescp = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

            FileSystem.FileGet(MainObject.FileNum, ref ItemDescp, int.Parse(DescribPointTextBox.Text, System.Globalization.NumberStyles.HexNumber) + 1, true);
            ItemDescp = modTextSapp.Sapp2Asc(ItemDescp);
            ItemDescp = Strings.Mid(ItemDescp, 1, Strings.InStr(1, ItemDescp, @"\x"));
            ItemDescp = Strings.Replace(ItemDescp, @"\n", Constants.vbCrLf);
            ItemDescp = Strings.Replace(Strings.RTrim(ItemDescp), @"\", "");
            CurrentItemDescripLength = Strings.Len(DsrptnTextBox.Text);
            DsrptnTextBox.Text       = ItemDescp;
            FileSystem.FileClose(MainObject.FileNum);
        }
        private void ListBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (MainObject.Header2 == "BPE" & ListBox3.SelectedIndex < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfRegionDex", "")) + 1d)
            {
                string localReadHEX()
                {
                    int argStart2 = Offset3 + (ListBox3.SelectedIndex - 1) * 2; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX()
                {
                    string argHEXData = "hsc24c95ed690b4b8691b0dab7b5648150()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                ListBox4.SelectedIndex = int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber);
                GroupBox4.Enabled      = true;
            }
            else
            {
                GroupBox4.Enabled = false;
            }
        }
Exemplo n.º 28
0
        private void Button6_Click(object sender, EventArgs e)
        {
            string curdespoff;
            string destowrite;

            string localReadHEX()
            {
                int argStart2 = ItemBaseOff + 20 + ItemListComboBox.SelectedIndex * 44; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX()
            {
                string argHEXData = "hsaf5c55f747424550b1b1f22d2b486acc()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            curdespoff = Conversion.Hex(int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
            destowrite = modTextSapp.Asc2Sapp(Strings.Replace(DsrptnTextBox.Text, Constants.vbCrLf, @"\n") + @"\x");
            if (Strings.Len(DsrptnTextBox.Text) > CurrentItemDescripLength)
            {
                var result = MessageBox.Show("The text will be written to free space and the pointer will be repointed. Would you like to do that?", "Repoint?", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    string newtextoff;
                    newtextoff         = modSearchFreeSpace.SearchFreeSpaceFourAligned(MainObject.LoadedRom, 0xFF, Strings.Len(destowrite + " "), Conversions.ToLong("&H" + Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "StartSearchingForSpaceOffset", "800000"))).ToString();
                    MainObject.FileNum = FileSystem.FreeFile();
                    FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                    FileSystem.FilePut(MainObject.FileNum, destowrite + " ", (long)(Conversions.ToDouble("&H" + Conversion.Hex(newtextoff)) + 1d), false);
                    FileSystem.FileClose(MainObject.FileNum);
                    DescribPointTextBox.Text = Conversion.Hex(newtextoff);
                    DscrpRpntBttn.PerformClick();
                    Label21.Text      = "Length: " + Strings.Len(DsrptnTextBox.Text) + "/" + CurrentItemDescripLength;
                    Label21.ForeColor = Color.Black;
                    if (Strings.Len(DsrptnTextBox.Text) > CurrentItemDescripLength)
                    {
                        Label21.Text      = Label21.Text + " Requires repoint!";
                        Label21.ForeColor = Color.Red;
                    }
                }
                else
                {
                }
            }
            else
            {
                MainObject.FileNum = FileSystem.FreeFile();
                FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
                FileSystem.FilePut(MainObject.FileNum, destowrite, (long)(Conversions.ToDouble("&H" + curdespoff) + 1d), false);
                FileSystem.FileClose(MainObject.FileNum);
                DescribPointTextBox.Text = curdespoff;
            }
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            MainObject.I = ListBox1.SelectedIndex;
            // makes i be the list index so that the location of the pokemon's dex number can be calculated
            string localReverseHEX()
            {
                string argHEXData = Strings.Right("0000" + Conversion.Hex(ListBox2.SelectedIndex), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart = Offset1 + MainObject.I * 2;
            string argData  = localReverseHEX();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart, ref argData);
            string localReverseHEX1()
            {
                string argHEXData = Strings.Right("0000" + Conversion.Hex(ListBox3.SelectedIndex), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            int    argStart1 = Offset2 + MainObject.I * 2;
            string argData1  = localReverseHEX1();

            HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart1, ref argData1);
            if (MainObject.Header2 == "BPE" & ListBox3.SelectedIndex < Conversions.ToDouble(Ini.GetString(Conversions.ToString(MMainFunctions.GetIniFileLocation()), MainObject.Header, "NumberOfRegionDex", "")) + 1d)
            {
                string localReverseHEX2()
                {
                    string argHEXData = Strings.Right("0000" + Conversion.Hex(ListBox4.SelectedIndex), 4); var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                int    argStart2 = Offset3 + (ListBox3.SelectedIndex - 1) * 2;
                string argData2  = localReverseHEX2();
                HexFunctions.WriteHex(ref MainObject.LoadedRom, ref argStart2, ref argData2);
            }
        }
Exemplo n.º 30
0
        private void ItemListComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ChangeNameTextBox.Text = Conversions.ToString(GetNameFunctions.GetItemName(ItemListComboBox.SelectedIndex));
            string localReadHEX()
            {
                int argStart2 = ItemBaseOff + 14 + ItemListComboBox.SelectedIndex * 44; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX()
            {
                string argHEXData = "hs6ba810b4f75a4c15974aa62265811b79()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            IndexTextBox.Text = int.Parse(localReverseHEX(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX1()
            {
                int argStart2 = ItemBaseOff + 16 + ItemListComboBox.SelectedIndex * 44; int argLength = 2; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX1()
            {
                string argHEXData = "hs60050791d4834f8bb044394edaaa6d42()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            PriceTextBox.Text = int.Parse(localReverseHEX1(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX2()
            {
                int argStart2 = ItemBaseOff + 18 + ItemListComboBox.SelectedIndex * 44; int argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            HoldEffectTextBox.Text = int.Parse(localReadHEX2(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX3()
            {
                int argStart2 = ItemBaseOff + 19 + ItemListComboBox.SelectedIndex * 44; int argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            ValueTextBox.Text = int.Parse(localReadHEX3(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX4()
            {
                int argStart2 = ItemBaseOff + 20 + ItemListComboBox.SelectedIndex * 44; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX2()
            {
                string argHEXData = "hsed539af93708412b9ee55aeb1efcb754()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            DescribPointTextBox.Text = Conversion.Hex(int.Parse(localReverseHEX2(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
            string localReadHEX5()
            {
                int argStart2 = ItemBaseOff + 24 + ItemListComboBox.SelectedIndex * 44; int argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            MysteryValue1TextBox.Text = int.Parse(localReadHEX5(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX6()
            {
                int argStart2 = ItemBaseOff + 25 + ItemListComboBox.SelectedIndex * 44; int argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            MysteryValue2TextBox.Text = int.Parse(localReadHEX6(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX7()
            {
                int argStart2 = ItemBaseOff + 26 + ItemListComboBox.SelectedIndex * 44; int argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            PocketComboBox.SelectedIndex = int.Parse(localReadHEX7(), System.Globalization.NumberStyles.HexNumber);
            string localReadHEX8()
            {
                int argStart2 = ItemBaseOff + 27 + ItemListComboBox.SelectedIndex * 44; int argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            TypeTextBox.Text = int.Parse(localReadHEX8(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX9()
            {
                int argStart2 = ItemBaseOff + 28 + ItemListComboBox.SelectedIndex * 44; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX3()
            {
                string argHEXData = "hs20eb49b2024b42d8bd7e6bdc50146eba()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            FieldUsagePTTextBox.Text = Conversion.Hex(int.Parse(localReverseHEX3(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
            string localReadHEX10()
            {
                int argStart2 = ItemBaseOff + 36 + ItemListComboBox.SelectedIndex * 44; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string localReverseHEX4()
            {
                string argHEXData = "hsdda3f21722cd4fc797d2737477d76dae()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
            }

            BattleUsagePTTextBox.Text = Conversion.Hex(int.Parse(localReverseHEX4(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
            string localReadHEX11()
            {
                int argStart2 = ItemBaseOff + 32 + ItemListComboBox.SelectedIndex * 44; int argLength = 1; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            BUTextBox.Text = int.Parse(localReadHEX11(), System.Globalization.NumberStyles.HexNumber).ToString();
            string localReadHEX12()
            {
                int argStart2 = ItemBaseOff + 40 + ItemListComboBox.SelectedIndex * 44; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
            }

            string argHEXData = localReadHEX12();

            ExtParTxt.Text     = HexFunctions.ReverseHex(ref argHEXData);
            MainObject.FileNum = FileSystem.FreeFile();
            FileSystem.FileOpen(MainObject.FileNum, MainObject.LoadedRom, OpenMode.Binary);
            string ItemDescp = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

            FileSystem.FileGet(MainObject.FileNum, ref ItemDescp, int.Parse(DescribPointTextBox.Text, System.Globalization.NumberStyles.HexNumber) + 1, true);
            ItemDescp = modTextSapp.Sapp2Asc(ItemDescp);
            ItemDescp = Strings.Mid(ItemDescp, 1, Strings.InStr(1, ItemDescp, @"\x"));
            ItemDescp = Strings.Replace(ItemDescp, @"\n", Constants.vbCrLf);
            ItemDescp = Strings.Replace(Strings.RTrim(ItemDescp), @"\", "");
            CurrentItemDescripLength = Strings.Len(ItemDescp);
            DsrptnTextBox.Text       = ItemDescp;
            FileSystem.FileClose(MainObject.FileNum);
            if (MainObject.Header2 == "BPR" | MainObject.Header2 == "BPG" | MainObject.Header2 == "BPE")
            {
                string localReadHEX13()
                {
                    int argStart2 = ItemPicDataOff + ItemListComboBox.SelectedIndex * 8; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX5()
                {
                    string argHEXData = "hs5c8ab353b0ae4ee2b34c7cbfa87a343a()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                ItmImgPntrTextBox.Text = Conversion.Hex(int.Parse(localReverseHEX5(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
                string localReadHEX14()
                {
                    int argStart2 = ItemPicDataOff + ItemListComboBox.SelectedIndex * 8 + 4; int argLength = 4; var ret = HexFunctions.ReadHex(ref MainObject.LoadedRom, ref argStart2, ref argLength); return(ret);
                }

                string localReverseHEX6()
                {
                    string argHEXData = "hsca9031e9b9a64247b36900b414bf046b()"; var ret = HexFunctions.ReverseHex(ref argHEXData); return(ret);
                }

                ItmPlPntrTextBox.Text = Conversion.Hex(int.Parse(localReverseHEX6(), System.Globalization.NumberStyles.HexNumber) - 0x8000000);
                ItemImagePictureBox.GetAndDrawItemPic(ItemListComboBox.SelectedIndex);
            }
            else
            {
            }
        }