Added Item Import/Export

Support for importing/exporting all items and icons, just expanded items, single items, and single icons. Also, if you import multiple things in the same session, they will be saved in Ram and new imports with the same image layout/pallete/description will be pointed to the previous import to be space efficient. This is the same as efficient pokemonedit imports.
This commit is contained in:
Dreuu 2018-08-04 19:46:56 -04:00
parent cd8189d573
commit fef729191c
19 changed files with 851 additions and 121 deletions

Binary file not shown.

View File

@ -1194,4 +1194,33 @@ ErrorHandle:
End Function
Public Function GetAndDrawItemIconToBitmap(ByVal imgOffset As String, ByVal palOffset As String, Optional ShowBackColor As Boolean = False) As Bitmap
Dim Temp(&HFFF) As Byte
Dim Image(&HFFFF) As Byte
Dim Palette15(&HFFF) As Byte
Dim Palette32() As Color
Dim bSprite As Bitmap
Using fs As New FileStream(LoadedROM, FileMode.Open, FileAccess.Read)
Using r As New BinaryReader(fs)
fs.Position = Convert.ToInt32(imgOffset, 16)
r.Read(Temp, 0, &HFFF)
LZ77UnComp(Temp, Image)
ReDim Temp(&HFFF)
fs.Position = Convert.ToInt32(palOffset, 16)
r.Read(Temp, 0, &HFFF)
LZ77UnComp(Temp, Palette15)
Palette32 = LoadPalette(Palette15)
End Using
End Using
bSprite = LoadSprite(Image, Palette32, 24, 24, ShowBackColor)
GetAndDrawItemIconToBitmap = bSprite
End Function
End Module

View File

@ -952,4 +952,268 @@ Module ImportDataFunctions
WriteHEX(LoadedROM, sOffset, ReverseHEX(Hex((ImgNewOffset) + &H8000000)))
End Sub
Public Sub ExportItemINI(DataPath As String, ItemIndex As Integer, Optional Individual As Boolean = False)
Dim DataFolder As String = DataPath
Dim ItemBaseOff As Integer = Int32.Parse((GetString(GetINIFileLocation(), header, "ItemData", "")), System.Globalization.NumberStyles.HexNumber)
Dim ItemPicDataOff As Integer = Int32.Parse(GetString(GetINIFileLocation(), header, "ItemIMGData", ""), System.Globalization.NumberStyles.HexNumber)
If Not Individual Then
DataPath = DataPath & "\Items\" & ItemIndex & ".ini"
End If
Dim ItemName As String = GetItemName(ItemIndex)
Dim ItemID As String = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((ItemBaseOff) + 14) + (ItemIndex * 44), 2))), System.Globalization.NumberStyles.HexNumber)
Dim Price As String = Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((ItemBaseOff) + 16) + (ItemIndex * 44), 2))), System.Globalization.NumberStyles.HexNumber)
Dim HoldEffect As String = Int32.Parse((((ReadHEX(LoadedROM, ((ItemBaseOff) + 18) + (ItemIndex * 44), 1)))), System.Globalization.NumberStyles.HexNumber)
Dim Value As String = Int32.Parse((((ReadHEX(LoadedROM, ((ItemBaseOff) + 19) + (ItemIndex * 44), 1)))), System.Globalization.NumberStyles.HexNumber)
Dim DescriptionPointer As String = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((ItemBaseOff) + 20) + (ItemIndex * 44), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Dim Mystery1 As String = Int32.Parse((((ReadHEX(LoadedROM, ((ItemBaseOff) + 24) + (ItemIndex * 44), 1)))), System.Globalization.NumberStyles.HexNumber)
Dim Mystery2 As String = Int32.Parse((((ReadHEX(LoadedROM, ((ItemBaseOff) + 25) + (ItemIndex * 44), 1)))), System.Globalization.NumberStyles.HexNumber)
Dim Pocket As String = Int32.Parse((((ReadHEX(LoadedROM, ((ItemBaseOff) + 26) + (ItemIndex * 44), 1)))), System.Globalization.NumberStyles.HexNumber)
Dim ItemType As String = Int32.Parse((((ReadHEX(LoadedROM, ((ItemBaseOff) + 27) + (ItemIndex * 44), 1)))), System.Globalization.NumberStyles.HexNumber)
Dim FieldUsagePointer As String = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((ItemBaseOff) + 28) + (ItemIndex * 44), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Dim BattleUsagePointer As String = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ((ItemBaseOff) + 36) + (ItemIndex * 44), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Dim BUText As String = Int32.Parse((((ReadHEX(LoadedROM, ((ItemBaseOff) + 32) + (ItemIndex * 44), 1)))), System.Globalization.NumberStyles.HexNumber)
Dim ExtraParam As String = ReverseHEX(ReadHEX(LoadedROM, ((ItemBaseOff) + 40) + (ItemIndex * 44), 4))
Dim ItemPicDataOffSpecific As String = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ItemPicDataOff + (ItemIndex * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Dim ItemPalDataOffSpecific As String = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ItemPicDataOff + (ItemIndex * 8) + 4, 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Dim CurrentItemDescripLength As Integer
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
Dim ItemDescp As String = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
If ItemIndex = 377 Then
ItemDescp = ""
Else
FileGet(FileNum, ItemDescp, Int32.Parse(((DescriptionPointer)), System.Globalization.NumberStyles.HexNumber) + 1, True)
ItemDescp = Sapp2Asc(ItemDescp)
ItemDescp = Mid$(ItemDescp, 1, InStr(1, ItemDescp, "\x"))
'ItemDescp = Replace(ItemDescp, "\n", vbCrLf)
'ItemDescp = Replace(RTrim$(ItemDescp), "\", "")
ItemDescp = ItemDescp & "x"
End If
CurrentItemDescripLength = Len(ItemDescp)
FileClose(FileNum)
If Not Individual Then
ExportItemPicture(DataFolder & "\Items\ItemPics\" & ItemIndex & ".png", ItemIndex)
End If
If System.IO.File.Exists(DataPath) Then
System.IO.File.Delete(DataPath)
End If
WriteString(DataPath, "Item", "ItemName", ItemName)
WriteString(DataPath, "Item", "Price", Price)
WriteString(DataPath, "Item", "HoldEffect", HoldEffect)
WriteString(DataPath, "Item", "Value", Value)
WriteString(DataPath, "Item", "ItemDescp", ItemDescp)
WriteString(DataPath, "Item", "Mystery1", Mystery1)
WriteString(DataPath, "Item", "Mystery2", Mystery2)
WriteString(DataPath, "Item", "Pocket", Pocket)
WriteString(DataPath, "Item", "ItemType", ItemType)
WriteString(DataPath, "Item", "FieldUsagePointer", FieldUsagePointer)
WriteString(DataPath, "Item", "BattleUsagePointer", BattleUsagePointer)
WriteString(DataPath, "Item", "BUText", BUText)
WriteString(DataPath, "Item", "ExtraParam", ExtraParam)
WriteString(DataPath, "Item", "ItemName", ItemName)
End Sub
Public Sub ExportItemPicture(DataPath As String, ItemIndex As Integer, Optional Individual As Boolean = False)
Dim ItemPicDataOff As Integer = Int32.Parse(GetString(GetINIFileLocation(), header, "ItemIMGData", ""), System.Globalization.NumberStyles.HexNumber)
Dim ItemPalDataOff As Integer = Int32.Parse(GetString(GetINIFileLocation(), header, "ItemIMGData", ""), System.Globalization.NumberStyles.HexNumber)
Dim ItemPicDataOffSpecific As String = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ItemPicDataOff + (ItemIndex * 8), 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Dim ItemPalDataOffSpecific As String = Hex(Int32.Parse((ReverseHEX(ReadHEX(LoadedROM, ItemPalDataOff + (ItemIndex * 8) + 4, 4))), System.Globalization.NumberStyles.HexNumber) - &H8000000)
Dim bitout As Bitmap = GetAndDrawItemIconToBitmap(ItemPicDataOffSpecific, ItemPalDataOffSpecific, True)
bitout.Save(DataPath)
End Sub
Public Sub ImportItem(DataPath As String, ItemIndex As Integer, Optional Individual As Boolean = False)
Dim iniPath As String = ""
If Not Individual Then
iniPath = DataPath & "\" & ItemIndex & ".ini"
Else
iniPath = DataPath
End If
Dim ItemBaseOff As String = Int32.Parse((GetString(GetINIFileLocation(), header, "ItemData", "")), System.Globalization.NumberStyles.HexNumber)
'If System.IO.File.Exists(iniPath) Then
Dim ItemName As String = INI.GetString(iniPath, "Item", "ItemName", "IniProblem")
Dim ItemText As String = INI.GetString(iniPath, "Item", "ItemText", "IniProblem")
Dim Price As String = INI.GetString(iniPath, "Item", "Price", "0")
Dim HoldEffect As String = INI.GetString(iniPath, "Item", "HoldEffect", "0")
Dim Value As String = INI.GetString(iniPath, "Item", "Value", "0")
Dim ItemDescp As String = INI.GetString(iniPath, "Item", "ItemDescp", "IniProblem\x")
Dim Mystery1 As String = INI.GetString(iniPath, "Item", "Mystery1", "0")
Dim Mystery2 As String = INI.GetString(iniPath, "Item", "Mystery2", "0")
Dim Pocket As String = INI.GetString(iniPath, "Item", "Pocket", "1")
Dim ItemType As String = INI.GetString(iniPath, "Item", "ItemType", "0")
Dim FieldUsagePointer As String = INI.GetString(iniPath, "Item", "FieldUsagePointer", "FE821")
Dim BattleUsagePointer As String = INI.GetString(iniPath, "Item", "BattleUsagePointer", "F8000000")
Dim BUText As String = INI.GetString(iniPath, "Item", "BUText", "0")
Dim ExtraParam As String = INI.GetString(iniPath, "Item", "ExtraParam", "00000000")
ChangeItemName(ItemIndex, ItemName)
WriteHEX(LoadedROM, ((ItemBaseOff) + 14) + (ItemIndex * 44), ReverseHEX(VB.Right("0000" & Hex(ItemIndex), 4)))
WriteHEX(LoadedROM, ((ItemBaseOff) + 16) + (ItemIndex * 44), ReverseHEX(VB.Right("0000" & Hex(Price), 4)))
WriteHEX(LoadedROM, ((ItemBaseOff) + 18) + (ItemIndex * 44), Hex(HoldEffect))
WriteHEX(LoadedROM, ((ItemBaseOff) + 19) + (ItemIndex * 44), Hex(Value))
WriteHEX(LoadedROM, ((ItemBaseOff) + 24) + (ItemIndex * 44), Hex(Mystery1))
WriteHEX(LoadedROM, ((ItemBaseOff) + 25) + (ItemIndex * 44), Hex(Mystery2))
WriteHEX(LoadedROM, ((ItemBaseOff) + 26) + (ItemIndex * 44), Hex(Pocket))
WriteHEX(LoadedROM, ((ItemBaseOff) + 27) + (ItemIndex * 44), Hex(ItemType))
WriteHEX(LoadedROM, ((ItemBaseOff) + 28) + (ItemIndex * 44), ReverseHEX(Hex(Int32.Parse(((FieldUsagePointer)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, ((ItemBaseOff) + 36) + (ItemIndex * 44), ReverseHEX(Hex(Int32.Parse(((BattleUsagePointer)), System.Globalization.NumberStyles.HexNumber) + &H8000000)))
WriteHEX(LoadedROM, ((ItemBaseOff) + 32) + (ItemIndex * 44), Hex(BUText))
WriteHEX(LoadedROM, ((ItemBaseOff) + 40) + (ItemIndex * 44), ReverseHEX(ExtraParam))
'Description
Dim alreadyInserted As Boolean = False
Dim countNum As Integer = 0
Dim newtextoff As String = ""
If ItemEditor.itemDescs.Count > 0 Then
For Each desc As String In ItemEditor.itemDescs
If String.Compare(desc, ItemDescp) = 0 Then
alreadyInserted = True
newtextoff = ItemEditor.itemDescOffsets(countNum)
End If
countNum += 1
Next
End If
If Not alreadyInserted Then
ItemEditor.itemDescs.Add(ItemDescp)
Dim destowrite As String = Asc2Sapp(Replace(ItemDescp, vbCrLf, "\n") & "\x")
Dim DescpByteLength As Integer = ItemDescp.Length
DescpByteLength = ItemDescp.Length - (ItemDescp.Split("[").Length - 1) - (ItemDescp.Split("]").Length - 1) - 1
If DescpByteLength < 1 Then
DescpByteLength = (destowrite & " ").Length
'destowrite = Asc2Sapp(Replace("?????", vbCrLf, "\n") & "\x")
End If
newtextoff = SearchFreeSpaceFourAligned(LoadedROM, &HFF, DescpByteLength, "&H" & GetString(GetINIFileLocation(), header, "B00000", "B00000"))
ItemEditor.itemDescOffsets.Add(newtextoff)
FileNum = FreeFile()
FileOpen(FileNum, LoadedROM, OpenMode.Binary)
FilePut(FileNum, destowrite & " ", ("&H" & Hex(newtextoff)) + 1, False)
FileClose(FileNum)
End If
WriteHEX(LoadedROM, ((ItemBaseOff) + 20) + (ItemIndex * 44), ReverseHEX(Hex(Int32.Parse(((newtextoff))) + &H8000000)))
End Sub
Public Sub ImportItemPicture(pngpath As String, ItemIndex As String, Optional Individual As Boolean = False)
Dim ItemPalette As Color() = New Color(&H11 - 1) {}
Dim mainbitmap As New Bitmap(pngpath)
Dim ItemBitmap As Bitmap = New Bitmap(&H18, &H18)
Dim ItemPicDataOff As Integer = Int32.Parse(GetString(GetINIFileLocation(), header, "ItemIMGData", ""), System.Globalization.NumberStyles.HexNumber)
If mainbitmap.Height = 24 And mainbitmap.Width = 24 Then
Else
MsgBox("The dimensions of the file" & ItemIndex & ".png" & " does not seem correct. Aborting...")
Exit Sub
End If
BitmapBLT(mainbitmap, ItemBitmap, 0, 0, 0, 0, &H18, &H18, Color.FromArgb(&HFF, 200, 200, &HA8))
ItemPalette = GetBitmapPalette(ItemBitmap)
' ConvertBitmapToPalette(ItemBitmap, ItemPalette, True)
Dim Sprite As Byte() = SaveBitmapToArray(ItemBitmap, ItemPalette)
Dim ImgString As String
Dim PalString As String
Dim ImgBytes As Byte()
Dim PalBytes As Byte()
Dim ImgNewOffset As String = ""
Dim PalNewOffset As String = ""
ImgBytes = ConvertStringToByteArray(CompressLz77String(ConvertByteArrayToString(Sprite)))
PalBytes = ConvertStringToByteArray(CompressLz77String(ConvertPaletteToString(ItemPalette)))
ImgString = ByteArrayToHexString(ImgBytes)
PalString = ByteArrayToHexString(PalBytes)
Dim alreadyInsertedPic As Boolean = False
If ItemEditor.itemPics.Count > 0 Then
Dim countNum As Integer = 0
For Each oldPic As String In ItemEditor.itemPics
If String.Compare(ImgString, oldPic) = 0 Then
alreadyInsertedPic = True
ImgNewOffset = ItemEditor.itemPicOffsets(countNum)
Exit For
End If
countNum += 1
Next
End If
Dim alreadyInsertedPal As Boolean = False
If ItemEditor.itemPals.Count > 0 Then
Dim countNum As Integer = 0
For Each oldPal As String In ItemEditor.itemPals
If String.Compare(PalString, oldPal) = 0 Then
alreadyInsertedPal = True
PalNewOffset = ItemEditor.itemPalOffsets(countNum)
Exit For
End If
countNum += 1
Next
End If
If Not alreadyInsertedPic Then
ImgNewOffset = Convert.ToInt32(SearchFreeSpaceFourAligned(LoadedROM, &HFF, ((Len(ImgString) / 2)), "&H" & GetString(GetINIFileLocation(), header, "B00000", "B00000")))
ItemEditor.itemPics.Add(ImgString)
ItemEditor.itemPicOffsets.Add(ImgNewOffset)
End If
WriteHEX(LoadedROM, Int32.Parse(ImgNewOffset), ImgString)
If Not alreadyInsertedPal Then
PalNewOffset = Convert.ToInt32(SearchFreeSpaceFourAligned(LoadedROM, &HFF, ((Len(PalString) / 2)), "&H" & GetString(GetINIFileLocation(), header, "B00000", "B00000")))
ItemEditor.itemPals.Add(PalString)
ItemEditor.itemPalOffsets.Add(PalNewOffset)
End If
WriteHEX(LoadedROM, Int32.Parse(PalNewOffset), PalString)
WriteHEX(LoadedROM, (ItemPicDataOff + (ItemIndex * 8)), ReverseHEX(Hex(Int32.Parse(((ImgNewOffset))) + &H8000000)))
WriteHEX(LoadedROM, (ItemPicDataOff + (ItemIndex * 8) + 4), ReverseHEX(Hex(Int32.Parse(((PalNewOffset))) + &H8000000)))
mainbitmap.Dispose()
End Sub
End Module

View File

@ -65,50 +65,63 @@ Partial Class ItemEditor
Me.BUTextBox = New System.Windows.Forms.TextBox()
Me.Label15 = New System.Windows.Forms.Label()
Me.ExtParTxt = New System.Windows.Forms.TextBox()
Me.CheckBox1 = New System.Windows.Forms.CheckBox()
Me.Button7 = New System.Windows.Forms.Button()
Me.Button5 = New System.Windows.Forms.Button()
Me.Button4 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
Me.FolderBrowserDialog = New System.Windows.Forms.FolderBrowserDialog()
Me.SaveFileDialog = New System.Windows.Forms.SaveFileDialog()
Me.OpenFileDialog = New System.Windows.Forms.OpenFileDialog()
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
CType(Me.ItemImagePictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox3.SuspendLayout()
Me.GroupBox4.SuspendLayout()
Me.SuspendLayout()
'
'GroupBox1
'
Me.GroupBox1.Controls.Add(Me.ChangeNameTextBox)
Me.GroupBox1.Controls.Add(Me.ItemListComboBox)
Me.GroupBox1.Location = New System.Drawing.Point(16, 15)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox1.Location = New System.Drawing.Point(18, 19)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox1.Size = New System.Drawing.Size(200, 101)
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox1.Size = New System.Drawing.Size(225, 126)
Me.GroupBox1.TabIndex = 0
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Item Names:"
'
'ChangeNameTextBox
'
Me.ChangeNameTextBox.Location = New System.Drawing.Point(24, 57)
Me.ChangeNameTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ChangeNameTextBox.Location = New System.Drawing.Point(27, 71)
Me.ChangeNameTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ChangeNameTextBox.MaxLength = 13
Me.ChangeNameTextBox.Name = "ChangeNameTextBox"
Me.ChangeNameTextBox.Size = New System.Drawing.Size(156, 22)
Me.ChangeNameTextBox.Size = New System.Drawing.Size(175, 26)
Me.ChangeNameTextBox.TabIndex = 1
'
'ItemListComboBox
'
Me.ItemListComboBox.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
Me.ItemListComboBox.FormattingEnabled = True
Me.ItemListComboBox.Location = New System.Drawing.Point(24, 23)
Me.ItemListComboBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ItemListComboBox.Location = New System.Drawing.Point(27, 29)
Me.ItemListComboBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ItemListComboBox.Name = "ItemListComboBox"
Me.ItemListComboBox.Size = New System.Drawing.Size(156, 24)
Me.ItemListComboBox.Size = New System.Drawing.Size(175, 28)
Me.ItemListComboBox.TabIndex = 0
'
'SaveBttn
'
Me.SaveBttn.Location = New System.Drawing.Point(40, 330)
Me.SaveBttn.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.SaveBttn.Location = New System.Drawing.Point(45, 412)
Me.SaveBttn.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.SaveBttn.Name = "SaveBttn"
Me.SaveBttn.Size = New System.Drawing.Size(127, 41)
Me.SaveBttn.Size = New System.Drawing.Size(143, 51)
Me.SaveBttn.TabIndex = 1
Me.SaveBttn.Text = "Save"
Me.SaveBttn.UseVisualStyleBackColor = True
@ -116,37 +129,37 @@ Partial Class ItemEditor
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(220, 257)
Me.Label1.Location = New System.Drawing.Point(248, 321)
Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(45, 17)
Me.Label1.Size = New System.Drawing.Size(52, 20)
Me.Label1.TabIndex = 2
Me.Label1.Text = "Index:"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(220, 288)
Me.Label2.Location = New System.Drawing.Point(248, 360)
Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(44, 17)
Me.Label2.Size = New System.Drawing.Size(48, 20)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Price:"
'
'IndexTextBox
'
Me.IndexTextBox.Location = New System.Drawing.Point(307, 254)
Me.IndexTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.IndexTextBox.Location = New System.Drawing.Point(345, 318)
Me.IndexTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.IndexTextBox.Name = "IndexTextBox"
Me.IndexTextBox.Size = New System.Drawing.Size(52, 22)
Me.IndexTextBox.Size = New System.Drawing.Size(58, 26)
Me.IndexTextBox.TabIndex = 4
'
'PriceTextBox
'
Me.PriceTextBox.Location = New System.Drawing.Point(307, 284)
Me.PriceTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.PriceTextBox.Location = New System.Drawing.Point(345, 355)
Me.PriceTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.PriceTextBox.Name = "PriceTextBox"
Me.PriceTextBox.Size = New System.Drawing.Size(52, 22)
Me.PriceTextBox.Size = New System.Drawing.Size(58, 26)
Me.PriceTextBox.TabIndex = 5
'
'GroupBox2
@ -157,76 +170,76 @@ Partial Class ItemEditor
Me.GroupBox2.Controls.Add(Me.ItmImgPntrTextBox)
Me.GroupBox2.Controls.Add(Me.Label3)
Me.GroupBox2.Controls.Add(Me.ItemImagePictureBox)
Me.GroupBox2.Location = New System.Drawing.Point(16, 123)
Me.GroupBox2.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox2.Location = New System.Drawing.Point(18, 154)
Me.GroupBox2.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox2.Size = New System.Drawing.Size(179, 188)
Me.GroupBox2.Padding = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox2.Size = New System.Drawing.Size(201, 235)
Me.GroupBox2.TabIndex = 6
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Item Image:"
'
'ItmRpntBttn
'
Me.ItmRpntBttn.Location = New System.Drawing.Point(27, 98)
Me.ItmRpntBttn.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ItmRpntBttn.Location = New System.Drawing.Point(30, 122)
Me.ItmRpntBttn.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ItmRpntBttn.Name = "ItmRpntBttn"
Me.ItmRpntBttn.Size = New System.Drawing.Size(132, 28)
Me.ItmRpntBttn.Size = New System.Drawing.Size(148, 35)
Me.ItmRpntBttn.TabIndex = 5
Me.ItmRpntBttn.Text = "Repoint"
Me.ItmRpntBttn.UseVisualStyleBackColor = True
'
'ItmPlPntrTextBox
'
Me.ItmPlPntrTextBox.Location = New System.Drawing.Point(83, 57)
Me.ItmPlPntrTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ItmPlPntrTextBox.Location = New System.Drawing.Point(93, 71)
Me.ItmPlPntrTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ItmPlPntrTextBox.Name = "ItmPlPntrTextBox"
Me.ItmPlPntrTextBox.Size = New System.Drawing.Size(75, 22)
Me.ItmPlPntrTextBox.Size = New System.Drawing.Size(84, 26)
Me.ItmPlPntrTextBox.TabIndex = 4
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(23, 60)
Me.Label4.Location = New System.Drawing.Point(26, 75)
Me.Label4.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(32, 17)
Me.Label4.Size = New System.Drawing.Size(35, 20)
Me.Label4.TabIndex = 3
Me.Label4.Text = "Pal:"
'
'ItmImgPntrTextBox
'
Me.ItmImgPntrTextBox.Location = New System.Drawing.Point(83, 20)
Me.ItmImgPntrTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ItmImgPntrTextBox.Location = New System.Drawing.Point(93, 25)
Me.ItmImgPntrTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ItmImgPntrTextBox.Name = "ItmImgPntrTextBox"
Me.ItmImgPntrTextBox.Size = New System.Drawing.Size(75, 22)
Me.ItmImgPntrTextBox.Size = New System.Drawing.Size(84, 26)
Me.ItmImgPntrTextBox.TabIndex = 2
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(23, 27)
Me.Label3.Location = New System.Drawing.Point(26, 34)
Me.Label3.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(50, 17)
Me.Label3.Size = New System.Drawing.Size(58, 20)
Me.Label3.TabIndex = 1
Me.Label3.Text = "Image:"
'
'ItemImagePictureBox
'
Me.ItemImagePictureBox.Location = New System.Drawing.Point(83, 134)
Me.ItemImagePictureBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ItemImagePictureBox.Location = New System.Drawing.Point(93, 168)
Me.ItemImagePictureBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ItemImagePictureBox.Name = "ItemImagePictureBox"
Me.ItemImagePictureBox.Size = New System.Drawing.Size(43, 39)
Me.ItemImagePictureBox.Size = New System.Drawing.Size(48, 49)
Me.ItemImagePictureBox.TabIndex = 0
Me.ItemImagePictureBox.TabStop = False
'
'DscrpRpntBttn
'
Me.DscrpRpntBttn.Location = New System.Drawing.Point(139, 23)
Me.DscrpRpntBttn.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.DscrpRpntBttn.Location = New System.Drawing.Point(156, 29)
Me.DscrpRpntBttn.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.DscrpRpntBttn.Name = "DscrpRpntBttn"
Me.DscrpRpntBttn.Size = New System.Drawing.Size(89, 25)
Me.DscrpRpntBttn.Size = New System.Drawing.Size(100, 31)
Me.DscrpRpntBttn.TabIndex = 31
Me.DscrpRpntBttn.Text = "Repoint"
Me.DscrpRpntBttn.UseVisualStyleBackColor = True
@ -234,28 +247,28 @@ Partial Class ItemEditor
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.Location = New System.Drawing.Point(16, 60)
Me.Label10.Location = New System.Drawing.Point(18, 75)
Me.Label10.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(83, 17)
Me.Label10.Size = New System.Drawing.Size(93, 20)
Me.Label10.TabIndex = 30
Me.Label10.Text = "Description:"
'
'DsrptnTextBox
'
Me.DsrptnTextBox.Location = New System.Drawing.Point(20, 89)
Me.DsrptnTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.DsrptnTextBox.Location = New System.Drawing.Point(22, 111)
Me.DsrptnTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.DsrptnTextBox.Multiline = True
Me.DsrptnTextBox.Name = "DsrptnTextBox"
Me.DsrptnTextBox.Size = New System.Drawing.Size(207, 90)
Me.DsrptnTextBox.Size = New System.Drawing.Size(232, 112)
Me.DsrptnTextBox.TabIndex = 29
'
'DescribPointTextBox
'
Me.DescribPointTextBox.Location = New System.Drawing.Point(20, 23)
Me.DescribPointTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.DescribPointTextBox.Location = New System.Drawing.Point(22, 29)
Me.DescribPointTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.DescribPointTextBox.Name = "DescribPointTextBox"
Me.DescribPointTextBox.Size = New System.Drawing.Size(109, 22)
Me.DescribPointTextBox.Size = New System.Drawing.Size(122, 26)
Me.DescribPointTextBox.TabIndex = 28
'
'GroupBox3
@ -266,11 +279,11 @@ Partial Class ItemEditor
Me.GroupBox3.Controls.Add(Me.DscrpRpntBttn)
Me.GroupBox3.Controls.Add(Me.DsrptnTextBox)
Me.GroupBox3.Controls.Add(Me.Label10)
Me.GroupBox3.Location = New System.Drawing.Point(224, 15)
Me.GroupBox3.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox3.Location = New System.Drawing.Point(252, 19)
Me.GroupBox3.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox3.Size = New System.Drawing.Size(251, 231)
Me.GroupBox3.Padding = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox3.Size = New System.Drawing.Size(282, 289)
Me.GroupBox3.TabIndex = 32
Me.GroupBox3.TabStop = False
Me.GroupBox3.Text = "Description Pointer:"
@ -279,19 +292,19 @@ Partial Class ItemEditor
'
Me.Label21.AutoSize = True
Me.Label21.ForeColor = System.Drawing.SystemColors.ControlText
Me.Label21.Location = New System.Drawing.Point(19, 183)
Me.Label21.Location = New System.Drawing.Point(21, 229)
Me.Label21.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label21.Name = "Label21"
Me.Label21.Size = New System.Drawing.Size(56, 17)
Me.Label21.Size = New System.Drawing.Size(63, 20)
Me.Label21.TabIndex = 33
Me.Label21.Text = "Length:"
'
'Button6
'
Me.Button6.Location = New System.Drawing.Point(139, 199)
Me.Button6.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Button6.Location = New System.Drawing.Point(156, 249)
Me.Button6.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button6.Name = "Button6"
Me.Button6.Size = New System.Drawing.Size(89, 25)
Me.Button6.Size = New System.Drawing.Size(100, 31)
Me.Button6.TabIndex = 32
Me.Button6.Text = "Save"
Me.Button6.UseVisualStyleBackColor = True
@ -299,72 +312,72 @@ Partial Class ItemEditor
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Location = New System.Drawing.Point(216, 320)
Me.Label5.Location = New System.Drawing.Point(243, 400)
Me.Label5.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(81, 17)
Me.Label5.Size = New System.Drawing.Size(93, 20)
Me.Label5.TabIndex = 33
Me.Label5.Text = "Hold Effect:"
'
'HoldEffectTextBox
'
Me.HoldEffectTextBox.Location = New System.Drawing.Point(307, 316)
Me.HoldEffectTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.HoldEffectTextBox.Location = New System.Drawing.Point(345, 395)
Me.HoldEffectTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.HoldEffectTextBox.Name = "HoldEffectTextBox"
Me.HoldEffectTextBox.Size = New System.Drawing.Size(52, 22)
Me.HoldEffectTextBox.Size = New System.Drawing.Size(58, 26)
Me.HoldEffectTextBox.TabIndex = 34
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(216, 352)
Me.Label6.Location = New System.Drawing.Point(243, 440)
Me.Label6.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(78, 17)
Me.Label6.Size = New System.Drawing.Size(87, 20)
Me.Label6.TabIndex = 35
Me.Label6.Text = "Parameter:"
'
'ValueTextBox
'
Me.ValueTextBox.Location = New System.Drawing.Point(307, 348)
Me.ValueTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ValueTextBox.Location = New System.Drawing.Point(345, 435)
Me.ValueTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ValueTextBox.Name = "ValueTextBox"
Me.ValueTextBox.Size = New System.Drawing.Size(52, 22)
Me.ValueTextBox.Size = New System.Drawing.Size(58, 26)
Me.ValueTextBox.TabIndex = 36
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(376, 257)
Me.Label7.Location = New System.Drawing.Point(423, 321)
Me.Label7.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(102, 17)
Me.Label7.Size = New System.Drawing.Size(116, 20)
Me.Label7.TabIndex = 37
Me.Label7.Text = "KeyItem Value:"
'
'MysteryValue2TextBox
'
Me.MysteryValue2TextBox.Location = New System.Drawing.Point(504, 284)
Me.MysteryValue2TextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.MysteryValue2TextBox.Location = New System.Drawing.Point(567, 355)
Me.MysteryValue2TextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.MysteryValue2TextBox.Name = "MysteryValue2TextBox"
Me.MysteryValue2TextBox.Size = New System.Drawing.Size(52, 22)
Me.MysteryValue2TextBox.Size = New System.Drawing.Size(58, 26)
Me.MysteryValue2TextBox.TabIndex = 39
'
'MysteryValue1TextBox
'
Me.MysteryValue1TextBox.Location = New System.Drawing.Point(504, 254)
Me.MysteryValue1TextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.MysteryValue1TextBox.Location = New System.Drawing.Point(567, 318)
Me.MysteryValue1TextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.MysteryValue1TextBox.Name = "MysteryValue1TextBox"
Me.MysteryValue1TextBox.Size = New System.Drawing.Size(52, 22)
Me.MysteryValue1TextBox.Size = New System.Drawing.Size(58, 26)
Me.MysteryValue1TextBox.TabIndex = 38
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.Location = New System.Drawing.Point(376, 320)
Me.Label8.Location = New System.Drawing.Point(423, 400)
Me.Label8.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(55, 17)
Me.Label8.Size = New System.Drawing.Size(62, 20)
Me.Label8.TabIndex = 40
Me.Label8.Text = "Pocket:"
'
@ -373,115 +386,216 @@ Partial Class ItemEditor
Me.PocketComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.PocketComboBox.FormattingEnabled = True
Me.PocketComboBox.Items.AddRange(New Object() {"???", "Items", "Poke Balls", "TM/HM's", "Berries", "Key Items"})
Me.PocketComboBox.Location = New System.Drawing.Point(504, 316)
Me.PocketComboBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.PocketComboBox.Location = New System.Drawing.Point(567, 395)
Me.PocketComboBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.PocketComboBox.Name = "PocketComboBox"
Me.PocketComboBox.Size = New System.Drawing.Size(108, 24)
Me.PocketComboBox.Size = New System.Drawing.Size(121, 28)
Me.PocketComboBox.TabIndex = 41
'
'TypeTextBox
'
Me.TypeTextBox.Location = New System.Drawing.Point(504, 348)
Me.TypeTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.TypeTextBox.Location = New System.Drawing.Point(567, 435)
Me.TypeTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.TypeTextBox.Name = "TypeTextBox"
Me.TypeTextBox.Size = New System.Drawing.Size(52, 22)
Me.TypeTextBox.Size = New System.Drawing.Size(58, 26)
Me.TypeTextBox.TabIndex = 43
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.Location = New System.Drawing.Point(376, 348)
Me.Label9.Location = New System.Drawing.Point(423, 435)
Me.Label9.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(44, 17)
Me.Label9.Size = New System.Drawing.Size(47, 20)
Me.Label9.TabIndex = 42
Me.Label9.Text = "Type:"
'
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Location = New System.Drawing.Point(376, 288)
Me.Label11.Location = New System.Drawing.Point(423, 360)
Me.Label11.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(91, 17)
Me.Label11.Size = New System.Drawing.Size(102, 20)
Me.Label11.TabIndex = 44
Me.Label11.Text = "Bag Keyitem:"
'
'FieldUsagePTTextBox
'
Me.FieldUsagePTTextBox.Location = New System.Drawing.Point(496, 71)
Me.FieldUsagePTTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.FieldUsagePTTextBox.Location = New System.Drawing.Point(558, 89)
Me.FieldUsagePTTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.FieldUsagePTTextBox.Name = "FieldUsagePTTextBox"
Me.FieldUsagePTTextBox.Size = New System.Drawing.Size(109, 22)
Me.FieldUsagePTTextBox.Size = New System.Drawing.Size(122, 26)
Me.FieldUsagePTTextBox.TabIndex = 45
'
'Label12
'
Me.Label12.AutoSize = True
Me.Label12.Location = New System.Drawing.Point(492, 43)
Me.Label12.Location = New System.Drawing.Point(554, 54)
Me.Label12.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(136, 17)
Me.Label12.Size = New System.Drawing.Size(152, 20)
Me.Label12.TabIndex = 46
Me.Label12.Text = "Field Usage Pointer:"
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Location = New System.Drawing.Point(492, 107)
Me.Label13.Location = New System.Drawing.Point(554, 134)
Me.Label13.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(142, 17)
Me.Label13.Size = New System.Drawing.Size(160, 20)
Me.Label13.TabIndex = 48
Me.Label13.Text = "Battle Usage Pointer:"
'
'BattleUsagePTTextBox
'
Me.BattleUsagePTTextBox.Location = New System.Drawing.Point(496, 142)
Me.BattleUsagePTTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.BattleUsagePTTextBox.Location = New System.Drawing.Point(558, 178)
Me.BattleUsagePTTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.BattleUsagePTTextBox.Name = "BattleUsagePTTextBox"
Me.BattleUsagePTTextBox.Size = New System.Drawing.Size(109, 22)
Me.BattleUsagePTTextBox.Size = New System.Drawing.Size(122, 26)
Me.BattleUsagePTTextBox.TabIndex = 47
'
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Location = New System.Drawing.Point(492, 177)
Me.Label14.Location = New System.Drawing.Point(554, 221)
Me.Label14.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(93, 17)
Me.Label14.Size = New System.Drawing.Size(106, 20)
Me.Label14.TabIndex = 49
Me.Label14.Text = "Battle Usage:"
'
'BUTextBox
'
Me.BUTextBox.Location = New System.Drawing.Point(595, 174)
Me.BUTextBox.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.BUTextBox.Location = New System.Drawing.Point(669, 218)
Me.BUTextBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.BUTextBox.Name = "BUTextBox"
Me.BUTextBox.Size = New System.Drawing.Size(32, 22)
Me.BUTextBox.Size = New System.Drawing.Size(36, 26)
Me.BUTextBox.TabIndex = 50
'
'Label15
'
Me.Label15.AutoSize = True
Me.Label15.Location = New System.Drawing.Point(492, 198)
Me.Label15.Location = New System.Drawing.Point(554, 251)
Me.Label15.Name = "Label15"
Me.Label15.Size = New System.Drawing.Size(114, 17)
Me.Label15.Size = New System.Drawing.Size(128, 20)
Me.Label15.TabIndex = 51
Me.Label15.Text = "Extra Parameter:"
'
'ExtParTxt
'
Me.ExtParTxt.Location = New System.Drawing.Point(495, 218)
Me.ExtParTxt.Location = New System.Drawing.Point(557, 275)
Me.ExtParTxt.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
Me.ExtParTxt.Name = "ExtParTxt"
Me.ExtParTxt.Size = New System.Drawing.Size(110, 22)
Me.ExtParTxt.Size = New System.Drawing.Size(123, 26)
Me.ExtParTxt.TabIndex = 52
'
'CheckBox1
'
Me.CheckBox1.AutoSize = True
Me.CheckBox1.Location = New System.Drawing.Point(280, 25)
Me.CheckBox1.Name = "CheckBox1"
Me.CheckBox1.Size = New System.Drawing.Size(167, 24)
Me.CheckBox1.TabIndex = 67
Me.CheckBox1.Text = "Skip Original Items"
Me.CheckBox1.UseVisualStyleBackColor = True
'
'Button7
'
Me.Button7.Location = New System.Drawing.Point(135, 21)
Me.Button7.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button7.Name = "Button7"
Me.Button7.Size = New System.Drawing.Size(125, 31)
Me.Button7.TabIndex = 66
Me.Button7.Text = "Export Picture"
Me.Button7.UseVisualStyleBackColor = True
'
'Button5
'
Me.Button5.Location = New System.Drawing.Point(466, 21)
Me.Button5.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button5.Name = "Button5"
Me.Button5.Size = New System.Drawing.Size(125, 31)
Me.Button5.TabIndex = 65
Me.Button5.Text = "Import Picture"
Me.Button5.UseVisualStyleBackColor = True
'
'Button4
'
Me.Button4.Location = New System.Drawing.Point(5, 21)
Me.Button4.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(125, 31)
Me.Button4.TabIndex = 64
Me.Button4.Text = "Export Item"
Me.Button4.UseVisualStyleBackColor = True
'
'Button3
'
Me.Button3.Location = New System.Drawing.Point(598, 21)
Me.Button3.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(125, 31)
Me.Button3.TabIndex = 63
Me.Button3.Text = "Import Item"
Me.Button3.UseVisualStyleBackColor = True
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(598, 58)
Me.Button2.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(125, 31)
Me.Button2.TabIndex = 62
Me.Button2.Text = "Import All"
Me.Button2.UseVisualStyleBackColor = True
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(5, 58)
Me.Button1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(125, 31)
Me.Button1.TabIndex = 60
Me.Button1.Text = "Export All"
Me.Button1.UseVisualStyleBackColor = True
'
'ProgressBar1
'
Me.ProgressBar1.Location = New System.Drawing.Point(135, 58)
Me.ProgressBar1.Name = "ProgressBar1"
Me.ProgressBar1.Size = New System.Drawing.Size(456, 30)
Me.ProgressBar1.TabIndex = 61
Me.ProgressBar1.Visible = False
'
'GroupBox4
'
Me.GroupBox4.Controls.Add(Me.CheckBox1)
Me.GroupBox4.Controls.Add(Me.ProgressBar1)
Me.GroupBox4.Controls.Add(Me.Button7)
Me.GroupBox4.Controls.Add(Me.Button1)
Me.GroupBox4.Controls.Add(Me.Button5)
Me.GroupBox4.Controls.Add(Me.Button2)
Me.GroupBox4.Controls.Add(Me.Button4)
Me.GroupBox4.Controls.Add(Me.Button3)
Me.GroupBox4.Location = New System.Drawing.Point(9, 471)
Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Size = New System.Drawing.Size(728, 100)
Me.GroupBox4.TabIndex = 68
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "Import/Export"
'
'OpenFileDialog
'
Me.OpenFileDialog.FileName = "OpenFileDialog1"
'
'ItemEditor
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
Me.AutoScaleDimensions = New System.Drawing.SizeF(9.0!, 20.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(661, 389)
Me.ClientSize = New System.Drawing.Size(744, 575)
Me.Controls.Add(Me.GroupBox4)
Me.Controls.Add(Me.ExtParTxt)
Me.Controls.Add(Me.Label15)
Me.Controls.Add(Me.BUTextBox)
@ -512,7 +626,7 @@ Partial Class ItemEditor
Me.Controls.Add(Me.GroupBox1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.MaximizeBox = False
Me.Name = "ItemEditor"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
@ -524,6 +638,8 @@ Partial Class ItemEditor
CType(Me.ItemImagePictureBox, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox3.PerformLayout()
Me.GroupBox4.ResumeLayout(False)
Me.GroupBox4.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
@ -571,4 +687,16 @@ Partial Class ItemEditor
Friend WithEvents Button6 As Button
Friend WithEvents Label15 As System.Windows.Forms.Label
Friend WithEvents ExtParTxt As System.Windows.Forms.TextBox
Friend WithEvents CheckBox1 As CheckBox
Friend WithEvents Button7 As Button
Friend WithEvents Button5 As Button
Friend WithEvents Button4 As Button
Friend WithEvents Button3 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Button1 As Button
Friend WithEvents ProgressBar1 As ProgressBar
Friend WithEvents GroupBox4 As GroupBox
Friend WithEvents FolderBrowserDialog As FolderBrowserDialog
Friend WithEvents SaveFileDialog As SaveFileDialog
Friend WithEvents OpenFileDialog As OpenFileDialog
End Class

View File

@ -117,6 +117,15 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="FolderBrowserDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="SaveFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>248, 17</value>
</metadata>
<metadata name="OpenFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>428, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@ -11,6 +11,13 @@ Public Class ItemEditor
Dim ItemPicDataOff As Integer
Dim CurrentItemDescripLength As Integer
Public Shared itemDescs As List(Of String)
Public Shared itemDescOffsets As List(Of String)
Public Shared itemPics As List(Of String)
Public Shared itemPicOffsets As List(Of String)
Public Shared itemPals As List(Of String)
Public Shared itemPalOffsets As List(Of String)
Private Sub ItemEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If header2 = "BPR" Or header2 = "BPG" Or header2 = "BPE" Then
@ -47,6 +54,13 @@ Public Class ItemEditor
ItemListComboBox.SelectedIndex = 0
itemDescs = New List(Of String)
itemDescOffsets = New List(Of String)
itemPics = New List(Of String)
itemPicOffsets = New List(Of String)
itemPals = New List(Of String)
itemPalOffsets = New List(Of String)
End Sub
Private Sub ItemListComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ItemListComboBox.SelectedIndexChanged
@ -256,4 +270,290 @@ Public Class ItemEditor
End If
End Sub
Private Sub ExportAll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
FolderBrowserDialog.Description = "Select folder to export Items to:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
If System.IO.Directory.Exists(FolderBrowserDialog.SelectedPath & "\Items") = False Then
System.IO.Directory.CreateDirectory(FolderBrowserDialog.SelectedPath & "\Items")
End If
If System.IO.Directory.Exists(FolderBrowserDialog.SelectedPath & "\Items\ItemPics") = False Then
System.IO.Directory.CreateDirectory(FolderBrowserDialog.SelectedPath & "\Items\ItemPics")
End If
Dim LoopVar As Integer
LoopVar = 0
Me.Enabled = False
ProgressBar1.Value = 0
ProgressBar1.Visible = True
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfItems", "")) - 2 = True
' PKMNaItemImportExportss.SelectedIndex = LoopVar
LoopVar = LoopVar + 1
ImportDataFunctions.ExportItemINI(FolderBrowserDialog.SelectedPath, LoopVar)
ProgressBar1.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfItems", ""))) * 100
ProgressBar1.Invalidate()
ProgressBar1.Update()
End While
ProgressBar1.Visible = False
Me.Enabled = True
Me.UseWaitCursor = False
Me.BringToFront()
End If
End Sub
Private Sub ImportAll(sender As Object, e As EventArgs) Handles Button2.Click
Dim listvar As Integer = ItemListComboBox.SelectedIndex
FolderBrowserDialog.Description = "Select ini file to import Items from:"
If FolderBrowserDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ProgressBar1.Value = 0
ProgressBar1.Visible = True
Dim LoopVar As Integer
LoopVar = 0
If CheckBox1.Checked Then
LoopVar = 289
End If
Me.Enabled = False
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfItems", "")) - 2 = True
LoopVar = LoopVar + 1
If System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & LoopVar & ".ini") Then
ImportItem(FolderBrowserDialog.SelectedPath, LoopVar)
ElseIf System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\" & VB.Right("000" & LoopVar, 3) & ".ini") And LoopVar < 1000 Then
ImportItem(FolderBrowserDialog.SelectedPath, LoopVar)
End If
If System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\ItemPics\" & LoopVar & ".png") Then
ImportItemPicture(FolderBrowserDialog.SelectedPath & "\ItemPics\" & LoopVar & ".png", LoopVar)
ElseIf System.IO.File.Exists(FolderBrowserDialog.SelectedPath & "\ItemPics\" & VB.Right("000" & LoopVar, 3) & ".png") And LoopVar < 1000 Then
ImportItemPicture(FolderBrowserDialog.SelectedPath & "\ItemPics\" & VB.Right("000" & LoopVar, 3) & ".png", LoopVar)
End If
ProgressBar1.Value = (LoopVar / (GetString(GetINIFileLocation(), header, "NumberOfItems", ""))) * 100
ProgressBar1.Invalidate()
ProgressBar1.Update()
If CheckBox1.Checked And LoopVar = 346 Then
LoopVar = 377
End If
End While
'ItemImportExports.WriteNewFile(Convert.ToString(ItemImportExports.romString))
ItemListComboBox.SelectedIndex = 1
ItemListComboBox.SelectedIndex = 0
Me.UseWaitCursor = False
Me.BringToFront()
RefreshItems(listvar)
End If
Me.Text = "Item Editor"
Me.Enabled = True
ProgressBar1.Visible = False
Me.BringToFront()
End Sub
Private Sub ExportSingleItem(sender As Object, e As EventArgs) Handles Button4.Click
Dim listvar As Integer = ItemListComboBox.SelectedIndex
SaveFileDialog.FileName = (listvar) & ".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"
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ExportItemINI(SaveFileDialog.FileName, listvar, True)
Me.UseWaitCursor = False
Me.Enabled = True
Me.ProgressBar1.Visible = False
End If
RefreshItems(listvar)
End Sub
Private Sub RefreshItems(listvar)
Dim LoopVar As Integer = 0
ItemListComboBox.Items.Clear()
While LoopVar < (GetString(GetINIFileLocation(), header, "NumberOfItems", "") - 1) = True
ItemListComboBox.Items.Add(GetItemName(LoopVar))
LoopVar = LoopVar + 1
End While
ItemListComboBox.SelectedIndex = listvar
End Sub
Private Sub ExportSinglePicture(sender As Object, e As EventArgs) Handles Button7.Click
Dim listvar As Integer = ItemListComboBox.SelectedIndex
SaveFileDialog.FileName = (listvar) & ".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 = "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 =
"(*.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"
SaveFileDialog.ValidateNames = True
If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ExportItemPicture(SaveFileDialog.FileName, listvar)
Me.UseWaitCursor = False
Me.Enabled = True
Me.ProgressBar1.Visible = False
End If
RefreshItems(listvar)
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
End Sub
Private Sub ImportSinglePicture(sender As Object, e As EventArgs) Handles Button5.Click
Dim listvar As Integer = ItemListComboBox.SelectedIndex
OpenFileDialog.Title = "Select Image to import"
' Only accept valid Win32 file names?
OpenFileDialog.ValidateNames = False
If Not OpenFileDialog.FileName.Contains(".png") Then
OpenFileDialog.FileName = OpenFileDialog.FileName & ".png"
End If
If OpenFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ImportItemPicture(OpenFileDialog.FileName, listvar, True)
Me.UseWaitCursor = False
Me.Enabled = True
Me.ProgressBar1.Visible = False
End If
RefreshItems(listvar)
End Sub
Private Sub ImportSingleItem(sender As Object, e As EventArgs) Handles Button3.Click
Dim listvar As Integer = ItemListComboBox.SelectedIndex
OpenFileDialog.Title = "Select Item to import"
' Only accept valid Win32 file names?
OpenFileDialog.ValidateNames = True
If OpenFileDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.Text = "Please wait..."
Me.UseWaitCursor = True
ImportItem(OpenFileDialog.FileName, listvar, True)
Me.UseWaitCursor = False
Me.Enabled = True
Me.ProgressBar1.Visible = False
End If
RefreshItems(listvar)
End Sub
End Class

View File

@ -16,7 +16,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>ec7N7gQJhiSqdXE2Pc0nveGeG8F1O5DPKlKqjLyMTsI=</dsig:DigestValue>
<dsig:DigestValue>Xed9LgXlJRxxKcPw0TDLG3UK87h9E13zaIYFpaJpKZU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

View File

@ -43,14 +43,14 @@
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="PokemonGameEditor.exe" size="2097664">
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="PokemonGameEditor.exe" size="2110464">
<assemblyIdentity name="PokemonGameEditor" version="3.8.1.0" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>7pxg2xb8XevLFOacVz09p4ExKZZGx06y/dXCPbLKwog=</dsig:DigestValue>
<dsig:DigestValue>iTNlYBNPOG4n97YC4+tMsfUvc0ymM1bFYI3QT3Z/ZIU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

View File

@ -16,7 +16,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>ec7N7gQJhiSqdXE2Pc0nveGeG8F1O5DPKlKqjLyMTsI=</dsig:DigestValue>
<dsig:DigestValue>Xed9LgXlJRxxKcPw0TDLG3UK87h9E13zaIYFpaJpKZU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

View File

@ -43,14 +43,14 @@
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="PokemonGameEditor.exe" size="2097664">
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="PokemonGameEditor.exe" size="2110464">
<assemblyIdentity name="PokemonGameEditor" version="3.8.1.0" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>7pxg2xb8XevLFOacVz09p4ExKZZGx06y/dXCPbLKwog=</dsig:DigestValue>
<dsig:DigestValue>iTNlYBNPOG4n97YC4+tMsfUvc0ymM1bFYI3QT3Z/ZIU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>