mirror of
https://github.com/Gamer2020/PokemonGameEditor.git
synced 2026-05-27 19:08:05 -05:00
You can now have an ini that is separate from your Roms.ini! This is good for working with multiple roms since you wont have to edit the Roms.ini every time. All you need to do is have an ini with the same name as the ROM in the same folder. Example: FireRed.gba FireRed.ini
327 lines
16 KiB
VB.net
327 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(GetINIFileLocation(), 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(GetINIFileLocation(), header, "AttackDescriptionTable", "")), System.Globalization.NumberStyles.HexNumber)
|
|
AttackData = Int32.Parse((GetString(GetINIFileLocation(), header, "AttackData", "")), System.Globalization.NumberStyles.HexNumber)
|
|
AttackAni = Int32.Parse((GetString(GetINIFileLocation(), 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(GetINIFileLocation(), header, "ContestMoveData", "")), System.Globalization.NumberStyles.HexNumber)
|
|
ContestMoveEffectData = Int32.Parse((GetString(GetINIFileLocation(), 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(GetINIFileLocation(), 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 |