PokemonGameEditor/GBAPokemonGameEditor/Pokemonedit.vb
Dreuu 414b4e680e Fixed Single Cry Import
Fixed single cry import to immediatly change loaded cry when a cry is imported. Also, the import all function isn't done for broad use. It skips past the default mons(to index 440), and loads specifically for my rom.
2018-08-03 21:14:41 -04:00

4236 lines
183 KiB
VB.net

Option Strict Off
Option Explicit On
Imports System.IO.Directory
Imports System.Windows.Forms.Application
Imports System.Net
Imports VB = Microsoft.VisualBasic
Public Class Pokemonedit
Dim baseoff As Integer
Dim FrontSpritePointers As Integer
Dim BackSpritePointers As Integer
Dim NormalPalPointers As Integer
Dim ShinyPalPointers As Integer
Dim AnimationPointers As Integer
Dim IconPointers As Integer
Dim IconPalTable As Integer
Dim EvoData As Integer
Dim TMHMAttacks As Integer
Dim TMHMCompoLoc As Integer
Dim AttackTable As Integer
Dim FootPrintTable As Integer
Dim CryTable As Integer
Dim CryTable2 As Integer
Dim CryTable3 As Integer
Dim MTattacks As Integer
Dim MTCompoLoc As Integer
Dim DexDescripLength1 As Integer
Dim DexDescripLength2 As Integer
Dim Tab1LoadedMon As Integer
Dim Tab2LoadedMon As Integer
Dim Tab3LoadedMon As Integer
Dim Tab4LoadedMon As Integer
Dim Tab5LoadedMon As Integer
Dim Tab6LoadedMon As Integer
Private Sub Pokemonedit_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
MainFrm.Visible = True
End Sub
Private Sub Pokemonedit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' ledrom = New ROM(LoadedROM)
Type1.Items.Clear()
Type2.Items.Clear()
Type1.Items.AddRange(IO.File.ReadAllLines(AppPath & "txt\PGETypeList.txt"))
Type2.Items.AddRange(IO.File.ReadAllLines(AppPath & "txt\PGETypeList.txt"))
BackgroundBox.Image = Image.FromFile(AppPath & "img\BattlePreviewBackground.png")
Dim LoopVar As Integer
LoopVar = 0
EvoTypes.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfEvolutionTypes", "") + 1) = True
EvoTypes.Items.Add(GetString(GetINIFileLocation(), header, "EvolutionName" & LoopVar, "Filler"))
LoopVar = LoopVar + 1
End While
LoopVar = 0
EvoSlots.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")) = True
LoopVar = LoopVar + 1
EvoSlots.Items.Add("Evolution " & (LoopVar))
End While
LoopVar = 0
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfMapLabels", ""))
ComboBox2.Items.Add(GetMapLabelName(LoopVar))
LoopVar = LoopVar + 1
End While
LoopVar = 0
NewAt.Items.Clear()
ComboBox3.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfAttacks", "")) + 1 = True
NewAt.Items.Add(GetAttackName(LoopVar))
ComboBox3.Items.Add(GetAttackName(LoopVar))
LoopVar = LoopVar + 1
End While
LoopVar = 0
PKMNames.Items.Clear()
EvoPKMNames.Items.Clear()
ComboBox1.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
LoopVar = LoopVar + 1
PKMNames.Items.Add(GetPokemonName(LoopVar))
EvoPKMNames.Items.Add(GetPokemonName(LoopVar))
ComboBox1.Items.Add(GetPokemonName(LoopVar))
End While
LoopVar = 0
Item1.Items.Clear()
Item2.Items.Clear()
EvoItem.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfItems", "")) = True
Item1.Items.Add(GetItemName(LoopVar))
Item2.Items.Add(GetItemName(LoopVar))
EvoItem.Items.Add(GetItemName(LoopVar))
LoopVar = LoopVar + 1
End While
LoopVar = 0
Ab1.Items.Clear()
Ab2.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfAbilities", "")) = True
Ab1.Items.Add(GetAbilityName(LoopVar))
Ab2.Items.Add(GetAbilityName(LoopVar))
LoopVar = LoopVar + 1
End While
If header2 = "BPR" Or header2 = "BPG" Then
ItmAnmtn.Enabled = True
ItmAnmtn.Text = ""
Else
ItmAnmtn.Enabled = False
ItmAnmtn.Text = ""
End If
If header2 = "AXP" Or header2 = "AXV" Then
Pointer2.Enabled = True
Description2.Enabled = True
Else
Pointer2.Enabled = False
Description2.Enabled = False
End If
TMHMLoad()
MTLoad()
PKMNames.SelectedIndex = 0
Me.Cursor = Cursors.Arrow
End Sub
Private Sub Baseload()
baseoff = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonData", "")), System.Globalization.NumberStyles.HexNumber)
HpBase.Text = Int32.Parse(((ReadHEX(LoadedROM, (baseoff) + 28 + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
AtBase.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 1) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
DefBase.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 2) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
SpeedBase.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 3) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
SpAttBase.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 4) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
SpDefBase.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 5) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
CatchBase.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 8) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
RunBase.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 24) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
Item1.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 12) + (i * 28), 2))), System.Globalization.NumberStyles.HexNumber)
Item2.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 14) + (i * 28), 2))), System.Globalization.NumberStyles.HexNumber)
Type1.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 6) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
Type2.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 7) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
Ab1.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 22) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
Ab2.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 23) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
Ev1.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 10) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
Ev2.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 11) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
EggType1.SelectedIndex = (Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 20) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber))
EggType2.SelectedIndex = (Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 21) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber))
Bexp.Text = Int32.Parse(((ReadHEX(LoadedROM, ((baseoff) + 28 + 9) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
Grate.SelectedIndex = (Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 19) + 28 + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber))
PadBase.Text = ((ReadHEX(LoadedROM, ((baseoff) + 28 + 26) + (i * 28), 2)))
If ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "00" Then
SHVal.Enabled = False
SH1.Checked = True
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 0
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "05" Then
SHVal.Enabled = False
SH1.Checked = True
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 1
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "0A" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 2
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "0F" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 3
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "14" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 4
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "19" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 5
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "1E" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 6
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "23" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 7
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "28" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 8
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "50" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 9
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1))) = "78" Then
SH1.Checked = True
SHVal.Enabled = False
SHCombo1.Enabled = True
SHCombo1.SelectedIndex = 10
Else
SH2.Checked = True
SHCombo1.Enabled = False
SHVal.Enabled = True
SHVal.Text = ((ReadHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), 1)))
End If
If Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 25) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber) < 10 Then
Rght1.Checked = True
Clr1.SelectedIndex = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 25) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)
ElseIf Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 25) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber) > 10 Then
Lft1.Checked = True
Clr1.SelectedIndex = (Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((baseoff) + 28 + 25) + (i * 28), 1))), System.Globalization.NumberStyles.HexNumber)) - 128
End If
If ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) = "00" Then
HPVal.Enabled = False
HP1.Checked = True
HPCombo1.Enabled = True
HPCombo1.SelectedIndex = 0
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) = "23" Then
HPVal.Enabled = False
HP1.Checked = True
HPCombo1.Enabled = True
HPCombo1.SelectedIndex = 1
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) = "46" Then
HP1.Checked = True
HPVal.Enabled = False
HPCombo1.Enabled = True
HPCombo1.SelectedIndex = 2
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) = "5A" Then
HP1.Checked = True
HPVal.Enabled = False
HPCombo1.Enabled = True
HPCombo1.SelectedIndex = 3
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) = "64" Then
HP1.Checked = True
HPVal.Enabled = False
HPCombo1.Enabled = True
HPCombo1.SelectedIndex = 4
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) = "8C" Then
HP1.Checked = True
HPVal.Enabled = False
HPCombo1.Enabled = True
HPCombo1.SelectedIndex = 5
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) = "FF" Then
HP1.Checked = True
HPVal.Enabled = False
HPCombo1.Enabled = True
HPCombo1.SelectedIndex = 6
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1))) <> "00" And ((ReadHEX(LoadedROM, (("&H" & baseoff) + 18) + (i * 28), 1))) <> "23" And ((ReadHEX(LoadedROM, (("&H" & baseoff) + 18) + (i * 28), 1))) <> "46" And ((ReadHEX(LoadedROM, (("&H" & baseoff) + 18) + (i * 28), 1))) <> "5A" And ((ReadHEX(LoadedROM, (("&H" & baseoff) + 18) + (i * 28), 1))) <> "64" And ((ReadHEX(LoadedROM, (("&H" & baseoff) + 18) + (i * 28), 1))) <> "8C" And ((ReadHEX(LoadedROM, (("&H" & baseoff) + 18) + (i * 28), 1))) <> "FF" Then
HP2.Checked = True
HPCombo1.Enabled = False
HPVal.Enabled = True
HPVal.Text = ((ReadHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), 1)))
End If
If ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "00" Then
GVal.Enabled = False
G1.Checked = True
GCombo1.Enabled = True
GCombo1.SelectedIndex = 0
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "1F" Then
GVal.Enabled = False
G1.Checked = True
GCombo1.Enabled = True
GCombo1.SelectedIndex = 1
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "3F" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 2
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "59" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 3
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "7F" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 4
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "A5" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 5
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "BF" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 6
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "DF" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 7
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "FE" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 8
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) = "FF" Then
G1.Checked = True
GVal.Enabled = False
GCombo1.Enabled = True
GCombo1.SelectedIndex = 9
ElseIf ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1))) <> "00" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "1F" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "3F" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "59" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "7F" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "A5" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "BF" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "DF" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "FE" And ((ReadHEX(LoadedROM, ((baseoff) + 16) + (i * 28), 1))) <> "FF" Then
G2.Checked = True
GCombo1.Enabled = False
GVal.Enabled = True
GVal.Text = ((ReadHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), 1)))
End If
End Sub
Private Sub BaseSave()
WriteHEX(LoadedROM, (baseoff) + 28 + (i * 28), Hex(HpBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 1) + (i * 28), Hex(AtBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 2) + (i * 28), Hex(DefBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 3) + (i * 28), Hex(SpeedBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 4) + (i * 28), Hex(SpAttBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 5) + (i * 28), Hex(SpDefBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 8) + (i * 28), Hex(CatchBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 24) + (i * 28), Hex(RunBase.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 12) + (i * 28), ReverseHEX(VB.Right("0000" & Hex(Item1.SelectedIndex), 4)))
WriteHEX(LoadedROM, ((baseoff) + 28 + 14) + (i * 28), ReverseHEX(VB.Right("0000" & Hex(Item2.SelectedIndex), 4)))
WriteHEX(LoadedROM, ((baseoff) + 28 + 6) + (i * 28), Hex(Type1.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 7) + (i * 28), Hex(Type2.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 22) + (i * 28), Hex(Ab1.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 23) + (i * 28), Hex(Ab2.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 10) + (i * 28), Hex(Ev1.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 11) + (i * 28), Hex(Ev2.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 20) + (i * 28), Hex(EggType1.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 21) + (i * 28), Hex(EggType2.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 9) + (i * 28), Hex(Bexp.Text))
WriteHEX(LoadedROM, ((baseoff) + 28 + 19) + (i * 28), Hex(Grate.SelectedIndex))
WriteHEX(LoadedROM, ((baseoff) + 28 + 26) + (i * 28), (PadBase.Text))
If SH1.Checked = True Then
If SHCombo1.SelectedIndex = 0 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "00")
ElseIf SHCombo1.SelectedIndex = 1 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "05")
ElseIf SHCombo1.SelectedIndex = 2 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "0A")
ElseIf SHCombo1.SelectedIndex = 3 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "0F")
ElseIf SHCombo1.SelectedIndex = 4 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "14")
ElseIf SHCombo1.SelectedIndex = 5 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "19")
ElseIf SHCombo1.SelectedIndex = 6 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "1E")
ElseIf SHCombo1.SelectedIndex = 7 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "23")
ElseIf SHCombo1.SelectedIndex = 8 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "28")
ElseIf SHCombo1.SelectedIndex = 9 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "50")
ElseIf SHCombo1.SelectedIndex = 10 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), "78")
End If
ElseIf SH2.Checked = True Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 17) + (i * 28), SHVal.Text)
End If
If Rght1.Checked = True Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 25) + (i * 28), Hex(Clr1.SelectedIndex))
ElseIf Lft1.Checked = True Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 25) + (i * 28), Hex(128 + Clr1.SelectedIndex))
End If
If HP1.Checked = True Then
If HPCombo1.SelectedIndex = 0 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), "00")
ElseIf HPCombo1.SelectedIndex = 1 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), "23")
ElseIf HPCombo1.SelectedIndex = 2 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), "46")
ElseIf HPCombo1.SelectedIndex = 3 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), "5A")
ElseIf HPCombo1.SelectedIndex = 4 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), "64")
ElseIf HPCombo1.SelectedIndex = 5 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), "8C")
ElseIf HPCombo1.SelectedIndex = 6 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), "FF")
End If
ElseIf HP2.Checked = True Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 18) + (i * 28), HPVal.Text)
End If
If G1.Checked = True Then
If GCombo1.SelectedIndex = 0 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "00")
ElseIf GCombo1.SelectedIndex = 1 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "1F")
ElseIf GCombo1.SelectedIndex = 2 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "3F")
ElseIf GCombo1.SelectedIndex = 3 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "59")
ElseIf GCombo1.SelectedIndex = 4 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "7F")
ElseIf GCombo1.SelectedIndex = 5 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "A5")
ElseIf GCombo1.SelectedIndex = 6 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "BF")
ElseIf GCombo1.SelectedIndex = 7 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "DF")
ElseIf GCombo1.SelectedIndex = 8 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "FE")
ElseIf GCombo1.SelectedIndex = 9 Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), "FF")
End If
ElseIf G2.Checked = True Then
WriteHEX(LoadedROM, ((baseoff) + 28 + 16) + (i * 28), GVal.Text)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
i = PKMNames.SelectedIndex
LoadUnloadedTabs()
BaseSave()
EvoSave()
TMHMCOMSave()
MTComSave()
DexDataSave()
SaveSpritePosition()
If header2 = "BPR" Or header2 = "BPG" Then
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "ItemAnimationTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 5), ItmAnmtn.Text)
ItmAnmtn.Text = ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "ItemAnimationTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 5), 5)
Else
ItmAnmtn.Enabled = False
End If
End Sub
Private Sub MediaLoad()
i = PKMNames.SelectedIndex
FrontSpritePointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonFrontSprites", "")), System.Globalization.NumberStyles.HexNumber)
BackSpritePointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonBackSprites", "")), System.Globalization.NumberStyles.HexNumber)
NormalPalPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonNormalPal", "")), System.Globalization.NumberStyles.HexNumber)
ShinyPalPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonShinyPal", "")), System.Globalization.NumberStyles.HexNumber)
IconPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "IconPointerTable", "")), System.Globalization.NumberStyles.HexNumber)
IconPalTable = Int32.Parse((GetString(GetINIFileLocation(), header, "IconPalTable", "")), System.Globalization.NumberStyles.HexNumber)
FootPrintTable = Int32.Parse((GetString(GetINIFileLocation(), header, "FootPrintTable", "")), System.Globalization.NumberStyles.HexNumber)
FrontPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (FrontSpritePointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
BackPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (BackSpritePointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
ShinyPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (ShinyPalPointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
NormalPointer.Text = (Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (NormalPalPointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000))
IconPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (IconPointers) + (4) + (i * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
IconPal.SelectedIndex = Int32.Parse(((ReadHEX(LoadedROM, (IconPalTable) + (1) + (i), 1))), System.Globalization.NumberStyles.HexNumber)
FootPrintPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (FootPrintTable) + (4) + (i * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
AnimationPointer.Text = ""
AniPic.Image = Nothing
If GetString(AppPath & "GBAPGESettings.ini", "Settings", "DisablePKMImages", "0") = "0" Then
If header2 = "BPE" Then
GroupBox15.Enabled = True
Button2.Enabled = True
AnimationPointer.Enabled = True
AnimationPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonAnimations", "")), System.Globalization.NumberStyles.HexNumber)
AnimationPointer.Text = (Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AnimationPointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000))
'GetAndDrawAnimationPokemonPic(AniPic, i + 1)
'GetAndDrawAnimationPokemonPicShiny(AniPic2, i + 1)
TextBox8.Text = (Int32.Parse(((ReadHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "FrontAnimationTable", "")), System.Globalization.NumberStyles.HexNumber)) + (i), 1))), System.Globalization.NumberStyles.HexNumber))
TextBox9.Text = (Int32.Parse(((ReadHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "BackAnimTable", "")), System.Globalization.NumberStyles.HexNumber)) + (1) + (i), 1))), System.Globalization.NumberStyles.HexNumber))
TextBox10.Text = (Int32.Parse(((ReadHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "AnimDelayTable", "")), System.Globalization.NumberStyles.HexNumber)) + (i), 1))), System.Globalization.NumberStyles.HexNumber))
Else
GroupBox15.Enabled = False
Button2.Enabled = False
AnimationPointer.Enabled = False
End If
End If
End Sub
Private Sub LoadCryWindow()
CryTable = Int32.Parse((GetString(GetINIFileLocation(), header, "CryTable", "")), System.Globalization.NumberStyles.HexNumber)
CryTable2 = Int32.Parse((GetString(GetINIFileLocation(), header, "CryConversionTable", "")), System.Globalization.NumberStyles.HexNumber)
CryTable3 = Int32.Parse((GetString(GetINIFileLocation(), header, "CryTable2", "")), System.Globalization.NumberStyles.HexNumber)
'cry stuff with conversion table support
If (i + 1) < 252 Then
GroupBox21.Enabled = True
GroupBox34.Enabled = True
GroupBox35.Enabled = True
CryPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (CryTable) + (4) + (i * 12), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
CryConver.Text = ""
CryPointer2.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (CryTable3) + (4) + (i * 12), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
CryComp1.Text = Hex(Int32.Parse(((ReadHEX(LoadedROM, (CryTable) + (i * 12), 1))), System.Globalization.NumberStyles.HexNumber))
CryComp2.Text = Hex(Int32.Parse(((ReadHEX(LoadedROM, (CryTable3) + (i * 12), 1))), System.Globalization.NumberStyles.HexNumber))
crynorm = LoadCry(i, CryTable)
crygrowl = LoadCry(i, CryTable3)
Label53.Text = "Sample Rate: " & crynorm.SampleRate & " Hz"
Label54.Text = "Sample Rate: " & crygrowl.SampleRate & " Hz"
Label55.Text = "Size: " & crynorm.Data.Length & " samples"
Label56.Text = "Size: " & crygrowl.Data.Length & " samples"
chkCompressed1.Checked = crynorm.Compressed
chkCompressed2.Checked = crygrowl.Compressed
pSample.Image = GetCryImage(crynorm)
pSample2.Image = GetCryImage(crygrowl)
'Label53.Text = "Sample Rate: " & ((Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ("&H" & CryPointer.Text) + (4), 4)))), System.Globalization.NumberStyles.HexNumber)) >> 10) & " Hz"
'Label54.Text = "Sample Rate: " & ((Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ("&H" & CryPointer2.Text) + (4), 4)))), System.Globalization.NumberStyles.HexNumber)) >> 10) & " Hz"
'Label55.Text = "Size: " & ((Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ("&H" & CryPointer.Text) + (12), 4)))), System.Globalization.NumberStyles.HexNumber)) + 1) & " samples"
'Label56.Text = "Size: " & ((Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ("&H" & CryPointer2.Text) + (12), 4)))), System.Globalization.NumberStyles.HexNumber)) + 1) & " samples"
CryConver.Enabled = False
Button13.Enabled = False
ElseIf (i + 1) > 251 And (i + 1) <= 276 Then
GroupBox21.Enabled = False
GroupBox34.Enabled = False
GroupBox35.Enabled = False
CryPointer.Text = ""
CryPointer2.Text = ""
CryConver.Text = ""
CryComp1.Text = ""
CryComp2.Text = ""
Label53.Text = "Sample Rate: " & 0 & " Hz"
Label54.Text = "Sample Rate: " & 0 & " Hz"
Label55.Text = "Size: 0 samples"
Label56.Text = "Size: 0 samples"
chkCompressed1.Checked = False
chkCompressed2.Checked = False
'pSample.Image.Dispose()
'pSample2.Image.Dispose()
End If
If (i + 1) > 276 Then 'And (i + 1) < 440
GroupBox21.Enabled = True
CryConver.Enabled = True
Button13.Enabled = True
GroupBox34.Enabled = True
GroupBox35.Enabled = True
' MsgBox((CryTable2) + ((i - 276) * 2))
CryConver.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber)
CryPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable) + (4)) + ((CryConver.Text) * 12), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
CryPointer2.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable3) + (4)) + ((CryConver.Text) * 12), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
CryComp1.Text = Hex(Int32.Parse(((ReadHEX(LoadedROM, (CryTable) + ((CryConver.Text) * 12), 1))), System.Globalization.NumberStyles.HexNumber))
CryComp2.Text = Hex(Int32.Parse(((ReadHEX(LoadedROM, (CryTable3) + ((CryConver.Text) * 12), 1))), System.Globalization.NumberStyles.HexNumber))
crynorm = LoadCry(i, CryTable)
crygrowl = LoadCry(i, CryTable3)
Label53.Text = "Sample Rate: " & crynorm.SampleRate & " Hz"
Label54.Text = "Sample Rate: " & crygrowl.SampleRate & " Hz"
Label55.Text = "Size: " & crynorm.Data.Length & " samples"
Label56.Text = "Size: " & crygrowl.Data.Length & " samples"
chkCompressed1.Checked = crynorm.Compressed
chkCompressed2.Checked = crygrowl.Compressed
pSample.Image = GetCryImage(crynorm)
pSample2.Image = GetCryImage(crygrowl)
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If header2 = "BPE" Then
i = PKMNames.SelectedIndex
WriteHEX(LoadedROM, (AnimationPointers) + (8) + (i * 8), ReverseHEX(Hex(Int32.Parse(((AnimationPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
If GetString(AppPath & "GBAPGESettings.ini", "Settings", "DisablePKMImages", "0") = "0" Then
GetAndDrawAnimationPokemonPic(AniPic, i + 1)
GetAndDrawAnimationPokemonPicShiny(AniPic2, i + 1)
End If
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
i = PKMNames.SelectedIndex
WriteHEX(LoadedROM, (FrontSpritePointers) + (8) + (i * 8), ReverseHEX(Hex(Int32.Parse(((FrontPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (BackSpritePointers) + (8) + (i * 8), ReverseHEX(Hex(Int32.Parse(((BackPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (ShinyPalPointers) + (8) + (i * 8), ReverseHEX(Hex(Int32.Parse(((ShinyPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (NormalPalPointers) + (8) + (i * 8), ReverseHEX(Hex(Int32.Parse(((NormalPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
If GetString(AppPath & "GBAPGESettings.ini", "Settings", "DisablePKMImages", "0") = "0" Then
GetAndDrawFrontPokemonPic(FrntPic, i + 1)
GetAndDrawBackPokemonPic(BckPic2, i + 1)
GetAndDrawFrontPokemonPicShiny(FrntPic2, i + 1)
GetAndDrawBackPokemonPicNormal(BckPic, i + 1)
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
i = PKMNames.SelectedIndex
WriteHEX(LoadedROM, (IconPointers) + (4) + (i * 4), ReverseHEX(Hex(Int32.Parse(((IconPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (IconPalTable) + (1) + (i), (Hex(Val(IconPal.SelectedIndex))))
GetAndDrawPokemonIconPic(IconPicBox, i + 1, IconPal.SelectedIndex)
End Sub
Private Sub EvoSlots_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EvoSlots.SelectedIndexChanged
Dim loopy As Integer = 0
EvoData = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonEvolutions", "")), System.Globalization.NumberStyles.HexNumber)
'Reset the evolution stuff!
EvoTypes.SelectedIndex = -1
EvoPKMNames.Enabled = False
EvoItem.Enabled = False
EvoPKMNames.Enabled = False
EvoLevel.Enabled = False
EvoItem.SelectedIndex = -1
EvoLevel.Text = ""
EvoPKMNames.SelectedIndex = -1
'attack
ComboBox3.Enabled = False
ComboBox3.SelectedIndex = -1
'map name
ComboBox2.Enabled = False
ComboBox2.SelectedIndex = -1
'bank and map
TextBox1.Enabled = False
TextBox1.Text = ""
TextBox2.Enabled = False
TextBox2.Text = ""
'species
ComboBox1.Enabled = False
ComboBox1.SelectedIndex = -1
'value
TextBox6.Text = ""
TextBox6.Enabled = False
EvoTypes.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber)
'This will enable the right stuff
If (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "none" Then
EvoPKMNames.Enabled = False
EvoItem.Enabled = False
EvoPKMNames.Enabled = False
EvoLevel.Enabled = False
EvoItem.SelectedIndex = -1
EvoLevel.Text = ""
EvoPKMNames.SelectedIndex = -1
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "evolvesbutnoparms" Then
EvoPKMNames.SelectedIndex = -1
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
EvoLevel.Enabled = False
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "level" Then
EvoLevel.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber)
EvoPKMNames.SelectedIndex = -1
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
EvoLevel.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "item" Then
EvoItem.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber)
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
EvoItem.Enabled = True
EvoLevel.Enabled = False
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "attack" Then
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
ComboBox3.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber)
ComboBox3.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "mapname" Then
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
If header2 = "BPR" Or header2 = "BPG" Then
ComboBox2.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber) - 88
ComboBox2.Enabled = True
ElseIf header2 = "BPE" Then
ComboBox2.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
ComboBox2.Enabled = True
ElseIf header2 = "AXP" Or header2 = "AXV" Then
ComboBox2.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
ComboBox2.Enabled = True
End If
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "species" Then
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
ComboBox1.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
ComboBox1.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "bankandmap" Then
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
TextBox1.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
TextBox2.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (3) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
TextBox1.Enabled = True
TextBox2.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "evolvesbasedonvalue" Then
EvoPKMNames.SelectedIndex = -1
EvoPKMNames.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber) - 1
EvoPKMNames.Enabled = True
EvoLevel.Enabled = False
TextBox6.Enabled = True
TextBox6.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), 2)))), System.Globalization.NumberStyles.HexNumber)
End If
End Sub
Private Sub SH1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
SHCombo1.Enabled = True
SHVal.Enabled = False
End Sub
Private Sub SH2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
SHCombo1.Enabled = False
SHVal.Enabled = True
End Sub
Private Sub HP1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HP1.CheckedChanged
HPCombo1.Enabled = True
HPVal.Enabled = False
End Sub
Private Sub HP2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HP2.CheckedChanged
HPCombo1.Enabled = False
HPVal.Enabled = True
End Sub
Private Sub G1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles G1.CheckedChanged
GCombo1.Enabled = True
GVal.Enabled = False
End Sub
Private Sub G2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles G2.CheckedChanged
GCombo1.Enabled = False
GVal.Enabled = True
End Sub
Private Sub EvoSave()
If (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "none" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "evolvesbutnoparms" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "level" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(Hex(EvoLevel.Text)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (3) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(Hex("00")))
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "item" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoItem.SelectedIndex)), 4)))
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "attack" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(ComboBox3.SelectedIndex)), 4)))
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "mapname" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
If header2 = "BPR" Or header2 = "BPG" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(Hex(ComboBox2.SelectedIndex + 88)))
ElseIf header2 = "BPE" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(Hex(ComboBox2.SelectedIndex)))
ElseIf header2 = "AXP" Or header2 = "AXV" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(Hex(ComboBox2.SelectedIndex)))
End If
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "species" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(ComboBox1.SelectedIndex) + 1), 4)))
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "bankandmap" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(Hex(TextBox1.Text)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (3) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(Hex(TextBox2.Text)))
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "evolvesbasedonvalue" Then
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (0) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), Hex(EvoTypes.SelectedIndex))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (4) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(EvoPKMNames.SelectedIndex) + 1), 4)))
WriteHEX(LoadedROM, (EvoData) + (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", ""))) + (2) + ((PKMNames.SelectedIndex) * (8 * (GetString(GetINIFileLocation(), header, "NumberOfEvolutionsPerPokemon", "")))) + (EvoSlots.SelectedIndex * 8), ReverseHEX(VB.Right("0000" & Hex(Val(TextBox6.Text)), 4)))
End If
End Sub
Private Sub EvoPKMNames_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EvoPKMNames.SelectedIndexChanged
If GetString(AppPath & "GBAPGESettings.ini", "Settings", "DisablePKMImages", "0") = "0" Then
If EvoPKMNames.SelectedIndex + 1 > 0 Then
GetAndDrawFrontPokemonPic(EvoPokePic, EvoPKMNames.SelectedIndex + 1)
Else
EvoPokePic.Image = Nothing
End If
End If
End Sub
Private Sub EvoItem_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EvoItem.SelectedIndexChanged
If EvoItem.SelectedIndex > -1 Then
If header2 = "BPR" Or header2 = "BPG" Then
GetAndDrawItemPic(EvoItemPic, EvoItem.SelectedIndex)
ElseIf header2 = "BPE" Then
GetAndDrawItemPic(EvoItemPic, EvoItem.SelectedIndex)
ElseIf header2 = "AXP" Or header2 = "AXV" Then
EvoItemPic.Image = Nothing
End If
Else
EvoItemPic.Image = Nothing
End If
End Sub
Private Sub Item1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Item1.SelectedIndexChanged
If header2 = "BPR" Or header2 = "BPG" Then
GetAndDrawItemPic(HeldItem1, Item1.SelectedIndex)
ElseIf header2 = "BPE" Then
GetAndDrawItemPic(HeldItem1, Item1.SelectedIndex)
ElseIf header2 = "AXP" Or header2 = "AXV" Then
HeldItem1.Image = Nothing
End If
End Sub
Private Sub Item2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Item2.SelectedIndexChanged
If header2 = "BPR" Or header2 = "BPG" Then
GetAndDrawItemPic(HeldItem2, Item2.SelectedIndex)
ElseIf header2 = "BPE" Then
GetAndDrawItemPic(HeldItem2, Item2.SelectedIndex)
ElseIf header2 = "AXP" Or header2 = "AXV" Then
HeldItem2.Image = Nothing
End If
End Sub
Private Sub PKMNames_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PKMNames.SelectedIndexChanged
Me.Invalidate()
i = PKMNames.SelectedIndex
PokemonListIndex.Text = PKMNames.SelectedIndex + 1
TabChanged()
'Baseload()
'MediaLoad()
'TMHMCOMLoad()
'LearnableMoveLoad()
'MTComLoad()
'LoadDexData()
'LoadSpritePosition()
CurPKMName.Text = GetPokemonName(PKMNames.SelectedIndex + 1)
If header2 = "BPR" Or header2 = "BPG" Then
ItmAnmtn.Text = ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "ItemAnimationTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 5), 5)
Else
ItmAnmtn.Enabled = False
End If
EvoSlots.SelectedIndex = -1
EvoSlots.SelectedIndex = 0
'lvlupattacks.SelectedIndex = 0
Me.Validate()
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
SaveFileDialog.FileName = (PKMNames.SelectedIndex + 1) & ".ini"
'SaveFileDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
SaveFileDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
SaveFileDialog.DefaultExt = "ini"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
SaveFileDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
SaveFileDialog.Filter =
"(*.ini)|*.ini*"
'SaveFileDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
SaveFileDialog.ShowHelp = False
'SaveFileDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
'SaveFileDialog.ReadOnlyChecked = False
SaveFileDialog.Title = "Save as"
' Only accept valid Win32 file names?
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportPokemonINI(SaveFileDialog.FileName, (PKMNames.SelectedIndex + 1))
End If
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
fileOpenDialog.FileName = ""
fileOpenDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
fileOpenDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
fileOpenDialog.DefaultExt = "ini"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
fileOpenDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
fileOpenDialog.Filter =
"(*.ini)|*.ini*"
fileOpenDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
fileOpenDialog.ShowHelp = False
fileOpenDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
fileOpenDialog.ReadOnlyChecked = False
fileOpenDialog.Title = "Select ini file to import"
' Only accept valid Win32 file names?
fileOpenDialog.ValidateNames = True
If fileOpenDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
ImportPokemonINI(fileOpenDialog.FileName, (PKMNames.SelectedIndex + 1))
Dim refreshvar As Integer
refreshvar = PKMNames.SelectedIndex
If PKMNames.SelectedIndex = 0 Then
PKMNames.SelectedIndex = PKMNames.SelectedIndex + 1
Else
PKMNames.SelectedIndex = PKMNames.SelectedIndex - 1
End If
PKMNames.Items.Insert(refreshvar, GetPokemonName(refreshvar + 1))
EvoPKMNames.Items.Insert(refreshvar, GetPokemonName(refreshvar + 1))
ComboBox1.Items.Insert(refreshvar, GetPokemonName(refreshvar + 1))
PKMNames.Items.RemoveAt(refreshvar + 1)
EvoPKMNames.Items.RemoveAt(refreshvar + 1)
ComboBox1.Items.RemoveAt(refreshvar + 1)
PKMNames.SelectedIndex = refreshvar
End If
End Sub
Private Sub TMHMLoad()
Dim LoopVar As Integer
TMHMAttacks = Int32.Parse((GetString(GetINIFileLocation(), header, "TMData", "")), System.Globalization.NumberStyles.HexNumber)
TMHMCom.Items.Clear()
LoopVar = 0
While LoopVar < (Val(GetString(GetINIFileLocation(), header, "TotalTMsPlusHMs", ""))) = True
If LoopVar > ((Val(GetString(GetINIFileLocation(), header, "TotalTMs", ""))) - 1) Then
TMHMCom.Items.Add("HM" & LoopVar - ((Val(GetString(GetINIFileLocation(), header, "TotalTMs", ""))) - 1) & " - " & GetAttackName(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, TMHMAttacks + ((LoopVar) * 2), 2))), System.Globalization.NumberStyles.HexNumber)))
LoopVar = LoopVar + 1
ElseIf LoopVar < 9 Then
TMHMCom.Items.Add("TM" & "0" & LoopVar + 1 & " - " & GetAttackName(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, TMHMAttacks + ((LoopVar) * 2), 2))), System.Globalization.NumberStyles.HexNumber)))
LoopVar = LoopVar + 1
Else
TMHMCom.Items.Add("TM" & LoopVar + 1 & " - " & GetAttackName(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, TMHMAttacks + ((LoopVar) * 2), 2))), System.Globalization.NumberStyles.HexNumber)))
LoopVar = LoopVar + 1
End If
End While
End Sub
Public Sub TMHMCOMLoad()
i = PKMNames.SelectedIndex
TMHMCompoLoc = Int32.Parse((GetString(GetINIFileLocation(), header, "TMHMCompatibility", "")), System.Globalization.NumberStyles.HexNumber)
Dim blah As Integer
Dim howmanyzeros As Integer
Dim whichtmbyte As Integer
Dim howmanytmschecked As Integer
Dim looper As Integer
Dim curposition As Integer
Dim binarythebitch As String
Dim curchar As String
'If GetString(AppPath & "GBAPGESettings.ini", "Settings", "jamboTMextensionHack", "0") = 0 Then
' whichtmbyte = 0
' While whichtmbyte < 8
' blah = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, TMHMCompoLoc + 8 + (i * 8) + whichtmbyte, 1))), System.Globalization.NumberStyles.HexNumber)
' binarythebitch = (Convert.ToString(blah, 2))
' If whichtmbyte = 7 Then
' howmanytmschecked = 0
' ' MsgBox((Convert.ToString(blah, 2)))
' If Len(binarythebitch) > 2 Then
' MsgBox("Did you mess with the TM/HM data? Contact Gamer2020!")
' ElseIf Len(binarythebitch) = 2 Then
' curchar = GetChar(binarythebitch, 1)
' If curchar = "1" Then
' TMHMCom.SetItemChecked(57, True)
' ElseIf curchar = "0" Then
' TMHMCom.SetItemChecked(57, False)
' End If
' curchar = GetChar(binarythebitch, 2)
' If curchar = "1" Then
' TMHMCom.SetItemChecked(56, True)
' ElseIf curchar = "0" Then
' TMHMCom.SetItemChecked(56, False)
' End If
' ElseIf Len(binarythebitch) < 2 Then
' TMHMCom.SetItemChecked(57, False)
' curchar = GetChar(binarythebitch, 1)
' If curchar = "1" Then
' TMHMCom.SetItemChecked(56, True)
' ElseIf curchar = "0" Then
' TMHMCom.SetItemChecked(56, False)
' End If
' End If
' whichtmbyte = whichtmbyte + 1
' Else
' howmanytmschecked = 0
' ' MsgBox((Convert.ToString(blah, 2)))
' howmanyzeros = (8 - Len(binarythebitch))
' For looper = 1 To howmanyzeros
' TMHMCom.SetItemChecked((7 + (8 * whichtmbyte)) - howmanytmschecked, False)
' howmanytmschecked = howmanytmschecked + 1
' Next looper
' For curposition = 1 To Len(Convert.ToString(blah, 2))
' ' Len(Convert.ToString(blah, 2))
' curchar = GetChar(binarythebitch, curposition)
' If curchar = "1" Then
' TMHMCom.SetItemChecked((7 + (8 * whichtmbyte)) - howmanytmschecked, True)
' howmanytmschecked = howmanytmschecked + 1
' ElseIf curchar = "0" Then
' TMHMCom.SetItemChecked((7 + (8 * whichtmbyte)) - howmanytmschecked, False)
' howmanytmschecked = howmanytmschecked + 1
' End If
' Next curposition
' whichtmbyte = whichtmbyte + 1
' End If
' End While
'End If
'seperate
'seperate
'seperate
'seperate
' If GetString(AppPath & "GBAPGESettings.ini", "Settings", "jamboTMextensionHack", "0") = 1 Then
whichtmbyte = 0
While whichtmbyte < (Val(GetString(GetINIFileLocation(), header, "TMHMLenPerPoke", "")))
blah = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, TMHMCompoLoc + (Val(GetString(GetINIFileLocation(), header, "TMHMLenPerPoke", ""))) + (i * (Val(GetString(GetINIFileLocation(), header, "TMHMLenPerPoke", "")))) + whichtmbyte, 1))), System.Globalization.NumberStyles.HexNumber)
binarythebitch = (Convert.ToString(blah, 2))
howmanytmschecked = 0
howmanyzeros = (8 - Len(binarythebitch))
For looper = 1 To howmanyzeros
'TMHMCom.SetItemChecked((7 + (8 * whichtmbyte)) - howmanytmschecked, False)
'howmanytmschecked = howmanytmschecked + 1
binarythebitch = "0" & binarythebitch
Next looper
For curposition = 1 To Len(binarythebitch)
' Len(Convert.ToString(blah, 2))
curchar = GetChar(binarythebitch, curposition)
If curchar = "1" Then
If (((7 + (8 * whichtmbyte)) - howmanytmschecked) < (Val(GetString(GetINIFileLocation(), header, "TotalTMsPlusHMs", "")))) Then
TMHMCom.SetItemChecked((7 + (8 * whichtmbyte)) - howmanytmschecked, True)
End If
howmanytmschecked = howmanytmschecked + 1
ElseIf curchar = "0" Then
If (((7 + (8 * whichtmbyte)) - howmanytmschecked) < (Val(GetString(GetINIFileLocation(), header, "TotalTMsPlusHMs", "")))) Then
TMHMCom.SetItemChecked((7 + (8 * whichtmbyte)) - howmanytmschecked, False)
End If
howmanytmschecked = howmanytmschecked + 1
End If
Next curposition
whichtmbyte = whichtmbyte + 1
End While
' End If
End Sub
Public Sub TMHMCOMSave()
i = PKMNames.SelectedIndex
Dim whichtmbyte As Integer
'Dim howmanytmschecked As Integer
Dim looper As Integer
Dim binarytowrite As String
Dim bytetowrite As String
'If GetString(AppPath & "GBAPGESettings.ini", "Settings", "jamboTMextensionHack", "0") = 0 Then
' whichtmbyte = 0
' While whichtmbyte < 8
' If whichtmbyte = 7 Then
' binarytowrite = ""
' For looper = 0 To 1
' If TMHMCom.GetItemChecked((8 * whichtmbyte) + looper) = True Then
' binarytowrite = "1" & binarytowrite
' ElseIf TMHMCom.GetItemChecked((8 * whichtmbyte) + looper) = False Then
' binarytowrite = "0" & binarytowrite
' End If
' Next looper
' bytetowrite = Hex(Convert.ToInt32(binarytowrite, 2))
' WriteHEX(LoadedROM, TMHMCompoLoc + 8 + (i * 8) + whichtmbyte, bytetowrite)
' whichtmbyte = whichtmbyte + 1
' Else
' binarytowrite = ""
' For looper = 0 To 7
' If TMHMCom.GetItemChecked((8 * whichtmbyte) + looper) = True Then
' binarytowrite = "1" & binarytowrite
' ElseIf TMHMCom.GetItemChecked((8 * whichtmbyte) + looper) = False Then
' binarytowrite = "0" & binarytowrite
' End If
' Next looper
' bytetowrite = Hex(Convert.ToInt32(binarytowrite, 2))
' WriteHEX(LoadedROM, TMHMCompoLoc + 8 + (i * 8) + whichtmbyte, bytetowrite)
' whichtmbyte = whichtmbyte + 1
' End If
' End While
'End If
'separate
'separate
'separate
' If GetString(AppPath & "GBAPGESettings.ini", "Settings", "jamboTMextensionHack", "0") = 1 Then
whichtmbyte = 0
While whichtmbyte < (Val(GetString(GetINIFileLocation(), header, "TMHMLenPerPoke", "")))
binarytowrite = ""
For looper = 0 To 7
If (((8 * whichtmbyte) + looper) < TMHMCom.Items.Count) Then
If TMHMCom.GetItemChecked((8 * whichtmbyte) + looper) = True Then
binarytowrite = "1" & binarytowrite
ElseIf TMHMCom.GetItemChecked((8 * whichtmbyte) + looper) = False Then
binarytowrite = "0" & binarytowrite
End If
Else
binarytowrite = "0" & binarytowrite
End If
Next looper
bytetowrite = Hex(Convert.ToInt32(binarytowrite, 2))
WriteHEX(LoadedROM, TMHMCompoLoc + (Val(GetString(GetINIFileLocation(), header, "TMHMLenPerPoke", ""))) + (i * (Val(GetString(GetINIFileLocation(), header, "TMHMLenPerPoke", "")))) + whichtmbyte, bytetowrite)
whichtmbyte = whichtmbyte + 1
End While
' End If
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
FolderBrowserDialog.Description = "Select folder to export all Pokemon to:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
If System.IO.Directory.Exists(FolderBrowserDialog.SelectedPath & "\Pokemon") = False Then
CreateDirectory(FolderBrowserDialog.SelectedPath & "\Pokemon")
End If
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
' PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
ExportPokemonINI(FolderBrowserDialog.SelectedPath & "\Pokemon\" & LoopVar & ".ini", LoopVar)
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
i = PKMNames.SelectedIndex
WriteHEX(LoadedROM, (FootPrintTable) + (4) + (i * 4), ReverseHEX(Hex(Int32.Parse(((FootPrintPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
GetAndDrawPokemonFootPrint(PictureBox1, i + 1)
End Sub
Private Sub LearnableMoveLoad()
Dim blah As Integer
Dim binarythebitch As String
Dim at As String
Dim lvl As String
If GetString(GetINIFileLocation(), header, "MoveTableHack", "False") = "False" Then
AttackTable = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonAttackTable", "")), System.Globalization.NumberStyles.HexNumber)
LvlUpAttPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AttackTable) + (4) + (PKMNames.SelectedIndex * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
lvlupattacks.Items.Clear()
Dim Looper As Integer
Looper = 0
While ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 2), 2) = "FFFF" = False
blah = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 2), 2))), System.Globalization.NumberStyles.HexNumber)
binarythebitch = Convert.ToString(blah, 2)
While Len(binarythebitch) < 16
binarythebitch = "0" & binarythebitch
End While
lvl = Mid(binarythebitch, 1, 7)
at = Mid(binarythebitch, 8, 9)
lvl = Convert.ToInt32(lvl, 2)
at = Convert.ToInt32(at, 2)
lvlupattacks.Items.Add(lvl & " - " & GetAttackName(at))
Looper = Looper + 1
End While
ElseIf GetString(GetINIFileLocation(), header, "MoveTableHack", "False").ToLower() = "True".ToLower() Then
AttackTable = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonAttackTable", "")), System.Globalization.NumberStyles.HexNumber)
LvlUpAttPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AttackTable) + (4) + (PKMNames.SelectedIndex * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
lvlupattacks.Items.Clear()
Dim Looper As Integer
Looper = 0
While ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 3), 3) = GetString(GetINIFileLocation(), header, "JamboLearnableMovesTerm", "") = False
lvl = Int32.Parse(((ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 3) + 2, 1))), System.Globalization.NumberStyles.HexNumber)
at = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 3), 2))), System.Globalization.NumberStyles.HexNumber)
lvlupattacks.Items.Add(lvl & " - " & GetAttackName(at))
Looper = Looper + 1
End While
End If
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
Dim blah As Integer
Dim binarythebitch As String
Dim at As String
Dim lvl As String
If GetString(GetINIFileLocation(), header, "MoveTableHack", "False").ToLower() = "False".ToLower() Then
i = PKMNames.SelectedIndex
WriteHEX(LoadedROM, (AttackTable) + (4) + (i * 4), ReverseHEX(Hex(Int32.Parse(((LvlUpAttPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
lvlupattacks.Items.Clear()
Dim Looper As Integer
Looper = 0
While ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 2), 2) = "FFFF" = False
blah = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 2), 2))), System.Globalization.NumberStyles.HexNumber)
binarythebitch = Convert.ToString(blah, 2)
While Len(binarythebitch) < 16
binarythebitch = "0" & binarythebitch
End While
' MsgBox(binarythebitch)
lvl = Mid(binarythebitch, 1, 7)
at = Mid(binarythebitch, 8, 9)
lvl = Convert.ToInt32(lvl, 2)
at = Convert.ToInt32(at, 2)
lvlupattacks.Items.Add(lvl & " - " & GetAttackName(at))
Looper = Looper + 1
End While
End If
If GetString(GetINIFileLocation(), header, "MoveTableHack", "False").ToLower() = "True".ToLower() Then
i = PKMNames.SelectedIndex
WriteHEX(LoadedROM, (AttackTable) + (4) + (i * 4), ReverseHEX(Hex(Val("&H" & (LvlUpAttPointer.Text)) + &H8000000)))
lvlupattacks.Items.Clear()
Dim Looper As Integer
Looper = 0
While ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 3), 3) = GetString(GetINIFileLocation(), header, "JamboLearnableMovesTerm", "") = False
lvl = Int32.Parse(((ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 3) + 2, 1))), System.Globalization.NumberStyles.HexNumber)
at = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((LvlUpAttPointer.Text), System.Globalization.NumberStyles.HexNumber) + (Looper * 3), 2))), System.Globalization.NumberStyles.HexNumber)
lvlupattacks.Items.Add(lvl & " - " & GetAttackName(at))
Looper = Looper + 1
End While
End If
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
i = PKMNames.SelectedIndex
If (i + 1) < 252 Then
'MsgBox(Val(CryPointer.Text) + &H8000000)
WriteHEX(LoadedROM, (CryTable) + (4) + (i * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
' WriteHEX(LoadedROM, (CryTable3) + (4) + (i * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer2.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (CryTable) + (i * 12), (Hex(Int32.Parse(((CryComp1.Text)), System.Globalization.NumberStyles.HexNumber))))
'WriteHEX(LoadedROM, (CryTable3) + (i * 12), (Hex(Int32.Parse(((CryComp2.Text)), System.Globalization.NumberStyles.HexNumber))))
crynorm = LoadCry(i, CryTable)
crygrowl = LoadCry(i, CryTable3)
Label53.Text = "Sample Rate: " & crynorm.SampleRate & " Hz"
Label54.Text = "Sample Rate: " & crygrowl.SampleRate & " Hz"
Label55.Text = "Size: " & crynorm.Data.Length & " samples"
Label56.Text = "Size: " & crygrowl.Data.Length & " samples"
chkCompressed1.Checked = crynorm.Compressed
chkCompressed2.Checked = crygrowl.Compressed
pSample.Image = GetCryImage(crynorm)
pSample2.Image = GetCryImage(crygrowl)
ElseIf (i + 1) > 251 And (i + 1) < 276 Then
MsgBox("This shoudln't be enabled! report it!")
ElseIf (i + 1) > 276 Then
WriteHEX(LoadedROM, (CryTable) + (4) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
' WriteHEX(LoadedROM, (CryTable3) + (4) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer2.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (CryTable) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), (Hex(Int32.Parse(((CryComp1.Text)), System.Globalization.NumberStyles.HexNumber))))
'WriteHEX(LoadedROM, (CryTable3) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), (Hex(Int32.Parse(((CryComp2.Text)), System.Globalization.NumberStyles.HexNumber))))
crynorm = LoadCry(((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))), CryTable)
crygrowl = LoadCry(((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))), CryTable3)
Label53.Text = "Sample Rate: " & crynorm.SampleRate & " Hz"
Label54.Text = "Sample Rate: " & crygrowl.SampleRate & " Hz"
Label55.Text = "Size: " & crynorm.Data.Length & " samples"
Label56.Text = "Size: " & crygrowl.Data.Length & " samples"
chkCompressed1.Checked = crynorm.Compressed
chkCompressed2.Checked = crygrowl.Compressed
pSample.Image = GetCryImage(crynorm)
pSample2.Image = GetCryImage(crygrowl)
End If
End Sub
Private Sub MTLoad()
Dim LoopVar As Integer
MTCom.Items.Clear()
LoopVar = 0
If header2 = "BPE" Then
MTattacks = Int32.Parse((GetString(GetINIFileLocation(), header, "MoveTutorAttacks", "")), System.Globalization.NumberStyles.HexNumber)
MTCom.Enabled = True
While LoopVar < (Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", "")))
MTCom.Items.Add(GetAttackName(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, MTattacks + ((LoopVar) * 2), 2))), System.Globalization.NumberStyles.HexNumber)))
LoopVar = LoopVar + 1
End While
ElseIf header2 = "BPR" Or header2 = "BPE" Then
MTattacks = Int32.Parse((GetString(GetINIFileLocation(), header, "MoveTutorAttacks", "")), System.Globalization.NumberStyles.HexNumber)
MTCom.Enabled = True
While LoopVar < (Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", "")))
MTCom.Items.Add(GetAttackName(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, MTattacks + ((LoopVar) * 2), 2))), System.Globalization.NumberStyles.HexNumber)))
LoopVar = LoopVar + 1
End While
Else
MTCom.Enabled = False
End If
End Sub
Private Sub MTComLoad()
Dim LoopVar As Integer
Dim binarythebitch As String
Dim emloop As Integer
Dim blah As Integer
Dim curchar As String
'If header2 = "BPE" Then
If header2 = "BPE" Or header2 = "BPR" Or header2 = "BPG" Then
MTCompoLoc = Int32.Parse((GetString(GetINIFileLocation(), header, "MoveTutorCompatibility", "")), System.Globalization.NumberStyles.HexNumber)
For emloop = 0 To (((Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", ""))) / 16) - 1)
blah = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, MTCompoLoc + (((Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", ""))) / 8)) + (PKMNames.SelectedIndex * (((Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", ""))) / 8))) + (emloop * 2), 2))), System.Globalization.NumberStyles.HexNumber)
binarythebitch = (Convert.ToString(blah, 2))
While Len(binarythebitch) < 16
binarythebitch = "0" & binarythebitch
End While
LoopVar = 0
While LoopVar < 16
curchar = GetChar(binarythebitch, LoopVar + 1)
If curchar = "1" Then
MTCom.SetItemChecked((emloop * 16) + 15 - LoopVar, True)
ElseIf curchar = "0" Then
MTCom.SetItemChecked((emloop * 16) + 15 - LoopVar, False)
End If
LoopVar = LoopVar + 1
End While
Next emloop
'ElseIf header2 = "BPR" Or header2 = "BPG" Then
' MTCompoLoc = Int32.Parse((GetString(GetINIFileLocation(), header, "MoveTutorCompatibility", "")), System.Globalization.NumberStyles.HexNumber)
' blah = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, MTCompoLoc + 2 + (PKMNames.SelectedIndex * 2), 2))), System.Globalization.NumberStyles.HexNumber)
' binarythebitch = (Convert.ToString(blah, 2))
' While Len(binarythebitch) < 16
' binarythebitch = "0" & binarythebitch
' End While
' LoopVar = 0
' While LoopVar < 16
' curchar = GetChar(binarythebitch, LoopVar + 1)
' If curchar = "1" Then
' MTCom.SetItemChecked(15 - LoopVar, True)
' ElseIf curchar = "0" Then
' MTCom.SetItemChecked(15 - LoopVar, False)
' End If
' LoopVar = LoopVar + 1
' End While
Else
End If
End Sub
Private Sub MTComSave()
i = PKMNames.SelectedIndex
Dim looper As Integer
Dim binarytowrite As String
Dim bytetowrite As String
' Dim LoopVar As Integer
' Dim binarythebitch As String
Dim emloop As Integer
'Dim blah As Integer
'Dim curchar As String
'If header2 = "BPE" Then
If header2 = "BPE" Or header2 = "BPR" Or header2 = "BPG" Then
For emloop = 0 To (((Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", ""))) / 16) - 1)
binarytowrite = ""
For looper = 0 To 15
If MTCom.GetItemChecked((emloop * 16) + 15 - looper) = True Then
binarytowrite = binarytowrite & "1"
ElseIf MTCom.GetItemChecked((emloop * 16) + 15 - looper) = False Then
binarytowrite = binarytowrite & "0"
End If
Next looper
bytetowrite = Hex(Convert.ToInt32(binarytowrite, 2))
WriteHEX(LoadedROM, MTCompoLoc + (((Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", ""))) / 8)) + (PKMNames.SelectedIndex * (((Val(GetString(GetINIFileLocation(), header, "NumberOfMoveTutorAttacks", ""))) / 8))) + (emloop * 2), ReverseHEX(VB.Right("0000" & bytetowrite, 4)))
Next emloop
'ElseIf header2 = "BPR" Or header2 = "BPG" Then
' binarytowrite = ""
' For looper = 0 To 15
' If MTCom.GetItemChecked((0 * 16) + 15 - looper) = True Then
' binarytowrite = binarytowrite & "1"
' ElseIf MTCom.GetItemChecked((0 * 16) + 15 - looper) = False Then
' binarytowrite = binarytowrite & "0"
' End If
' Next looper
' bytetowrite = Hex(Convert.ToInt32(binarytowrite, 2))
' WriteHEX(LoadedROM, MTCompoLoc + 2 + (PKMNames.SelectedIndex * 2) + (0 * 2), ReverseHEX(bytetowrite))
Else
End If
End Sub
Private Sub lvlupattacks_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lvlupattacks.SelectedIndexChanged
Dim blah As Integer
Dim binarythebitch As String
Dim at As String
Dim lvl As String
Dim pointer As String
'Dim loopme As Integer
If GetString(GetINIFileLocation(), header, "MoveTableHack", "False").ToLower() = "False".ToLower() Then
pointer = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AttackTable) + (4) + (PKMNames.SelectedIndex * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
blah = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((pointer), System.Globalization.NumberStyles.HexNumber) + (lvlupattacks.SelectedIndex * 2), 2))), System.Globalization.NumberStyles.HexNumber)
binarythebitch = Convert.ToString(blah, 2)
While Len(binarythebitch) < 16
binarythebitch = "0" & binarythebitch
End While
' MsgBox(binarythebitch)
lvl = Mid(binarythebitch, 1, 7)
at = Mid(binarythebitch, 8, 9)
lvl = Convert.ToInt32(lvl, 2)
at = Convert.ToInt32(at, 2)
'lvlupattacks.Items.Add(lvl & " - " & GetAttackName(at))
AtLvl.Text = lvl
NewAt.SelectedIndex = at
End If
If GetString(GetINIFileLocation(), header, "MoveTableHack", "False").ToLower() = "True".ToLower() Then
pointer = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AttackTable) + (4) + (PKMNames.SelectedIndex * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
lvl = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((pointer), System.Globalization.NumberStyles.HexNumber) + (lvlupattacks.SelectedIndex * 3) + 2, 1))), System.Globalization.NumberStyles.HexNumber)
at = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((pointer), System.Globalization.NumberStyles.HexNumber) + (lvlupattacks.SelectedIndex * 3), 2))), System.Globalization.NumberStyles.HexNumber)
AtLvl.Text = lvl
NewAt.SelectedIndex = at
End If
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
InputAttacks.ShowDialog()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
'Start of new function.
Dim holder As String = ""
Dim bytetowrite As String
Dim at As String
Dim lvl As String
Dim pointer As String
Dim temp As Integer
'Dim loopme As Integer
If GetString(GetINIFileLocation(), header, "MoveTableHack", "False").ToLower() = "False".ToLower() Then
holder = lvlupattacks.SelectedIndex
pointer = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AttackTable) + (4) + (PKMNames.SelectedIndex * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
lvl = AtLvl.Text
at = NewAt.SelectedIndex
temp = Int32.Parse(Hex(lvl), System.Globalization.NumberStyles.HexNumber)
lvl = Convert.ToString(temp, 2)
temp = Int32.Parse(Hex(at), System.Globalization.NumberStyles.HexNumber)
at = Convert.ToString(temp, 2)
While Len(lvl) < 7
lvl = "0" & lvl
End While
While Len(at) < 9
at = "0" & at
End While
bytetowrite = lvl & at
bytetowrite = Convert.ToInt32(bytetowrite, 2)
bytetowrite = ReverseHEX(Hex(bytetowrite))
WriteHEX(LoadedROM, Int32.Parse((pointer), System.Globalization.NumberStyles.HexNumber) + (lvlupattacks.SelectedIndex * 2), bytetowrite)
End If
If GetString(GetINIFileLocation(), header, "MoveTableHack", "False").ToLower() = "True".ToLower() Then
holder = lvlupattacks.SelectedIndex
pointer = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AttackTable) + (4) + (PKMNames.SelectedIndex * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
lvl = Hex(AtLvl.Text)
at = ReverseHEX(VB.Right("0000" & Hex(NewAt.SelectedIndex), 4))
WriteHEX(LoadedROM, Int32.Parse((pointer), System.Globalization.NumberStyles.HexNumber) + (lvlupattacks.SelectedIndex * 3), at)
WriteHEX(LoadedROM, Int32.Parse((pointer), System.Globalization.NumberStyles.HexNumber) + (lvlupattacks.SelectedIndex * 3) + 2, lvl)
End If
LearnableMoveLoad()
lvlupattacks.SelectedIndex = holder
End Sub
Private Sub ChangePKMName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChangePKMName.Click
i = PKMNames.SelectedIndex
Dim tempy As Integer
tempy = i
ChangePokemonName(i + 1, CurPKMName.Text)
Dim LoopVar As Integer
LoopVar = 0
PKMNames.Items.Clear()
EvoPKMNames.Items.Clear()
ComboBox1.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
LoopVar = LoopVar + 1
PKMNames.Items.Add(GetPokemonName(LoopVar))
EvoPKMNames.Items.Add(GetPokemonName(LoopVar))
ComboBox1.Items.Add(GetPokemonName(LoopVar))
End While
PKMNames.SelectedIndex = tempy
End Sub
Private Sub IconPal_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IconPal.SelectedIndexChanged
i = PKMNames.SelectedIndex
GetAndDrawPokemonIconPic(IconPicBox, i + 1, IconPal.SelectedIndex)
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
i = PKMNames.SelectedIndex
If (i + 1) < 252 Then
MsgBox("This shoudln't be enabled! report it!")
ElseIf (i + 1) > 251 And (i + 1) < 276 Then
MsgBox("This shoudln't be enabled! report it!")
ElseIf (i + 1) > 276 Then
WriteHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), ReverseHEX(VB.Right("0000" & Hex(CryConver.Text), 4)))
CryPointer.Text = Hex(Int32.Parse(ReverseHEX(ReadHEX(LoadedROM, ((CryTable) + (4)) + ((CryConver.Text) * 12), 4)), System.Globalization.NumberStyles.HexNumber) - &H8000000)
CryPointer2.Text = Hex(Int32.Parse(ReverseHEX(ReadHEX(LoadedROM, ((CryTable3) + (4)) + ((CryConver.Text) * 12), 4)), System.Globalization.NumberStyles.HexNumber) - &H8000000)
'Label53.Text = "Sample Rate: " & ((Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ("&H" & CryPointer.Text) + (4), 4)))), System.Globalization.NumberStyles.HexNumber)) >> 10) & " Hz"
'Label54.Text = "Sample Rate: " & ((Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ("&H" & CryPointer2.Text) + (4), 4)))), System.Globalization.NumberStyles.HexNumber)) >> 10) & " Hz"
crynorm = LoadCry(CryConver.Text, CryTable)
crygrowl = LoadCry(CryConver.Text, CryTable3)
Label53.Text = "Sample Rate: " & crynorm.SampleRate & " Hz"
Label54.Text = "Sample Rate: " & crygrowl.SampleRate & " Hz"
Label55.Text = "Size: " & crynorm.Data.Length & " samples"
Label56.Text = "Size: " & crygrowl.Data.Length & " samples"
chkCompressed1.Checked = crynorm.Compressed
chkCompressed2.Checked = crygrowl.Compressed
pSample.Image = GetCryImage(crynorm)
pSample2.Image = GetCryImage(crygrowl)
End If
End Sub
Private Sub CryPointer_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub EvoTypes_SelectedIndexChanged(sender As Object, e As EventArgs) Handles EvoTypes.SelectedIndexChanged
EvoPKMNames.Enabled = False
EvoItem.Enabled = False
EvoLevel.Enabled = False
EvoItem.SelectedIndex = -1
EvoLevel.Text = ""
'EvoPKMNames.SelectedIndex = -1
'attack
ComboBox3.Enabled = False
ComboBox3.SelectedIndex = -1
'map name
ComboBox2.Enabled = False
ComboBox2.SelectedIndex = -1
'bank and map
TextBox1.Enabled = False
TextBox1.Text = ""
TextBox2.Enabled = False
TextBox2.Text = ""
'species
ComboBox1.Enabled = False
ComboBox1.SelectedIndex = -1
'value
TextBox6.Enabled = False
TextBox6.Text = ""
'MsgBox(GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0"))
If (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "none" Then
EvoPKMNames.Enabled = False
EvoItem.Enabled = False
EvoLevel.Enabled = False
EvoItem.SelectedIndex = -1
EvoLevel.Text = ""
'EvoPKMNames.SelectedIndex = -1
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "evolvesbutnoparms" Then
'EvoPKMNames.SelectedIndex = 0
EvoPKMNames.Enabled = True
EvoLevel.Enabled = False
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "level" Then
EvoLevel.Text = "1"
'EvoPKMNames.SelectedIndex = 0
EvoPKMNames.Enabled = True
EvoLevel.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "item" Then
EvoPKMNames.Enabled = True
'EvoPKMNames.SelectedIndex = 0
EvoItem.SelectedIndex = 1
EvoItem.Enabled = True
EvoLevel.Enabled = False
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "attack" Then
EvoPKMNames.Enabled = True
'EvoPKMNames.SelectedIndex = 0
ComboBox3.SelectedIndex = 0
ComboBox3.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "mapname" Then
EvoPKMNames.Enabled = True
'EvoPKMNames.SelectedIndex = 0
ComboBox2.SelectedIndex = 0
ComboBox2.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "species" Then
EvoPKMNames.Enabled = True
'EvoPKMNames.SelectedIndex = 0
ComboBox1.SelectedIndex = 0
ComboBox1.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "bankandmap" Then
EvoPKMNames.Enabled = True
'EvoPKMNames.SelectedIndex = 0
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Enabled = True
TextBox2.Enabled = True
ElseIf (GetString(GetINIFileLocation(), header, "Evolution" & EvoTypes.SelectedIndex & "Param", "0")) = "evolvesbasedonvalue" Then
'EvoPKMNames.SelectedIndex = 0
EvoPKMNames.Enabled = True
EvoLevel.Enabled = False
TextBox6.Enabled = True
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
If GetString(AppPath & "GBAPGESettings.ini", "Settings", "DisablePKMImages", "0") = "0" Then
If ComboBox1.SelectedIndex + 1 > 0 Then
GetAndDrawFrontPokemonPic(PictureBox2, ComboBox1.SelectedIndex + 1)
Else
PictureBox2.Image = Nothing
End If
End If
End Sub
Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
FolderBrowserDialog.Description = "Select folder to import Pokemon from:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
'PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
If System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".ini") Then
ImportPokemonINI(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".ini", LoopVar)
End If
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
LoopVar = 0
PKMNames.Items.Clear()
EvoPKMNames.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
LoopVar = LoopVar + 1
PKMNames.Items.Add(GetPokemonName(LoopVar))
EvoPKMNames.Items.Add(GetPokemonName(LoopVar))
End While
PKMNames.SelectedIndex = 0
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
'PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
Me.Refresh()
ChangePokemonName(LoopVar, DecapString(GetPokemonName(LoopVar)))
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
End While
LoopVar = 0
PKMNames.Items.Clear()
EvoPKMNames.Items.Clear()
ComboBox1.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
LoopVar = LoopVar + 1
PKMNames.Items.Add(GetPokemonName(LoopVar))
EvoPKMNames.Items.Add(GetPokemonName(LoopVar))
ComboBox1.Items.Add(GetPokemonName(LoopVar))
End While
PKMNames.SelectedIndex = 0
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End Sub
Public Sub LoadDexData()
TextBox3.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "NationalDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 2), 2))), System.Globalization.NumberStyles.HexNumber)
TextBox4.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "SecondDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 2), 2))), System.Globalization.NumberStyles.HexNumber)
If Convert.ToInt32(TextBox3.Text) < Convert.ToInt32(GetString(GetINIFileLocation(), header, "NumberOfDexEntries", "")) And Convert.ToInt32(TextBox3.Text) > 0 Then
GroupBox32.Enabled = True
GroupBox29.Enabled = True
GroupBox31.Enabled = True
GroupBox30.Enabled = True
If header3 = "J" Then
If header2 = "AXP" Or header2 = "AXV" Then
SkipVar = "36"
ElseIf header2 = "BPR" Or header2 = "BPG" Then
SkipVar = "36"
ElseIf header2 = "BPE" Then
SkipVar = "32"
End If
Else
If header2 = "AXP" Or header2 = "AXV" Then
SkipVar = "36"
ElseIf header2 = "BPR" Or header2 = "BPG" Then
SkipVar = "36"
ElseIf header2 = "BPE" Then
SkipVar = "32"
End If
End If
Pointer1.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 4 + +12 + (TextBox3.Text * SkipVar), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Hght.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 12 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Wght.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 2 + 12 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Scale1.Text = ""
Scale2.Text = ""
If header2 = "AXP" Or header2 = "AXV" Then
Scale1.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 26 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Offset_1.Text = Int16.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 28 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Scale2.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 30 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Offset_2.Text = Int16.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 32 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Pointer2.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 8 + +12 + (TextBox3.Text * SkipVar), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
EnglishRSDescpLoad()
ElseIf header2 = "BPR" Or header2 = "BPG" Then
Scale1.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 26 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Offset_1.Text = Int16.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 28 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Scale2.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 30 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Offset_2.Text = Int16.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 32 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
EnglishFRLGEDescpLoad()
ElseIf header2 = "BPE" Then
Scale1.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 22 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Offset_1.Text = Int16.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 24 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Scale2.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 26 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
Offset_2.Text = Int16.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 28 + (TextBox3.Text * SkipVar), 2))), System.Globalization.NumberStyles.HexNumber)
EnglishFRLGEDescpLoad()
End If
TextBox5.Text = GetPokedexTypeName(TextBox3.Text)
If header2 = "BPE" And TextBox4.Text < (GetString(GetINIFileLocation(), header, "NumberOfRegionDex", "151") + 1) Then
TextBox7.Enabled = True
TextBox7.Text = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "HoenntoNationalDex", "")), System.Globalization.NumberStyles.HexNumber) + ((TextBox4.Text - 1) * 2), 2))), System.Globalization.NumberStyles.HexNumber)
Else
TextBox7.Enabled = False
End If
Else
GroupBox32.Enabled = False
GroupBox29.Enabled = False
GroupBox31.Enabled = False
GroupBox30.Enabled = False
End If
End Sub
Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "NationalDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 2), ReverseHEX(VB.Right("0000" & Hex(TextBox3.Text), 4)))
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "SecondDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 2), ReverseHEX(VB.Right("0000" & Hex(TextBox4.Text), 4)))
If header2 = "BPE" And TextBox4.Text < (GetString(GetINIFileLocation(), header, "NumberOfRegionDex", "") + 1) Then
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "HoenntoNationalDex", "")), System.Globalization.NumberStyles.HexNumber) + ((TextBox4.Text - 1) * 2), ReverseHEX(VB.Right("0000" & Hex(TextBox7.Text), 4)))
End If
LoadDexData()
End Sub
Private Sub Hght_TextChanged(sender As Object, e As EventArgs) Handles Hght.TextChanged
If Val(Hght.Text) > 304 Then Hght.Text = 304
If Val(Hght.Text) < 0 Then Hght.Text = 0
Label30.Text = Val(Hght.Text) / 10
Label29.Text = Val(Label30.Text) * 3.281
End Sub
Private Sub Wght_TextChanged(sender As Object, e As EventArgs) Handles Wght.TextChanged
If Val(Wght.Text) > 21474 Then Wght.Text = 21474
If Val(Wght.Text) < 0 Then Wght.Text = 0
Label28.Text = Val(Wght.Text) / 10
Label27.Text = Val(Label28.Text) * 2.2
End Sub
Private Sub EnglishRSDescpLoad()
Description1.Text = ""
Description2.Text = ""
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
Dim DexDescp As String = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
FileGet(FileNum, DexDescp, ("&H" & (Pointer1.Text)) + 1, True)
DexDescp = Sapp2Asc(DexDescp)
DexDescp = Mid$(DexDescp, 1, InStr(1, DexDescp, "\x"))
DexDescp = Replace(DexDescp, "\n", vbCrLf)
DexDescp = Replace(RTrim$(DexDescp), "\", "")
DexDescripLength1 = Len(DexDescp)
Description1.Text = DexDescp
' Description1.MaxLength = Len(DexDescp)
DexDescp = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
FileGet(FileNum, DexDescp, ("&H" & (Pointer2.Text)) + 1, True)
DexDescp = Sapp2Asc(DexDescp)
DexDescp = Mid$(DexDescp, 1, InStr(1, DexDescp, "\x"))
DexDescp = Replace(DexDescp, "\n", vbCrLf)
DexDescp = Replace(RTrim$(DexDescp), "\", "")
DexDescripLength2 = Len(DexDescp)
Description2.Text = DexDescp
'Description2.MaxLength = Len(DexDescp)
FileClose(FileNum)
End Sub
Private Sub EnglishFRLGEDescpLoad()
Description1.Text = ""
Description2.Text = ""
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
Dim DexDescp As String = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
FileGet(FileNum, DexDescp, ("&H" & (Pointer1.Text)) + 1, True)
DexDescp = Sapp2Asc(DexDescp)
DexDescp = Mid$(DexDescp, 1, InStr(1, DexDescp, "\x"))
DexDescp = Replace(DexDescp, "\n", vbCrLf)
DexDescp = Replace(RTrim$(DexDescp), "\", "")
DexDescripLength1 = Len(DexDescp)
Description1.Text = DexDescp
' Description1.MaxLength = Len(DexDescp)
FileClose(FileNum)
End Sub
Private Sub Scale1_TextChanged(sender As Object, e As EventArgs) Handles Scale1.TextChanged
If Scale1.Text = "" Then
ElseIf Scale1.Text <> 0 Then
Dim PokePoint As Point
GetAndDrawFrontPokemonPicBLACK(RSEDexPoke, PKMNames.SelectedIndex + 1)
RSEDexPoke.Height = (64 * 256 / Scale1.Text)
RSEDexPoke.Width = (64 * 256 / Scale1.Text)
PokePoint.X = 15
If (64 - RSEDexPoke.Height) > 0 Then
PokePoint.Y = 123 + (64 - RSEDexPoke.Height)
Else
PokePoint.Y = 123
End If
RSEDexPoke.Location = PokePoint
RSEDexPoke.SizeMode = PictureBoxSizeMode.StretchImage
End If
End Sub
Private Sub Scale2_TextChanged(sender As Object, e As EventArgs) Handles Scale2.TextChanged
If Scale2.Text = "" Then
ElseIf Scale2.Text <> 0 Then
Dim TrainerPoint As Point
GetAndDrawTrainerPicBLACK(RSEDexTrainer, (GetString(GetINIFileLocation(), header, "DexSizeTrainerSprite", "")))
RSEDexTrainer.Height = (64 * 256 / Scale2.Text)
RSEDexTrainer.Width = (64 * 256 / Scale2.Text)
TrainerPoint.X = RSEDexPoke.Location.X + RSEDexPoke.Width
TrainerPoint.Y = 123 + (64 - RSEDexTrainer.Height)
RSEDexTrainer.Location = TrainerPoint
RSEDexTrainer.SizeMode = PictureBoxSizeMode.StretchImage
End If
End Sub
Private Sub RSEDexPoke_LocationChanged(sender As Object, e As EventArgs) Handles RSEDexPoke.LocationChanged
Dim TrainerPoint As Point
TrainerPoint.X = RSEDexPoke.Location.X + RSEDexPoke.Width
TrainerPoint.Y = 123 + (64 - RSEDexTrainer.Height)
RSEDexTrainer.Location = TrainerPoint
End Sub
Private Sub Description1_TextChanged(sender As Object, e As EventArgs) Handles Description1.TextChanged
Label38.Text = "Length: " & Len(Description1.Text) & "/" & DexDescripLength1
Label38.ForeColor = Color.Black
If Len(Description1.Text) > DexDescripLength1 Then
Label38.Text = Label38.Text & " Requires repoint!"
Label38.ForeColor = Color.Red
End If
End Sub
Private Sub Description2_TextChanged(sender As Object, e As EventArgs) Handles Description2.TextChanged
Label37.Text = "Length: " & Len(Description2.Text) & "/" & DexDescripLength2
Label37.ForeColor = Color.Black
If Len(Description2.Text) > DexDescripLength2 Then
Label37.Text = Label37.Text & " Requires repoint!"
Label37.ForeColor = Color.Red
End If
End Sub
Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
Dim indexbuff As Integer = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "NationalDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 2), 2))), System.Globalization.NumberStyles.HexNumber)
If header3 = "J" Then
If header2 = "AXP" Or header2 = "AXV" Then
MessageBox.Show("Support for this language has not been added yet!")
End
ElseIf header2 = "BPR" Or header2 = "BPG" Then
MessageBox.Show("Support for this language has not been added yet!")
End
ElseIf header2 = "BPE" Then
MessageBox.Show("Support for this language has not been added yet!")
End
End If
Else
If header2 = "AXP" Or header2 = "AXV" Then
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 4 + 12 + (indexbuff * SkipVar), ReverseHEX(Hex(Val("&H" & ((Pointer1.Text))) + &H8000000)))
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 8 + 12 + (indexbuff * SkipVar), ReverseHEX(Hex(Val("&H" & ((Pointer2.Text))) + &H8000000)))
EnglishRSDescpLoad()
ElseIf header2 = "BPR" Or header2 = "BPG" Then
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 4 + 12 + (indexbuff * SkipVar), ReverseHEX(Hex(Val("&H" & ((Pointer1.Text))) + &H8000000)))
EnglishFRLGEDescpLoad()
ElseIf header2 = "BPE" Then
WriteHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 4 + 12 + (indexbuff * SkipVar), ReverseHEX(Hex(Val("&H" & ((Pointer1.Text))) + &H8000000)))
EnglishFRLGEDescpLoad()
End If
End If
End Sub
Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
Dim indexbuff As Integer = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "NationalDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 2), 2))), System.Globalization.NumberStyles.HexNumber)
Dim Y As String
Dim Var1 As String
Dim Var2 As String
Dim filler As Byte = &H0
If header2 = "AXP" Or header2 = "AXV" Then
If DexDescripLength1 < Len(Description1.Text) Then
Dim resultR As DialogResult = 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) Then
Y = Asc2Sapp(Replace(Description1.Text, vbCrLf, "\n") & "\x")
Var1 = SearchFreeSpaceFourAligned(LoadedROM, &HFF, (Len(Y & " ")), "&H" & GetString(GetINIFileLocation(), header, "StartSearchingForSpaceOffset", "800000"))
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
FilePut(FileNum, Y & " ", "&H" & Hex(Var1 + 1), False)
FileClose(FileNum)
Pointer1.Text = Hex(Var1)
Label38.Text = "Length: " & Len(Description1.Text) & "/" & DexDescripLength1
Label38.ForeColor = Color.Black
If Len(Description1.Text) > DexDescripLength1 Then
Label38.Text = Label38.Text & " Requires repoint!"
Label38.ForeColor = Color.Red
End If
End If
Else
FileNum = FreeFile()
Var1 = ("&H" & Hex(Val("&H" & ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 4 + 12 + (indexbuff * SkipVar), 4))) - &H8000000)) + 1
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
Y = Asc2Sapp(Replace(Description1.Text, vbCrLf, "\n") & "\x")
FilePut(FileNum, Y, Var1, False)
FileClose(FileNum)
End If
If DexDescripLength2 < Len(Description2.Text) Then
Dim resultR2 As DialogResult = 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) Then
Y = Asc2Sapp(Replace(Description2.Text, vbCrLf, "\n") & "\x")
Var2 = SearchFreeSpaceFourAligned(LoadedROM, &HFF, (Len(Y & " ")), "&H" & GetString(GetINIFileLocation(), header, "StartSearchingForSpaceOffset", "800000"))
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
FilePut(FileNum, Y & " ", "&H" & Hex(Var2 + 1), False)
FileClose(FileNum)
Pointer2.Text = Hex(Var2)
Label37.Text = "Length: " & Len(Description2.Text) & "/" & DexDescripLength2
Label37.ForeColor = Color.Black
If Len(Description2.Text) > DexDescripLength2 Then
Label37.Text = Label37.Text & " Requires repoint!"
Label37.ForeColor = Color.Red
End If
End If
Else
FileNum = FreeFile()
Var2 = ("&H" & Hex(Val("&H" & ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 8 + 12 + (indexbuff * SkipVar), 4))) - &H8000000)) + 1
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
Y = Asc2Sapp(Replace(Description2.Text, vbCrLf, "\n") & "\x")
FilePut(FileNum, Y, Var2, False)
FileClose(FileNum)
End If
Button18.PerformClick()
ElseIf header2 = "BPR" Or header2 = "BPG" Then
If DexDescripLength1 < Len(Description1.Text) Then
Dim resultBPR As DialogResult = 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) Then
Y = Asc2Sapp(Replace(Description1.Text, vbCrLf, "\n") & "\x")
Var1 = SearchFreeSpaceFourAligned(LoadedROM, &HFF, (Len(Y & " ")), "&H" & GetString(GetINIFileLocation(), header, "StartSearchingForSpaceOffset", "800000"))
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
FilePut(FileNum, Y & " ", "&H" & Hex(Var1 + 1), False)
FileClose(FileNum)
Pointer1.Text = Hex(Var1)
Button18.PerformClick()
Label38.Text = "Length: " & Len(Description1.Text) & "/" & DexDescripLength1
Label38.ForeColor = Color.Black
If Len(Description1.Text) > DexDescripLength1 Then
Label38.Text = Label38.Text & " Requires repoint!"
Label38.ForeColor = Color.Red
End If
End If
Else
FileNum = FreeFile()
Var1 = ("&H" & Hex(Val("&H" & ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 4 + 12 + (indexbuff * SkipVar), 4))) - &H8000000)) + 1
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
Y = Asc2Sapp(Replace(Description1.Text, vbCrLf, "\n") & "\x")
FilePut(FileNum, Y, Var1, False)
FileClose(FileNum)
End If
ElseIf header2 = "BPE" Then
If DexDescripLength1 < Len(Description1.Text) Then
Dim resultBPE As DialogResult = 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) Then
Y = Asc2Sapp(Replace(Description1.Text, vbCrLf, "\n") & "\x")
Var1 = SearchFreeSpaceFourAligned(LoadedROM, &HFF, (Len(Y & " ")), "&H" & GetString(GetINIFileLocation(), header, "StartSearchingForSpaceOffset", "800000"))
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
FilePut(FileNum, Y & " ", "&H" & Hex(Var1 + 1), False)
FileClose(FileNum)
Pointer1.Text = Hex(Var1)
Button18.PerformClick()
Label38.Text = "Length: " & Len(Description1.Text) & "/" & DexDescripLength1
Label38.ForeColor = Color.Black
If Len(Description1.Text) > DexDescripLength1 Then
Label38.Text = Label38.Text & " Requires repoint!"
Label38.ForeColor = Color.Red
End If
End If
Else
FileNum = FreeFile()
Var1 = ("&H" & Hex(Val("&H" & ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber) + 4 + 12 + (indexbuff * SkipVar), 4))) - &H8000000)) + 1
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
Y = Asc2Sapp(Replace(Description1.Text, vbCrLf, "\n") & "\x")
FilePut(FileNum, Y, Var1, False)
FileClose(FileNum)
End If
End If
End Sub
Public Sub DexDataSave()
Dim indexbuff As Integer = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, Int32.Parse((GetString(GetINIFileLocation(), header, "NationalDexTable", "")), System.Globalization.NumberStyles.HexNumber) + (PKMNames.SelectedIndex * 2), 2))), System.Globalization.NumberStyles.HexNumber)
Dim offset1 As Integer = Int32.Parse((GetString(GetINIFileLocation(), header, "PokedexData", "")), System.Globalization.NumberStyles.HexNumber)
If indexbuff < (GetString(GetINIFileLocation(), header, "NumberOfDexEntries", "")) And indexbuff <> 0 Then
If header2 = "AXP" Or header2 = "AXV" Then
WriteHEX(LoadedROM, offset1 + 12 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Hght.Text), 4)))
WriteHEX(LoadedROM, offset1 + 2 + 12 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Wght.Text), 4)))
WriteHEX(LoadedROM, offset1 + 26 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Scale1.Text), 4)))
WriteHEX(LoadedROM, offset1 + 28 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Offset_1.Text), 4)))
WriteHEX(LoadedROM, offset1 + 30 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Scale2.Text), 4)))
WriteHEX(LoadedROM, offset1 + 32 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Offset_2.Text), 4)))
ElseIf header2 = "BPR" Or header2 = "BPG" Then
WriteHEX(LoadedROM, offset1 + 12 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Hght.Text), 4)))
WriteHEX(LoadedROM, offset1 + 2 + 12 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Wght.Text), 4)))
WriteHEX(LoadedROM, offset1 + 26 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Scale1.Text), 4)))
WriteHEX(LoadedROM, offset1 + 28 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Offset_1.Text), 4)))
WriteHEX(LoadedROM, offset1 + 30 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Scale2.Text), 4)))
WriteHEX(LoadedROM, offset1 + 32 + 12 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Offset_2.Text), 4)))
ElseIf header2 = "BPE" Then
WriteHEX(LoadedROM, offset1 + 12 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Hght.Text), 4)))
WriteHEX(LoadedROM, offset1 + 2 + 12 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Wght.Text), 4)))
WriteHEX(LoadedROM, offset1 + 22 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Scale1.Text), 4)))
WriteHEX(LoadedROM, offset1 + 24 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Offset_1.Text), 4)))
WriteHEX(LoadedROM, offset1 + 26 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Scale2.Text), 4)))
WriteHEX(LoadedROM, offset1 + 28 + (indexbuff * SkipVar), ReverseHEX(VB.Right("0000" & Hex(Offset_2.Text), 4)))
End If
ChangePokedexTypeName(indexbuff, TextBox5.Text)
End If
End Sub
Public Sub LoadSpritePosition()
PlayerYSelect.Value = ByteToSignedInt("&H" & (ReadHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "PlayerYTable", "")), System.Globalization.NumberStyles.HexNumber)) + 4 + 1 + (PKMNames.SelectedIndex * 4), 1)))
EnemyYSelect.Value = ByteToSignedInt("&H" & (ReadHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "EnemyYTable", "")), System.Globalization.NumberStyles.HexNumber)) + 4 + 1 + (PKMNames.SelectedIndex * 4), 1)))
EnemyAltitudeSelect.Value = ByteToSignedInt("&H" & (ReadHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "EnemyAltitudeTable", "")), System.Globalization.NumberStyles.HexNumber)) + 1 + (PKMNames.SelectedIndex * 1), 1)))
DrawBatttlePositionGraphics()
End Sub
Public Sub SaveSpritePosition()
WriteHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "PlayerYTable", "")), System.Globalization.NumberStyles.HexNumber)) + 4 + 1 + (PKMNames.SelectedIndex * 4), SignedIntToHex(PlayerYSelect.Value))
WriteHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "EnemyYTable", "")), System.Globalization.NumberStyles.HexNumber)) + 4 + 1 + (PKMNames.SelectedIndex * 4), SignedIntToHex(EnemyYSelect.Value))
WriteHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "EnemyAltitudeTable", "")), System.Globalization.NumberStyles.HexNumber)) + 1 + (PKMNames.SelectedIndex * 1), SignedIntToHex(EnemyAltitudeSelect.Value))
End Sub
Public Sub DrawBatttlePositionGraphics()
BackgroundBox.Image.Dispose()
BackgroundBox.Image = Image.FromFile(AppPath & "img\BattlePreviewBackground.png")
Dim bgBox As PictureBox
Dim imagedraw As Bitmap
Dim height As Integer = (&H40 - PlayerYSelect.Value)
If (height > &H40) Then
height = &H40
End If
If (EnemyAltitudeSelect.Value <> 0) Then
bgBox = BackgroundBox
imagedraw = DirectCast(BackgroundBox.Image, Bitmap)
BitmapBLT(Image.FromFile(AppPath & "img\BattlePreviewShadow.png"), imagedraw, 160, &H41, 0, 0, &H20, 8)
BackgroundBox.Image = imagedraw
End If
bgBox = BackgroundBox
imagedraw = DirectCast(BackgroundBox.Image, Bitmap)
BitmapBLT(GetFrontPokemonPicToBitmap(PKMNames.SelectedIndex + 1, False), imagedraw, &H90, (8 + EnemyYSelect.Value - EnemyAltitudeSelect.Value), 0, 0, &H40, &H40)
BackgroundBox.Image = imagedraw
bgBox = BackgroundBox
imagedraw = DirectCast(BackgroundBox.Image, Bitmap)
BitmapBLT(GetNormalBackPokemonPicToBitmap(PKMNames.SelectedIndex + 1, False), imagedraw, 40, (&H30 + PlayerYSelect.Value), 0, 0, &H40, height)
BackgroundBox.Image = imagedraw
End Sub
Private Sub PlayerYSelect_ValueChanged(sender As Object, e As EventArgs) Handles PlayerYSelect.ValueChanged
DrawBatttlePositionGraphics()
End Sub
Private Sub EnemyYSelect_ValueChanged(sender As Object, e As EventArgs) Handles EnemyYSelect.ValueChanged
DrawBatttlePositionGraphics()
End Sub
Private Sub EnemyAltitudeSelect_ValueChanged(sender As Object, e As EventArgs) Handles EnemyAltitudeSelect.ValueChanged
DrawBatttlePositionGraphics()
End Sub
Private Sub Button19_Click(sender As Object, e As EventArgs) Handles Button19.Click
fileOpenDialog.FileName = ""
fileOpenDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
fileOpenDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
fileOpenDialog.DefaultExt = "png"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
fileOpenDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
fileOpenDialog.Filter =
"(*.png)|*.png*"
fileOpenDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
fileOpenDialog.ShowHelp = False
fileOpenDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
fileOpenDialog.ReadOnlyChecked = False
fileOpenDialog.Title = "Select Sprite Sheet to import"
' Only accept valid Win32 file names?
fileOpenDialog.ValidateNames = True
If fileOpenDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.Enabled = False
ImportAseriesSheet(fileOpenDialog.FileName, PKMNames.SelectedIndex + 1)
'Dim refreshvar As Integer
'refreshvar = PKMNames.SelectedIndex
'If PKMNames.SelectedIndex = 0 Then
' PKMNames.SelectedIndex = PKMNames.SelectedIndex + 1
' Me.Enabled = False
'Else
' PKMNames.SelectedIndex = PKMNames.SelectedIndex - 1
' Me.Enabled = False
'End If
'PKMNames.SelectedIndex = refreshvar
i = PKMNames.SelectedIndex
FrontSpritePointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonFrontSprites", "")), System.Globalization.NumberStyles.HexNumber)
BackSpritePointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonBackSprites", "")), System.Globalization.NumberStyles.HexNumber)
NormalPalPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonNormalPal", "")), System.Globalization.NumberStyles.HexNumber)
ShinyPalPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonShinyPal", "")), System.Globalization.NumberStyles.HexNumber)
FrontPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (FrontSpritePointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
BackPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (BackSpritePointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
ShinyPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (ShinyPalPointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
NormalPointer.Text = (Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (NormalPalPointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000))
GetAndDrawFrontPokemonPic(FrntPic, i + 1)
GetAndDrawBackPokemonPic(BckPic2, i + 1)
GetAndDrawFrontPokemonPicShiny(FrntPic2, i + 1)
GetAndDrawBackPokemonPicNormal(BckPic, i + 1)
DrawBatttlePositionGraphics()
If header2 = "BPE" Then
Button2.Enabled = True
AnimationPointer.Enabled = True
AnimationPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "PokemonAnimations", "")), System.Globalization.NumberStyles.HexNumber)
AnimationPointer.Text = (Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (AnimationPointers) + (8) + (i * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000))
GetAndDrawAnimationPokemonPic(AniPic, i + 1)
GetAndDrawAnimationPokemonPicShiny(AniPic2, i + 1)
End If
If Scale1.Text = "" Then
ElseIf Scale1.Text <> 0 Then
Dim PokePoint As Point
GetAndDrawFrontPokemonPicBLACK(RSEDexPoke, PKMNames.SelectedIndex + 1)
RSEDexPoke.Height = (64 * 256 / Scale1.Text)
RSEDexPoke.Width = (64 * 256 / Scale1.Text)
PokePoint.X = 15
If (64 - RSEDexPoke.Height) > 0 Then
PokePoint.Y = 123 + (64 - RSEDexPoke.Height)
Else
PokePoint.Y = 123
End If
RSEDexPoke.Location = PokePoint
RSEDexPoke.SizeMode = PictureBoxSizeMode.StretchImage
End If
Me.Text = "Pokemon Editor"
Me.Enabled = True
End If
End Sub
Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
SaveFileDialog.FileName = (PKMNames.SelectedIndex + 1) & ".png"
'SaveFileDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
SaveFileDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
SaveFileDialog.DefaultExt = "png"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
SaveFileDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
SaveFileDialog.Filter =
"(*.png)|*.png*"
'SaveFileDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
SaveFileDialog.ShowHelp = False
'SaveFileDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
'SaveFileDialog.ReadOnlyChecked = False
SaveFileDialog.Title = "Save as"
' Only accept valid Win32 file names?
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportAseriesSheet(SaveFileDialog.FileName, PKMNames.SelectedIndex + 1)
End If
End Sub
Private Sub Button22_Click(sender As Object, e As EventArgs) Handles Button22.Click
SaveFileDialog.FileName = (PKMNames.SelectedIndex + 1) & ".png"
'SaveFileDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
SaveFileDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
SaveFileDialog.DefaultExt = "png"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
SaveFileDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
SaveFileDialog.Filter =
"(*.png)|*.png*"
'SaveFileDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
SaveFileDialog.ShowHelp = False
'SaveFileDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
'SaveFileDialog.ReadOnlyChecked = False
SaveFileDialog.Title = "Save as"
' Only accept valid Win32 file names?
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportPokemonIcon(SaveFileDialog.FileName, (PKMNames.SelectedIndex + 1))
End If
End Sub
Private Sub Button21_Click(sender As Object, e As EventArgs) Handles Button21.Click
fileOpenDialog.FileName = ""
fileOpenDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
fileOpenDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
fileOpenDialog.DefaultExt = "png"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
fileOpenDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
fileOpenDialog.Filter =
"(*.png)|*.png*"
fileOpenDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
fileOpenDialog.ShowHelp = False
fileOpenDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
fileOpenDialog.ReadOnlyChecked = False
fileOpenDialog.Title = "Select Icon to import"
' Only accept valid Win32 file names?
fileOpenDialog.ValidateNames = True
If fileOpenDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.Enabled = False
ImportPokemonIcon(fileOpenDialog.FileName, PKMNames.SelectedIndex + 1)
i = PKMNames.SelectedIndex
IconPointers = Int32.Parse((GetString(GetINIFileLocation(), header, "IconPointerTable", "")), System.Globalization.NumberStyles.HexNumber)
IconPalTable = Int32.Parse((GetString(GetINIFileLocation(), header, "IconPalTable", "")), System.Globalization.NumberStyles.HexNumber)
IconPointer.Text = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, (IconPointers) + (4) + (i * 4), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
IconPal.SelectedIndex = Int32.Parse(((ReadHEX(LoadedROM, (IconPalTable) + (1) + (i), 1))), System.Globalization.NumberStyles.HexNumber)
GetAndDrawPokemonIconPic(IconPicBox, i + 1, IconPal.SelectedIndex)
Me.Text = "Pokemon Editor"
Me.Enabled = True
End If
End Sub
Private Sub Button24_Click(sender As Object, e As EventArgs) Handles Button24.Click
SaveFileDialog.FileName = (PKMNames.SelectedIndex + 1) & ".png"
'SaveFileDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
SaveFileDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
SaveFileDialog.DefaultExt = "png"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
SaveFileDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
SaveFileDialog.Filter =
"(*.png)|*.png*"
'SaveFileDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
SaveFileDialog.ShowHelp = False
'SaveFileDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
'SaveFileDialog.ReadOnlyChecked = False
SaveFileDialog.Title = "Save as"
' Only accept valid Win32 file names?
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportPokemonFootprint(SaveFileDialog.FileName, (PKMNames.SelectedIndex + 1))
End If
End Sub
Private Sub Button23_Click(sender As Object, e As EventArgs) Handles Button23.Click
fileOpenDialog.FileName = ""
fileOpenDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
fileOpenDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
fileOpenDialog.DefaultExt = "png"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
fileOpenDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
fileOpenDialog.Filter =
"(*.png)|*.png*"
fileOpenDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
fileOpenDialog.ShowHelp = False
fileOpenDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
fileOpenDialog.ReadOnlyChecked = False
fileOpenDialog.Title = "Select Footprint to import"
' Only accept valid Win32 file names?
fileOpenDialog.ValidateNames = True
If fileOpenDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.Enabled = False
ImportPokemonFootPrint(fileOpenDialog.FileName, PKMNames.SelectedIndex + 1)
GetAndDrawPokemonFootPrint(PictureBox1, PKMNames.SelectedIndex + 1)
Me.Text = "Pokemon Editor"
Me.Enabled = True
End If
End Sub
Private Sub Button26_Click(sender As Object, e As EventArgs) Handles Button26.Click
FolderBrowserDialog.Description = "Select folder to export all Sprite Sheets to:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
If System.IO.Directory.Exists(FolderBrowserDialog.SelectedPath & "\Sprites") = False Then
CreateDirectory(FolderBrowserDialog.SelectedPath & "\Sprites")
End If
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
' PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
ExportAseriesSheet(FolderBrowserDialog.SelectedPath & "\Sprites\" & LoopVar & ".png", LoopVar)
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button25_Click(sender As Object, e As EventArgs) Handles Button25.Click
FolderBrowserDialog.Description = "Select folder to import Sprite Sheets from:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
'PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
If System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".png") Then
ImportAseriesSheet(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".png", LoopVar)
ElseIf System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & VB.Right("000" & LoopVar, 3) & ".png") Then
ImportAseriesSheet(FolderBrowserDialog.SelectedPath & "\" & VB.Right("000" & LoopVar, 3) & ".png", LoopVar)
End If
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
PKMNames.SelectedIndex = 1
PKMNames.SelectedIndex = 0
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button27_Click(sender As Object, e As EventArgs) Handles Button27.Click
FolderBrowserDialog.Description = "Select folder to export all Icons to:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
If System.IO.Directory.Exists(FolderBrowserDialog.SelectedPath & "\Icons") = False Then
CreateDirectory(FolderBrowserDialog.SelectedPath & "\Icons")
End If
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
' PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
ExportPokemonIcon(FolderBrowserDialog.SelectedPath & "\Icons\" & LoopVar & ".png", LoopVar)
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button28_Click(sender As Object, e As EventArgs) Handles Button28.Click
FolderBrowserDialog.Description = "Select folder to import Icons from:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
'PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
If System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".png") Then
ImportPokemonIcon(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".png", LoopVar)
ElseIf System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & VB.Right("000" & LoopVar, 3) & ".png") Then
ImportPokemonIcon(FolderBrowserDialog.SelectedPath & "\" & VB.Right("000" & LoopVar, 3) & ".png", LoopVar)
End If
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
PKMNames.SelectedIndex = 1
PKMNames.SelectedIndex = 0
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button30_Click(sender As Object, e As EventArgs) Handles Button30.Click
FolderBrowserDialog.Description = "Select folder to import Footprints from:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
'PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
If System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".png") Then
ImportPokemonFootPrint(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".png", LoopVar)
End If
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
PKMNames.SelectedIndex = 1
PKMNames.SelectedIndex = 0
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button29_Click(sender As Object, e As EventArgs) Handles Button29.Click
FolderBrowserDialog.Description = "Select folder to export all Footprints to:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
If System.IO.Directory.Exists(FolderBrowserDialog.SelectedPath & "\Footprints") = False Then
CreateDirectory(FolderBrowserDialog.SelectedPath & "\Footprints")
End If
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
' PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
ExportPokemonFootprint(FolderBrowserDialog.SelectedPath & "\Footprints\" & LoopVar & ".png", LoopVar)
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub Button31_Click(sender As Object, e As EventArgs) Handles Button31.Click
i = PKMNames.SelectedIndex
If (i + 1) < 252 Then
'WriteHEX(LoadedROM, (CryTable) + (4) + (i * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (CryTable3) + (4) + (i * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer2.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
'WriteHEX(LoadedROM, (CryTable) + (i * 12), (Hex(Int32.Parse(((CryComp1.Text)), System.Globalization.NumberStyles.HexNumber))))
WriteHEX(LoadedROM, (CryTable3) + (i * 12), (Hex(Int32.Parse(((CryComp2.Text)), System.Globalization.NumberStyles.HexNumber))))
crynorm = LoadCry(i, CryTable)
crygrowl = LoadCry(i, CryTable3)
Label53.Text = "Sample Rate: " & crynorm.SampleRate & " Hz"
Label54.Text = "Sample Rate: " & crygrowl.SampleRate & " Hz"
Label55.Text = "Size: " & crynorm.Data.Length & " samples"
Label56.Text = "Size: " & crygrowl.Data.Length & " samples"
chkCompressed1.Checked = crynorm.Compressed
chkCompressed2.Checked = crygrowl.Compressed
pSample.Image = GetCryImage(crynorm)
pSample2.Image = GetCryImage(crygrowl)
ElseIf (i + 1) > 251 And (i + 1) < 276 Then
MsgBox("This shoudln't be enabled! report it!")
ElseIf (i + 1) > 276 Then
'WriteHEX(LoadedROM, (CryTable) + (4) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, (CryTable3) + (4) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), ReverseHEX(Hex(Int32.Parse(((CryPointer2.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
'WriteHEX(LoadedROM, (CryTable) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), (Hex(Int32.Parse(((CryComp1.Text)), System.Globalization.NumberStyles.HexNumber))))
WriteHEX(LoadedROM, (CryTable3) + (((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))) * 12), (Hex(Int32.Parse(((CryComp2.Text)), System.Globalization.NumberStyles.HexNumber))))
crynorm = LoadCry(((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))), CryTable)
crygrowl = LoadCry(((Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((CryTable2)) + ((i - 276) * 2), 2))), System.Globalization.NumberStyles.HexNumber))), CryTable3)
Label53.Text = "Sample Rate: " & crynorm.SampleRate & " Hz"
Label54.Text = "Sample Rate: " & crygrowl.SampleRate & " Hz"
Label55.Text = "Size: " & crynorm.Data.Length & " samples"
Label56.Text = "Size: " & crygrowl.Data.Length & " samples"
chkCompressed1.Checked = crynorm.Compressed
chkCompressed2.Checked = crygrowl.Compressed
pSample.Image = GetCryImage(crynorm)
pSample2.Image = GetCryImage(crygrowl)
End If
End Sub
Private Sub Button32_Click(sender As Object, e As EventArgs) Handles Button32.Click
PlayCry(crynorm)
End Sub
Private Sub Button37_Click(sender As Object, e As EventArgs) Handles Button37.Click
PlayCry(crygrowl)
End Sub
Private Sub Button34_Click(sender As Object, e As EventArgs) Handles Button34.Click
SaveFileDialog.FileName = (PKMNames.SelectedIndex + 1) & ".wav"
'SaveFileDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
SaveFileDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
SaveFileDialog.DefaultExt = "wav"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
SaveFileDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
SaveFileDialog.Filter =
"(*.wav)|*.wav*"
'SaveFileDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
SaveFileDialog.ShowHelp = False
'SaveFileDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
'SaveFileDialog.ReadOnlyChecked = False
SaveFileDialog.Title = "Save as"
' Only accept valid Win32 file names?
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportCry(SaveFileDialog.FileName, crynorm)
End If
End Sub
Private Sub Button35_Click(sender As Object, e As EventArgs) Handles Button35.Click
SaveFileDialog.FileName = (PKMNames.SelectedIndex + 1) & ".wav"
'SaveFileDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
SaveFileDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
SaveFileDialog.DefaultExt = "wav"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
SaveFileDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
SaveFileDialog.Filter =
"(*.wav)|*.wav*"
'SaveFileDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
SaveFileDialog.ShowHelp = False
'SaveFileDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
'SaveFileDialog.ReadOnlyChecked = False
SaveFileDialog.Title = "Save as"
' Only accept valid Win32 file names?
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportCry(SaveFileDialog.FileName, crygrowl)
End If
End Sub
Private Sub Button33_Click(sender As Object, e As EventArgs) Handles Button33.Click
fileOpenDialog.FileName = ""
fileOpenDialog.CheckFileExists = True
' Check to ensure that the selected path exists. Dialog box displays
' a warning otherwise.
fileOpenDialog.CheckPathExists = True
' Get or set default extension. Doesn't include the leading ".".
fileOpenDialog.DefaultExt = "wav"
' Return the file referenced by a link? If False, simply returns the selected link
' file. If True, returns the file linked to the LNK file.
fileOpenDialog.DereferenceLinks = True
' Just as in VB6, use a set of pairs of filters, separated with "|". Each
' pair consists of a description|file spec. Use a "|" between pairs. No need to put a
' trailing "|". You can set the FilterIndex property as well, to select the default
' filter. The first filter is numbered 1 (not 0). The default is 1.
fileOpenDialog.Filter =
"(*.wav)|*.wav*"
fileOpenDialog.Multiselect = False
' Restore the original directory when done selecting
' a file? If False, the current directory changes
' to the directory in which you selected the file.
' Set this to True to put the current folder back
' where it was when you started.
' The default is False.
'.RestoreDirectory = False
' Show the Help button and Read-Only checkbox?
fileOpenDialog.ShowHelp = False
fileOpenDialog.ShowReadOnly = False
' Start out with the read-only check box checked?
' This only make sense if ShowReadOnly is True.
fileOpenDialog.ReadOnlyChecked = False
fileOpenDialog.Title = "Select Cry to import"
' Only accept valid Win32 file names?
fileOpenDialog.ValidateNames = True
If fileOpenDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.Enabled = False
crynorm = ImportCry(fileOpenDialog.FileName, crynorm)
crynorm.Index += 1
Dim cryGood As Boolean = SaveCryNoPrompt(crynorm, CryTable, CryTable3)
If cryGood Then
LoadCryWindow()
End If
Me.Text = "Pokemon Editor"
Me.Enabled = True
End If
End Sub
Private Sub Button38_Click(sender As Object, e As EventArgs) Handles Button38.Click
FolderBrowserDialog.Description = "Select folder to export all Cries to:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
If System.IO.Directory.Exists(FolderBrowserDialog.SelectedPath & "\Cries") = False Then
CreateDirectory(FolderBrowserDialog.SelectedPath & "\Cries")
End If
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 = True
PKMNames.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
ExportCry(FolderBrowserDialog.SelectedPath & "\Cries\" & LoopVar & ".wav", crynorm)
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
Private Sub AniSavBttn_Click(sender As Object, e As EventArgs) Handles AniSavBttn.Click
If header2 = "BPE" Then
i = PKMNames.SelectedIndex
WriteHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "FrontAnimationTable", "")), System.Globalization.NumberStyles.HexNumber)) + (i), (Hex(Val(TextBox8.Text))))
WriteHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "BackAnimTable", "")), System.Globalization.NumberStyles.HexNumber)) + (1) + (i), (Hex(Val(TextBox9.Text))))
WriteHEX(LoadedROM, (Int32.Parse((GetString(GetINIFileLocation(), header, "AnimDelayTable", "")), System.Globalization.NumberStyles.HexNumber)) + (i), (Hex(Val(TextBox10.Text))))
End If
End Sub
Private Sub TabChanged() Handles TabControl1.Selected
If (TabControl1.SelectedTab Is TabPage1 And Not Tab1LoadedMon = PKMNames.SelectedIndex + 1) Or
(TabControl1.SelectedTab Is TabPage2 And Not Tab2LoadedMon = PKMNames.SelectedIndex + 1) Or
(TabControl1.SelectedTab Is TabPage3 And Not Tab3LoadedMon = PKMNames.SelectedIndex + 1) Then
Baseload()
Tab2LoadedMon = PKMNames.SelectedIndex + 1
Tab3LoadedMon = PKMNames.SelectedIndex + 1
End If
If (TabControl1.SelectedTab Is TabPage1 And Not Tab1LoadedMon = PKMNames.SelectedIndex + 1) Then
MediaLoad()
LoadSpritePosition()
'BackgroundBox loads late if its not invalidated/updated
BackgroundBox.Invalidate()
GetAndDrawFrontPokemonPic(FrntPic, i + 1)
GetAndDrawBackPokemonPic(BckPic2, i + 1)
GetAndDrawFrontPokemonPicShiny(FrntPic2, i + 1)
GetAndDrawBackPokemonPicNormal(BckPic, i + 1)
GetAndDrawPokemonIconPic(IconPicBox, i + 1, IconPal.SelectedIndex)
GetAndDrawPokemonFootPrint(PictureBox1, i + 1)
If header2 = "BPE" Then
GetAndDrawAnimationPokemonPic(AniPic, i + 1)
GetAndDrawAnimationPokemonPicShiny(AniPic2, i + 1)
End If
BackgroundBox.Update()
Tab1LoadedMon = PKMNames.SelectedIndex + 1
End If
If (TabControl1.SelectedTab Is TabPage6 And Not Tab6LoadedMon = PKMNames.SelectedIndex + 1) Then
LoadCryWindow()
Tab6LoadedMon = PKMNames.SelectedIndex + 1
End If
If TabControl1.SelectedTab Is TabPage2 And Not Tab2LoadedMon = PKMNames.SelectedIndex + 1 Then
Tab2LoadedMon = PKMNames.SelectedIndex + 1
ElseIf TabControl1.SelectedTab Is TabPage3 And Not Tab3LoadedMon = PKMNames.SelectedIndex + 1 Then
Tab3LoadedMon = PKMNames.SelectedIndex + 1
ElseIf TabControl1.SelectedTab Is TabPage4 And Not Tab4LoadedMon = PKMNames.SelectedIndex + 1 Then
TMHMCOMLoad()
LearnableMoveLoad()
MTComLoad()
lvlupattacks.SelectedIndex = 0
Tab4LoadedMon = PKMNames.SelectedIndex + 1
ElseIf TabControl1.SelectedTab Is TabPage5 And Not Tab5LoadedMon = PKMNames.SelectedIndex + 1 Then
LoadDexData()
Tab5LoadedMon = PKMNames.SelectedIndex + 1
End If
End Sub
Private Sub LoadUnloadedTabs()
'Me.Enabled = False
If Not (Tab1LoadedMon = PKMNames.SelectedIndex + 1 Or Tab2LoadedMon = PKMNames.SelectedIndex + 1 Or Tab3LoadedMon = PKMNames.SelectedIndex + 1) Then
Baseload()
End If
If Not Tab4LoadedMon = PKMNames.SelectedIndex + 1 Then
TMHMCOMLoad()
LearnableMoveLoad()
MTComLoad()
lvlupattacks.SelectedIndex = 0
Tab4LoadedMon = PKMNames.SelectedIndex + 1
End If
If Not Tab5LoadedMon = PKMNames.SelectedIndex + 1 Then
LoadDexData()
End If
If Not Tab1LoadedMon = PKMNames.SelectedIndex + 1 Then
LoadSpritePosition()
End If
Tab2LoadedMon = PKMNames.SelectedIndex + 1
Tab3LoadedMon = PKMNames.SelectedIndex + 1
Tab4LoadedMon = PKMNames.SelectedIndex + 1
Tab5LoadedMon = PKMNames.SelectedIndex + 1
'Me.Enabled = True
End Sub
Private Sub Button43_Click(sender As Object, e As EventArgs) Handles Button43.Click
FolderBrowserDialog.Description = "Select folder to import cries from:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar.Value = 0
ProgressBar.Visible = True
Dim LoopVar As Integer
LoopVar = 440
Me.Enabled = False
CryTable = Int32.Parse((GetString(GetINIFileLocation(), header, "CryTable", "")), System.Globalization.NumberStyles.HexNumber)
'CryTable2 = Int32.Parse((GetString(GetINIFileLocation(), header, "CryConversionTable", "")), System.Globalization.NumberStyles.HexNumber)
CryTable3 = Int32.Parse((GetString(GetINIFileLocation(), header, "CryTable2", "")), System.Globalization.NumberStyles.HexNumber)
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 And 439 < LoopVar And 861 > LoopVar = True
'PKMNames.SelectedIndex = LoopVar
Dim convNum As Integer = LoopVar - 53
Dim validFiles As String() = GetFiles(FolderBrowserDialog.SelectedPath, "*" & convNum & "*")
If validFiles.Count > 0 Then
crynorm = New Cry With {
.Index = LoopVar
}
crynorm = ImportCry(validFiles(0), crynorm)
SaveCryNoPrompt(crynorm, CryTable, CryTable3)
End If
LoopVar = LoopVar + 1
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
LoopVar = 880
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfPokemon", "")) - 1 And 439 < LoopVar = True
Dim validFiles As String() = GetFiles(FolderBrowserDialog.SelectedPath, "*" & LoopVar & "*")
If validFiles.Count > 0 Then
crynorm = New Cry With {
.Index = LoopVar
}
crynorm = ImportCry(validFiles(0), crynorm)
SaveCryNoPrompt(crynorm, CryTable, CryTable3)
End If
LoopVar = LoopVar + 1
ProgressBar.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfPokemon", ""))) * 100
ProgressBar.Invalidate()
ProgressBar.Update()
End While
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim convMons As New List(Of String)
If IO.File.Exists(FolderBrowserDialog.SelectedPath & "\Conversions.txt") Then
convMons.AddRange(IO.File.ReadLines(FolderBrowserDialog.SelectedPath & "\Conversions.txt"))
Dim MonArray As List(Of String()) = New List(Of String())
For Each mon As String In convMons
MonArray.Add(mon.Split(New String() {"="}, StringSplitOptions.None))
Next
Dim offset As Integer = Int32.Parse((GetString(GetINIFileLocation(), header, "CryConversionTable", "")), System.Globalization.NumberStyles.HexNumber)
For Each mon As String() In MonArray
If mon.Count > 1 Then
If mon(1) < 277 Then
WriteHEX(LoadedROM, ((offset)) + ((Int32.Parse(mon(0)) - 277) * 2), ReverseHEX(VB.Right("0000" & Hex(Int32.Parse(mon(1) - 1)), 4)))
Else
WriteHEX(LoadedROM, ((offset)) + ((Int32.Parse(mon(0)) - 277) * 2), ReverseHEX(VB.Right("0000" & Hex(Int32.Parse(mon(1))), 4)))
End If
End If
Next
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
PKMNames.SelectedIndex = 0
Me.Text = "Pokemon Editor"
Me.UseWaitCursor = False
Me.Enabled = True
ProgressBar.Visible = False
Me.BringToFront()
End If
End Sub
End Class