mirror of
https://github.com/Gamer2020/PokemonGameEditor.git
synced 2026-08-06 17:53:46 -05:00
I added support for new types since apparently I never added it. I also made the Attack and Pokemon editor show the index of the one you are editing.
326 lines
16 KiB
VB.net
326 lines
16 KiB
VB.net
Public Class AttackEditor
|
|
Dim AttackDesc As Integer
|
|
Dim AttackData As Integer
|
|
Dim AttackAni As Integer
|
|
Dim ContestMoveData As Integer
|
|
Dim ContestMoveEffectData As Integer
|
|
|
|
Private Sub AttackEditor_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
|
|
MainFrm.Visible = True
|
|
End Sub
|
|
|
|
Private Sub AttackEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
|
|
Dim LoopVar As Integer
|
|
LoopVar = 1
|
|
|
|
ComboBox1.Items.Clear()
|
|
|
|
ComboBox1.Items.AddRange(IO.File.ReadAllLines(AppPath & "PGETypeList.txt"))
|
|
|
|
ComboBox3.Items.Clear()
|
|
|
|
While LoopVar < (GetString(AppPath & "ini\roms.ini", header, "NumberOfAttacks", "")) + 1 = True
|
|
|
|
|
|
ComboBox3.Items.Add(GetAttackName(LoopVar))
|
|
|
|
|
|
LoopVar = LoopVar + 1
|
|
|
|
End While
|
|
ComboBox3.SelectedIndex = 0
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged
|
|
Dim blah As Integer
|
|
Dim binarythebitch As String
|
|
AttackDesc = Int32.Parse((GetString(AppPath & "ini\roms.ini", header, "AttackDescriptionTable", "")), System.Globalization.NumberStyles.HexNumber)
|
|
AttackData = Int32.Parse((GetString(AppPath & "ini\roms.ini", header, "AttackData", "")), System.Globalization.NumberStyles.HexNumber)
|
|
AttackAni = Int32.Parse((GetString(AppPath & "ini\roms.ini", header, "AttackAnimationTable", "")), System.Globalization.NumberStyles.HexNumber)
|
|
|
|
AnimationPointer.Text = Hex(Val("&H" & ReverseHEX(ReadHEX(LoadedROM, (AttackAni) + (ComboBox3.SelectedIndex * 4) + 4, 4))) - &H8000000)
|
|
|
|
AttackListIndex.Text = ComboBox3.SelectedIndex + 1
|
|
|
|
TextBox1.Text = GetAttackName(ComboBox3.SelectedIndex + 1)
|
|
|
|
TextBox6.Text = Hex(Val("&H" & ReverseHEX(ReadHEX(LoadedROM, (AttackDesc) + (ComboBox3.SelectedIndex * 4), 4))) - &H8000000)
|
|
|
|
FileNum = FreeFile()
|
|
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
|
|
Dim DexDescp As String = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
|
|
|
FileGet(FileNum, DexDescp, Int32.Parse(((TextBox6.Text)), System.Globalization.NumberStyles.HexNumber) + 1, True)
|
|
DexDescp = Sapp2Asc(DexDescp)
|
|
DexDescp = Mid$(DexDescp, 1, InStr(1, DexDescp, "\x"))
|
|
DexDescp = Replace(DexDescp, "\n", vbCrLf)
|
|
DexDescp = Replace(RTrim$(DexDescp), "\", "")
|
|
TextBox7.Text = DexDescp
|
|
TextBox7.MaxLength = Len(DexDescp)
|
|
|
|
FileClose(FileNum)
|
|
|
|
Effects.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
BasePower.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 1) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
ComboBox1.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 2) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox2.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 3) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox3.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 4) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox4.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 5) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
ComboBox2.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 6) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox5.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 7) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
ComboBox7.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 9) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
ComboBox8.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 10) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
|
|
Dim bita As String
|
|
Dim bitb As String
|
|
Dim bitc As String
|
|
Dim bitd As String
|
|
Dim bite As String
|
|
Dim bitf As String
|
|
|
|
blah = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((AttackData) + 12 + 8) + (ComboBox3.SelectedIndex * 12), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
|
|
binarythebitch = Convert.ToString(blah, 2)
|
|
|
|
While Len(binarythebitch) < 8
|
|
|
|
binarythebitch = "0" & binarythebitch
|
|
|
|
End While
|
|
|
|
bita = Mid(binarythebitch, 8, 1)
|
|
|
|
bitb = Mid(binarythebitch, 7, 1)
|
|
|
|
bitc = Mid(binarythebitch, 6, 1)
|
|
|
|
bitd = Mid(binarythebitch, 5, 1)
|
|
|
|
bite = Mid(binarythebitch, 4, 1)
|
|
|
|
bitf = Mid(binarythebitch, 3, 1)
|
|
|
|
If bita = 0 Then
|
|
CheckBox1.Checked = False
|
|
ElseIf bita = 1 Then
|
|
CheckBox1.Checked = True
|
|
End If
|
|
|
|
If bitb = 0 Then
|
|
CheckBox2.Checked = False
|
|
ElseIf bitb = 1 Then
|
|
CheckBox2.Checked = True
|
|
End If
|
|
|
|
If bitc = 0 Then
|
|
CheckBox3.Checked = False
|
|
ElseIf bitc = 1 Then
|
|
CheckBox3.Checked = True
|
|
End If
|
|
|
|
If bitd = 0 Then
|
|
CheckBox4.Checked = False
|
|
ElseIf bitd = 1 Then
|
|
CheckBox4.Checked = True
|
|
End If
|
|
|
|
If bite = 0 Then
|
|
CheckBox5.Checked = False
|
|
ElseIf bite = 1 Then
|
|
CheckBox5.Checked = True
|
|
End If
|
|
|
|
If bitf = 0 Then
|
|
CheckBox6.Checked = False
|
|
ElseIf bitf = 1 Then
|
|
CheckBox6.Checked = True
|
|
End If
|
|
|
|
If header2 = "AXP" Or header2 = "AXV" Or header2 = "BPE" Then
|
|
ComboBox4.Enabled = True
|
|
ComboBox5.Enabled = True
|
|
TextBox9.Enabled = True
|
|
TextBox8.Enabled = True
|
|
ComboBox6.Enabled = True
|
|
TextBox11.Enabled = True
|
|
TextBox10.Enabled = True
|
|
TextBox12.Enabled = True
|
|
TextBox13.Enabled = True
|
|
Button5.Enabled = True
|
|
ContestMoveData = Int32.Parse((GetString(AppPath & "ini\roms.ini", header, "ContestMoveData", "")), System.Globalization.NumberStyles.HexNumber)
|
|
ContestMoveEffectData = Int32.Parse((GetString(AppPath & "ini\roms.ini", header, "ContestMoveEffectData", "")), System.Globalization.NumberStyles.HexNumber)
|
|
|
|
|
|
ComboBox4.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveData) + 8 + 0) + (ComboBox3.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
ComboBox5.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveData) + 8 + 1) + (ComboBox3.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox9.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveData) + 8 + 2) + (ComboBox3.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox8.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveData) + 8 + 3) + (ComboBox3.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox12.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveData) + 8 + 4) + (ComboBox3.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox13.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveData) + 8 + 5) + (ComboBox3.SelectedIndex * 8), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
|
|
ComboBox6.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveEffectData) + 0) + (ComboBox4.SelectedIndex * 4), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox11.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveEffectData) + 1) + (ComboBox4.SelectedIndex * 4), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox10.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveEffectData) + 2) + (ComboBox4.SelectedIndex * 4), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
Else
|
|
ComboBox4.Enabled = False
|
|
ComboBox5.Enabled = False
|
|
TextBox9.Enabled = False
|
|
TextBox8.Enabled = False
|
|
TextBox12.Enabled = False
|
|
TextBox13.Enabled = False
|
|
ComboBox6.Enabled = False
|
|
TextBox11.Enabled = False
|
|
TextBox10.Enabled = False
|
|
Button5.Enabled = False
|
|
|
|
ComboBox4.SelectedIndex = -1
|
|
ComboBox5.SelectedIndex = -1
|
|
TextBox9.Text = ""
|
|
TextBox8.Text = ""
|
|
TextBox12.Text = ""
|
|
TextBox13.Text = ""
|
|
ComboBox6.SelectedIndex = -1
|
|
TextBox11.Text = ""
|
|
TextBox10.Text = ""
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
|
|
Dim tempy As Integer
|
|
tempy = ComboBox3.SelectedIndex
|
|
|
|
ChangeAttackName(ComboBox3.SelectedIndex + 1, TextBox1.Text)
|
|
|
|
Dim LoopVar As Integer
|
|
|
|
LoopVar = 1
|
|
|
|
ComboBox3.Items.Clear()
|
|
|
|
While LoopVar < (GetString(AppPath & "ini\roms.ini", header, "NumberOfAttacks", "")) + 1 = True
|
|
|
|
|
|
ComboBox3.Items.Add(GetAttackName(LoopVar))
|
|
|
|
|
|
LoopVar = LoopVar + 1
|
|
|
|
End While
|
|
|
|
ComboBox3.SelectedIndex = tempy
|
|
End Sub
|
|
|
|
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
|
|
WriteHEX(LoadedROM, ((AttackData) + 12) + (ComboBox3.SelectedIndex * 12), Hex(Effects.SelectedIndex))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 1) + (ComboBox3.SelectedIndex * 12), Hex(BasePower.Text))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 2) + (ComboBox3.SelectedIndex * 12), Hex(ComboBox1.SelectedIndex))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 3) + (ComboBox3.SelectedIndex * 12), Hex(TextBox2.Text))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 4) + (ComboBox3.SelectedIndex * 12), Hex(TextBox3.Text))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 5) + (ComboBox3.SelectedIndex * 12), Hex(TextBox4.Text))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 6) + (ComboBox3.SelectedIndex * 12), Hex(ComboBox2.SelectedIndex))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 7) + (ComboBox3.SelectedIndex * 12), Hex(TextBox5.Text))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 9) + (ComboBox3.SelectedIndex * 12), Hex(ComboBox7.SelectedIndex))
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 10) + (ComboBox3.SelectedIndex * 12), Hex(ComboBox8.SelectedIndex))
|
|
|
|
Dim bita As String
|
|
Dim bitb As String
|
|
Dim bitc As String
|
|
Dim bitd As String
|
|
Dim bite As String
|
|
Dim bitf As String
|
|
Dim thingtowrite As String
|
|
|
|
If CheckBox1.Checked = False Then
|
|
bita = 0
|
|
ElseIf CheckBox1.Checked = True Then
|
|
bita = 1
|
|
End If
|
|
|
|
If CheckBox2.Checked = False Then
|
|
bitb = 0
|
|
ElseIf CheckBox2.Checked = True Then
|
|
bitb = 1
|
|
End If
|
|
|
|
If CheckBox3.Checked = False Then
|
|
bitc = 0
|
|
ElseIf CheckBox3.Checked = True Then
|
|
bitc = 1
|
|
End If
|
|
|
|
If CheckBox4.Checked = False Then
|
|
bitd = 0
|
|
ElseIf CheckBox4.Checked = True Then
|
|
bitd = 1
|
|
End If
|
|
|
|
If CheckBox5.Checked = False Then
|
|
bite = 0
|
|
ElseIf CheckBox5.Checked = True Then
|
|
bite = 1
|
|
End If
|
|
|
|
If CheckBox6.Checked = False Then
|
|
bitf = 0
|
|
ElseIf CheckBox6.Checked = True Then
|
|
bitf = 1
|
|
End If
|
|
thingtowrite = bitf & bite & bitd & bitc & bitb & bita
|
|
thingtowrite = Convert.ToInt32(thingtowrite, 2)
|
|
|
|
WriteHEX(LoadedROM, ((AttackData) + 12 + 8) + (ComboBox3.SelectedIndex * 12), Hex(thingtowrite))
|
|
|
|
If header2 = "AXP" Or header2 = "AXV" Or header2 = "BPE" Then
|
|
WriteHEX(LoadedROM, ((ContestMoveData) + 8 + 0) + (ComboBox3.SelectedIndex * 8), Hex(ComboBox4.SelectedIndex))
|
|
WriteHEX(LoadedROM, ((ContestMoveData) + 8 + 1) + (ComboBox3.SelectedIndex * 8), Hex(ComboBox5.SelectedIndex))
|
|
WriteHEX(LoadedROM, ((ContestMoveData) + 8 + 2) + (ComboBox3.SelectedIndex * 8), Hex(TextBox9.Text))
|
|
WriteHEX(LoadedROM, ((ContestMoveData) + 8 + 3) + (ComboBox3.SelectedIndex * 8), Hex(TextBox8.Text))
|
|
WriteHEX(LoadedROM, ((ContestMoveData) + 8 + 4) + (ComboBox3.SelectedIndex * 8), Hex(TextBox12.Text))
|
|
WriteHEX(LoadedROM, ((ContestMoveData) + 8 + 5) + (ComboBox3.SelectedIndex * 8), Hex(TextBox13.Text))
|
|
|
|
Else
|
|
'Does nothing for these games.
|
|
End If
|
|
End Sub
|
|
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
|
|
WriteHEX(LoadedROM, (AttackDesc) + (0) + (ComboBox3.SelectedIndex * 4), ReverseHEX(Hex(Int32.Parse(((TextBox6.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
|
|
FileNum = FreeFile()
|
|
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
|
|
Dim DexDescp As String = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
|
|
|
FileGet(FileNum, DexDescp, Int32.Parse(((TextBox6.Text)), System.Globalization.NumberStyles.HexNumber) + 1, True)
|
|
DexDescp = Sapp2Asc(DexDescp)
|
|
DexDescp = Mid$(DexDescp, 1, InStr(1, DexDescp, "\x"))
|
|
DexDescp = Replace(DexDescp, "\n", vbCrLf)
|
|
DexDescp = Replace(RTrim$(DexDescp), "\", "")
|
|
TextBox7.Text = DexDescp
|
|
TextBox7.MaxLength = Len(DexDescp)
|
|
|
|
FileClose(FileNum)
|
|
|
|
End Sub
|
|
|
|
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
|
|
WriteHEX(LoadedROM, (AttackAni) + (4) + (ComboBox3.SelectedIndex * 4), ReverseHEX(Hex(Int32.Parse(((AnimationPointer.Text)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
|
|
End Sub
|
|
|
|
|
|
Private Sub ComboBox4_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox4.SelectedIndexChanged
|
|
|
|
ComboBox6.SelectedIndex = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveEffectData) + 0) + (ComboBox4.SelectedIndex * 4), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox11.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveEffectData) + 1) + (ComboBox4.SelectedIndex * 4), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
TextBox10.Text = Int32.Parse(((ReverseHEX(ReadHEX(LoadedROM, ((ContestMoveEffectData) + 2) + (ComboBox4.SelectedIndex * 4), 1)))), System.Globalization.NumberStyles.HexNumber)
|
|
End Sub
|
|
|
|
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
|
|
'WriteHEX(LoadedROM, ((ContestMoveEffectData) + 0) + (ComboBox4.SelectedIndex * 4), Hex(ComboBox6.SelectedIndex))
|
|
' WriteHEX(LoadedROM, ((ContestMoveEffectData) + 1) + (ComboBox4.SelectedIndex * 4), Hex(TextBox11.Text))
|
|
'WriteHEX(LoadedROM, ((ContestMoveEffectData) + 2) + (ComboBox4.SelectedIndex * 4), Hex(TextBox10.Text))
|
|
MsgBox("disabled till I double check it works")
|
|
End Sub
|
|
End Class |