mirror of
https://github.com/RenegadeRaven/PKMG5DC.git
synced 2026-04-25 15:26:50 -05:00
Ready for Beta Release
This commit is contained in:
parent
5c7ac8d14d
commit
d14b564966
138
PKMG5DC/About.Designer.vb
generated
Normal file
138
PKMG5DC/About.Designer.vb
generated
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class About
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.lb_Description = New System.Windows.Forms.Label()
|
||||
Me.lb_Includes = New System.Windows.Forms.Label()
|
||||
Me.lklb_Ndstool = New System.Windows.Forms.LinkLabel()
|
||||
Me.lklb_armips = New System.Windows.Forms.LinkLabel()
|
||||
Me.lklb_12distro = New System.Windows.Forms.LinkLabel()
|
||||
Me.lb_Source = New System.Windows.Forms.Label()
|
||||
Me.lklb_Source = New System.Windows.Forms.LinkLabel()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Timer1
|
||||
'
|
||||
Me.Timer1.Interval = 10000
|
||||
'
|
||||
'lb_Description
|
||||
'
|
||||
Me.lb_Description.AutoSize = True
|
||||
Me.lb_Description.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lb_Description.Location = New System.Drawing.Point(-1, 12)
|
||||
Me.lb_Description.Name = "lb_Description"
|
||||
Me.lb_Description.Size = New System.Drawing.Size(276, 60)
|
||||
Me.lb_Description.TabIndex = 0
|
||||
Me.lb_Description.Text = "This program builds Distribution ROMs for Gen 5 " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Pokémon games. With a copy of t" &
|
||||
"he Liberty Ticket" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Distribution ROM and a .pgf event file, you can " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "make a Dist" &
|
||||
"ribution ROM."
|
||||
'
|
||||
'lb_Includes
|
||||
'
|
||||
Me.lb_Includes.AutoSize = True
|
||||
Me.lb_Includes.Location = New System.Drawing.Point(13, 106)
|
||||
Me.lb_Includes.Name = "lb_Includes"
|
||||
Me.lb_Includes.Size = New System.Drawing.Size(160, 13)
|
||||
Me.lb_Includes.TabIndex = 1
|
||||
Me.lb_Includes.Text = "This program contains copies of:"
|
||||
'
|
||||
'lklb_Ndstool
|
||||
'
|
||||
Me.lklb_Ndstool.AutoSize = True
|
||||
Me.lklb_Ndstool.Location = New System.Drawing.Point(105, 138)
|
||||
Me.lklb_Ndstool.Name = "lklb_Ndstool"
|
||||
Me.lklb_Ndstool.Size = New System.Drawing.Size(41, 13)
|
||||
Me.lklb_Ndstool.TabIndex = 2
|
||||
Me.lklb_Ndstool.TabStop = True
|
||||
Me.lklb_Ndstool.Text = "ndstool"
|
||||
'
|
||||
'lklb_armips
|
||||
'
|
||||
Me.lklb_armips.AutoSize = True
|
||||
Me.lklb_armips.Location = New System.Drawing.Point(107, 166)
|
||||
Me.lklb_armips.Name = "lklb_armips"
|
||||
Me.lklb_armips.Size = New System.Drawing.Size(37, 13)
|
||||
Me.lklb_armips.TabIndex = 3
|
||||
Me.lklb_armips.TabStop = True
|
||||
Me.lklb_armips.Text = "armips"
|
||||
'
|
||||
'lklb_12distro
|
||||
'
|
||||
Me.lklb_12distro.AutoSize = True
|
||||
Me.lklb_12distro.Location = New System.Drawing.Point(42, 197)
|
||||
Me.lklb_12distro.Name = "lklb_12distro"
|
||||
Me.lklb_12distro.Size = New System.Drawing.Size(195, 13)
|
||||
Me.lklb_12distro.TabIndex = 4
|
||||
Me.lklb_12distro.TabStop = True
|
||||
Me.lklb_12distro.Text = "Pokémon Duodecuple Distribution hack"
|
||||
'
|
||||
'lb_Source
|
||||
'
|
||||
Me.lb_Source.AutoSize = True
|
||||
Me.lb_Source.Location = New System.Drawing.Point(13, 290)
|
||||
Me.lb_Source.Name = "lb_Source"
|
||||
Me.lb_Source.Size = New System.Drawing.Size(72, 13)
|
||||
Me.lb_Source.TabIndex = 5
|
||||
Me.lb_Source.Text = "Source Code:"
|
||||
'
|
||||
'lklb_Source
|
||||
'
|
||||
Me.lklb_Source.AutoSize = True
|
||||
Me.lklb_Source.Location = New System.Drawing.Point(92, 289)
|
||||
Me.lklb_Source.Name = "lklb_Source"
|
||||
Me.lklb_Source.Size = New System.Drawing.Size(40, 13)
|
||||
Me.lklb_Source.TabIndex = 6
|
||||
Me.lklb_Source.TabStop = True
|
||||
Me.lklb_Source.Text = "GitHub"
|
||||
'
|
||||
'About
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(275, 365)
|
||||
Me.Controls.Add(Me.lklb_Source)
|
||||
Me.Controls.Add(Me.lb_Source)
|
||||
Me.Controls.Add(Me.lklb_12distro)
|
||||
Me.Controls.Add(Me.lklb_armips)
|
||||
Me.Controls.Add(Me.lklb_Ndstool)
|
||||
Me.Controls.Add(Me.lb_Includes)
|
||||
Me.Controls.Add(Me.lb_Description)
|
||||
Me.Name = "About"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "About"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents Timer1 As Timer
|
||||
Friend WithEvents lb_Description As Label
|
||||
Friend WithEvents lb_Includes As Label
|
||||
Friend WithEvents lklb_Ndstool As LinkLabel
|
||||
Friend WithEvents lklb_armips As LinkLabel
|
||||
Friend WithEvents lklb_12distro As LinkLabel
|
||||
Friend WithEvents lb_Source As Label
|
||||
Friend WithEvents lklb_Source As LinkLabel
|
||||
End Class
|
||||
|
|
@ -1,20 +1,20 @@
|
|||
Public Class Form2
|
||||
Public Class About
|
||||
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
|
||||
Me.Close()
|
||||
End Sub
|
||||
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Timer1.Start()
|
||||
End Sub
|
||||
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
|
||||
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklb_Ndstool.LinkClicked
|
||||
Process.Start("https://gbatemp.net/download/nintendo-ds-rom-tool-ndstool.29352/")
|
||||
End Sub
|
||||
Private Sub LinkLabel2_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked
|
||||
Private Sub LinkLabel2_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklb_armips.LinkClicked
|
||||
Process.Start("http://aerie.wingdreams.net/?page_id=6")
|
||||
End Sub
|
||||
Private Sub LinkLabel3_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel3.LinkClicked
|
||||
Private Sub LinkLabel3_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklb_12distro.LinkClicked
|
||||
Process.Start("https://gbatemp.net/threads/pokemon-duodecuple-distribution-hack.285080/")
|
||||
End Sub
|
||||
Private Sub LinkLabel4_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel4.LinkClicked
|
||||
Private Sub LinkLabel4_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklb_Source.LinkClicked
|
||||
Process.Start("https://github.com/PlasticJustice/PKMG5DC")
|
||||
End Sub
|
||||
End Class
|
||||
|
|
@ -14,14 +14,8 @@
|
|||
<setting name="ticket" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="Language" serializeAs="String">
|
||||
<value>E</value>
|
||||
</setting>
|
||||
<setting name="Region" serializeAs="String">
|
||||
<value>020000BC83</value>
|
||||
</setting>
|
||||
<setting name="Delay" serializeAs="String">
|
||||
<value>500</value>
|
||||
<value>0</value>
|
||||
</setting>
|
||||
</PKMG5DC.My.MySettings>
|
||||
</userSettings>
|
||||
|
|
|
|||
|
|
@ -24,61 +24,6 @@ Module Common
|
|||
Return Ans
|
||||
End Function
|
||||
|
||||
'Adds needed zeros to hex string
|
||||
Public Function Hex_Zeros(ByVal hex_value As String, ByVal length As Integer)
|
||||
Dim Str As String = hex_value.ToUpper
|
||||
Do While Str.Length < length
|
||||
Str = "0" & Str
|
||||
Loop
|
||||
Return Str
|
||||
End Function
|
||||
|
||||
'Encrypts hex string with, you guessed it, Little Endian
|
||||
Public Function Little_Endian(ByVal hex_value As String, ByVal length As Integer)
|
||||
Dim startStr As String = Hex_Zeros(hex_value, length)
|
||||
Dim endStr As String = Nothing
|
||||
If length = 8 Then
|
||||
endStr = startStr.Skip(6).ToArray() & startStr.Remove(6, 2).ToArray().Skip(4).ToArray() & startStr.Remove(4, 4).ToArray().Skip(2).ToArray() & startStr.Remove(2, 6).ToArray()
|
||||
ElseIf length = 4 Then
|
||||
endStr = startStr.Skip(2).ToArray() & startStr.Remove(2, 2).ToArray()
|
||||
End If
|
||||
Return endStr
|
||||
End Function
|
||||
|
||||
Public Function HexStringToByteArray(ByRef strInput As String) As Byte()
|
||||
Dim length As Integer
|
||||
Dim bOutput As Byte()
|
||||
Dim c(1) As Integer
|
||||
length = strInput.Length / 2
|
||||
ReDim bOutput(length - 1)
|
||||
For i As Integer = 0 To (length - 1)
|
||||
For j As Integer = 0 To 1
|
||||
c(j) = Asc(strInput.Chars(i * 2 + j))
|
||||
If ((c(j) >= Asc("0")) And (c(j) <= Asc("9"))) Then
|
||||
c(j) = c(j) - Asc("0")
|
||||
ElseIf ((c(j) >= Asc("A")) And (c(j) <= Asc("F"))) Then
|
||||
c(j) = c(j) - Asc("A") + &HA
|
||||
ElseIf ((c(j) >= Asc("a")) And (c(j) <= Asc("f"))) Then
|
||||
c(j) = c(j) - Asc("a") + &HA
|
||||
End If
|
||||
Next j
|
||||
bOutput(i) = (c(0) * &H10 + c(1))
|
||||
Next i
|
||||
Return (bOutput)
|
||||
End Function
|
||||
'Public Sub Save(myFile, data)
|
||||
' Dim myBytes As Byte() = HexStringToByteArray(Main5.RichTextBox1.Text)
|
||||
' My.Computer.FileSystem.WriteAllBytes(myFile, myBytes, False)
|
||||
'End Sub
|
||||
|
||||
Public Function ByteArrayToHexString(ByVal myBytes As Byte())
|
||||
'Dim myBytes As Byte() = My.Computer.FileSystem.ReadAllBytes(myFile)
|
||||
Dim txtTemp As New System.Text.StringBuilder()
|
||||
For Each myByte As Byte In myBytes
|
||||
txtTemp.Append(myByte.ToString("X2"))
|
||||
Next
|
||||
Return txtTemp.ToString()
|
||||
End Function
|
||||
Public Function GetString(data As Byte(), offset As Byte, count As UShort)
|
||||
Return Encoding.Unicode.GetString(data, offset, count).Replace(ChrW(&HFFFF), "").Replace(ChrW(&H0), "").Replace(ChrW(&HFFFE), vbLf)
|
||||
End Function
|
||||
|
|
@ -91,4 +36,34 @@ Module Common
|
|||
Dim temp As String = value & ChrW(&HFFFF)
|
||||
Return Encoding.Unicode.GetBytes(temp)
|
||||
End Function
|
||||
Public Sub ReadIni()
|
||||
With Main5.mySettings
|
||||
.Filename = Main5.Local & "\settings.ini"
|
||||
If .OpenIniFile() Then
|
||||
My.Settings.ticket = .GetValue("Ticket")
|
||||
My.Settings.Region = .GetValue("Region")
|
||||
'.SetValue("Ticket", My.Settings.ticket)
|
||||
If Not .SaveIni Then
|
||||
MsgB("Trouble writing Ini-File")
|
||||
End If
|
||||
Else
|
||||
MsgB("No Ini-File found")
|
||||
End If
|
||||
End With
|
||||
End Sub
|
||||
Public Sub WriteIni()
|
||||
With Main5.mySettings
|
||||
.Filename = Main5.Local & "\settings.ini"
|
||||
If .OpenIniFile() Then
|
||||
'Dim MyValue As String = .GetValue("MyKey")
|
||||
.SetValue("Ticket", My.Settings.ticket)
|
||||
.SetValue("Region", My.Settings.Region)
|
||||
If Not .SaveIni Then
|
||||
MsgB("Trouble by writing Ini-File")
|
||||
End If
|
||||
Else
|
||||
MsgB("No Ini-File found")
|
||||
End If
|
||||
End With
|
||||
End Sub
|
||||
End Module
|
||||
|
|
|
|||
|
|
@ -677,7 +677,6 @@ New Pokemon With {.ID = 649, .Name = “Genesect”},
|
|||
New Pokemon With {.ID = 650, .Name = “Pokémon Egg”},
|
||||
New Pokemon With {.ID = 651, .Name = “Manaphy Egg”}
|
||||
}
|
||||
|
||||
End Function
|
||||
#End Region
|
||||
#Region "Items"
|
||||
|
|
|
|||
694
PKMG5DC/Form1.Designer.vb
generated
694
PKMG5DC/Form1.Designer.vb
generated
|
|
@ -1,694 +0,0 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class Form1
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
|
||||
Me.rtb_Editor = New System.Windows.Forms.RichTextBox()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.bt_PGF = New System.Windows.Forms.Button()
|
||||
Me.lb_PGF = New System.Windows.Forms.Label()
|
||||
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
|
||||
Me.gb_GameComp = New System.Windows.Forms.GroupBox()
|
||||
Me.cb_White2 = New System.Windows.Forms.CheckBox()
|
||||
Me.cb_Black2 = New System.Windows.Forms.CheckBox()
|
||||
Me.cb_White = New System.Windows.Forms.CheckBox()
|
||||
Me.cb_Black = New System.Windows.Forms.CheckBox()
|
||||
Me.rtb_EventMsg = New System.Windows.Forms.RichTextBox()
|
||||
Me.gb_DateLimit = New System.Windows.Forms.GroupBox()
|
||||
Me.cb_MaxLimit = New System.Windows.Forms.CheckBox()
|
||||
Me.lb_End = New System.Windows.Forms.Label()
|
||||
Me.lb_Start = New System.Windows.Forms.Label()
|
||||
Me.EndDatePicker = New System.Windows.Forms.DateTimePicker()
|
||||
Me.StartDatePicker = New System.Windows.Forms.DateTimePicker()
|
||||
Me.gb_Region = New System.Windows.Forms.GroupBox()
|
||||
Me.rb_Kor = New System.Windows.Forms.RadioButton()
|
||||
Me.rb_Jap = New System.Windows.Forms.RadioButton()
|
||||
Me.rb_Spa = New System.Windows.Forms.RadioButton()
|
||||
Me.rb_Ger = New System.Windows.Forms.RadioButton()
|
||||
Me.rb_Ita = New System.Windows.Forms.RadioButton()
|
||||
Me.rb_Fr = New System.Windows.Forms.RadioButton()
|
||||
Me.rb_Eng = New System.Windows.Forms.RadioButton()
|
||||
Me.bt_Build = New System.Windows.Forms.Button()
|
||||
Me.lb_EventMsg = New System.Windows.Forms.Label()
|
||||
Me.bt_ClearEM = New System.Windows.Forms.Button()
|
||||
Me.Button5 = New System.Windows.Forms.Button()
|
||||
Me.bt_Custom = New System.Windows.Forms.Button()
|
||||
Me.lklb_Update = New System.Windows.Forms.LinkLabel()
|
||||
Me.gb_ROM = New System.Windows.Forms.GroupBox()
|
||||
Me.bt_DefaultDes = New System.Windows.Forms.Button()
|
||||
Me.bt_ClearDes = New System.Windows.Forms.Button()
|
||||
Me.lb_Descript = New System.Windows.Forms.Label()
|
||||
Me.rtb_ROMDes = New System.Windows.Forms.RichTextBox()
|
||||
Me.lb_Code = New System.Windows.Forms.Label()
|
||||
Me.tb_Code = New System.Windows.Forms.TextBox()
|
||||
Me.lb_Header = New System.Windows.Forms.Label()
|
||||
Me.tb_Header = New System.Windows.Forms.TextBox()
|
||||
Me.lb_FileName = New System.Windows.Forms.Label()
|
||||
Me.tb_FileName = New System.Windows.Forms.TextBox()
|
||||
Me.Label7 = New System.Windows.Forms.Label()
|
||||
Me.lklb_Author = New System.Windows.Forms.LinkLabel()
|
||||
Me.lb_By = New System.Windows.Forms.Label()
|
||||
Me.Label13 = New System.Windows.Forms.Label()
|
||||
Me.Button7 = New System.Windows.Forms.Button()
|
||||
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
|
||||
Me.gb_GameComp.SuspendLayout()
|
||||
Me.gb_DateLimit.SuspendLayout()
|
||||
Me.gb_Region.SuspendLayout()
|
||||
Me.gb_ROM.SuspendLayout()
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'rtb_Editor
|
||||
'
|
||||
Me.rtb_Editor.Location = New System.Drawing.Point(455, 26)
|
||||
Me.rtb_Editor.Name = "rtb_Editor"
|
||||
Me.rtb_Editor.ReadOnly = True
|
||||
Me.rtb_Editor.Size = New System.Drawing.Size(357, 412)
|
||||
Me.rtb_Editor.TabIndex = 0
|
||||
Me.rtb_Editor.Text = ""
|
||||
Me.ToolTip1.SetToolTip(Me.rtb_Editor, "The output. See your changes here.")
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label1.Location = New System.Drawing.Point(464, 7)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(51, 17)
|
||||
Me.Label1.TabIndex = 1
|
||||
Me.Label1.Text = "Label1"
|
||||
'
|
||||
'bt_PGF
|
||||
'
|
||||
Me.bt_PGF.Location = New System.Drawing.Point(283, 50)
|
||||
Me.bt_PGF.Name = "bt_PGF"
|
||||
Me.bt_PGF.Size = New System.Drawing.Size(68, 23)
|
||||
Me.bt_PGF.TabIndex = 2
|
||||
Me.bt_PGF.Text = "Open .pgf"
|
||||
Me.bt_PGF.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lb_PGF
|
||||
'
|
||||
Me.lb_PGF.AutoEllipsis = True
|
||||
Me.lb_PGF.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
|
||||
Me.lb_PGF.Location = New System.Drawing.Point(13, 54)
|
||||
Me.lb_PGF.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0)
|
||||
Me.lb_PGF.Name = "lb_PGF"
|
||||
Me.lb_PGF.Size = New System.Drawing.Size(268, 17)
|
||||
Me.lb_PGF.TabIndex = 3
|
||||
Me.lb_PGF.Text = "Open .pgf ------->"
|
||||
Me.lb_PGF.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'OpenFileDialog1
|
||||
'
|
||||
Me.OpenFileDialog1.FileName = "OpenFileDialog1"
|
||||
'
|
||||
'gb_GameComp
|
||||
'
|
||||
Me.gb_GameComp.Controls.Add(Me.cb_White2)
|
||||
Me.gb_GameComp.Controls.Add(Me.cb_Black2)
|
||||
Me.gb_GameComp.Controls.Add(Me.cb_White)
|
||||
Me.gb_GameComp.Controls.Add(Me.cb_Black)
|
||||
Me.gb_GameComp.Location = New System.Drawing.Point(13, 81)
|
||||
Me.gb_GameComp.Name = "gb_GameComp"
|
||||
Me.gb_GameComp.Size = New System.Drawing.Size(175, 97)
|
||||
Me.gb_GameComp.TabIndex = 4
|
||||
Me.gb_GameComp.TabStop = False
|
||||
Me.gb_GameComp.Text = "Game Compatibility"
|
||||
'
|
||||
'cb_White2
|
||||
'
|
||||
Me.cb_White2.AutoSize = True
|
||||
Me.cb_White2.Location = New System.Drawing.Point(98, 59)
|
||||
Me.cb_White2.Name = "cb_White2"
|
||||
Me.cb_White2.Size = New System.Drawing.Size(63, 17)
|
||||
Me.cb_White2.TabIndex = 3
|
||||
Me.cb_White2.Text = "White 2"
|
||||
Me.cb_White2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'cb_Black2
|
||||
'
|
||||
Me.cb_Black2.AutoSize = True
|
||||
Me.cb_Black2.Location = New System.Drawing.Point(21, 59)
|
||||
Me.cb_Black2.Name = "cb_Black2"
|
||||
Me.cb_Black2.Size = New System.Drawing.Size(62, 17)
|
||||
Me.cb_Black2.TabIndex = 2
|
||||
Me.cb_Black2.Text = "Black 2"
|
||||
Me.cb_Black2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'cb_White
|
||||
'
|
||||
Me.cb_White.AutoSize = True
|
||||
Me.cb_White.Location = New System.Drawing.Point(98, 28)
|
||||
Me.cb_White.Name = "cb_White"
|
||||
Me.cb_White.Size = New System.Drawing.Size(54, 17)
|
||||
Me.cb_White.TabIndex = 1
|
||||
Me.cb_White.Text = "White"
|
||||
Me.cb_White.UseVisualStyleBackColor = True
|
||||
'
|
||||
'cb_Black
|
||||
'
|
||||
Me.cb_Black.AutoSize = True
|
||||
Me.cb_Black.Location = New System.Drawing.Point(21, 28)
|
||||
Me.cb_Black.Name = "cb_Black"
|
||||
Me.cb_Black.Size = New System.Drawing.Size(53, 17)
|
||||
Me.cb_Black.TabIndex = 0
|
||||
Me.cb_Black.Text = "Black"
|
||||
Me.cb_Black.UseVisualStyleBackColor = True
|
||||
'
|
||||
'rtb_EventMsg
|
||||
'
|
||||
Me.rtb_EventMsg.Location = New System.Drawing.Point(197, 231)
|
||||
Me.rtb_EventMsg.MaxLength = 252
|
||||
Me.rtb_EventMsg.Name = "rtb_EventMsg"
|
||||
Me.rtb_EventMsg.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None
|
||||
Me.rtb_EventMsg.Size = New System.Drawing.Size(223, 97)
|
||||
Me.rtb_EventMsg.TabIndex = 5
|
||||
Me.rtb_EventMsg.Text = ""
|
||||
Me.rtb_EventMsg.WordWrap = False
|
||||
'
|
||||
'gb_DateLimit
|
||||
'
|
||||
Me.gb_DateLimit.Controls.Add(Me.cb_MaxLimit)
|
||||
Me.gb_DateLimit.Controls.Add(Me.lb_End)
|
||||
Me.gb_DateLimit.Controls.Add(Me.lb_Start)
|
||||
Me.gb_DateLimit.Controls.Add(Me.EndDatePicker)
|
||||
Me.gb_DateLimit.Controls.Add(Me.StartDatePicker)
|
||||
Me.gb_DateLimit.Location = New System.Drawing.Point(195, 81)
|
||||
Me.gb_DateLimit.Name = "gb_DateLimit"
|
||||
Me.gb_DateLimit.Size = New System.Drawing.Size(225, 97)
|
||||
Me.gb_DateLimit.TabIndex = 6
|
||||
Me.gb_DateLimit.TabStop = False
|
||||
Me.gb_DateLimit.Text = "Date Limit"
|
||||
'
|
||||
'cb_MaxLimit
|
||||
'
|
||||
Me.cb_MaxLimit.AutoSize = True
|
||||
Me.cb_MaxLimit.Location = New System.Drawing.Point(123, 11)
|
||||
Me.cb_MaxLimit.Name = "cb_MaxLimit"
|
||||
Me.cb_MaxLimit.Size = New System.Drawing.Size(95, 17)
|
||||
Me.cb_MaxLimit.TabIndex = 4
|
||||
Me.cb_MaxLimit.Text = "Auto Max Limit"
|
||||
Me.ToolTip1.SetToolTip(Me.cb_MaxLimit, "Sets Start to January 1st 1753" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "and End to December 31st 9998")
|
||||
Me.cb_MaxLimit.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lb_End
|
||||
'
|
||||
Me.lb_End.AutoSize = True
|
||||
Me.lb_End.Location = New System.Drawing.Point(7, 54)
|
||||
Me.lb_End.Name = "lb_End"
|
||||
Me.lb_End.Size = New System.Drawing.Size(29, 13)
|
||||
Me.lb_End.TabIndex = 3
|
||||
Me.lb_End.Text = "End:"
|
||||
'
|
||||
'lb_Start
|
||||
'
|
||||
Me.lb_Start.AutoSize = True
|
||||
Me.lb_Start.Location = New System.Drawing.Point(7, 19)
|
||||
Me.lb_Start.Name = "lb_Start"
|
||||
Me.lb_Start.Size = New System.Drawing.Size(32, 13)
|
||||
Me.lb_Start.TabIndex = 2
|
||||
Me.lb_Start.Text = "Start:"
|
||||
'
|
||||
'EndDatePicker
|
||||
'
|
||||
Me.EndDatePicker.CustomFormat = "yyyy/MM/dd"
|
||||
Me.EndDatePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom
|
||||
Me.EndDatePicker.Location = New System.Drawing.Point(6, 67)
|
||||
Me.EndDatePicker.Name = "EndDatePicker"
|
||||
Me.EndDatePicker.Size = New System.Drawing.Size(213, 20)
|
||||
Me.EndDatePicker.TabIndex = 1
|
||||
Me.EndDatePicker.Value = New Date(2018, 10, 5, 0, 0, 0, 0)
|
||||
'
|
||||
'StartDatePicker
|
||||
'
|
||||
Me.StartDatePicker.CustomFormat = "yyyy/MM/dd"
|
||||
Me.StartDatePicker.Format = System.Windows.Forms.DateTimePickerFormat.Custom
|
||||
Me.StartDatePicker.Location = New System.Drawing.Point(6, 32)
|
||||
Me.StartDatePicker.Name = "StartDatePicker"
|
||||
Me.StartDatePicker.Size = New System.Drawing.Size(213, 20)
|
||||
Me.StartDatePicker.TabIndex = 0
|
||||
Me.StartDatePicker.Value = New Date(2018, 10, 5, 0, 0, 0, 0)
|
||||
'
|
||||
'gb_Region
|
||||
'
|
||||
Me.gb_Region.Controls.Add(Me.rb_Kor)
|
||||
Me.gb_Region.Controls.Add(Me.rb_Jap)
|
||||
Me.gb_Region.Controls.Add(Me.rb_Spa)
|
||||
Me.gb_Region.Controls.Add(Me.rb_Ger)
|
||||
Me.gb_Region.Controls.Add(Me.rb_Ita)
|
||||
Me.gb_Region.Controls.Add(Me.rb_Fr)
|
||||
Me.gb_Region.Controls.Add(Me.rb_Eng)
|
||||
Me.gb_Region.Location = New System.Drawing.Point(13, 177)
|
||||
Me.gb_Region.Name = "gb_Region"
|
||||
Me.gb_Region.Size = New System.Drawing.Size(407, 41)
|
||||
Me.gb_Region.TabIndex = 7
|
||||
Me.gb_Region.TabStop = False
|
||||
Me.gb_Region.Text = "Region"
|
||||
'
|
||||
'rb_Kor
|
||||
'
|
||||
Me.rb_Kor.AutoSize = True
|
||||
Me.rb_Kor.FlatStyle = System.Windows.Forms.FlatStyle.System
|
||||
Me.rb_Kor.Location = New System.Drawing.Point(352, 16)
|
||||
Me.rb_Kor.Name = "rb_Kor"
|
||||
Me.rb_Kor.Size = New System.Drawing.Size(64, 18)
|
||||
Me.rb_Kor.TabIndex = 6
|
||||
Me.rb_Kor.TabStop = True
|
||||
Me.rb_Kor.Text = "한국어"
|
||||
Me.rb_Kor.UseVisualStyleBackColor = True
|
||||
'
|
||||
'rb_Jap
|
||||
'
|
||||
Me.rb_Jap.AutoSize = True
|
||||
Me.rb_Jap.FlatStyle = System.Windows.Forms.FlatStyle.System
|
||||
Me.rb_Jap.Location = New System.Drawing.Point(297, 16)
|
||||
Me.rb_Jap.Name = "rb_Jap"
|
||||
Me.rb_Jap.Size = New System.Drawing.Size(67, 18)
|
||||
Me.rb_Jap.TabIndex = 5
|
||||
Me.rb_Jap.TabStop = True
|
||||
Me.rb_Jap.Text = "日本語"
|
||||
Me.rb_Jap.UseVisualStyleBackColor = True
|
||||
'
|
||||
'rb_Spa
|
||||
'
|
||||
Me.rb_Spa.AutoSize = True
|
||||
Me.rb_Spa.FlatStyle = System.Windows.Forms.FlatStyle.System
|
||||
Me.rb_Spa.Location = New System.Drawing.Point(239, 16)
|
||||
Me.rb_Spa.Name = "rb_Spa"
|
||||
Me.rb_Spa.Size = New System.Drawing.Size(69, 18)
|
||||
Me.rb_Spa.TabIndex = 4
|
||||
Me.rb_Spa.TabStop = True
|
||||
Me.rb_Spa.Text = "Español"
|
||||
Me.rb_Spa.UseVisualStyleBackColor = True
|
||||
'
|
||||
'rb_Ger
|
||||
'
|
||||
Me.rb_Ger.AutoSize = True
|
||||
Me.rb_Ger.Cursor = System.Windows.Forms.Cursors.Default
|
||||
Me.rb_Ger.FlatStyle = System.Windows.Forms.FlatStyle.System
|
||||
Me.rb_Ger.Location = New System.Drawing.Point(173, 16)
|
||||
Me.rb_Ger.Name = "rb_Ger"
|
||||
Me.rb_Ger.Size = New System.Drawing.Size(77, 18)
|
||||
Me.rb_Ger.TabIndex = 3
|
||||
Me.rb_Ger.TabStop = True
|
||||
Me.rb_Ger.Text = "Deutsche"
|
||||
Me.rb_Ger.UseVisualStyleBackColor = True
|
||||
'
|
||||
'rb_Ita
|
||||
'
|
||||
Me.rb_Ita.AutoSize = True
|
||||
Me.rb_Ita.FlatStyle = System.Windows.Forms.FlatStyle.System
|
||||
Me.rb_Ita.Location = New System.Drawing.Point(120, 16)
|
||||
Me.rb_Ita.Name = "rb_Ita"
|
||||
Me.rb_Ita.Size = New System.Drawing.Size(65, 18)
|
||||
Me.rb_Ita.TabIndex = 2
|
||||
Me.rb_Ita.TabStop = True
|
||||
Me.rb_Ita.Text = "Italiano"
|
||||
Me.rb_Ita.UseVisualStyleBackColor = True
|
||||
'
|
||||
'rb_Fr
|
||||
'
|
||||
Me.rb_Fr.AutoSize = True
|
||||
Me.rb_Fr.FlatStyle = System.Windows.Forms.FlatStyle.System
|
||||
Me.rb_Fr.Location = New System.Drawing.Point(60, 16)
|
||||
Me.rb_Fr.Name = "rb_Fr"
|
||||
Me.rb_Fr.Size = New System.Drawing.Size(71, 18)
|
||||
Me.rb_Fr.TabIndex = 1
|
||||
Me.rb_Fr.TabStop = True
|
||||
Me.rb_Fr.Text = "Français"
|
||||
Me.rb_Fr.UseVisualStyleBackColor = True
|
||||
'
|
||||
'rb_Eng
|
||||
'
|
||||
Me.rb_Eng.AutoSize = True
|
||||
Me.rb_Eng.FlatStyle = System.Windows.Forms.FlatStyle.System
|
||||
Me.rb_Eng.Location = New System.Drawing.Point(5, 16)
|
||||
Me.rb_Eng.Name = "rb_Eng"
|
||||
Me.rb_Eng.Size = New System.Drawing.Size(65, 18)
|
||||
Me.rb_Eng.TabIndex = 0
|
||||
Me.rb_Eng.TabStop = True
|
||||
Me.rb_Eng.Text = "English"
|
||||
Me.rb_Eng.UseVisualStyleBackColor = True
|
||||
'
|
||||
'bt_Build
|
||||
'
|
||||
Me.bt_Build.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.bt_Build.Location = New System.Drawing.Point(246, 374)
|
||||
Me.bt_Build.Name = "bt_Build"
|
||||
Me.bt_Build.Size = New System.Drawing.Size(128, 46)
|
||||
Me.bt_Build.TabIndex = 9
|
||||
Me.bt_Build.Text = "Build Event ROM"
|
||||
Me.bt_Build.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lb_EventMsg
|
||||
'
|
||||
Me.lb_EventMsg.AutoSize = True
|
||||
Me.lb_EventMsg.Location = New System.Drawing.Point(197, 218)
|
||||
Me.lb_EventMsg.Name = "lb_EventMsg"
|
||||
Me.lb_EventMsg.Size = New System.Drawing.Size(84, 13)
|
||||
Me.lb_EventMsg.TabIndex = 10
|
||||
Me.lb_EventMsg.Text = "Event Message:"
|
||||
'
|
||||
'bt_ClearEM
|
||||
'
|
||||
Me.bt_ClearEM.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.bt_ClearEM.Location = New System.Drawing.Point(197, 329)
|
||||
Me.bt_ClearEM.Name = "bt_ClearEM"
|
||||
Me.bt_ClearEM.Size = New System.Drawing.Size(223, 21)
|
||||
Me.bt_ClearEM.TabIndex = 11
|
||||
Me.bt_ClearEM.Text = "Clear Text"
|
||||
Me.bt_ClearEM.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button5
|
||||
'
|
||||
Me.Button5.Location = New System.Drawing.Point(0, 428)
|
||||
Me.Button5.Name = "Button5"
|
||||
Me.Button5.Size = New System.Drawing.Size(24, 23)
|
||||
Me.Button5.TabIndex = 15
|
||||
Me.Button5.Text = "?"
|
||||
Me.ToolTip1.SetToolTip(Me.Button5, "About")
|
||||
Me.Button5.UseVisualStyleBackColor = True
|
||||
'
|
||||
'bt_Custom
|
||||
'
|
||||
Me.bt_Custom.Font = New System.Drawing.Font("Microsoft Sans Serif", 32.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Document, CType(0, Byte))
|
||||
Me.bt_Custom.Location = New System.Drawing.Point(353, 50)
|
||||
Me.bt_Custom.Name = "bt_Custom"
|
||||
Me.bt_Custom.RightToLeft = System.Windows.Forms.RightToLeft.No
|
||||
Me.bt_Custom.Size = New System.Drawing.Size(68, 23)
|
||||
Me.bt_Custom.TabIndex = 16
|
||||
Me.bt_Custom.Text = "Custom"
|
||||
Me.ToolTip1.SetToolTip(Me.bt_Custom, "Make a custom Event pgf")
|
||||
Me.bt_Custom.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lklb_Update
|
||||
'
|
||||
Me.lklb_Update.AutoSize = True
|
||||
Me.lklb_Update.Location = New System.Drawing.Point(10, 4)
|
||||
Me.lklb_Update.Name = "lklb_Update"
|
||||
Me.lklb_Update.Size = New System.Drawing.Size(48, 13)
|
||||
Me.lklb_Update.TabIndex = 17
|
||||
Me.lklb_Update.TabStop = True
|
||||
Me.lklb_Update.Text = "Update?"
|
||||
Me.ToolTip1.SetToolTip(Me.lklb_Update, "Update")
|
||||
'
|
||||
'gb_ROM
|
||||
'
|
||||
Me.gb_ROM.Controls.Add(Me.bt_DefaultDes)
|
||||
Me.gb_ROM.Controls.Add(Me.bt_ClearDes)
|
||||
Me.gb_ROM.Controls.Add(Me.lb_Descript)
|
||||
Me.gb_ROM.Controls.Add(Me.rtb_ROMDes)
|
||||
Me.gb_ROM.Controls.Add(Me.lb_Code)
|
||||
Me.gb_ROM.Controls.Add(Me.tb_Code)
|
||||
Me.gb_ROM.Controls.Add(Me.lb_Header)
|
||||
Me.gb_ROM.Controls.Add(Me.tb_Header)
|
||||
Me.gb_ROM.Controls.Add(Me.lb_FileName)
|
||||
Me.gb_ROM.Controls.Add(Me.tb_FileName)
|
||||
Me.gb_ROM.Controls.Add(Me.Label7)
|
||||
Me.gb_ROM.Location = New System.Drawing.Point(13, 221)
|
||||
Me.gb_ROM.Name = "gb_ROM"
|
||||
Me.gb_ROM.Size = New System.Drawing.Size(180, 194)
|
||||
Me.gb_ROM.TabIndex = 19
|
||||
Me.gb_ROM.TabStop = False
|
||||
Me.gb_ROM.Text = "ROM Details"
|
||||
'
|
||||
'bt_DefaultDes
|
||||
'
|
||||
Me.bt_DefaultDes.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.bt_DefaultDes.Location = New System.Drawing.Point(90, 166)
|
||||
Me.bt_DefaultDes.Name = "bt_DefaultDes"
|
||||
Me.bt_DefaultDes.Size = New System.Drawing.Size(85, 21)
|
||||
Me.bt_DefaultDes.TabIndex = 23
|
||||
Me.bt_DefaultDes.Text = "Default Text"
|
||||
Me.bt_DefaultDes.UseVisualStyleBackColor = True
|
||||
'
|
||||
'bt_ClearDes
|
||||
'
|
||||
Me.bt_ClearDes.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.bt_ClearDes.Location = New System.Drawing.Point(4, 166)
|
||||
Me.bt_ClearDes.Name = "bt_ClearDes"
|
||||
Me.bt_ClearDes.Size = New System.Drawing.Size(85, 21)
|
||||
Me.bt_ClearDes.TabIndex = 20
|
||||
Me.bt_ClearDes.Text = "Clear Text"
|
||||
Me.bt_ClearDes.UseVisualStyleBackColor = True
|
||||
'
|
||||
'lb_Descript
|
||||
'
|
||||
Me.lb_Descript.AutoSize = True
|
||||
Me.lb_Descript.Location = New System.Drawing.Point(4, 94)
|
||||
Me.lb_Descript.Name = "lb_Descript"
|
||||
Me.lb_Descript.Size = New System.Drawing.Size(63, 13)
|
||||
Me.lb_Descript.TabIndex = 21
|
||||
Me.lb_Descript.Text = "Description:"
|
||||
'
|
||||
'rtb_ROMDes
|
||||
'
|
||||
Me.rtb_ROMDes.Location = New System.Drawing.Point(4, 107)
|
||||
Me.rtb_ROMDes.MaxLength = 96
|
||||
Me.rtb_ROMDes.Name = "rtb_ROMDes"
|
||||
Me.rtb_ROMDes.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None
|
||||
Me.rtb_ROMDes.Size = New System.Drawing.Size(172, 59)
|
||||
Me.rtb_ROMDes.TabIndex = 20
|
||||
Me.rtb_ROMDes.Text = "Pokémon" & Global.Microsoft.VisualBasic.ChrW(10) & "Generation 5" & Global.Microsoft.VisualBasic.ChrW(10) & "Custom Made Distribution" & Global.Microsoft.VisualBasic.ChrW(10) & "PKMG5DC"
|
||||
Me.rtb_ROMDes.WordWrap = False
|
||||
'
|
||||
'lb_Code
|
||||
'
|
||||
Me.lb_Code.AutoSize = True
|
||||
Me.lb_Code.Location = New System.Drawing.Point(117, 55)
|
||||
Me.lb_Code.Name = "lb_Code"
|
||||
Me.lb_Code.Size = New System.Drawing.Size(35, 13)
|
||||
Me.lb_Code.TabIndex = 18
|
||||
Me.lb_Code.Text = "Code:"
|
||||
'
|
||||
'tb_Code
|
||||
'
|
||||
Me.tb_Code.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!)
|
||||
Me.tb_Code.Location = New System.Drawing.Point(118, 68)
|
||||
Me.tb_Code.MaxLength = 4
|
||||
Me.tb_Code.Name = "tb_Code"
|
||||
Me.tb_Code.Size = New System.Drawing.Size(44, 20)
|
||||
Me.tb_Code.TabIndex = 17
|
||||
Me.tb_Code.Text = "G5DC"
|
||||
'
|
||||
'lb_Header
|
||||
'
|
||||
Me.lb_Header.AutoSize = True
|
||||
Me.lb_Header.Location = New System.Drawing.Point(6, 55)
|
||||
Me.lb_Header.Name = "lb_Header"
|
||||
Me.lb_Header.Size = New System.Drawing.Size(45, 13)
|
||||
Me.lb_Header.TabIndex = 16
|
||||
Me.lb_Header.Text = "Header:"
|
||||
'
|
||||
'tb_Header
|
||||
'
|
||||
Me.tb_Header.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!)
|
||||
Me.tb_Header.Location = New System.Drawing.Point(7, 68)
|
||||
Me.tb_Header.MaxLength = 12
|
||||
Me.tb_Header.Name = "tb_Header"
|
||||
Me.tb_Header.Size = New System.Drawing.Size(103, 20)
|
||||
Me.tb_Header.TabIndex = 15
|
||||
Me.tb_Header.Text = "PKMCUSTOMROM"
|
||||
'
|
||||
'lb_FileName
|
||||
'
|
||||
Me.lb_FileName.AutoSize = True
|
||||
Me.lb_FileName.Location = New System.Drawing.Point(6, 16)
|
||||
Me.lb_FileName.Name = "lb_FileName"
|
||||
Me.lb_FileName.Size = New System.Drawing.Size(57, 13)
|
||||
Me.lb_FileName.TabIndex = 13
|
||||
Me.lb_FileName.Text = "File Name:"
|
||||
'
|
||||
'tb_FileName
|
||||
'
|
||||
Me.tb_FileName.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.tb_FileName.Location = New System.Drawing.Point(7, 29)
|
||||
Me.tb_FileName.Name = "tb_FileName"
|
||||
Me.tb_FileName.Size = New System.Drawing.Size(142, 21)
|
||||
Me.tb_FileName.TabIndex = 12
|
||||
Me.tb_FileName.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
|
||||
'
|
||||
'Label7
|
||||
'
|
||||
Me.Label7.AutoSize = True
|
||||
Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label7.Location = New System.Drawing.Point(147, 32)
|
||||
Me.Label7.Name = "Label7"
|
||||
Me.Label7.Size = New System.Drawing.Size(30, 15)
|
||||
Me.Label7.TabIndex = 14
|
||||
Me.Label7.Text = ".nds"
|
||||
'
|
||||
'lklb_Author
|
||||
'
|
||||
Me.lklb_Author.AutoSize = True
|
||||
Me.lklb_Author.Location = New System.Drawing.Point(392, 436)
|
||||
Me.lklb_Author.Name = "lklb_Author"
|
||||
Me.lklb_Author.Size = New System.Drawing.Size(47, 13)
|
||||
Me.lklb_Author.TabIndex = 20
|
||||
Me.lklb_Author.TabStop = True
|
||||
Me.lklb_Author.Text = "Regnum"
|
||||
'
|
||||
'lb_By
|
||||
'
|
||||
Me.lb_By.AutoSize = True
|
||||
Me.lb_By.Location = New System.Drawing.Point(378, 436)
|
||||
Me.lb_By.Name = "lb_By"
|
||||
Me.lb_By.Size = New System.Drawing.Size(18, 13)
|
||||
Me.lb_By.TabIndex = 21
|
||||
Me.lb_By.Text = "by"
|
||||
'
|
||||
'Label13
|
||||
'
|
||||
Me.Label13.AutoSize = True
|
||||
Me.Label13.Location = New System.Drawing.Point(433, 4)
|
||||
Me.Label13.Margin = New System.Windows.Forms.Padding(0, 0, 3, 0)
|
||||
Me.Label13.Name = "Label13"
|
||||
Me.Label13.Size = New System.Drawing.Size(9, 442)
|
||||
Me.Label13.TabIndex = 22
|
||||
Me.Label13.Text = "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) &
|
||||
"|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "|"
|
||||
Me.ToolTip1.SetToolTip(Me.Label13, "Divider, so I know what Release sees")
|
||||
'
|
||||
'Button7
|
||||
'
|
||||
Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.Button7.Location = New System.Drawing.Point(412, -4)
|
||||
Me.Button7.Name = "Button7"
|
||||
Me.Button7.Size = New System.Drawing.Size(29, 24)
|
||||
Me.Button7.TabIndex = 25
|
||||
Me.Button7.Text = ">>"
|
||||
Me.Button7.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Timer1
|
||||
'
|
||||
Me.Timer1.Interval = 2000
|
||||
'
|
||||
'PictureBox1
|
||||
'
|
||||
Me.PictureBox1.BackColor = System.Drawing.SystemColors.Control
|
||||
Me.PictureBox1.BackgroundImage = CType(resources.GetObject("PictureBox1.BackgroundImage"), System.Drawing.Image)
|
||||
Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
|
||||
Me.PictureBox1.Cursor = System.Windows.Forms.Cursors.Hand
|
||||
Me.PictureBox1.Location = New System.Drawing.Point(328, 0)
|
||||
Me.PictureBox1.Name = "PictureBox1"
|
||||
Me.PictureBox1.Size = New System.Drawing.Size(80, 22)
|
||||
Me.PictureBox1.TabIndex = 26
|
||||
Me.PictureBox1.TabStop = False
|
||||
'
|
||||
'Form1
|
||||
'
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
|
||||
Me.ClientSize = New System.Drawing.Size(822, 451)
|
||||
Me.Controls.Add(Me.PictureBox1)
|
||||
Me.Controls.Add(Me.Button5)
|
||||
Me.Controls.Add(Me.lklb_Author)
|
||||
Me.Controls.Add(Me.Label13)
|
||||
Me.Controls.Add(Me.lb_By)
|
||||
Me.Controls.Add(Me.gb_ROM)
|
||||
Me.Controls.Add(Me.lklb_Update)
|
||||
Me.Controls.Add(Me.bt_Custom)
|
||||
Me.Controls.Add(Me.bt_ClearEM)
|
||||
Me.Controls.Add(Me.lb_EventMsg)
|
||||
Me.Controls.Add(Me.bt_Build)
|
||||
Me.Controls.Add(Me.gb_Region)
|
||||
Me.Controls.Add(Me.gb_DateLimit)
|
||||
Me.Controls.Add(Me.rtb_EventMsg)
|
||||
Me.Controls.Add(Me.gb_GameComp)
|
||||
Me.Controls.Add(Me.lb_PGF)
|
||||
Me.Controls.Add(Me.bt_PGF)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.rtb_Editor)
|
||||
Me.Controls.Add(Me.Button7)
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.Name = "Form1"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "PKMG5DC"
|
||||
Me.gb_GameComp.ResumeLayout(False)
|
||||
Me.gb_GameComp.PerformLayout()
|
||||
Me.gb_DateLimit.ResumeLayout(False)
|
||||
Me.gb_DateLimit.PerformLayout()
|
||||
Me.gb_Region.ResumeLayout(False)
|
||||
Me.gb_Region.PerformLayout()
|
||||
Me.gb_ROM.ResumeLayout(False)
|
||||
Me.gb_ROM.PerformLayout()
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents rtb_Editor As RichTextBox
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents bt_PGF As Button
|
||||
Friend WithEvents lb_PGF As Label
|
||||
Friend WithEvents OpenFileDialog1 As OpenFileDialog
|
||||
Friend WithEvents gb_GameComp As GroupBox
|
||||
Friend WithEvents cb_White2 As CheckBox
|
||||
Friend WithEvents cb_Black2 As CheckBox
|
||||
Friend WithEvents cb_White As CheckBox
|
||||
Friend WithEvents cb_Black As CheckBox
|
||||
Friend WithEvents rtb_EventMsg As RichTextBox
|
||||
Friend WithEvents gb_DateLimit As GroupBox
|
||||
Friend WithEvents lb_End As Label
|
||||
Friend WithEvents lb_Start As Label
|
||||
Friend WithEvents EndDatePicker As DateTimePicker
|
||||
Friend WithEvents StartDatePicker As DateTimePicker
|
||||
Friend WithEvents cb_MaxLimit As CheckBox
|
||||
Friend WithEvents gb_Region As GroupBox
|
||||
Friend WithEvents rb_Kor As RadioButton
|
||||
Friend WithEvents rb_Jap As RadioButton
|
||||
Friend WithEvents rb_Spa As RadioButton
|
||||
Friend WithEvents rb_Ger As RadioButton
|
||||
Friend WithEvents rb_Ita As RadioButton
|
||||
Friend WithEvents rb_Fr As RadioButton
|
||||
Friend WithEvents rb_Eng As RadioButton
|
||||
Friend WithEvents bt_Build As Button
|
||||
Friend WithEvents lb_EventMsg As Label
|
||||
Friend WithEvents bt_ClearEM As Button
|
||||
Friend WithEvents Button5 As Button
|
||||
Friend WithEvents bt_Custom As Button
|
||||
Friend WithEvents lklb_Update As LinkLabel
|
||||
Friend WithEvents gb_ROM As GroupBox
|
||||
Friend WithEvents lb_FileName As Label
|
||||
Friend WithEvents tb_FileName As TextBox
|
||||
Friend WithEvents Label7 As Label
|
||||
Friend WithEvents lb_Descript As Label
|
||||
Friend WithEvents rtb_ROMDes As RichTextBox
|
||||
Friend WithEvents lb_Code As Label
|
||||
Friend WithEvents tb_Code As TextBox
|
||||
Friend WithEvents lb_Header As Label
|
||||
Friend WithEvents tb_Header As TextBox
|
||||
Friend WithEvents bt_ClearDes As Button
|
||||
Friend WithEvents lklb_Author As LinkLabel
|
||||
Friend WithEvents lb_By As Label
|
||||
Friend WithEvents Label13 As Label
|
||||
Friend WithEvents Button7 As Button
|
||||
Friend WithEvents ToolTip1 As ToolTip
|
||||
Friend WithEvents Timer1 As Timer
|
||||
Friend WithEvents bt_DefaultDes As Button
|
||||
Friend WithEvents PictureBox1 As PictureBox
|
||||
End Class
|
||||
1442
PKMG5DC/Form1.resx
1442
PKMG5DC/Form1.resx
File diff suppressed because it is too large
Load Diff
1075
PKMG5DC/Form1.vb
1075
PKMG5DC/Form1.vb
File diff suppressed because it is too large
Load Diff
138
PKMG5DC/Form2.Designer.vb
generated
138
PKMG5DC/Form2.Designer.vb
generated
|
|
@ -1,138 +0,0 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Form2
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
|
||||
Me.LinkLabel2 = New System.Windows.Forms.LinkLabel()
|
||||
Me.LinkLabel3 = New System.Windows.Forms.LinkLabel()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.LinkLabel4 = New System.Windows.Forms.LinkLabel()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Timer1
|
||||
'
|
||||
Me.Timer1.Interval = 10000
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label1.Location = New System.Drawing.Point(-1, 12)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(276, 60)
|
||||
Me.Label1.TabIndex = 0
|
||||
Me.Label1.Text = "This program builds Distribution ROMs for Gen 5 " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Pokémon games. With a copy of t" &
|
||||
"he Liberty Ticket" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Distribution ROM and a .pgf event file, you can " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "make a Dist" &
|
||||
"ribution ROM."
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(13, 106)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(160, 13)
|
||||
Me.Label2.TabIndex = 1
|
||||
Me.Label2.Text = "This program contains copies of:"
|
||||
'
|
||||
'LinkLabel1
|
||||
'
|
||||
Me.LinkLabel1.AutoSize = True
|
||||
Me.LinkLabel1.Location = New System.Drawing.Point(105, 138)
|
||||
Me.LinkLabel1.Name = "LinkLabel1"
|
||||
Me.LinkLabel1.Size = New System.Drawing.Size(41, 13)
|
||||
Me.LinkLabel1.TabIndex = 2
|
||||
Me.LinkLabel1.TabStop = True
|
||||
Me.LinkLabel1.Text = "ndstool"
|
||||
'
|
||||
'LinkLabel2
|
||||
'
|
||||
Me.LinkLabel2.AutoSize = True
|
||||
Me.LinkLabel2.Location = New System.Drawing.Point(107, 166)
|
||||
Me.LinkLabel2.Name = "LinkLabel2"
|
||||
Me.LinkLabel2.Size = New System.Drawing.Size(37, 13)
|
||||
Me.LinkLabel2.TabIndex = 3
|
||||
Me.LinkLabel2.TabStop = True
|
||||
Me.LinkLabel2.Text = "armips"
|
||||
'
|
||||
'LinkLabel3
|
||||
'
|
||||
Me.LinkLabel3.AutoSize = True
|
||||
Me.LinkLabel3.Location = New System.Drawing.Point(42, 197)
|
||||
Me.LinkLabel3.Name = "LinkLabel3"
|
||||
Me.LinkLabel3.Size = New System.Drawing.Size(195, 13)
|
||||
Me.LinkLabel3.TabIndex = 4
|
||||
Me.LinkLabel3.TabStop = True
|
||||
Me.LinkLabel3.Text = "Pokémon Duodecuple Distribution hack"
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(13, 290)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(72, 13)
|
||||
Me.Label3.TabIndex = 5
|
||||
Me.Label3.Text = "Source Code:"
|
||||
'
|
||||
'LinkLabel4
|
||||
'
|
||||
Me.LinkLabel4.AutoSize = True
|
||||
Me.LinkLabel4.Location = New System.Drawing.Point(92, 289)
|
||||
Me.LinkLabel4.Name = "LinkLabel4"
|
||||
Me.LinkLabel4.Size = New System.Drawing.Size(40, 13)
|
||||
Me.LinkLabel4.TabIndex = 6
|
||||
Me.LinkLabel4.TabStop = True
|
||||
Me.LinkLabel4.Text = "GitHub"
|
||||
'
|
||||
'Form2
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(275, 365)
|
||||
Me.Controls.Add(Me.LinkLabel4)
|
||||
Me.Controls.Add(Me.Label3)
|
||||
Me.Controls.Add(Me.LinkLabel3)
|
||||
Me.Controls.Add(Me.LinkLabel2)
|
||||
Me.Controls.Add(Me.LinkLabel1)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Name = "Form2"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "About"
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents Timer1 As Timer
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents LinkLabel1 As LinkLabel
|
||||
Friend WithEvents LinkLabel2 As LinkLabel
|
||||
Friend WithEvents LinkLabel3 As LinkLabel
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents LinkLabel4 As LinkLabel
|
||||
End Class
|
||||
582
PKMG5DC/Form3.Designer.vb
generated
582
PKMG5DC/Form3.Designer.vb
generated
|
|
@ -1,582 +0,0 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Form3
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
|
||||
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.NumericUpDown2 = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
|
||||
Me.GroupBox7 = New System.Windows.Forms.GroupBox()
|
||||
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
|
||||
Me.CheckBox7 = New System.Windows.Forms.CheckBox()
|
||||
Me.GroupBox6 = New System.Windows.Forms.GroupBox()
|
||||
Me.CheckBox6 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox5 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox4 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox3 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox2 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox1 = New System.Windows.Forms.CheckBox()
|
||||
Me.GroupBox5 = New System.Windows.Forms.GroupBox()
|
||||
Me.RadioButton14 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton13 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton10 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton11 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton12 = New System.Windows.Forms.RadioButton()
|
||||
Me.GroupBox4 = New System.Windows.Forms.GroupBox()
|
||||
Me.RadioButton7 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton8 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton9 = New System.Windows.Forms.RadioButton()
|
||||
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
|
||||
Me.RadioButton6 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton5 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton4 = New System.Windows.Forms.RadioButton()
|
||||
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
|
||||
Me.RadioButton3 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton2 = New System.Windows.Forms.RadioButton()
|
||||
Me.RadioButton1 = New System.Windows.Forms.RadioButton()
|
||||
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.NumericUpDown2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.GroupBox1.SuspendLayout()
|
||||
Me.GroupBox7.SuspendLayout()
|
||||
Me.GroupBox6.SuspendLayout()
|
||||
Me.GroupBox5.SuspendLayout()
|
||||
Me.GroupBox4.SuspendLayout()
|
||||
Me.GroupBox3.SuspendLayout()
|
||||
Me.GroupBox2.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoEllipsis = True
|
||||
Me.Label2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
|
||||
Me.Label2.Location = New System.Drawing.Point(24, 27)
|
||||
Me.Label2.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(330, 17)
|
||||
Me.Label2.TabIndex = 8
|
||||
Me.Label2.Text = "Open .pk5 ------->"
|
||||
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(356, 23)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(75, 23)
|
||||
Me.Button1.TabIndex = 7
|
||||
Me.Button1.Text = "Open .pk5"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RichTextBox1
|
||||
'
|
||||
Me.RichTextBox1.Location = New System.Drawing.Point(492, 26)
|
||||
Me.RichTextBox1.Name = "RichTextBox1"
|
||||
Me.RichTextBox1.ReadOnly = True
|
||||
Me.RichTextBox1.Size = New System.Drawing.Size(357, 412)
|
||||
Me.RichTextBox1.TabIndex = 6
|
||||
Me.RichTextBox1.Text = ""
|
||||
'
|
||||
'OpenFileDialog1
|
||||
'
|
||||
Me.OpenFileDialog1.FileName = "OpenFileDialog1"
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.Location = New System.Drawing.Point(24, 65)
|
||||
Me.TextBox1.MaxLength = 36
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.Size = New System.Drawing.Size(224, 20)
|
||||
Me.TextBox1.TabIndex = 9
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(24, 52)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(55, 13)
|
||||
Me.Label1.TabIndex = 10
|
||||
Me.Label1.Text = "Card Title:"
|
||||
'
|
||||
'NumericUpDown1
|
||||
'
|
||||
Me.NumericUpDown1.Location = New System.Drawing.Point(254, 65)
|
||||
Me.NumericUpDown1.Maximum = New Decimal(New Integer() {65535, 0, 0, 0})
|
||||
Me.NumericUpDown1.Name = "NumericUpDown1"
|
||||
Me.NumericUpDown1.Size = New System.Drawing.Size(60, 20)
|
||||
Me.NumericUpDown1.TabIndex = 11
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(254, 52)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(46, 13)
|
||||
Me.Label3.TabIndex = 12
|
||||
Me.Label3.Text = "Card ID:"
|
||||
'
|
||||
'NumericUpDown2
|
||||
'
|
||||
Me.NumericUpDown2.Location = New System.Drawing.Point(10, 82)
|
||||
Me.NumericUpDown2.Name = "NumericUpDown2"
|
||||
Me.NumericUpDown2.Size = New System.Drawing.Size(39, 20)
|
||||
Me.NumericUpDown2.TabIndex = 13
|
||||
Me.ToolTip1.SetToolTip(Me.NumericUpDown2, "If set to 0, the level will be random.")
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Location = New System.Drawing.Point(9, 69)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(36, 13)
|
||||
Me.Label4.TabIndex = 14
|
||||
Me.Label4.Text = "Level:"
|
||||
Me.ToolTip1.SetToolTip(Me.Label4, "If set to 0, the level will be random.")
|
||||
'
|
||||
'GroupBox1
|
||||
'
|
||||
Me.GroupBox1.Controls.Add(Me.GroupBox7)
|
||||
Me.GroupBox1.Controls.Add(Me.GroupBox6)
|
||||
Me.GroupBox1.Controls.Add(Me.GroupBox5)
|
||||
Me.GroupBox1.Controls.Add(Me.GroupBox4)
|
||||
Me.GroupBox1.Controls.Add(Me.GroupBox3)
|
||||
Me.GroupBox1.Controls.Add(Me.GroupBox2)
|
||||
Me.GroupBox1.Controls.Add(Me.Label4)
|
||||
Me.GroupBox1.Controls.Add(Me.NumericUpDown2)
|
||||
Me.GroupBox1.Location = New System.Drawing.Point(12, 101)
|
||||
Me.GroupBox1.Name = "GroupBox1"
|
||||
Me.GroupBox1.Size = New System.Drawing.Size(448, 261)
|
||||
Me.GroupBox1.TabIndex = 15
|
||||
Me.GroupBox1.TabStop = False
|
||||
Me.GroupBox1.Text = "Pokémon Details"
|
||||
'
|
||||
'GroupBox7
|
||||
'
|
||||
Me.GroupBox7.Controls.Add(Me.ComboBox1)
|
||||
Me.GroupBox7.Controls.Add(Me.CheckBox7)
|
||||
Me.GroupBox7.Location = New System.Drawing.Point(134, 156)
|
||||
Me.GroupBox7.Name = "GroupBox7"
|
||||
Me.GroupBox7.Size = New System.Drawing.Size(118, 91)
|
||||
Me.GroupBox7.TabIndex = 17
|
||||
Me.GroupBox7.TabStop = False
|
||||
Me.GroupBox7.Text = "Nature"
|
||||
Me.ToolTip1.SetToolTip(Me.GroupBox7, "Choose which IVs will be taken from the .pk5" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Those left unchecked will be random" &
|
||||
"ly generated" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "upon gift receival.")
|
||||
'
|
||||
'ComboBox1
|
||||
'
|
||||
Me.ComboBox1.FormattingEnabled = True
|
||||
Me.ComboBox1.Items.AddRange(New Object() {"Adamant", "Bashful", "Bold", "Brave", "Calm", "Careful", "Docile", "Gentle", "Hardy", "Hasty", "Impish", "Jolly", "Lax", "Lonely", "Mild", "Modest", "Naive", "Naughty", "Quiet", "Quirky", "Rash", "Relaxed", "Sassy", "Serious", "Timid"})
|
||||
Me.ComboBox1.Location = New System.Drawing.Point(12, 51)
|
||||
Me.ComboBox1.Name = "ComboBox1"
|
||||
Me.ComboBox1.Size = New System.Drawing.Size(96, 21)
|
||||
Me.ComboBox1.TabIndex = 6
|
||||
'
|
||||
'CheckBox7
|
||||
'
|
||||
Me.CheckBox7.AutoSize = True
|
||||
Me.CheckBox7.Location = New System.Drawing.Point(24, 22)
|
||||
Me.CheckBox7.Name = "CheckBox7"
|
||||
Me.CheckBox7.Size = New System.Drawing.Size(66, 17)
|
||||
Me.CheckBox7.TabIndex = 5
|
||||
Me.CheckBox7.Text = "Random"
|
||||
Me.CheckBox7.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox6
|
||||
'
|
||||
Me.GroupBox6.Controls.Add(Me.CheckBox6)
|
||||
Me.GroupBox6.Controls.Add(Me.CheckBox5)
|
||||
Me.GroupBox6.Controls.Add(Me.CheckBox4)
|
||||
Me.GroupBox6.Controls.Add(Me.CheckBox3)
|
||||
Me.GroupBox6.Controls.Add(Me.CheckBox2)
|
||||
Me.GroupBox6.Controls.Add(Me.CheckBox1)
|
||||
Me.GroupBox6.Location = New System.Drawing.Point(10, 156)
|
||||
Me.GroupBox6.Name = "GroupBox6"
|
||||
Me.GroupBox6.Size = New System.Drawing.Size(118, 91)
|
||||
Me.GroupBox6.TabIndex = 16
|
||||
Me.GroupBox6.TabStop = False
|
||||
Me.GroupBox6.Text = "Set IVs (from .pk5)"
|
||||
Me.ToolTip1.SetToolTip(Me.GroupBox6, "Choose which IVs will be taken from the .pk5" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Those left unchecked will be random" &
|
||||
"ly generated" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "upon gift receival.")
|
||||
'
|
||||
'CheckBox6
|
||||
'
|
||||
Me.CheckBox6.AutoSize = True
|
||||
Me.CheckBox6.Location = New System.Drawing.Point(53, 65)
|
||||
Me.CheckBox6.Name = "CheckBox6"
|
||||
Me.CheckBox6.Size = New System.Drawing.Size(47, 17)
|
||||
Me.CheckBox6.TabIndex = 5
|
||||
Me.CheckBox6.Text = "SPE"
|
||||
Me.CheckBox6.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox5
|
||||
'
|
||||
Me.CheckBox5.AutoSize = True
|
||||
Me.CheckBox5.Location = New System.Drawing.Point(53, 42)
|
||||
Me.CheckBox5.Name = "CheckBox5"
|
||||
Me.CheckBox5.Size = New System.Drawing.Size(47, 17)
|
||||
Me.CheckBox5.TabIndex = 4
|
||||
Me.CheckBox5.Text = "SpD"
|
||||
Me.CheckBox5.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox4
|
||||
'
|
||||
Me.CheckBox4.AutoSize = True
|
||||
Me.CheckBox4.Location = New System.Drawing.Point(53, 19)
|
||||
Me.CheckBox4.Name = "CheckBox4"
|
||||
Me.CheckBox4.Size = New System.Drawing.Size(46, 17)
|
||||
Me.CheckBox4.TabIndex = 3
|
||||
Me.CheckBox4.Text = "SpA"
|
||||
Me.CheckBox4.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox3
|
||||
'
|
||||
Me.CheckBox3.AutoSize = True
|
||||
Me.CheckBox3.Location = New System.Drawing.Point(6, 65)
|
||||
Me.CheckBox3.Name = "CheckBox3"
|
||||
Me.CheckBox3.Size = New System.Drawing.Size(47, 17)
|
||||
Me.CheckBox3.TabIndex = 2
|
||||
Me.CheckBox3.Text = "DEF"
|
||||
Me.CheckBox3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox2
|
||||
'
|
||||
Me.CheckBox2.AutoSize = True
|
||||
Me.CheckBox2.Location = New System.Drawing.Point(6, 42)
|
||||
Me.CheckBox2.Name = "CheckBox2"
|
||||
Me.CheckBox2.Size = New System.Drawing.Size(47, 17)
|
||||
Me.CheckBox2.TabIndex = 1
|
||||
Me.CheckBox2.Text = "ATK"
|
||||
Me.CheckBox2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox1
|
||||
'
|
||||
Me.CheckBox1.AutoSize = True
|
||||
Me.CheckBox1.Location = New System.Drawing.Point(6, 19)
|
||||
Me.CheckBox1.Name = "CheckBox1"
|
||||
Me.CheckBox1.Size = New System.Drawing.Size(41, 17)
|
||||
Me.CheckBox1.TabIndex = 0
|
||||
Me.CheckBox1.Text = "HP"
|
||||
Me.CheckBox1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox5
|
||||
'
|
||||
Me.GroupBox5.Controls.Add(Me.RadioButton14)
|
||||
Me.GroupBox5.Controls.Add(Me.RadioButton13)
|
||||
Me.GroupBox5.Controls.Add(Me.RadioButton10)
|
||||
Me.GroupBox5.Controls.Add(Me.RadioButton11)
|
||||
Me.GroupBox5.Controls.Add(Me.RadioButton12)
|
||||
Me.GroupBox5.Location = New System.Drawing.Point(10, 111)
|
||||
Me.GroupBox5.Name = "GroupBox5"
|
||||
Me.GroupBox5.Size = New System.Drawing.Size(428, 39)
|
||||
Me.GroupBox5.TabIndex = 18
|
||||
Me.GroupBox5.TabStop = False
|
||||
Me.GroupBox5.Text = "Ability Slot"
|
||||
'
|
||||
'RadioButton14
|
||||
'
|
||||
Me.RadioButton14.AutoSize = True
|
||||
Me.RadioButton14.Location = New System.Drawing.Point(310, 15)
|
||||
Me.RadioButton14.Name = "RadioButton14"
|
||||
Me.RadioButton14.Size = New System.Drawing.Size(111, 17)
|
||||
Me.RadioButton14.TabIndex = 4
|
||||
Me.RadioButton14.TabStop = True
|
||||
Me.RadioButton14.Text = "Random (with HA)"
|
||||
Me.RadioButton14.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton13
|
||||
'
|
||||
Me.RadioButton13.AutoSize = True
|
||||
Me.RadioButton13.Location = New System.Drawing.Point(239, 15)
|
||||
Me.RadioButton13.Name = "RadioButton13"
|
||||
Me.RadioButton13.Size = New System.Drawing.Size(65, 17)
|
||||
Me.RadioButton13.TabIndex = 3
|
||||
Me.RadioButton13.TabStop = True
|
||||
Me.RadioButton13.Text = "Random"
|
||||
Me.RadioButton13.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton10
|
||||
'
|
||||
Me.RadioButton10.AutoSize = True
|
||||
Me.RadioButton10.Location = New System.Drawing.Point(10, 15)
|
||||
Me.RadioButton10.Name = "RadioButton10"
|
||||
Me.RadioButton10.Size = New System.Drawing.Size(61, 17)
|
||||
Me.RadioButton10.TabIndex = 2
|
||||
Me.RadioButton10.TabStop = True
|
||||
Me.RadioButton10.Text = "Ability 1"
|
||||
Me.RadioButton10.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton11
|
||||
'
|
||||
Me.RadioButton11.AutoSize = True
|
||||
Me.RadioButton11.Location = New System.Drawing.Point(77, 15)
|
||||
Me.RadioButton11.Name = "RadioButton11"
|
||||
Me.RadioButton11.Size = New System.Drawing.Size(61, 17)
|
||||
Me.RadioButton11.TabIndex = 1
|
||||
Me.RadioButton11.TabStop = True
|
||||
Me.RadioButton11.Text = "Ability 2"
|
||||
Me.RadioButton11.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton12
|
||||
'
|
||||
Me.RadioButton12.AutoSize = True
|
||||
Me.RadioButton12.Location = New System.Drawing.Point(144, 15)
|
||||
Me.RadioButton12.Name = "RadioButton12"
|
||||
Me.RadioButton12.Size = New System.Drawing.Size(89, 17)
|
||||
Me.RadioButton12.TabIndex = 0
|
||||
Me.RadioButton12.TabStop = True
|
||||
Me.RadioButton12.Text = "Hidden Ability"
|
||||
Me.RadioButton12.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox4
|
||||
'
|
||||
Me.GroupBox4.Controls.Add(Me.RadioButton7)
|
||||
Me.GroupBox4.Controls.Add(Me.RadioButton8)
|
||||
Me.GroupBox4.Controls.Add(Me.RadioButton9)
|
||||
Me.GroupBox4.Location = New System.Drawing.Point(55, 66)
|
||||
Me.GroupBox4.Name = "GroupBox4"
|
||||
Me.GroupBox4.Size = New System.Drawing.Size(302, 39)
|
||||
Me.GroupBox4.TabIndex = 17
|
||||
Me.GroupBox4.TabStop = False
|
||||
Me.GroupBox4.Text = "Shininess"
|
||||
'
|
||||
'RadioButton7
|
||||
'
|
||||
Me.RadioButton7.AutoSize = True
|
||||
Me.RadioButton7.Location = New System.Drawing.Point(20, 15)
|
||||
Me.RadioButton7.Name = "RadioButton7"
|
||||
Me.RadioButton7.Size = New System.Drawing.Size(83, 17)
|
||||
Me.RadioButton7.TabIndex = 2
|
||||
Me.RadioButton7.TabStop = True
|
||||
Me.RadioButton7.Text = "Never Shiny"
|
||||
Me.RadioButton7.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton8
|
||||
'
|
||||
Me.RadioButton8.AutoSize = True
|
||||
Me.RadioButton8.Location = New System.Drawing.Point(109, 15)
|
||||
Me.RadioButton8.Name = "RadioButton8"
|
||||
Me.RadioButton8.Size = New System.Drawing.Size(88, 17)
|
||||
Me.RadioButton8.TabIndex = 1
|
||||
Me.RadioButton8.TabStop = True
|
||||
Me.RadioButton8.Text = "Can be Shiny"
|
||||
Me.RadioButton8.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton9
|
||||
'
|
||||
Me.RadioButton9.AutoSize = True
|
||||
Me.RadioButton9.Location = New System.Drawing.Point(203, 15)
|
||||
Me.RadioButton9.Name = "RadioButton9"
|
||||
Me.RadioButton9.Size = New System.Drawing.Size(87, 17)
|
||||
Me.RadioButton9.TabIndex = 0
|
||||
Me.RadioButton9.TabStop = True
|
||||
Me.RadioButton9.Text = "Always Shiny"
|
||||
Me.RadioButton9.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox3
|
||||
'
|
||||
Me.GroupBox3.Controls.Add(Me.RadioButton6)
|
||||
Me.GroupBox3.Controls.Add(Me.RadioButton5)
|
||||
Me.GroupBox3.Controls.Add(Me.RadioButton4)
|
||||
Me.GroupBox3.Location = New System.Drawing.Point(227, 21)
|
||||
Me.GroupBox3.Name = "GroupBox3"
|
||||
Me.GroupBox3.Size = New System.Drawing.Size(211, 39)
|
||||
Me.GroupBox3.TabIndex = 16
|
||||
Me.GroupBox3.TabStop = False
|
||||
Me.GroupBox3.Text = "OT Gender"
|
||||
'
|
||||
'RadioButton6
|
||||
'
|
||||
Me.RadioButton6.AutoSize = True
|
||||
Me.RadioButton6.Location = New System.Drawing.Point(136, 15)
|
||||
Me.RadioButton6.Name = "RadioButton6"
|
||||
Me.RadioButton6.Size = New System.Drawing.Size(70, 17)
|
||||
Me.RadioButton6.TabIndex = 2
|
||||
Me.RadioButton6.TabStop = True
|
||||
Me.RadioButton6.Text = "Recipient"
|
||||
Me.RadioButton6.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton5
|
||||
'
|
||||
Me.RadioButton5.AutoSize = True
|
||||
Me.RadioButton5.Location = New System.Drawing.Point(71, 15)
|
||||
Me.RadioButton5.Name = "RadioButton5"
|
||||
Me.RadioButton5.Size = New System.Drawing.Size(59, 17)
|
||||
Me.RadioButton5.TabIndex = 1
|
||||
Me.RadioButton5.TabStop = True
|
||||
Me.RadioButton5.Text = "Female"
|
||||
Me.RadioButton5.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton4
|
||||
'
|
||||
Me.RadioButton4.AutoSize = True
|
||||
Me.RadioButton4.Location = New System.Drawing.Point(17, 15)
|
||||
Me.RadioButton4.Name = "RadioButton4"
|
||||
Me.RadioButton4.Size = New System.Drawing.Size(48, 17)
|
||||
Me.RadioButton4.TabIndex = 0
|
||||
Me.RadioButton4.TabStop = True
|
||||
Me.RadioButton4.Text = "Male"
|
||||
Me.RadioButton4.UseVisualStyleBackColor = True
|
||||
'
|
||||
'GroupBox2
|
||||
'
|
||||
Me.GroupBox2.Controls.Add(Me.RadioButton3)
|
||||
Me.GroupBox2.Controls.Add(Me.RadioButton2)
|
||||
Me.GroupBox2.Controls.Add(Me.RadioButton1)
|
||||
Me.GroupBox2.Location = New System.Drawing.Point(10, 21)
|
||||
Me.GroupBox2.Name = "GroupBox2"
|
||||
Me.GroupBox2.Size = New System.Drawing.Size(211, 39)
|
||||
Me.GroupBox2.TabIndex = 15
|
||||
Me.GroupBox2.TabStop = False
|
||||
Me.GroupBox2.Text = "Gender"
|
||||
'
|
||||
'RadioButton3
|
||||
'
|
||||
Me.RadioButton3.AutoSize = True
|
||||
Me.RadioButton3.Location = New System.Drawing.Point(136, 15)
|
||||
Me.RadioButton3.Name = "RadioButton3"
|
||||
Me.RadioButton3.Size = New System.Drawing.Size(65, 17)
|
||||
Me.RadioButton3.TabIndex = 2
|
||||
Me.RadioButton3.TabStop = True
|
||||
Me.RadioButton3.Text = "Random"
|
||||
Me.RadioButton3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton2
|
||||
'
|
||||
Me.RadioButton2.AutoSize = True
|
||||
Me.RadioButton2.Location = New System.Drawing.Point(71, 15)
|
||||
Me.RadioButton2.Name = "RadioButton2"
|
||||
Me.RadioButton2.Size = New System.Drawing.Size(59, 17)
|
||||
Me.RadioButton2.TabIndex = 1
|
||||
Me.RadioButton2.TabStop = True
|
||||
Me.RadioButton2.Text = "Female"
|
||||
Me.RadioButton2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton1
|
||||
'
|
||||
Me.RadioButton1.AutoSize = True
|
||||
Me.RadioButton1.Location = New System.Drawing.Point(17, 15)
|
||||
Me.RadioButton1.Name = "RadioButton1"
|
||||
Me.RadioButton1.Size = New System.Drawing.Size(48, 17)
|
||||
Me.RadioButton1.TabIndex = 0
|
||||
Me.RadioButton1.TabStop = True
|
||||
Me.RadioButton1.Text = "Male"
|
||||
Me.RadioButton1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Button2.Location = New System.Drawing.Point(170, 385)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(102, 36)
|
||||
Me.Button2.TabIndex = 16
|
||||
Me.Button2.Text = "Finish"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Form3
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(860, 450)
|
||||
Me.Controls.Add(Me.Button2)
|
||||
Me.Controls.Add(Me.GroupBox1)
|
||||
Me.Controls.Add(Me.Label3)
|
||||
Me.Controls.Add(Me.NumericUpDown1)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.TextBox1)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Controls.Add(Me.RichTextBox1)
|
||||
Me.Name = "Form3"
|
||||
Me.Text = "PGF Creator"
|
||||
CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.NumericUpDown2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.GroupBox1.ResumeLayout(False)
|
||||
Me.GroupBox1.PerformLayout()
|
||||
Me.GroupBox7.ResumeLayout(False)
|
||||
Me.GroupBox7.PerformLayout()
|
||||
Me.GroupBox6.ResumeLayout(False)
|
||||
Me.GroupBox6.PerformLayout()
|
||||
Me.GroupBox5.ResumeLayout(False)
|
||||
Me.GroupBox5.PerformLayout()
|
||||
Me.GroupBox4.ResumeLayout(False)
|
||||
Me.GroupBox4.PerformLayout()
|
||||
Me.GroupBox3.ResumeLayout(False)
|
||||
Me.GroupBox3.PerformLayout()
|
||||
Me.GroupBox2.ResumeLayout(False)
|
||||
Me.GroupBox2.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents RichTextBox1 As RichTextBox
|
||||
Friend WithEvents OpenFileDialog1 As OpenFileDialog
|
||||
Friend WithEvents TextBox1 As TextBox
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents NumericUpDown1 As NumericUpDown
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents NumericUpDown2 As NumericUpDown
|
||||
Friend WithEvents ToolTip1 As ToolTip
|
||||
Friend WithEvents Label4 As Label
|
||||
Friend WithEvents GroupBox1 As GroupBox
|
||||
Friend WithEvents GroupBox2 As GroupBox
|
||||
Friend WithEvents RadioButton3 As RadioButton
|
||||
Friend WithEvents RadioButton2 As RadioButton
|
||||
Friend WithEvents RadioButton1 As RadioButton
|
||||
Friend WithEvents GroupBox3 As GroupBox
|
||||
Friend WithEvents RadioButton6 As RadioButton
|
||||
Friend WithEvents RadioButton5 As RadioButton
|
||||
Friend WithEvents RadioButton4 As RadioButton
|
||||
Friend WithEvents GroupBox4 As GroupBox
|
||||
Friend WithEvents RadioButton7 As RadioButton
|
||||
Friend WithEvents RadioButton8 As RadioButton
|
||||
Friend WithEvents RadioButton9 As RadioButton
|
||||
Friend WithEvents GroupBox5 As GroupBox
|
||||
Friend WithEvents RadioButton14 As RadioButton
|
||||
Friend WithEvents RadioButton13 As RadioButton
|
||||
Friend WithEvents RadioButton10 As RadioButton
|
||||
Friend WithEvents RadioButton11 As RadioButton
|
||||
Friend WithEvents RadioButton12 As RadioButton
|
||||
Friend WithEvents GroupBox6 As GroupBox
|
||||
Friend WithEvents CheckBox6 As CheckBox
|
||||
Friend WithEvents CheckBox5 As CheckBox
|
||||
Friend WithEvents CheckBox4 As CheckBox
|
||||
Friend WithEvents CheckBox3 As CheckBox
|
||||
Friend WithEvents CheckBox2 As CheckBox
|
||||
Friend WithEvents CheckBox1 As CheckBox
|
||||
Friend WithEvents GroupBox7 As GroupBox
|
||||
Friend WithEvents CheckBox7 As CheckBox
|
||||
Friend WithEvents ComboBox1 As ComboBox
|
||||
Friend WithEvents Button2 As Button
|
||||
End Class
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>159, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>159, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
423
PKMG5DC/Form3.vb
423
PKMG5DC/Form3.vb
|
|
@ -1,423 +0,0 @@
|
|||
Public Class Form3
|
||||
#Region "Variables"
|
||||
Dim tid As String
|
||||
Dim sid As String
|
||||
Dim ori As String
|
||||
Dim rib As String
|
||||
Dim ball As String
|
||||
Dim item As String
|
||||
Dim moves As String
|
||||
Dim dex As String
|
||||
Dim lang As String
|
||||
Dim nick As String
|
||||
Dim nat As String
|
||||
Dim emet As String
|
||||
Dim met As String
|
||||
Dim bloc As String
|
||||
Dim iv(5) As Integer '{HP, ATK, DEF, SPE, SpATK, SpDEF}
|
||||
Dim hiv(5) As String '^
|
||||
Dim otn As String
|
||||
Dim otg As String
|
||||
Dim egg As String
|
||||
|
||||
Dim lvl As String = "00"
|
||||
Dim gen As String = "02"
|
||||
Dim abl As String = "04"
|
||||
Dim shy As String = "01"
|
||||
|
||||
Dim fl(1) As String
|
||||
Dim id As Integer = 0
|
||||
|
||||
Dim sender As Object
|
||||
Dim e As EventArgs
|
||||
|
||||
Dim st As Boolean = True
|
||||
#End Region
|
||||
Private Function lted(ByVal int As String, ByVal b As Integer)
|
||||
Dim s As String = Nothing
|
||||
Dim s2 As String = Nothing
|
||||
If int.Length < b Then
|
||||
s = "0" & int
|
||||
Else
|
||||
s = int
|
||||
End If
|
||||
If b = 8 Then
|
||||
s2 = s.Skip(6).ToArray() & s.Remove(6, 2).ToArray().Skip(4).ToArray() & s.Remove(4, 4).ToArray().Skip(2).ToArray() & s.Remove(2, 6).ToArray()
|
||||
ElseIf b = 4 Then
|
||||
s2 = s.Skip(2).ToArray() & s.Remove(2, 2).ToArray()
|
||||
End If
|
||||
Return s2
|
||||
End Function
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
'OpenFileDialog1.Filter = "Gen 5 PKM Files (*.pk5)|*.pk5|All files (*.*)|*.*"
|
||||
'OpenFileDialog1.ShowDialog()
|
||||
Dim b As New OpenFileDialog
|
||||
b.Filter = "Gen 5 PKM Files (*.pk5)|*.pk5|All files (*.*)|*.*"
|
||||
Dim res As DialogResult = b.ShowDialog()
|
||||
If res = Windows.Forms.DialogResult.Cancel Then
|
||||
|
||||
Else
|
||||
Dim myFile As String = b.FileName
|
||||
Dim Fn() As String = myFile.Split("\")
|
||||
Dim fn2 As String = Fn(UBound(Fn))
|
||||
Label2.Text = fn2
|
||||
Dim myBytes As Byte() = My.Computer.FileSystem.ReadAllBytes(myFile)
|
||||
Dim txtTemp As New System.Text.StringBuilder()
|
||||
For Each myByte As Byte In myBytes
|
||||
txtTemp.Append(myByte.ToString("X2"))
|
||||
Next
|
||||
RichTextBox1.Text = txtTemp.ToString()
|
||||
store()
|
||||
RichTextBox1.Text = Nothing
|
||||
construct()
|
||||
GroupBox1.Enabled = True
|
||||
TextBox1.Enabled = True
|
||||
NumericUpDown1.Enabled = True
|
||||
Label1.Enabled = True
|
||||
Label3.Enabled = True
|
||||
checks()
|
||||
End If
|
||||
End Sub
|
||||
Private Function tgh(ByVal int As Integer, ByVal suplen As Integer)
|
||||
Dim gh As String = Hex(int)
|
||||
If gh.Length < suplen Then
|
||||
For i = 0 To suplen - gh.Length - 1 Step 1
|
||||
gh = "0" & gh
|
||||
Next i
|
||||
End If
|
||||
Return gh
|
||||
End Function
|
||||
Private Sub checks()
|
||||
If otg = "00" Then
|
||||
RadioButton4.PerformClick()
|
||||
ElseIf otg = "01" Then
|
||||
RadioButton5.PerformClick()
|
||||
End If
|
||||
If fl(0) = "1" Then
|
||||
RadioButton3.PerformClick()
|
||||
RadioButton1.Enabled = False
|
||||
RadioButton2.Enabled = False
|
||||
ElseIf fl(1) = "0" And fl(0) = "0" Then
|
||||
RadioButton1.Enabled = True
|
||||
RadioButton2.Enabled = True
|
||||
RadioButton1.PerformClick()
|
||||
ElseIf fl(1) = "1" And fl(0) = "0" Then
|
||||
RadioButton1.Enabled = True
|
||||
RadioButton2.Enabled = True
|
||||
RadioButton2.PerformClick()
|
||||
End If
|
||||
Dim at As Integer = Convert.ToInt32(nat, 16)
|
||||
ComboBox1.SelectedIndex = at
|
||||
RadioButton8.PerformClick()
|
||||
RadioButton13.PerformClick()
|
||||
CheckBox1.Checked = True
|
||||
CheckBox2.Checked = True
|
||||
CheckBox3.Checked = True
|
||||
CheckBox4.Checked = True
|
||||
CheckBox5.Checked = True
|
||||
CheckBox6.Checked = True
|
||||
End Sub
|
||||
Private Sub construct()
|
||||
If CheckBox1.Checked = True Then
|
||||
hiv(0) = tgh(iv(0), 2)
|
||||
ElseIf CheckBox1.Checked = False Then
|
||||
hiv(0) = "FF"
|
||||
End If
|
||||
If CheckBox2.Checked = True Then
|
||||
hiv(1) = tgh(iv(1), 2)
|
||||
ElseIf CheckBox2.Checked = False Then
|
||||
hiv(1) = "FF"
|
||||
End If
|
||||
If CheckBox3.Checked = True Then
|
||||
hiv(2) = tgh(iv(2), 2)
|
||||
ElseIf CheckBox3.Checked = False Then
|
||||
hiv(2) = "FF"
|
||||
End If
|
||||
If CheckBox6.Checked = True Then
|
||||
hiv(3) = tgh(iv(3), 2)
|
||||
ElseIf CheckBox6.Checked = False Then
|
||||
hiv(3) = "FF"
|
||||
End If
|
||||
If CheckBox4.Checked = True Then
|
||||
hiv(4) = tgh(iv(4), 2)
|
||||
ElseIf CheckBox4.Checked = False Then
|
||||
hiv(4) = "FF"
|
||||
End If
|
||||
If CheckBox5.Checked = True Then
|
||||
hiv(5) = tgh(iv(5), 2)
|
||||
ElseIf CheckBox5.Checked = False Then
|
||||
hiv(5) = "FF"
|
||||
End If
|
||||
Dim sat As String = Nothing
|
||||
If CheckBox7.Checked = True Then
|
||||
sat = "FF"
|
||||
ComboBox1.Enabled = False
|
||||
ElseIf CheckBox7.Checked = False Then
|
||||
sat = nat
|
||||
ComboBox1.Enabled = True
|
||||
End If
|
||||
RichTextBox1.Text = tid & sid & ori & "000000" & "00000000" & rib & ball & "00" & item & moves & dex & "00" & lang &
|
||||
nick & sat & gen & abl & shy & emet & met & lvl & "000000000000" & hiv(0) & hiv(1) & hiv(2) & hiv(3) & hiv(4) &
|
||||
hiv(5) & "00" & otn & otg & lvl & egg & "000000"
|
||||
'Dim ft As String = Nothing
|
||||
Dim mx As Integer = 148
|
||||
For i = 0 To mx - 2 Step 1
|
||||
'ft = ft & "F"
|
||||
RichTextBox1.Text = RichTextBox1.Text & "F"
|
||||
Next i
|
||||
'RichTextBox1.Text = RichTextBox1.Text & ft
|
||||
Dim hid As String = Hex(id)
|
||||
If hid.Length < 4 Then
|
||||
For i = 0 To 4 - hid.Length - 1 Step 1
|
||||
hid = "0" & hid
|
||||
Next i
|
||||
End If
|
||||
RichTextBox1.Text = RichTextBox1.Text & "0000" & "00000000" & lted(hid, 4) & "44" & "01" & "01" &
|
||||
"0000000000000000000000000000000000000000000000"
|
||||
st = False
|
||||
TextBox1_TextChanged(sender, e)
|
||||
End Sub
|
||||
Private Sub store()
|
||||
tid = RichTextBox1.Text.Remove(28).ToArray().Skip(24).ToArray()
|
||||
sid = RichTextBox1.Text.Remove(32).ToArray().Skip(28).ToArray()
|
||||
ori = RichTextBox1.Text.Remove(192).ToArray().Skip(190).ToArray()
|
||||
rib = RichTextBox1.Text.Remove(80).ToArray().Skip(76).ToArray()
|
||||
ball = RichTextBox1.Text.Remove(264).ToArray().Skip(262).ToArray()
|
||||
item = RichTextBox1.Text.Remove(24).ToArray().Skip(20).ToArray()
|
||||
moves = RichTextBox1.Text.Remove(96).ToArray().Skip(80).ToArray()
|
||||
dex = RichTextBox1.Text.Remove(20).ToArray().Skip(16).ToArray()
|
||||
lang = RichTextBox1.Text.Remove(48).ToArray().Skip(46).ToArray()
|
||||
nick = RichTextBox1.Text.Remove(188).ToArray().Skip(144).ToArray()
|
||||
nat = RichTextBox1.Text.Remove(132).ToArray().Skip(130).ToArray()
|
||||
emet = RichTextBox1.Text.Remove(256).ToArray().Skip(252).ToArray()
|
||||
met = RichTextBox1.Text.Remove(260).ToArray().Skip(256).ToArray()
|
||||
bloc = RichTextBox1.Text.Remove(120).ToArray().Skip(112).ToArray()
|
||||
Dim bl As String = lted(bloc, 8)
|
||||
Dim bi As Integer = Convert.ToInt32(bl, 16)
|
||||
Dim bb As String = Convert.ToString(bi, 2)
|
||||
If bb.Length < 32 Then
|
||||
For i = 0 To 32 - bb.Length - 1 Step 1
|
||||
bb = "0" & bb
|
||||
Next i
|
||||
End If
|
||||
iv(0) = Convert.ToInt32(bb.Skip(27).ToArray(), 2)
|
||||
iv(1) = Convert.ToInt32(bb.Remove(27).ToArray().Skip(22).ToArray(), 2)
|
||||
iv(2) = Convert.ToInt32(bb.Remove(22).ToArray().Skip(17).ToArray(), 2)
|
||||
iv(3) = Convert.ToInt32(bb.Remove(17).ToArray().Skip(12).ToArray(), 2)
|
||||
iv(4) = Convert.ToInt32(bb.Remove(12).ToArray().Skip(7).ToArray(), 2)
|
||||
iv(5) = Convert.ToInt32(bb.Remove(7).ToArray().Skip(2).ToArray(), 2)
|
||||
egg = "0" & bb.Remove(3).ToArray().Skip(1).ToArray()
|
||||
otn = RichTextBox1.Text.Remove(240).ToArray().Skip(208).ToArray()
|
||||
Dim o As String = RichTextBox1.Text.Remove(266).ToArray().Skip(264).ToArray()
|
||||
Dim oi As Integer = Convert.ToInt32(o, 16)
|
||||
Dim ob As String = Convert.ToString(oi, 2)
|
||||
If ob.Length < 8 Then
|
||||
For i = 0 To 8 - ob.Length - 1 Step 1
|
||||
ob = "0" & ob
|
||||
Next i
|
||||
End If
|
||||
otg = "0" & ob.Remove(1)
|
||||
Dim wf As String = RichTextBox1.Text.Remove(130).ToArray().Skip(128).ToArray()
|
||||
Dim wi As Integer = Convert.ToInt32(wf, 16)
|
||||
Dim wb As String = Convert.ToString(wi, 2)
|
||||
If wb.Length < 8 Then
|
||||
For i = 0 To 8 - wb.Length - 1 Step 1
|
||||
wb = "0" & wb
|
||||
Next i
|
||||
End If
|
||||
fl(1) = Convert.ToInt32(wb.Remove(7).ToArray().Skip(6).ToArray(), 2)
|
||||
fl(0) = Convert.ToInt32(wb.Remove(6).ToArray().Skip(5).ToArray(), 2)
|
||||
End Sub
|
||||
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
|
||||
If st = False Then
|
||||
If TextBox1.Text <> "" Then
|
||||
Dim ch As Char() = TextBox1.Text.ToCharArray
|
||||
Dim ft As String = Nothing
|
||||
Dim n As Integer = 0
|
||||
For n = 0 To UBound(ch) Step 1
|
||||
Dim t As String = Hex(Asc(ch(n)))
|
||||
If t.Length < 2 Then
|
||||
t = "0" & t
|
||||
End If
|
||||
ft = ft & t & "00"
|
||||
Next n
|
||||
'If ft.Contains("0A00") Then
|
||||
' ft = ft.Replace("0A00", "FEFF")
|
||||
'End If
|
||||
Dim mx As Integer = 148
|
||||
Dim mn As Integer = ft.Length
|
||||
Dim req As Integer = mx - mn
|
||||
For n = 0 To req - 1 Step 1
|
||||
ft = ft & "F"
|
||||
Next n
|
||||
RichTextBox1.Text = RichTextBox1.Text.Remove(192, mx)
|
||||
RichTextBox1.Text = RichTextBox1.Text.Insert(192, ft)
|
||||
Else
|
||||
Dim ft As String = ""
|
||||
Dim mx As Integer = 148
|
||||
For i = 0 To mx - 1 Step 1
|
||||
ft = ft & "F"
|
||||
Next i
|
||||
RichTextBox1.Text = RichTextBox1.Text.Remove(192, mx)
|
||||
RichTextBox1.Text = RichTextBox1.Text.Insert(192, ft)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub NumericUpDown1_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged
|
||||
id = NumericUpDown1.Value
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub NumericUpDown2_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown2.ValueChanged
|
||||
lvl = Hex(NumericUpDown2.Value)
|
||||
If lvl.Length < 2 Then
|
||||
lvl = "0" & lvl
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
|
||||
If RadioButton1.Checked = True Then
|
||||
gen = "00"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.CheckedChanged
|
||||
If RadioButton2.Checked = True Then
|
||||
gen = "01"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton3.CheckedChanged
|
||||
If RadioButton3.Checked = True Then
|
||||
gen = "02"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton4_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton4.CheckedChanged
|
||||
If RadioButton4.Checked = True Then
|
||||
otg = "00"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton5_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton5.CheckedChanged
|
||||
If RadioButton5.Checked = True Then
|
||||
otg = "01"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton6_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton6.CheckedChanged
|
||||
If RadioButton6.Checked = True Then
|
||||
otg = "03"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton7_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton7.CheckedChanged
|
||||
If RadioButton7.Checked = True Then
|
||||
shy = "00"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton8_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton8.CheckedChanged
|
||||
If RadioButton8.Checked = True Then
|
||||
shy = "01"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton9_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton9.CheckedChanged
|
||||
If RadioButton9.Checked = True Then
|
||||
shy = "02"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton10_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton10.CheckedChanged
|
||||
If RadioButton10.Checked = True Then
|
||||
abl = "00"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton11_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton11.CheckedChanged
|
||||
If RadioButton11.Checked = True Then
|
||||
abl = "01"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton12_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton12.CheckedChanged
|
||||
If RadioButton12.Checked = True Then
|
||||
abl = "02"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton13_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton13.CheckedChanged
|
||||
If RadioButton13.Checked = True Then
|
||||
abl = "03"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub RadioButton14_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton14.CheckedChanged
|
||||
If RadioButton14.Checked = True Then
|
||||
abl = "04"
|
||||
End If
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
#If DEBUG Then
|
||||
Size = New Size(876, 489)
|
||||
#Else
|
||||
Size = New Size(488, 489)
|
||||
#End If
|
||||
GroupBox1.Enabled = False
|
||||
TextBox1.Enabled = False
|
||||
NumericUpDown1.Enabled = False
|
||||
Label1.Enabled = False
|
||||
Label3.Enabled = False
|
||||
End Sub
|
||||
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox3.CheckedChanged
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox4.CheckedChanged
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub CheckBox5_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox5.CheckedChanged
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub CheckBox6_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox6.CheckedChanged
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
|
||||
nat = tgh(ComboBox1.SelectedIndex, 2)
|
||||
construct()
|
||||
End Sub
|
||||
Private Sub CheckBox7_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox7.CheckedChanged
|
||||
construct()
|
||||
End Sub
|
||||
Public Sub New()
|
||||
InitializeComponent()
|
||||
TextBox1.Text = "Custom"
|
||||
TextBox1.ForeColor = Color.Gray
|
||||
End Sub
|
||||
Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.Leave
|
||||
If TextBox1.Text = Nothing Then
|
||||
TextBox1.Text = "Custom"
|
||||
TextBox1.ForeColor = Color.Gray
|
||||
End If
|
||||
End Sub
|
||||
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.Enter
|
||||
If TextBox1.Text = "Custom" Then
|
||||
TextBox1.Text = Nothing
|
||||
TextBox1.ForeColor = Color.Black
|
||||
End If
|
||||
End Sub
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
Form1.rtb_Editor.Text = Form1.rtb_Editor.Text.Remove(8, 408)
|
||||
Form1.rtb_Editor.Text = Form1.rtb_Editor.Text.Insert(8, RichTextBox1.Text)
|
||||
Form1.rtb_Editor.Text = Form1.rtb_Editor.Text.Remove(352, 8)
|
||||
Form1.rtb_Editor.Text = Form1.rtb_Editor.Text.Insert(352, "00000000")
|
||||
Form1.lb_PGF.Text = NumericUpDown1.Value & " - " & TextBox1.Text & " (Custom)"
|
||||
Close()
|
||||
End Sub
|
||||
End Class
|
||||
35
PKMG5DC/Main5.Designer.vb
generated
35
PKMG5DC/Main5.Designer.vb
generated
|
|
@ -1,9 +1,9 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class Main5
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
<System.Diagnostics.DebuggerNonUserCode()>
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
|
|
@ -20,13 +20,16 @@ Partial Class Main5
|
|||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
<System.Diagnostics.DebuggerStepThrough()>
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Main5))
|
||||
Me.lklb_Update = New System.Windows.Forms.LinkLabel()
|
||||
Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
|
||||
Me.tsmi_Options = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.tscb_Region = New System.Windows.Forms.ToolStripComboBox()
|
||||
Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.tsmi_About = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.HoverInfo = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.pb_Donate = New System.Windows.Forms.PictureBox()
|
||||
Me.gb_GameComp = New System.Windows.Forms.GroupBox()
|
||||
|
|
@ -76,6 +79,7 @@ Partial Class Main5
|
|||
'
|
||||
'MenuStrip1
|
||||
'
|
||||
Me.MenuStrip1.BackColor = System.Drawing.Color.Transparent
|
||||
Me.MenuStrip1.Dock = System.Windows.Forms.DockStyle.None
|
||||
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmi_Options})
|
||||
Me.MenuStrip1.Location = New System.Drawing.Point(113, 0)
|
||||
|
|
@ -87,10 +91,32 @@ Partial Class Main5
|
|||
'
|
||||
'tsmi_Options
|
||||
'
|
||||
Me.tsmi_Options.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tscb_Region, Me.ToolStripSeparator1, Me.tsmi_About})
|
||||
Me.tsmi_Options.Name = "tsmi_Options"
|
||||
Me.tsmi_Options.Size = New System.Drawing.Size(61, 20)
|
||||
Me.tsmi_Options.Text = "Options"
|
||||
'
|
||||
'tscb_Region
|
||||
'
|
||||
Me.tscb_Region.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
|
||||
Me.tscb_Region.DropDownWidth = 170
|
||||
Me.tscb_Region.FlatStyle = System.Windows.Forms.FlatStyle.Standard
|
||||
Me.tscb_Region.Items.AddRange(New Object() {"English (US/UK/AU)", "Français (France/Québec)", "Italiano (Italy)", "Deutsch (Germany)", "Español (Spain/Latin Americas)", "日本語 (Japan)", "한국어 (South Korea)"})
|
||||
Me.tscb_Region.Name = "tscb_Region"
|
||||
Me.tscb_Region.Size = New System.Drawing.Size(130, 23)
|
||||
Me.tscb_Region.ToolTipText = "Default Region"
|
||||
'
|
||||
'ToolStripSeparator1
|
||||
'
|
||||
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
|
||||
Me.ToolStripSeparator1.Size = New System.Drawing.Size(187, 6)
|
||||
'
|
||||
'tsmi_About
|
||||
'
|
||||
Me.tsmi_About.Name = "tsmi_About"
|
||||
Me.tsmi_About.Size = New System.Drawing.Size(190, 22)
|
||||
Me.tsmi_About.Text = "About"
|
||||
'
|
||||
'pb_Donate
|
||||
'
|
||||
Me.pb_Donate.BackColor = System.Drawing.SystemColors.Control
|
||||
|
|
@ -420,4 +446,7 @@ Partial Class Main5
|
|||
Friend WithEvents tp_Add As TabPage
|
||||
Friend WithEvents pnl_EditCard As Panel
|
||||
Friend WithEvents bt_Build As Button
|
||||
Friend WithEvents tsmi_About As ToolStripMenuItem
|
||||
Friend WithEvents tscb_Region As ToolStripComboBox
|
||||
Friend WithEvents ToolStripSeparator1 As ToolStripSeparator
|
||||
End Class
|
||||
|
|
|
|||
153
PKMG5DC/Main5.vb
153
PKMG5DC/Main5.vb
|
|
@ -1,6 +1,4 @@
|
|||
Imports System.IO
|
||||
Imports Newtonsoft.Json
|
||||
Imports Newtonsoft.Json.Linq
|
||||
|
||||
Public Class Main5
|
||||
#Region "Variables"
|
||||
|
|
@ -8,15 +6,15 @@ Public Class Main5
|
|||
Public Shared ReadOnly res As String = Path.GetFullPath(Application.StartupPath & "\..\..\Resources\") 'Path to Project Resources
|
||||
Public Shared ReadOnly TempPath As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Temp" 'Path to Temp
|
||||
Public Shared ReadOnly Local As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Regnum\PKMG5DC" 'Path to Local folder
|
||||
Dim OpenFile As New OpenFileDialog
|
||||
Dim OpenFile As New OpenFileDialog 'Open File Window
|
||||
Dim SaveFile As New SaveFileDialog 'Save File Window
|
||||
ReadOnly langCksm As UShort() = {&H83BC, &H9D36, &H39AA, &H4418, &HE061, &HF57A} 'List of Language Checksums
|
||||
ReadOnly langs As Byte() = {&H2, &H3, &H4, &H5, &H7} 'List of Language values
|
||||
Dim mySettings As New IniFile 'Settings.ini File
|
||||
Public mySettings As New IniFile 'Settings.ini File
|
||||
Dim pn_Settings As New Pnl_Settings 'Panel Settings
|
||||
Dim doneLoad As Boolean = False
|
||||
Dim WC As New PGF
|
||||
Public Shared Card As New Card5
|
||||
'Dim tempDate(15) As Date
|
||||
Dim doneLoad As Boolean = False 'Has Load finished?
|
||||
Dim WC As New PGF 'Wondercard
|
||||
Public Shared Card As New Card5 'Distro Card
|
||||
#End Region
|
||||
|
||||
Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
|
|
@ -34,22 +32,14 @@ Public Class Main5
|
|||
'Next
|
||||
Tp_Add_Enter(sender, e)
|
||||
doneLoad = True
|
||||
Cb_Region_SelectedIndexChanged(sender, e)
|
||||
cb_Region.SelectedIndex = My.Settings.Region
|
||||
SyncRegion()
|
||||
bt_Build.Enabled = False
|
||||
End Sub
|
||||
Private Sub Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
||||
With mySettings
|
||||
.Filename = Local & "\settings.ini"
|
||||
If .OpenIniFile() Then
|
||||
'Dim MyValue As String = .GetValue("MyKey")
|
||||
.SetValue("Ticket", My.Settings.ticket)
|
||||
If Not .SaveIni Then
|
||||
MessageBox.Show("Trouble by writing Ini-File")
|
||||
End If
|
||||
Else
|
||||
MessageBox.Show("No Ini-File found")
|
||||
End If
|
||||
End With
|
||||
WriteIni()
|
||||
End Sub
|
||||
|
||||
#Region "Esentials"
|
||||
'Checks For Update
|
||||
Private Sub UpdateChk()
|
||||
|
|
@ -92,8 +82,9 @@ Public Class Main5
|
|||
File.Delete(TempPath & "\dt.txt")
|
||||
If dat <> dtt Then
|
||||
lklb_Update.Text = "New Update Available! " & dtt
|
||||
MenuStrip1.Location = New Point(170, 0)
|
||||
lklb_Update.Show()
|
||||
MenuStrip1.Location = New Point(175, 0)
|
||||
pb_Donate.Location = New Point(119, 427)
|
||||
lklb_Update.Show()
|
||||
Else
|
||||
lklb_Update.Hide()
|
||||
MenuStrip1.Location = New Point(0, 0)
|
||||
|
|
@ -104,15 +95,37 @@ Public Class Main5
|
|||
File.Delete(TempPath & "\date.txt")
|
||||
#End If
|
||||
End Sub
|
||||
|
||||
'Link to Update version
|
||||
Private Sub Lklb_Update_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklb_Update.LinkClicked
|
||||
If My.Computer.Network.IsAvailable Then
|
||||
Process.Start("https://raw.githubusercontent.com/PlasticJustice/PKMG5DC/releases/latest")
|
||||
Process.Start("https://github.com/PlasticJustice/PKMG5DC/releases/latest")
|
||||
Else
|
||||
MsgBox("No Internet connection!
|
||||
You can not update at the moment.", vbOKOnly, "Error 404")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Link the Author's, yours truly, Github Page
|
||||
Private Sub Lklb_Author_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklb_Author.LinkClicked
|
||||
If My.Computer.Network.IsAvailable Then
|
||||
Process.Start("https://github.com/PlasticJustice")
|
||||
Else
|
||||
MsgB("No Internet connection!" & "
|
||||
" & "You can look me up later.", 1, "OK",,, "Error" & " 404")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'PayPal Donate Button
|
||||
Private Sub Pb_Donate_Click(sender As Object, e As EventArgs) Handles pb_Donate.Click
|
||||
System.Threading.Thread.Sleep(200)
|
||||
If My.Computer.Network.IsAvailable Then
|
||||
Process.Start("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UGSCC5VGSGN3E")
|
||||
Else
|
||||
MsgB("No Internet connection!" & "
|
||||
" & "I appreciate the gesture.", 1, "OK",,, "Error" & " 404")
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Startup"
|
||||
Private Sub CreateFolders(ByVal dirs As String())
|
||||
|
|
@ -156,23 +169,14 @@ Public Class Main5
|
|||
|
||||
'Checks Local Folders
|
||||
Private Sub CheckLocal()
|
||||
Dim locals As String() = {Local.Replace("\PKMG5DC", ""), Local, Local & "\tools", Local & "\cards"}
|
||||
Dim locals As String() = {Local.Replace("\PKMG5DC", ""), Local, Local & "\tools"} ', Local & "\cards"}
|
||||
CreateFolders(locals)
|
||||
If Not File.Exists(Local & "\settings.ini") Then
|
||||
File.Create(Local & "\settings.ini")
|
||||
File.WriteAllText(Local & "\settings.ini", "")
|
||||
WriteIni()
|
||||
End If
|
||||
With mySettings
|
||||
.Filename = Local & "\settings.ini"
|
||||
If .OpenIniFile() Then
|
||||
My.Settings.ticket = .GetValue("Ticket")
|
||||
'.SetValue("Ticket", My.Settings.ticket)
|
||||
If Not .SaveIni Then
|
||||
MsgB("Trouble writing Ini-File")
|
||||
End If
|
||||
Else
|
||||
MsgB("No Ini-File found")
|
||||
End If
|
||||
End With
|
||||
ReadIni()
|
||||
tscb_Region.SelectedIndex = My.Settings.Region
|
||||
End Sub
|
||||
'Checks for Ticket
|
||||
Private Sub CheckTicket()
|
||||
|
|
@ -255,7 +259,15 @@ Public Class Main5
|
|||
' End If
|
||||
'End Sub
|
||||
#End Region
|
||||
#Region "Menu"
|
||||
Private Sub Tscb_Region_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tscb_Region.SelectedIndexChanged
|
||||
My.Settings.Region = tscb_Region.SelectedIndex
|
||||
End Sub
|
||||
|
||||
Private Sub Tsmi_About_Click(sender As Object, e As EventArgs) Handles tsmi_About.Click
|
||||
About.ShowDialog()
|
||||
End Sub
|
||||
#End Region
|
||||
#Region "Tab and Panel"
|
||||
'Adds New Tab
|
||||
Private Sub Tp_Add_Enter(sender As Object, e As EventArgs) Handles tp_Add.Enter
|
||||
|
|
@ -290,6 +302,8 @@ Public Class Main5
|
|||
AddHandler NewAddTab.Enter, AddressOf Me.Tp_Add_Enter
|
||||
End If
|
||||
tc_Cards.SelectedTab = NewTab
|
||||
cb_Region.SelectedIndex = My.Settings.Region
|
||||
SyncRegion()
|
||||
End Sub
|
||||
|
||||
'Moves the panel and load the settings
|
||||
|
|
@ -297,9 +311,15 @@ Public Class Main5
|
|||
tc_Cards.SelectedTab.Controls.Add(Me.pnl_EditCard)
|
||||
With pn_Settings
|
||||
lb_PGF.Text = .pnl_Strings(tc_Cards.SelectedIndex)
|
||||
Select Case .pnl_Strings(tc_Cards.SelectedIndex)
|
||||
Case ""
|
||||
EnDisAble(False)
|
||||
Case Else
|
||||
EnDisAble(True)
|
||||
End Select
|
||||
rtb_EventMsg.Text = .pnl_Strings(tc_Cards.SelectedIndex + 8)
|
||||
'If Card.EventText(tc_Cards.SelectedIndex) <> Nothing Then rtb_EventMsg.Text = Card.EventText(tc_Cards.SelectedIndex)
|
||||
cb_Region.SelectedIndex = .region(tc_Cards.SelectedIndex)
|
||||
SyncRegion()
|
||||
If .dates(tc_Cards.SelectedIndex) <> Nothing Then StartDatePicker.Value = .dates(tc_Cards.SelectedIndex)
|
||||
If .dates(tc_Cards.SelectedIndex + 8) <> Nothing Then EndDatePicker.Value = .dates(tc_Cards.SelectedIndex + 8)
|
||||
cb_MaxLimit.Checked = .maxLimit(tc_Cards.SelectedIndex)
|
||||
|
|
@ -317,7 +337,6 @@ Public Class Main5
|
|||
With pn_Settings
|
||||
.pnl_Strings(tc_Cards.SelectedIndex) = lb_PGF.Text
|
||||
.pnl_Strings(tc_Cards.SelectedIndex + 8) = rtb_EventMsg.Text
|
||||
'Card.EventText(tc_Cards.SelectedIndex) = rtb_EventMsg.Text
|
||||
.region(tc_Cards.SelectedIndex) = cb_Region.SelectedIndex
|
||||
If doneLoad Then .dates(tc_Cards.SelectedIndex) = StartDatePicker.Value
|
||||
If doneLoad Then .dates(tc_Cards.SelectedIndex + 8) = EndDatePicker.Value
|
||||
|
|
@ -333,7 +352,7 @@ Public Class Main5
|
|||
Public dates(15) As Date
|
||||
End Class
|
||||
#End Region
|
||||
|
||||
#Region "Controls"
|
||||
Private Sub Bt_PGF_Click(sender As Object, e As EventArgs) Handles bt_PGF.Click
|
||||
OpenFile.Filter = "Gen 5 Wondercard (*.pgf)|*.pgf;*.wc5|All files (*.*)|*.*"
|
||||
Dim res As DialogResult = OpenFile.ShowDialog()
|
||||
|
|
@ -349,10 +368,26 @@ Public Class Main5
|
|||
Card.Wondercards(tc_Cards.SelectedIndex) = WC.Data
|
||||
WC = New PGF
|
||||
End If
|
||||
'Enable/Disable controls
|
||||
EnDisAble(True)
|
||||
bt_Build.Enabled = True
|
||||
End Sub
|
||||
|
||||
Private Sub Bt_Custom_Click(sender As Object, e As EventArgs) Handles bt_Custom.Click
|
||||
PGFCreator.ShowDialog()
|
||||
Select Case lb_PGF.Text
|
||||
Case "", Nothing
|
||||
Case Else
|
||||
EnDisAble(True)
|
||||
bt_Build.Enabled = True
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub EnDisAble(Enable As Boolean)
|
||||
gb_GameComp.Enabled = Enable
|
||||
gb_Region.Enabled = Enable
|
||||
gb_DateLimit.Enabled = Enable
|
||||
rtb_EventMsg.Enabled = Enable
|
||||
lb_EventMsg.Enabled = Enable
|
||||
End Sub
|
||||
|
||||
Private Sub Cb_Black_CheckedChanged(sender As Object, e As EventArgs) Handles cb_Black.CheckedChanged
|
||||
|
|
@ -390,20 +425,22 @@ Public Class Main5
|
|||
|
||||
Private Sub Cb_Region_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cb_Region.SelectedIndexChanged
|
||||
If doneLoad Then
|
||||
Select Case cb_Region.SelectedIndex
|
||||
Case < 5
|
||||
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex)
|
||||
Card.Language(tc_Cards.SelectedIndex) = langs(cb_Region.SelectedIndex)
|
||||
Case 5
|
||||
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex)
|
||||
Card.Language(tc_Cards.SelectedIndex) = langs(0)
|
||||
Case Else
|
||||
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex - 1)
|
||||
Card.Language(tc_Cards.SelectedIndex) = langs(0)
|
||||
End Select
|
||||
SyncRegion()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SyncRegion()
|
||||
Select Case cb_Region.SelectedIndex
|
||||
Case < 5
|
||||
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex)
|
||||
Card.Language(tc_Cards.SelectedIndex) = langs(cb_Region.SelectedIndex)
|
||||
Case 5
|
||||
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex)
|
||||
Card.Language(tc_Cards.SelectedIndex) = langs(0)
|
||||
Case Else
|
||||
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex - 1)
|
||||
Card.Language(tc_Cards.SelectedIndex) = langs(0)
|
||||
End Select
|
||||
End Sub
|
||||
Private Sub StartDatePicker_ValueChanged(sender As Object, e As EventArgs) Handles StartDatePicker.ValueChanged, cb_MaxLimit.CheckedChanged
|
||||
If doneLoad Then
|
||||
Card.StartDays(tc_Cards.SelectedIndex) = StartDatePicker.Value.Day
|
||||
|
|
@ -454,5 +491,13 @@ Public Class Main5
|
|||
File.Copy(Local & "\outputCard.bin", Local & "\tools\data\data.bin")
|
||||
Process.Start(Local & "\tools\compile.bat").WaitForExit()
|
||||
Process.Start(Local & "\tools\clean.bat").WaitForExit()
|
||||
|
||||
SaveFile.Filter = "NDS ROM (*.nds)|*.nds|All files (*.*)|*.*"
|
||||
Dim res As DialogResult = SaveFile.ShowDialog()
|
||||
If res <> Windows.Forms.DialogResult.Cancel Then
|
||||
If File.Exists(SaveFile.FileName) Then File.Delete(SaveFile.FileName)
|
||||
File.Move(Local & "\ticket2.nds", SaveFile.FileName)
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
|
|
@ -12,7 +12,7 @@ Imports System.Runtime.InteropServices
|
|||
<Assembly: AssemblyDescription("Creates Pokémon Distribution ROMs for Gen 5")>
|
||||
<Assembly: AssemblyCompany("Regnum")>
|
||||
<Assembly: AssemblyProduct("Gen 5 Pokémon Distribution ROM Creator")>
|
||||
<Assembly: AssemblyCopyright("Copyright © Regnum 2018")>
|
||||
<Assembly: AssemblyCopyright("Copyright © Regnum 2020")>
|
||||
<Assembly: AssemblyTrademark("Regnum")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
|
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.1.4.0")>
|
||||
<Assembly: AssemblyFileVersion("1.1.4.0")>
|
||||
<Assembly: AssemblyVersion("2.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("2.0.0.0")>
|
||||
|
|
|
|||
257
PKMG5DC/My Project/Resources.Designer.vb
generated
257
PKMG5DC/My Project/Resources.Designer.vb
generated
|
|
@ -60,111 +60,6 @@ Namespace My.Resources
|
|||
End Set
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to // Pokémon Duodecuple Distribution
|
||||
'''// by Prof. 9
|
||||
'''// Version 1.4.1 "Skinless"
|
||||
'''// With Edits by Regnum for PKMG5DC
|
||||
'''// Thanks to Yellow Wood Goblin for the slot-1 read fix.
|
||||
'''
|
||||
'''.include options.asm
|
||||
'''
|
||||
'''.nds
|
||||
'''.open arm7.bin,2380000h
|
||||
'''
|
||||
'''.org 23A6370h
|
||||
'''loadhijack:
|
||||
''' push r5,r14
|
||||
''' bl 2007F98h
|
||||
''' ldr r0,=2013900h
|
||||
''' ldr r1,=2030000h
|
||||
''' ldrb r1,[r1]
|
||||
''' mov r1,r1,lsl 3h
|
||||
''' ldr r2,[r0,r1]
|
||||
''' ldr r1,=2011628h
|
||||
''' ldr r3,=16D0h
|
||||
''' bl 2003874h
|
||||
'''
|
||||
''' mov r5,0h
|
||||
'''fixchecksum:
|
||||
''' mov r2,2D0h
|
||||
''' mul r2,r5
|
||||
''' ldr r1,=201162Ch
|
||||
''' add r1,r1, [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property _12distro() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("_12distro", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to // Pokémon Duodecuple Distribution
|
||||
'''// by Prof. 9
|
||||
'''// Version 1.4.1 "Skinless"
|
||||
'''// With Edits by Regnum for PKMG5DC
|
||||
'''// Thanks to Yellow Wood Goblin for the slot-1 read fix.
|
||||
'''
|
||||
'''.include options.asm
|
||||
'''
|
||||
'''.nds
|
||||
'''.open arm7.bin,2380000h
|
||||
'''
|
||||
'''.org 23A6370h
|
||||
'''loadhijack:
|
||||
''' push r5,r14
|
||||
''' bl 2007F98h
|
||||
''' ldr r0,=2013900h
|
||||
''' ldr r1,=2030000h
|
||||
''' ldrb r1,[r1]
|
||||
''' mov r1,r1,lsl 3h
|
||||
''' ldr r2,[r0,r1]
|
||||
''' ldr r1,=2011628h
|
||||
''' ldr r3,=16D0h
|
||||
''' bl 2003874h
|
||||
'''
|
||||
''' mov r5,0h
|
||||
'''fixchecksum:
|
||||
''' mov r2,2D0h
|
||||
''' mul r2,r5
|
||||
''' ldr r1,=201162Ch
|
||||
''' add r1,r1, [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property _12distro_() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("_12distro_", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to :menu
|
||||
'''@echo off
|
||||
'''cls
|
||||
'''echo Pokemon Duodecuple Distribution v1.4.1 "Skinless"
|
||||
'''echo -------------------------------------------------
|
||||
'''echo 1. Create a 12-distro ROM
|
||||
'''echo 2. Extract Wonder Cards from a ROM
|
||||
'''echo 3. Compile Wonder Cards into a ROM
|
||||
'''echo 4. Exit
|
||||
'''echo -------------------------------------------------
|
||||
'''set choice=
|
||||
'''set /p choice=?
|
||||
'''if "%choice%"=="1" goto patch
|
||||
'''if "%choice%"=="2" goto extract
|
||||
'''if "%choice%"=="3" goto compile
|
||||
'''if "%choice%"=="4" exit
|
||||
'''goto menu
|
||||
'''
|
||||
''':patch
|
||||
'''@echo off
|
||||
'''if not ex [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property _12distro1() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("_12distro1", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to 2018/11/25.
|
||||
'''</summary>
|
||||
|
|
@ -174,102 +69,6 @@ Namespace My.Resources
|
|||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized resource of type System.Byte[].
|
||||
'''</summary>
|
||||
Friend ReadOnly Property armips() As Byte()
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("armips", resourceCulture)
|
||||
Return CType(obj,Byte())
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to ARMIPS assembler v0.7d, released April 1 2013
|
||||
'''by Kingcom
|
||||
'''http://aerie.wingdreams.net/
|
||||
'''
|
||||
'''#################################
|
||||
'''# 0. TABLE OF CONTENTS #
|
||||
'''#################################
|
||||
'''
|
||||
''' 1. Introduction
|
||||
''' 1.1 Motivation
|
||||
''' 1.2 Usage
|
||||
''' 1.3 Change log
|
||||
''' 2. General Information
|
||||
''' 3. Features
|
||||
''' 3.1 Files
|
||||
''' 3.2 Comments
|
||||
''' 3.3 Labels
|
||||
''' 3.4 equ
|
||||
''' 3.5 Math Parser
|
||||
''' 3.6 Load delay detection
|
||||
''' 3.7 Strings
|
||||
''' 3.8 Areas
|
||||
''' 4. Assembler Directives
|
||||
''' 4.1 General Directives
|
||||
''' [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property armips_readme() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("armips_readme", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to {
|
||||
''' "New Update Available! ": "New Update Available! ",
|
||||
''' "Open .pgf": "Open .pgf",
|
||||
''' "Custom": "Custom",
|
||||
''' "Game Compatibility": "Game Compatibility",
|
||||
''' "Black": "Black",
|
||||
''' "White": "White",
|
||||
''' "Date Limit": "Date Limit",
|
||||
''' "Start": "Start",
|
||||
''' "End": "End",
|
||||
''' "Auto Max Limit": "Auto Max Limit",
|
||||
''' "Region": "Region",
|
||||
''' "ROM Details": "ROM Details",
|
||||
''' "File Name": "File Name",
|
||||
''' "Header": "Header",
|
||||
''' "Code": "Code",
|
||||
''' "Description": "Description",
|
||||
''' "Clear Text": "Clear Text",
|
||||
''' "Default Tex [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property en() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("en", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to {
|
||||
''' "New Update Available! ": "Nouvelle Mise à Jour Disponible! ",
|
||||
''' "Open .pgf": "Ouvrir .pgf",
|
||||
''' "Custom": "Personnaliser",
|
||||
''' "Game Compatibility": "Compatibilité du Jeu",
|
||||
''' "Black": "Noir",
|
||||
''' "White": "Blanc",
|
||||
''' "Date Limit": "Date Limite",
|
||||
''' "Start": "Début",
|
||||
''' "End": "Fin",
|
||||
''' "Auto Max Limit": "Auto Max Limite",
|
||||
''' "Region": "Région",
|
||||
''' "ROM Details": "Détails du ROM",
|
||||
''' "File Name": "Nom du Fichier",
|
||||
''' "Header": "En-Tête",
|
||||
''' "Code": "Code",
|
||||
''' "Description": "Description",
|
||||
''' "Clear Text [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property fr() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("fr", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized resource of type System.Byte[].
|
||||
'''</summary>
|
||||
|
|
@ -280,40 +79,6 @@ Namespace My.Resources
|
|||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to // amount of wonder cards (1-12)
|
||||
'''.definelabel amount,1
|
||||
'''
|
||||
'''// distance between names (pixels)
|
||||
'''.definelabel dist,12
|
||||
'''
|
||||
'''// status text color
|
||||
'''.definelabel test,0x7FFF
|
||||
'''
|
||||
'''// menu text color
|
||||
'''.definelabel menu,0x7FFF
|
||||
'''
|
||||
'''// selected text color
|
||||
'''.definelabel select,0x001F
|
||||
'''
|
||||
'''// text mode: 0=left, 1=center, 2=right
|
||||
'''.definelabel mode,1
|
||||
'''
|
||||
'''// menu text x-position (pixels)
|
||||
'''.definelabel mxpos,128
|
||||
'''
|
||||
'''// menu text y-position (pixels)
|
||||
'''.definelabel mypos,0
|
||||
'''
|
||||
'''// x-position for status text 1 (pixels)
|
||||
'''.definelabel d1xp [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property options() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("options", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
'''</summary>
|
||||
|
|
@ -333,27 +98,5 @@ Namespace My.Resources
|
|||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Looks up a localized string similar to Pokémon Duodecuple Distribution
|
||||
'''by Prof. 9
|
||||
'''Version v1.4.1 "Skinless"
|
||||
'''
|
||||
'''Features:
|
||||
'''- Multiple Wonder Cards in a single distro ROM
|
||||
'''- Ignores date restrictions
|
||||
'''- Automatically fixes Wonder Card checksums
|
||||
'''
|
||||
'''How to generate a 12-distro ROM:
|
||||
'''1. Put a clean Liberty Ticket distro ROM in the tools folder, name it ticket.nds
|
||||
'''2. In the tools folder, edit options.asm to fit your needs (optional)
|
||||
'''3. Fire up 12distro.bat and use option 1 to create a base 12-distro ROM
|
||||
'''4. Extract Wonder Cards from other distro R [rest of string was truncated]";.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property readme() As String
|
||||
Get
|
||||
Return ResourceManager.GetString("readme", resourceCulture)
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
|
|
|
|||
|
|
@ -118,27 +118,9 @@
|
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="_date" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\date.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="armips" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\armips.exe;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="armips_readme" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\armips readme.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="en" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Languages\en.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="fr" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Languages\fr.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="ndstool" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\ndstool.exe;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="options" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\options.asm;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="ppdb" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
|
|
@ -183,16 +165,7 @@
|
|||
P1GGzkrZAYttOaZ0HtbrAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="readme" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\readme.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="_12distro" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\12distro.asm;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="_12distro1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\12distro.bat;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="_12distro_" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\12distro\12distro_.asm;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
<data name="_date" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\date.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
</root>
|
||||
30
PKMG5DC/My Project/Settings.Designer.vb
generated
30
PKMG5DC/My Project/Settings.Designer.vb
generated
|
|
@ -68,39 +68,15 @@ Namespace My
|
|||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("E")> _
|
||||
Public Property Language() As String
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("0")> _
|
||||
Public Property Region() As Byte
|
||||
Get
|
||||
Return CType(Me("Language"),String)
|
||||
End Get
|
||||
Set
|
||||
Me("Language") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("020000BC83")> _
|
||||
Public Property Region() As String
|
||||
Get
|
||||
Return CType(Me("Region"),String)
|
||||
Return CType(Me("Region"),Byte)
|
||||
End Get
|
||||
Set
|
||||
Me("Region") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<Global.System.Configuration.UserScopedSettingAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Configuration.DefaultSettingValueAttribute("500")> _
|
||||
Public Property Delay() As Decimal
|
||||
Get
|
||||
Return CType(Me("Delay"),Decimal)
|
||||
End Get
|
||||
Set
|
||||
Me("Delay") = value
|
||||
End Set
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
|
|
|
|||
|
|
@ -5,14 +5,8 @@
|
|||
<Setting Name="ticket" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="Language" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">E</Value>
|
||||
</Setting>
|
||||
<Setting Name="Region" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">020000BC83</Value>
|
||||
</Setting>
|
||||
<Setting Name="Delay" Type="System.Decimal" Scope="User">
|
||||
<Value Profile="(Default)">500</Value>
|
||||
<Setting Name="Region" Type="System.Byte" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
|
|
@ -10,7 +10,8 @@ Public Class PGFCreator
|
|||
Me.Size = New Size(1344, 579)
|
||||
#Else
|
||||
Me.Size = New Size(452, 579)
|
||||
cb_CardType.Items.Remove("Pass Power")
|
||||
cb_CardType.Items.Remove("Pass Power")
|
||||
CenterToScreen()
|
||||
#End If
|
||||
PopulateItems(cb_Item)
|
||||
Defaults()
|
||||
|
|
@ -67,48 +68,49 @@ Public Class PGFCreator
|
|||
|
||||
'Grabs values from PK5
|
||||
Private Sub GrabValues()
|
||||
'Try
|
||||
With WC
|
||||
Try
|
||||
With WC
|
||||
Select Case WC.CardType
|
||||
Case 1
|
||||
If lbl_PK5Name.Text <> "Open .pk5 ------->" Then
|
||||
.TID = InputPK5.TID
|
||||
.SID = InputPK5.SID
|
||||
If cx_Origin.Checked = False Then .Origin = InputPK5.Origin
|
||||
If cx_PID.Checked = True Then .PID = InputPK5.PID
|
||||
.Ball = InputPK5.Ball
|
||||
.Item = InputPK5.Item
|
||||
.Move1 = InputPK5.Move1
|
||||
.Move2 = InputPK5.Move2
|
||||
.Move3 = InputPK5.Move3
|
||||
.Move4 = InputPK5.Move4
|
||||
.Dex = InputPK5.Dex
|
||||
If cx_Lang.Checked = False Then .Language = InputPK5.Language
|
||||
If InputPK5.IsNicknamed = True Then .Nickname = InputPK5.Nickname Else .Nickname = ""
|
||||
.Nature = InputPK5.Nature
|
||||
.EggMet = InputPK5.EggMet
|
||||
.Met = InputPK5.Met
|
||||
If cx_IV.Checked = True Then .IV_HP = InputPK5.IV_HP
|
||||
If cx_IV.Checked = True Then .IV_ATK = InputPK5.IV_ATK
|
||||
If cx_IV.Checked = True Then .IV_DEF = InputPK5.IV_DEF
|
||||
If cx_IV.Checked = True Then .IV_SPE = InputPK5.IV_SPE
|
||||
If cx_IV.Checked = True Then .IV_SPA = InputPK5.IV_SPA
|
||||
If cx_IV.Checked = True Then .IV_SPD = InputPK5.IV_SPD
|
||||
.Egg = InputPK5.IsEgg
|
||||
.OT_Name = InputPK5.OT_Name
|
||||
.OT_Gender = InputPK5.OT_Gender
|
||||
.Gender = InputPK5.Gender
|
||||
.Level = InputPK5.Level
|
||||
ConvertValues()
|
||||
Desc()
|
||||
End If
|
||||
Case Else
|
||||
Case 1
|
||||
If lbl_PK5Name.Text <> "Open .pk5 ------->" Then
|
||||
.TID = InputPK5.TID
|
||||
.SID = InputPK5.SID
|
||||
If cx_Origin.Checked = False Then .Origin = InputPK5.Origin
|
||||
If cx_PID.Checked = True Then .PID = InputPK5.PID
|
||||
.Ball = InputPK5.Ball
|
||||
.Item = InputPK5.Item
|
||||
.Move1 = InputPK5.Move1
|
||||
.Move2 = InputPK5.Move2
|
||||
.Move3 = InputPK5.Move3
|
||||
.Move4 = InputPK5.Move4
|
||||
.Dex = InputPK5.Dex
|
||||
If cx_Lang.Checked = False Then .Language = InputPK5.Language
|
||||
If InputPK5.IsNicknamed = True Then .Nickname = InputPK5.Nickname Else .Nickname = ""
|
||||
.Nature = InputPK5.Nature
|
||||
.EggMet = InputPK5.EggMet
|
||||
.Met = InputPK5.Met
|
||||
If cx_IV.Checked = True Then .IV_HP = InputPK5.IV_HP
|
||||
If cx_IV.Checked = True Then .IV_ATK = InputPK5.IV_ATK
|
||||
If cx_IV.Checked = True Then .IV_DEF = InputPK5.IV_DEF
|
||||
If cx_IV.Checked = True Then .IV_SPE = InputPK5.IV_SPE
|
||||
If cx_IV.Checked = True Then .IV_SPA = InputPK5.IV_SPA
|
||||
If cx_IV.Checked = True Then .IV_SPD = InputPK5.IV_SPD
|
||||
.Egg = InputPK5.IsEgg
|
||||
.OT_Name = InputPK5.OT_Name
|
||||
.OT_Gender = InputPK5.OT_Gender
|
||||
.Gender = InputPK5.Gender
|
||||
.Level = InputPK5.Level
|
||||
nud_Level.Value = InputPK5.Level
|
||||
ConvertValues()
|
||||
Desc()
|
||||
End If
|
||||
Case Else
|
||||
End Select
|
||||
WC.CardFrom = &H44
|
||||
WC.Status = 1
|
||||
End With
|
||||
'Catch ex As Exception
|
||||
'End Try
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Converts value format
|
||||
|
|
@ -391,13 +393,40 @@ Game: " & Origin(InputPK5.Origin))
|
|||
WC.TID = nud_Power.Value
|
||||
GrabValues()
|
||||
End Sub
|
||||
Private Function Checks(ctl As Control, lbl As Label)
|
||||
Dim missing As Boolean
|
||||
Select Case ctl.Text
|
||||
Case "", Nothing
|
||||
missing = True
|
||||
lbl.ForeColor = Color.Red
|
||||
Case Else
|
||||
missing = False
|
||||
lbl.ForeColor = DefaultForeColor
|
||||
End Select
|
||||
Return missing
|
||||
End Function
|
||||
|
||||
'Output Button
|
||||
Private Sub Btn_Done_Click(sender As Object, e As EventArgs) Handles btn_Done.Click
|
||||
'My.Computer.FileSystem.WriteAllBytes(Main5.Local & "\output.pgf", WC.Data, False)
|
||||
Main5.Card.Wondercards(Main5.tc_Cards.SelectedIndex) = WC.Data
|
||||
Main5.lb_PGF.Text = nud_CardID.Value & " - " & tb_CardTitle.Text & " (Custom)"
|
||||
Close()
|
||||
Dim chk As Boolean = False
|
||||
Dim ctrls As Control() = {tb_CardTitle, lbl_CardTitle}
|
||||
For i = 0 To 1 Step 2
|
||||
Select Case chk
|
||||
Case False
|
||||
chk = Checks(ctrls(0), ctrls(1))
|
||||
Case True
|
||||
Exit For
|
||||
End Select
|
||||
Next i
|
||||
Select Case chk
|
||||
Case True
|
||||
MsgB("Missing Field",,,,, "Error")
|
||||
Case Else
|
||||
Main5.Card.Wondercards(Main5.tc_Cards.SelectedIndex) = WC.Data
|
||||
Main5.lb_PGF.Text = nud_CardID.Value & " - " & tb_CardTitle.Text & " (Custom)"
|
||||
Close()
|
||||
End Select
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
|
|
@ -918,7 +918,7 @@
|
|||
Data(&H40) = CByte((Data(&H40) And Not (&H6)) Or (value << 1))
|
||||
End Set
|
||||
End Property
|
||||
Public Property Forms As Byte '{ set => Data[0x40] = (byte)((Data[0x40] & 0x07) | (value << 3)); }
|
||||
Public Property Forms As Byte
|
||||
Get
|
||||
Return (Data(&H40) >> 3)
|
||||
End Get
|
||||
|
|
|
|||
|
|
@ -72,9 +72,6 @@
|
|||
<Reference Include="MSBuild.AutoILMerge.Task, Version=1.0.0.0, Culture=en-US, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MSBuild.AutoILMerge.Task.1.1.1\lib\net40\MSBuild.AutoILMerge.Task.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
|
|
@ -109,25 +106,12 @@
|
|||
<Compile Include="CustomMessageBox.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<None Include="Form1.vb">
|
||||
<SubType>Form</SubType>
|
||||
</None>
|
||||
<Compile Include="Form1.Designer.vb">
|
||||
<DependentUpon>Form1.vb</DependentUpon>
|
||||
<Compile Include="About.Designer.vb">
|
||||
<DependentUpon>About.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="About.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form2.Designer.vb">
|
||||
<DependentUpon>Form2.vb</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Form2.vb">
|
||||
<SubType>Form</SubType>
|
||||
</None>
|
||||
<Compile Include="Form3.Designer.vb">
|
||||
<DependentUpon>Form3.vb</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Form3.vb">
|
||||
<SubType>Form</SubType>
|
||||
</None>
|
||||
<Compile Include="Main5.Designer.vb">
|
||||
<DependentUpon>Main5.vb</DependentUpon>
|
||||
</Compile>
|
||||
|
|
@ -151,12 +135,6 @@
|
|||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="options.Designer.vb">
|
||||
<DependentUpon>options.vb</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="options.vb">
|
||||
<SubType>Form</SubType>
|
||||
</None>
|
||||
<None Include="PCD.vb" />
|
||||
<Compile Include="PGF.vb" />
|
||||
<Compile Include="PGFCreator.Designer.vb">
|
||||
|
|
@ -173,14 +151,8 @@
|
|||
<EmbeddedResource Include="CustomMessageBox.resx">
|
||||
<DependentUpon>CustomMessageBox.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Form2.resx">
|
||||
<DependentUpon>Form2.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Form3.resx">
|
||||
<DependentUpon>Form3.vb</DependentUpon>
|
||||
<EmbeddedResource Include="About.resx">
|
||||
<DependentUpon>About.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Main5.resx">
|
||||
<DependentUpon>Main5.vb</DependentUpon>
|
||||
|
|
@ -191,9 +163,6 @@
|
|||
<SubType>Designer</SubType>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="options.resx">
|
||||
<DependentUpon>options.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PGFCreator.resx">
|
||||
<DependentUpon>PGFCreator.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
@ -213,22 +182,13 @@
|
|||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Regnum.pfx" />
|
||||
<None Include="Resources\Languages\en.json" />
|
||||
<None Include="Resources\Languages\fr.json" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="content\ILMergeOrder.txt" />
|
||||
<Content Include="favicon1.ico" />
|
||||
<Content Include="ILMergeInternalizeExcludeList.txt" />
|
||||
<Content Include="ILMergeOrder.txt" />
|
||||
<None Include="Resources\12distro\readme.txt" />
|
||||
<None Include="Resources\12distro\options.asm" />
|
||||
<None Include="Resources\12distro\ndstool.exe" />
|
||||
<None Include="Resources\12distro\armips.exe" />
|
||||
<None Include="Resources\12distro\armips readme.txt" />
|
||||
<None Include="Resources\12distro\12distro_.asm" />
|
||||
<None Include="Resources\12distro\12distro.asm" />
|
||||
<None Include="Resources\12distro\12distro.bat" />
|
||||
<None Include="Resources\DonateButton\ppdbs.png" />
|
||||
<None Include="Resources\DonateButton\ppdb.png" />
|
||||
<None Include="Resources\date.txt" />
|
||||
|
|
|
|||
|
|
@ -1,369 +0,0 @@
|
|||
// Pokémon Duodecuple Distribution
|
||||
// by Prof. 9
|
||||
// Version 1.4.1 "Skinless"
|
||||
// With Edits by Regnum for PKMG5DC
|
||||
// Thanks to Yellow Wood Goblin for the slot-1 read fix.
|
||||
|
||||
.include options.asm
|
||||
|
||||
.nds
|
||||
.open arm7.bin,2380000h
|
||||
|
||||
.org 23A6370h
|
||||
loadhijack:
|
||||
push r5,r14
|
||||
bl 2007F98h
|
||||
ldr r0,=2013900h
|
||||
ldr r1,=2030000h
|
||||
ldrb r1,[r1]
|
||||
mov r1,r1,lsl 3h
|
||||
ldr r2,[r0,r1]
|
||||
ldr r1,=2011628h
|
||||
ldr r3,=16D0h
|
||||
bl 2003874h
|
||||
|
||||
mov r5,0h
|
||||
fixchecksum:
|
||||
mov r2,2D0h
|
||||
mul r2,r5
|
||||
ldr r1,=201162Ch
|
||||
add r1,r1,r2
|
||||
ldr r2,=2CEh
|
||||
ldr r0,=27E3558h
|
||||
bl 2007318h
|
||||
ldr r1,=20118FAh
|
||||
mov r2,2D0h
|
||||
mul r2,r5
|
||||
strh r0,[r1,r2]
|
||||
add r5,r5,1h
|
||||
cmp r5,7h
|
||||
blt fixchecksum
|
||||
|
||||
loadhijackexit:
|
||||
mov r0,r4
|
||||
pop r5,r15
|
||||
|
||||
buttonhijack:
|
||||
push r14
|
||||
ldr r1,=2030000h
|
||||
ldrb r2,[r1]
|
||||
ldrh r0,[r0]
|
||||
tst r0,40h
|
||||
beq downtest
|
||||
cmp r2,0h
|
||||
.ifdef amount
|
||||
moveq r2,amount-1h
|
||||
.else
|
||||
moveq r2,0Bh
|
||||
.endif
|
||||
subne r2,1h
|
||||
b bhdo
|
||||
|
||||
downtest:
|
||||
tst r0,80h
|
||||
beq bhexit
|
||||
.ifdef amount
|
||||
cmp r2,amount-1h
|
||||
.else
|
||||
cmp r2,0Bh
|
||||
.endif
|
||||
moveq r2,0h
|
||||
addne r2,1h
|
||||
|
||||
bhdo:
|
||||
strh r2,[r1]
|
||||
bl displayroutine
|
||||
bic r0,r0,1h
|
||||
|
||||
bhexit:
|
||||
pop r15
|
||||
|
||||
displayhijack:
|
||||
push r14
|
||||
bl displayroutine
|
||||
bl 2000C94h
|
||||
pop r15
|
||||
|
||||
displayroutine:
|
||||
push r0-r7,r14
|
||||
bl 2007F98h
|
||||
ldr r1,=2030000h
|
||||
ldr r0,[r1,4h]
|
||||
cmp r0,0h
|
||||
bne skiploading
|
||||
str r0,[r1]
|
||||
add r1,4h
|
||||
|
||||
loadlanguage:
|
||||
ldr r0,=languagepool
|
||||
ldr r5,=27FFCE4h
|
||||
ldrb r5,[r5]
|
||||
cmp r5,6h
|
||||
bge setenglish
|
||||
ldrb r5,[r0,r5]
|
||||
b loadnext
|
||||
|
||||
setenglish:
|
||||
mov r5,0h
|
||||
|
||||
loadnext:
|
||||
mov r0,2D0h
|
||||
mul r5,r5,r0
|
||||
mov r4,0h
|
||||
ldr r6,=2013900h
|
||||
mov r3,4Ah
|
||||
|
||||
loadloop:
|
||||
ldr r2,[r6,r4]
|
||||
add r2,r2,r5
|
||||
add r2,r2,64h
|
||||
push r0,r1,r2
|
||||
bl 2003874h
|
||||
pop r0,r1,r2
|
||||
add r1,4Ah
|
||||
|
||||
add r4,8h
|
||||
.ifdef amount
|
||||
cmp r4,amount*8h
|
||||
.else
|
||||
cmp r4,60h
|
||||
.endif
|
||||
blt loadloop
|
||||
|
||||
clean:
|
||||
ldr r0,=2030004h
|
||||
ldr r1,=0FFFFh
|
||||
mov r2,0h
|
||||
|
||||
cleanloop:
|
||||
ldrh r3,[r0,r2]
|
||||
cmp r3,r1
|
||||
bne cleannext
|
||||
mov r3,0h
|
||||
strh r3,[r0,r2]
|
||||
|
||||
cleannext:
|
||||
add r2,2h
|
||||
ldr r3,=428h
|
||||
cmp r2,r3
|
||||
blt cleanloop
|
||||
|
||||
skiploading:
|
||||
ldr r5,=2030004h
|
||||
.ifdef mypos
|
||||
mov r6,mypos
|
||||
.else
|
||||
mov r6,0h
|
||||
.endif
|
||||
mov r7,0h
|
||||
|
||||
displayloop:
|
||||
bl 2006E04h // r0-r3
|
||||
str r5,[r13]
|
||||
ldr r3,=2030000h
|
||||
ldrb r3,[r3]
|
||||
cmp r3,r7
|
||||
.ifdef select
|
||||
ldreq r3,=select|8000h
|
||||
.else
|
||||
ldreq r3,=801Fh
|
||||
.endif
|
||||
.ifdef menu
|
||||
ldrne r3,=menu|8000h
|
||||
.else
|
||||
ldrne r3,=0FFFFh
|
||||
.endif
|
||||
.ifdef mxpos
|
||||
mov r1,mxpos
|
||||
.else
|
||||
mov r1,80h
|
||||
.endif
|
||||
mov r2,r6
|
||||
mov r4,0h
|
||||
str r4,[r13,4h]
|
||||
bl 2002D70h // r0-r2
|
||||
|
||||
add r5,4Ah
|
||||
.ifdef dist
|
||||
add r6,dist
|
||||
.else
|
||||
add r6,0Ch
|
||||
.endif
|
||||
add r7,1h
|
||||
.ifdef amount
|
||||
cmp r7,amount
|
||||
.else
|
||||
cmp r7,0Ch
|
||||
.endif
|
||||
blt displayloop
|
||||
|
||||
exit:
|
||||
pop r0-r7,r15
|
||||
.pool
|
||||
languagepool:
|
||||
dcb 0x05,0x00,0x01,0x03,0x02,0x04
|
||||
.close
|
||||
|
||||
.open arm9.bin,2000000h
|
||||
|
||||
.org 2000DECh
|
||||
mov r0,1h
|
||||
add r13,r13,10h
|
||||
pop r4,r15
|
||||
|
||||
.org 20011F0h
|
||||
bl displayhijack
|
||||
|
||||
.org 2001200h
|
||||
.ifdef d1xpos
|
||||
mov r5,d1xpos
|
||||
.else
|
||||
mov r5,80h
|
||||
.endif
|
||||
|
||||
.org 200121Ch
|
||||
.ifdef d1ypos
|
||||
mov r4,d1ypos
|
||||
.else
|
||||
mov r4,9Ch
|
||||
.endif
|
||||
|
||||
.org 2001244h
|
||||
.ifdef d1ypos
|
||||
mov r4,d1ypos
|
||||
.else
|
||||
mov r4,9Ch
|
||||
.endif
|
||||
|
||||
.org 2001260h
|
||||
.ifdef d1xpos
|
||||
mov r6,d1xpos
|
||||
.else
|
||||
mov r6,80h
|
||||
.endif
|
||||
|
||||
.org 200127Ch
|
||||
.ifdef d1ypos
|
||||
mov r2,d1ypos
|
||||
.else
|
||||
mov r2,9Ch
|
||||
.endif
|
||||
|
||||
.org 2001294h
|
||||
.ifdef d2xpos
|
||||
mov r1,d2xpos
|
||||
.else
|
||||
mov r1,80h
|
||||
.endif
|
||||
|
||||
.org 200129Ch
|
||||
.ifdef d2ypos
|
||||
mov r2,d2ypos
|
||||
.else
|
||||
mov r2,0B4h
|
||||
.endif
|
||||
|
||||
.org 20012C4h
|
||||
.ifdef d1ypos
|
||||
mov r2,d1ypos
|
||||
.else
|
||||
mov r2,9Ch
|
||||
.endif
|
||||
|
||||
.org 20012D8h
|
||||
.ifdef d2xpos
|
||||
mov r1,d2xpos
|
||||
.else
|
||||
mov r1,80h
|
||||
.endif
|
||||
|
||||
.org 20012E4h
|
||||
.ifdef d2ypos
|
||||
mov r2,d2ypos
|
||||
.else
|
||||
mov r2,0B4h
|
||||
.endif
|
||||
|
||||
.org 20012FCh
|
||||
.ifdef text
|
||||
dcd text|8000h
|
||||
.else
|
||||
dcd 0FFFFh
|
||||
.endif
|
||||
|
||||
.org 2001500h
|
||||
bl buttonhijack
|
||||
|
||||
.org 200150Ch
|
||||
bl loadhijack
|
||||
|
||||
.org 2002E5Ch
|
||||
.ifdef mode
|
||||
.if mode==0
|
||||
mov r7,r7
|
||||
.elseif mode==2
|
||||
sub r7,r7,r0
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.org 200E9BCh
|
||||
dcb 0x30,0x31,0x2E,0x62,0x69,0x6E,0x00,0x00,0x00 // 01.bin
|
||||
|
||||
.close
|
||||
.open banner.bin,0h
|
||||
|
||||
.org 2h
|
||||
dcw 8B9Fh
|
||||
|
||||
.org 240h
|
||||
dcw 0E3h,83h,9Dh,0E3h,82h,0B1h,0E3h,83h,83h,0E3h,83h,88h
|
||||
dcw 0E3h,83h,0A2h,0E3h,83h,0B3h,0E3h,82h,0B9h,0E3h,82h,0BFh
|
||||
dcw 0E3h,83h,0BCh,0Ah,0E7h,0ACh,0ACh,35h,0E4h,0B8h,96h,0E4h
|
||||
dcw 0BBh,0A3h,0Ah,0E3h,82h,0ABh,0E3h,82h,0B9h,0E3h,82h,0BFh
|
||||
dcw 0E3h,83h,0A0h,0E3h,83h,0A1h,0E3h,82h,0A4h,0E3h,83h,89h
|
||||
dcw 0E6h,0B5h,81h,0E9h,80h,9Ah,0Ah,50h,4Bh,4Dh,47h,35h
|
||||
dcw 44h,43h,0h
|
||||
|
||||
.org 340h
|
||||
dcw 50h,6Fh,6Bh,0E9h,6Dh,6Fh,6Eh,0Ah,47h,65h,6Eh,65h
|
||||
dcw 72h,61h,74h,69h,6Fh,6Eh,20h,35h,0Ah,43h,75h,73h
|
||||
dcw 74h,6Fh,6Dh,20h,4Dh,61h,64h,65h,20h,44h,69h,73h
|
||||
dcw 74h,72h,69h,62h,75h,74h,69h,6Fh,6Eh,0Ah,50h,4Bh
|
||||
dcw 4Dh,47h,35h,44h,43h,0h
|
||||
|
||||
.org 440h
|
||||
dcw 50h,6fh,6bh,0e9h,6dh,6fh,6eh,0ah,47h,0e9h,6eh,0e9h
|
||||
dcw 72h,61h,74h,69h,6fh,6eh,20h,35h,0ah,44h,69h,73h
|
||||
dcw 74h,72h,69h,62h,75h,74h,69h,6fh,6eh,20h,50h,65h
|
||||
dcw 72h,73h,6fh,6eh,6eh,61h,6ch,69h,73h,0e9h,65h,0ah
|
||||
dcw 50h,4bh,4dh,47h,35h,44h,43h,0h
|
||||
|
||||
.org 540h
|
||||
dcw 50h,6fh,6bh,0e9h,6dh,6fh,6eh,0ah,47h,65h,6eh,65h
|
||||
dcw 72h,61h,74h,69h,6fh,6eh,20h,35h,0ah,42h,65h,6eh
|
||||
dcw 75h,74h,7ah,65h,72h,64h,65h,66h,69h,6eh,69h,65h
|
||||
dcw 72h,74h,65h,20h,56h,65h,72h,74h,65h,69h,6ch,75h
|
||||
dcw 6eh,67h,0ah,50h,4bh,4dh,47h,35h,44h,43h,0h
|
||||
|
||||
.org 640h
|
||||
dcw 50h,6fh,6bh,0e9h,6dh,6fh,6eh,0ah,47h,65h,6eh,65h
|
||||
dcw 72h,61h,7ah,69h,6fh,6eh,65h,20h,35h,0ah,44h,69h
|
||||
dcw 73h,74h,72h,69h,62h,75h,7ah,69h,6fh,6eh,65h,20h
|
||||
dcw 50h,65h,72h,73h,6fh,6eh,61h,6ch,69h,7ah,7ah,61h
|
||||
dcw 74h,61h,0ah,50h,4bh,4dh,47h,35h,44h,43h,0h
|
||||
|
||||
.org 740h
|
||||
dcw 50h,6fh,6bh,0e9h,6dh,6fh,6eh,0ah,47h,65h,6eh,65h
|
||||
dcw 72h,61h,63h,69h,0f3h,6eh,20h,35h,0ah,44h,69h,73h
|
||||
dcw 74h,72h,69h,62h,75h,63h,69h,0f3h,6eh,20h,50h,65h
|
||||
dcw 72h,73h,6fh,6eh,61h,6ch,69h,7ah,61h,64h,61h,0ah
|
||||
dcw 50h,4bh,4dh,47h,35h,44h,43h,0h
|
||||
|
||||
.close
|
||||
.open header.bin,0h
|
||||
|
||||
.org 0h
|
||||
dcb 50h,4Bh,4Dh,43h,55h,53h,54h,4Fh,4Dh,52h,4Fh,4Dh
|
||||
dcb 47h,35h,44h,43h
|
||||
|
||||
.close
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
:menu
|
||||
@echo off
|
||||
cls
|
||||
echo Pokemon Duodecuple Distribution v1.4.1 "Skinless"
|
||||
echo -------------------------------------------------
|
||||
echo 1. Create a 12-distro ROM
|
||||
echo 2. Extract Wonder Cards from a ROM
|
||||
echo 3. Compile Wonder Cards into a ROM
|
||||
echo 4. Exit
|
||||
echo -------------------------------------------------
|
||||
set choice=
|
||||
set /p choice=?
|
||||
if "%choice%"=="1" goto patch
|
||||
if "%choice%"=="2" goto extract
|
||||
if "%choice%"=="3" goto compile
|
||||
if "%choice%"=="4" exit
|
||||
goto menu
|
||||
|
||||
:patch
|
||||
@echo off
|
||||
if not exist tools\ndstool.exe goto ndstoolmissing
|
||||
if not exist tools\armips.exe goto armipsmissing
|
||||
if not exist tools\ticket.nds goto ticketmissing
|
||||
cls
|
||||
cd tools
|
||||
@echo on
|
||||
ndstool.exe -x ticket.nds -9 arm9.bin -7 arm7.bin -d data -t banner.bin -h header.bin
|
||||
@echo off
|
||||
copy data\data.bin data\01.bin
|
||||
copy data\data.bin data\02.bin
|
||||
copy data\data.bin data\03.bin
|
||||
copy data\data.bin data\04.bin
|
||||
copy data\data.bin data\05.bin
|
||||
copy data\data.bin data\06.bin
|
||||
copy data\data.bin data\07.bin
|
||||
copy data\data.bin data\08.bin
|
||||
copy data\data.bin data\09.bin
|
||||
copy data\data.bin data\10.bin
|
||||
copy data\data.bin data\11.bin
|
||||
copy data\data.bin data\12.bin
|
||||
if not exist ..\cards\01.bin copy data\data.bin ..\cards\01.bin
|
||||
if not exist ..\cards\02.bin copy data\data.bin ..\cards\02.bin
|
||||
if not exist ..\cards\03.bin copy data\data.bin ..\cards\03.bin
|
||||
if not exist ..\cards\04.bin copy data\data.bin ..\cards\04.bin
|
||||
if not exist ..\cards\05.bin copy data\data.bin ..\cards\05.bin
|
||||
if not exist ..\cards\06.bin copy data\data.bin ..\cards\06.bin
|
||||
if not exist ..\cards\07.bin copy data\data.bin ..\cards\07.bin
|
||||
if not exist ..\cards\08.bin copy data\data.bin ..\cards\08.bin
|
||||
if not exist ..\cards\09.bin copy data\data.bin ..\cards\09.bin
|
||||
if not exist ..\cards\10.bin copy data\data.bin ..\cards\10.bin
|
||||
if not exist ..\cards\11.bin copy data\data.bin ..\cards\11.bin
|
||||
if not exist ..\cards\12.bin copy data\data.bin ..\cards\12.bin
|
||||
del data\data.bin
|
||||
@echo on
|
||||
armips.exe 12distro.asm -erroronwarning
|
||||
if errorlevel 1 goto armipserror
|
||||
ndstool.exe -c 12distro.nds -9 arm9.bin -7 arm7.bin -d data -t banner.bin -h header.bin
|
||||
@echo off
|
||||
copy 12distro.nds ..\12distro.nds
|
||||
rd /S/Q data
|
||||
del arm9.bin arm7.bin banner.bin header.bin
|
||||
cd ..
|
||||
goto menu
|
||||
|
||||
:extract
|
||||
@echo off
|
||||
if not exist tools\ndstool.exe goto ndstoolmissing
|
||||
if not exist extract.nds goto extractmissing
|
||||
cls
|
||||
cd tools
|
||||
@echo on
|
||||
ndstool.exe -x ..\extract.nds -d data
|
||||
@echo off
|
||||
copy data\??.bin ..\??.bin
|
||||
copy data\data.bin ..\data.bin
|
||||
rd /S/Q data
|
||||
cd ..
|
||||
goto menu
|
||||
|
||||
:compile
|
||||
@echo off
|
||||
if not exist tools\ndstool.exe goto ndstoolmissing
|
||||
if not exist tools\12distro.nds goto 12distromissing
|
||||
cls
|
||||
cd tools
|
||||
@echo on
|
||||
ndstool.exe -x 12distro.nds -9 arm9.bin -7 arm7.bin -d data -t banner.bin -h header.bin
|
||||
@echo off
|
||||
copy ..\cards\??.bin data\??.bin
|
||||
@echo on
|
||||
ndstool.exe -c ..\compiled.nds -9 arm9.bin -7 arm7.bin -d data -t banner.bin -h header.bin
|
||||
@echo off
|
||||
rd /S/Q data
|
||||
del arm9.bin arm7.bin banner.bin header.bin
|
||||
cd ..
|
||||
goto menu
|
||||
|
||||
:ndstoolmissing
|
||||
@echo off
|
||||
cls
|
||||
echo Error:
|
||||
echo Could not find tools\ndstool.exe.
|
||||
echo.
|
||||
echo Press key to continue...
|
||||
pause >nul
|
||||
goto menu
|
||||
|
||||
:armipsmissing
|
||||
@echo off
|
||||
cls
|
||||
echo Error:
|
||||
echo Could not find tools\armips.exe.
|
||||
echo.
|
||||
echo Press key to continue...
|
||||
pause >nul
|
||||
goto menu
|
||||
|
||||
:ticketmissing
|
||||
@echo off
|
||||
cls
|
||||
echo Error:
|
||||
echo Could not find tools\ticket.nds.
|
||||
echo Put a clean Liberty Ticket distro ROM in the tools folder.
|
||||
echo.
|
||||
echo Press key to continue...
|
||||
pause >nul
|
||||
goto menu
|
||||
|
||||
:extractmissing
|
||||
@echo off
|
||||
cls
|
||||
echo Error:
|
||||
echo Could not find extract.nds.
|
||||
echo Name the ROM you want to extract from extract.nds.
|
||||
echo.
|
||||
echo Press key to continue...
|
||||
pause >nul
|
||||
goto menu
|
||||
|
||||
:12distromissing
|
||||
@echo off
|
||||
cls
|
||||
echo Error:
|
||||
echo Could not find tools\12distro.nds.
|
||||
echo Use option 1 to create a 12-distro ROM.
|
||||
echo.
|
||||
echo Press key to continue...
|
||||
pause >nul
|
||||
goto menu
|
||||
|
||||
:armipserror
|
||||
@echo off
|
||||
echo Error:
|
||||
echo Could not patch the ROM.
|
||||
echo This could be caused by erroneous settings in options.asm.
|
||||
echo.
|
||||
echo Press key to continue...
|
||||
pause >nul
|
||||
goto menu
|
||||
|
|
@ -1,312 +0,0 @@
|
|||
// Pokémon Duodecuple Distribution
|
||||
// by Prof. 9
|
||||
// Version 1.4.1 "Skinless"
|
||||
// With Edits by Regnum for PKMG5DC
|
||||
// Thanks to Yellow Wood Goblin for the slot-1 read fix.
|
||||
|
||||
.include options.asm
|
||||
|
||||
.nds
|
||||
.open arm7.bin,2380000h
|
||||
|
||||
.org 23A6370h
|
||||
loadhijack:
|
||||
push r5,r14
|
||||
bl 2007F98h
|
||||
ldr r0,=2013900h
|
||||
ldr r1,=2030000h
|
||||
ldrb r1,[r1]
|
||||
mov r1,r1,lsl 3h
|
||||
ldr r2,[r0,r1]
|
||||
ldr r1,=2011628h
|
||||
ldr r3,=16D0h
|
||||
bl 2003874h
|
||||
|
||||
mov r5,0h
|
||||
fixchecksum:
|
||||
mov r2,2D0h
|
||||
mul r2,r5
|
||||
ldr r1,=201162Ch
|
||||
add r1,r1,r2
|
||||
ldr r2,=2CEh
|
||||
ldr r0,=27E3558h
|
||||
bl 2007318h
|
||||
ldr r1,=20118FAh
|
||||
mov r2,2D0h
|
||||
mul r2,r5
|
||||
strh r0,[r1,r2]
|
||||
add r5,r5,1h
|
||||
cmp r5,7h
|
||||
blt fixchecksum
|
||||
|
||||
loadhijackexit:
|
||||
mov r0,r4
|
||||
pop r5,r15
|
||||
|
||||
buttonhijack:
|
||||
push r14
|
||||
ldr r1,=2030000h
|
||||
ldrb r2,[r1]
|
||||
ldrh r0,[r0]
|
||||
tst r0,40h
|
||||
beq downtest
|
||||
cmp r2,0h
|
||||
.ifdef amount
|
||||
moveq r2,amount-1h
|
||||
.else
|
||||
moveq r2,0Bh
|
||||
.endif
|
||||
subne r2,1h
|
||||
b bhdo
|
||||
|
||||
downtest:
|
||||
tst r0,80h
|
||||
beq bhexit
|
||||
.ifdef amount
|
||||
cmp r2,amount-1h
|
||||
.else
|
||||
cmp r2,0Bh
|
||||
.endif
|
||||
moveq r2,0h
|
||||
addne r2,1h
|
||||
|
||||
bhdo:
|
||||
strh r2,[r1]
|
||||
bl displayroutine
|
||||
bic r0,r0,1h
|
||||
|
||||
bhexit:
|
||||
pop r15
|
||||
|
||||
displayhijack:
|
||||
push r14
|
||||
bl displayroutine
|
||||
bl 2000C94h
|
||||
pop r15
|
||||
|
||||
displayroutine:
|
||||
push r0-r7,r14
|
||||
bl 2007F98h
|
||||
ldr r1,=2030000h
|
||||
ldr r0,[r1,4h]
|
||||
cmp r0,0h
|
||||
bne skiploading
|
||||
str r0,[r1]
|
||||
add r1,4h
|
||||
|
||||
loadlanguage:
|
||||
ldr r0,=languagepool
|
||||
ldr r5,=27FFCE4h
|
||||
ldrb r5,[r5]
|
||||
cmp r5,6h
|
||||
bge setenglish
|
||||
ldrb r5,[r0,r5]
|
||||
b loadnext
|
||||
|
||||
setenglish:
|
||||
mov r5,0h
|
||||
|
||||
loadnext:
|
||||
mov r0,2D0h
|
||||
mul r5,r5,r0
|
||||
mov r4,0h
|
||||
ldr r6,=2013900h
|
||||
mov r3,4Ah
|
||||
|
||||
loadloop:
|
||||
ldr r2,[r6,r4]
|
||||
add r2,r2,r5
|
||||
add r2,r2,64h
|
||||
push r0,r1,r2
|
||||
bl 2003874h
|
||||
pop r0,r1,r2
|
||||
add r1,4Ah
|
||||
|
||||
add r4,8h
|
||||
.ifdef amount
|
||||
cmp r4,amount*8h
|
||||
.else
|
||||
cmp r4,60h
|
||||
.endif
|
||||
blt loadloop
|
||||
|
||||
clean:
|
||||
ldr r0,=2030004h
|
||||
ldr r1,=0FFFFh
|
||||
mov r2,0h
|
||||
|
||||
cleanloop:
|
||||
ldrh r3,[r0,r2]
|
||||
cmp r3,r1
|
||||
bne cleannext
|
||||
mov r3,0h
|
||||
strh r3,[r0,r2]
|
||||
|
||||
cleannext:
|
||||
add r2,2h
|
||||
ldr r3,=428h
|
||||
cmp r2,r3
|
||||
blt cleanloop
|
||||
|
||||
skiploading:
|
||||
ldr r5,=2030004h
|
||||
.ifdef mypos
|
||||
mov r6,mypos
|
||||
.else
|
||||
mov r6,0h
|
||||
.endif
|
||||
mov r7,0h
|
||||
|
||||
displayloop:
|
||||
bl 2006E04h // r0-r3
|
||||
str r5,[r13]
|
||||
ldr r3,=2030000h
|
||||
ldrb r3,[r3]
|
||||
cmp r3,r7
|
||||
.ifdef select
|
||||
ldreq r3,=select|8000h
|
||||
.else
|
||||
ldreq r3,=801Fh
|
||||
.endif
|
||||
.ifdef menu
|
||||
ldrne r3,=menu|8000h
|
||||
.else
|
||||
ldrne r3,=0FFFFh
|
||||
.endif
|
||||
.ifdef mxpos
|
||||
mov r1,mxpos
|
||||
.else
|
||||
mov r1,80h
|
||||
.endif
|
||||
mov r2,r6
|
||||
mov r4,0h
|
||||
str r4,[r13,4h]
|
||||
bl 2002D70h // r0-r2
|
||||
|
||||
add r5,4Ah
|
||||
.ifdef dist
|
||||
add r6,dist
|
||||
.else
|
||||
add r6,0Ch
|
||||
.endif
|
||||
add r7,1h
|
||||
.ifdef amount
|
||||
cmp r7,amount
|
||||
.else
|
||||
cmp r7,0Ch
|
||||
.endif
|
||||
blt displayloop
|
||||
|
||||
exit:
|
||||
pop r0-r7,r15
|
||||
.pool
|
||||
languagepool:
|
||||
dcb 0x05,0x00,0x01,0x03,0x02,0x04
|
||||
.close
|
||||
|
||||
.open arm9.bin,2000000h
|
||||
|
||||
.org 2000DECh
|
||||
mov r0,1h
|
||||
add r13,r13,10h
|
||||
pop r4,r15
|
||||
|
||||
.org 20011F0h
|
||||
bl displayhijack
|
||||
|
||||
.org 2001200h
|
||||
.ifdef d1xpos
|
||||
mov r5,d1xpos
|
||||
.else
|
||||
mov r5,80h
|
||||
.endif
|
||||
|
||||
.org 200121Ch
|
||||
.ifdef d1ypos
|
||||
mov r4,d1ypos
|
||||
.else
|
||||
mov r4,9Ch
|
||||
.endif
|
||||
|
||||
.org 2001244h
|
||||
.ifdef d1ypos
|
||||
mov r4,d1ypos
|
||||
.else
|
||||
mov r4,9Ch
|
||||
.endif
|
||||
|
||||
.org 2001260h
|
||||
.ifdef d1xpos
|
||||
mov r6,d1xpos
|
||||
.else
|
||||
mov r6,80h
|
||||
.endif
|
||||
|
||||
.org 200127Ch
|
||||
.ifdef d1ypos
|
||||
mov r2,d1ypos
|
||||
.else
|
||||
mov r2,9Ch
|
||||
.endif
|
||||
|
||||
.org 2001294h
|
||||
.ifdef d2xpos
|
||||
mov r1,d2xpos
|
||||
.else
|
||||
mov r1,80h
|
||||
.endif
|
||||
|
||||
.org 200129Ch
|
||||
.ifdef d2ypos
|
||||
mov r2,d2ypos
|
||||
.else
|
||||
mov r2,0B4h
|
||||
.endif
|
||||
|
||||
.org 20012C4h
|
||||
.ifdef d1ypos
|
||||
mov r2,d1ypos
|
||||
.else
|
||||
mov r2,9Ch
|
||||
.endif
|
||||
|
||||
.org 20012D8h
|
||||
.ifdef d2xpos
|
||||
mov r1,d2xpos
|
||||
.else
|
||||
mov r1,80h
|
||||
.endif
|
||||
|
||||
.org 20012E4h
|
||||
.ifdef d2ypos
|
||||
mov r2,d2ypos
|
||||
.else
|
||||
mov r2,0B4h
|
||||
.endif
|
||||
|
||||
.org 20012FCh
|
||||
.ifdef text
|
||||
dcd text|8000h
|
||||
.else
|
||||
dcd 0FFFFh
|
||||
.endif
|
||||
|
||||
.org 2001500h
|
||||
bl buttonhijack
|
||||
|
||||
.org 200150Ch
|
||||
bl loadhijack
|
||||
|
||||
.org 2002E5Ch
|
||||
.ifdef mode
|
||||
.if mode==0
|
||||
mov r7,r7
|
||||
.elseif mode==2
|
||||
sub r7,r7,r0
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.org 200E9BCh
|
||||
dcb 0x30,0x31,0x2E,0x62,0x69,0x6E,0x00,0x00,0x00 // 01.bin
|
||||
|
||||
.close
|
||||
|
|
@ -1,882 +0,0 @@
|
|||
ARMIPS assembler v0.7d, released April 1 2013
|
||||
by Kingcom
|
||||
http://aerie.wingdreams.net/
|
||||
|
||||
#################################
|
||||
# 0. TABLE OF CONTENTS #
|
||||
#################################
|
||||
|
||||
1. Introduction
|
||||
1.1 Motivation
|
||||
1.2 Usage
|
||||
1.3 Change log
|
||||
2. General Information
|
||||
3. Features
|
||||
3.1 Files
|
||||
3.2 Comments
|
||||
3.3 Labels
|
||||
3.4 equ
|
||||
3.5 Math Parser
|
||||
3.6 Load delay detection
|
||||
3.7 Strings
|
||||
3.8 Areas
|
||||
4. Assembler Directives
|
||||
4.1 General Directives
|
||||
4.2 MIPS Directives
|
||||
4.3 ARM Directives
|
||||
5. Macros
|
||||
5.1 Assembler-defined MIPS macros
|
||||
5.2 Assembler-defined ARM macros
|
||||
5.3 User defined macros
|
||||
6. Known issues
|
||||
|
||||
|
||||
#################################
|
||||
# 1. INTRODUCTION #
|
||||
#################################
|
||||
|
||||
1.1 Motivation
|
||||
|
||||
I started writing this assembler when I got into PSX hacking,
|
||||
as the only available assemblers were less than user friendly.
|
||||
This assembler is an attempt to fix of all of the problems
|
||||
with currently available assemblers and to allow working with
|
||||
several different code binaries in the same game. It won't
|
||||
erase any code, it will just overwrite what the user wants
|
||||
to overwrite.
|
||||
The second version added ARM/THUMB support. It can be used for
|
||||
both GBA and NDS and includes both instruction sets. ARM has
|
||||
been implemented according to GBATEK by Martin Korth, and most
|
||||
pseudo opcodes and aliases are included (for example, mov for
|
||||
mcr/mrc and mrs/msr).
|
||||
This is likely the final release, except for potential bug
|
||||
fixes of critical problems.
|
||||
|
||||
|
||||
1.2 Usage
|
||||
|
||||
The assembler is called from the command line, and the
|
||||
arguments are as follows:
|
||||
|
||||
armips.exe code.asm [-temp tempfile.txt] [-sym symfile.sym]
|
||||
[-erroronwarning]
|
||||
|
||||
Code.asm is the main file of your assembly code. It can
|
||||
open and include other files, and basically do everything
|
||||
you want. The optional -temp parameter specifies a
|
||||
text file where all the temporary assembly data will be
|
||||
written to for debugging purposes. It will look like this:
|
||||
|
||||
; 1 file included
|
||||
; test.asm
|
||||
|
||||
00000000 .open "SLPM_870.50",0x8000F800 ; test.asm line 1
|
||||
8000F800 .org 0x800362DC ; test.asm line 5
|
||||
800362DC jal 0x801EBA3C ; test.asm line 7
|
||||
800362E0 .Close ; test.asm line 9
|
||||
|
||||
The second optional parameter, -sym, allows you to specify
|
||||
a file to output all the labels to. This can be used with
|
||||
no$gba for easier debugging.
|
||||
|
||||
The last optional parameter, -erroronwarning, has the same
|
||||
effect as the .erroronwarning directive. See 4.1 for more
|
||||
details.
|
||||
|
||||
|
||||
1.3 Change log
|
||||
|
||||
0.7d -added automatic optimizations for several ARM opcodes
|
||||
-many bugfixes and internal changes
|
||||
-added static labels
|
||||
-new directives: .warning, .error, .notice,
|
||||
.relativeinclude, .erroronwarning, .ifarm, .ifthumb
|
||||
-quotation marks can now be escaped in strings using \".
|
||||
0.7c -Macros can now contain unique local labels
|
||||
-area directive added
|
||||
-countless bugfixes
|
||||
-no$gba debug message support
|
||||
-full no$gba sym support
|
||||
0.7b -ARM/THUMB support
|
||||
-fixed break/syscall MIPS opcodes
|
||||
-added check if a MIPS instruction is valid inside
|
||||
a delay slot
|
||||
-fixed and extended base detection
|
||||
-added "." dummy label to the math parser to get the
|
||||
current memory address
|
||||
-added dcb/dcw/dcd directives
|
||||
|
||||
0.5b -Initial release
|
||||
|
||||
|
||||
#################################
|
||||
# 2. GENERAL INFORMATION #
|
||||
#################################
|
||||
|
||||
The assembler includes the whole MIPS R3000 instruction
|
||||
set, as well as the complete ARM7/ARM9 instruction set
|
||||
used by GBA and NDS, both THUMB and ARM mode. There are
|
||||
also several other features. Among these features are:
|
||||
|
||||
-a full fledged C-like math parser. It should behave
|
||||
exactly like in any C/C++ code, including all the
|
||||
weirdness. All immediate values can be specified by
|
||||
an expression, though some directives can't use
|
||||
variable addresses including labels
|
||||
-you can open several files in a row, but only one
|
||||
output file can be open at any time. You can specify
|
||||
its address in memory to allow overlay support. Any
|
||||
file can cross-reference any other included file
|
||||
-local, static, and global labels (see 3.3)
|
||||
-table support for user defined text encodings (see 3.7)
|
||||
-several MIPS macros to make writing code easier and
|
||||
faster (see 4.1)
|
||||
-user defined macros (see 5.3)
|
||||
-built-in checks for possible load delay problems (see 3.6)
|
||||
-optional automatic fix for said problems by inserting
|
||||
a nop between the instructions
|
||||
-output of the assembled code to a textfile, with RAM
|
||||
addresses and origin (see 1.2)
|
||||
-a directive to ensure that data is not bigger than a
|
||||
user defined size (see 3.8)
|
||||
|
||||
|
||||
#################################
|
||||
# 3. FEATURES #
|
||||
#################################
|
||||
|
||||
3.1 Files
|
||||
|
||||
Unlike other assemblers, you don't specify the input/output
|
||||
file as a command line argument. You have to open the file
|
||||
in the source code, and also close it yourself. This was
|
||||
done in order to support overlays, which are very common
|
||||
in PSX and NDS games. Instead of only having one output file,
|
||||
you can have as many as you need - each with its own address
|
||||
in memory. The files can cross-reference each other without
|
||||
any problems, so you can call code from other, currently
|
||||
not opened files as well.
|
||||
|
||||
.Open "SLPS_035.71", 0x8000F800
|
||||
; ...
|
||||
.Close
|
||||
.Open "System\0007.dat", 0x800CC000
|
||||
; ...
|
||||
.Close
|
||||
|
||||
|
||||
3.2 Comments
|
||||
|
||||
Both ; and // are supported for comments.
|
||||
|
||||
|
||||
3.3 Labels
|
||||
|
||||
There is support for both local, global and static labels.
|
||||
Local labels are only valid in the area between the previous
|
||||
and the next global label. Specific directives, like .org,
|
||||
will also terminate the area. A label is defined by writing
|
||||
a colon after its name. All labels can be used before they
|
||||
are defined.
|
||||
|
||||
GlobalLabel: ; This is a global label
|
||||
@@LocalLabel: ; This is a local label, it is only
|
||||
; valid until the next global one
|
||||
OtherGlobalLabel: ; this will terminate the area where
|
||||
; @@LocalLabel can be used
|
||||
b @@LocalLabel ; as a result, this will cause an error
|
||||
|
||||
Static labels behave like global labels, but are only valid
|
||||
in the very file they were defined. Any included files or
|
||||
files that include it cannot reference it. They can, however,
|
||||
contain another static label with the same name.
|
||||
|
||||
@staticlabel:
|
||||
|
||||
A label name can contain all characters from A-Z, numbers,
|
||||
and underscores. However, it cannot start with a digit. All
|
||||
label names are case insensitive.
|
||||
|
||||
Additionally, "." can be used to reference the current memory
|
||||
address.
|
||||
|
||||
|
||||
3.4 equ
|
||||
|
||||
This works as a text replacement and is defined as follows:
|
||||
|
||||
@@StringPointer equ 0x20(r29)
|
||||
|
||||
|
||||
There has to be a space before and after equ. The assembler
|
||||
will replace any occurance of @@StringPointer with "0x20(r29)".
|
||||
As it is a local equ, it will only do so in the current
|
||||
section, which is terminated by any global label or specific
|
||||
directives. This code:
|
||||
|
||||
@@StringPointer equ 0x20(r29)
|
||||
|
||||
lw a0,@@StringPointer
|
||||
nop
|
||||
sw a1,@@StringPointer
|
||||
|
||||
will assemble to this:
|
||||
|
||||
lw a0,0x20(r29)
|
||||
nop
|
||||
sw a1,0x20(r29)
|
||||
|
||||
There can be both global and local equs, but unlike normal
|
||||
labels, they have to be defined before they are used.
|
||||
|
||||
|
||||
3.5 Math Parser
|
||||
|
||||
A standard math parser with operator precedence and bracket
|
||||
support has been implemented. It is intended to behave exactly
|
||||
like any C/C++ parser and supports all unary, binary and
|
||||
tertiary operators of the C language. Every numeral argument
|
||||
can be given as an expression, including label names.
|
||||
However, some directives do not support variable addresses,
|
||||
so labels can not be used in expressions for them.
|
||||
The following bases are supported:
|
||||
|
||||
$A, 0xA and 0Ah for hexadecimal numbers
|
||||
0o12 and 12o for octal numbers
|
||||
1010b for binary numbers
|
||||
|
||||
Everything else is interpreted as a decimal numbers, so a
|
||||
leading zero does not indicate an octal number. Be aware that
|
||||
every number has to actually start with a digit, unless you
|
||||
use $ for hexadecimal numbers. For example, as FFh is a
|
||||
perfectly valid label name, you have to write 0FFh in this case.
|
||||
Labels, on the other hand, cannot start with a digit.
|
||||
|
||||
A few examples:
|
||||
|
||||
mov r0,10+0xA+$A+0Ah+0o12+12o+1010b
|
||||
ldr r1,=ThumbFunction+1
|
||||
li v0,Structure+(3*StructureSize)
|
||||
|
||||
|
||||
3.6 Load delay detection
|
||||
|
||||
This feature is still unfinished and experimental. It works
|
||||
in most cases, though. On MIPS platforms, any load is
|
||||
asynchronously delayed by one cycle. This means that the CPU
|
||||
won't stall if you attempt to use it before - and instead
|
||||
returns the old value on real hardware (emulators do not emulate
|
||||
this, which makes spotting these mistakes even more difficult).
|
||||
Therefore, the assembler will attempt to detect when such a
|
||||
case happens. The following code would result in a warning:
|
||||
|
||||
lw a0,0x10(r29)
|
||||
lbu a1,(a0)
|
||||
|
||||
This code doesn't take the load delay into account and will
|
||||
therefore only work on emulators. The assembler detects it
|
||||
and warns the user. In order to work correctly, the code should
|
||||
look like this:
|
||||
|
||||
lw a0,0x10(r29)
|
||||
nop
|
||||
lbu a1,(a0)
|
||||
|
||||
Here, one cycle is wasted with the nop and there will be no
|
||||
problems.
|
||||
However, the detection doesn't work in all cases. It can't
|
||||
check if the instruction at a branch destination uses a
|
||||
register that was loaded in the branch's delay slot, and it
|
||||
will give it a false alarm in the following example:
|
||||
|
||||
bnez a0,@@branch1
|
||||
nop
|
||||
j @@branch2
|
||||
lw a0,(a1)
|
||||
@@branch1:
|
||||
lbu a2,(a0)
|
||||
|
||||
You can fix the false warning by using the .resetdelay
|
||||
directive before the last instruction.
|
||||
|
||||
bnez a0,@@branch1
|
||||
nop
|
||||
j @@branch2
|
||||
lw a0,(a1)
|
||||
.resetdelay
|
||||
@@branch1:
|
||||
lbu a2,(a0)
|
||||
|
||||
This behavior may be fixed in a future revision.
|
||||
|
||||
|
||||
3.7 Strings
|
||||
|
||||
You can write ASCII text by simple using the .db/.ascii
|
||||
directive. However, you can also write text with custom
|
||||
encodings. In order to do that, you first have to load a table,
|
||||
and then use the .string directive to write the text.
|
||||
It behaves exactly like the .db instruction (so you can also
|
||||
specify immediate values as arguments), with the exception
|
||||
that it uses the table to encode the text, and appends a
|
||||
termination sequence after the last argument. This has to
|
||||
be specified inside the table, otherwise 0 is used.
|
||||
|
||||
.loadtable "custom.tbl"
|
||||
.string "Custom text",0xA,"and more."
|
||||
|
||||
The first and third argument are encoded according to the
|
||||
table, while the second one is written as-is.
|
||||
|
||||
Quotation marks can be escaped by prefixing them with a
|
||||
backslash. Any backlash not followed by a quotation mark is
|
||||
kept as-is. If you want to use a backslash at the end of a
|
||||
string, prefix it by another backlash.
|
||||
For example, to write a quotation mark followed by a backlash:
|
||||
|
||||
.ascii "\"\\"
|
||||
|
||||
|
||||
3.8 Areas
|
||||
|
||||
If you overwrite existing data, it is critical that you
|
||||
don't overwrite too much. The area directive will take care
|
||||
of checking if all the data is within a given space. In order
|
||||
to do that, you just have to give it the maximum size allowed.
|
||||
|
||||
.area 10h
|
||||
.word 1,2,3,4,5
|
||||
.endarea
|
||||
|
||||
This would cause an error on assembling, because the word
|
||||
directive takes up 20 bytes instead of the 16 that the
|
||||
area is allowed to have. This, on the other hand, would
|
||||
assemble without problems:
|
||||
|
||||
.org 8000000h
|
||||
.area 8000020h-.
|
||||
.word 1,2,3,4,5
|
||||
.endarea
|
||||
|
||||
Here, the area is 32 bytes, which is sufficient for the 20
|
||||
bytes used by .word.
|
||||
|
||||
|
||||
#################################
|
||||
# 4. ASSEMBLER DIRECTIVES #
|
||||
#################################
|
||||
|
||||
These commands tell the assembler to do various things
|
||||
like opening the output file or opening another source
|
||||
file.
|
||||
|
||||
|
||||
4.1 General Directives
|
||||
|
||||
.psx
|
||||
|
||||
Sets the architecture to PSX.
|
||||
|
||||
|
||||
.gba
|
||||
|
||||
Sets the architecture to GBA. It will default to THUMB
|
||||
mode, but it can switch to ARM at any time. ARM9 specific
|
||||
opcodes are disabled, so it is also usable for NDS ARM7
|
||||
code.
|
||||
|
||||
|
||||
.nds
|
||||
|
||||
Sets the architecture to NDS. It will default to ARM mode,
|
||||
but it can switch to THUMB at any time.
|
||||
|
||||
|
||||
.open FileName,RamAddress
|
||||
.open OldFileName,NewFileName,RamAddress
|
||||
|
||||
Opens the specified file for output. If two file names
|
||||
are specified, then the assembler will copy the first
|
||||
file to the second path. All paths are relative to the
|
||||
current working directory, so from where the assembler
|
||||
was called. RamAddress specifies the difference between
|
||||
the first byte of the file and its position in RAM.
|
||||
So if file position 0x800 is at position 0x80010000 in
|
||||
RAM, the header size is 0x80010000-0x800=0x8000F800.
|
||||
Only the changes specified by the assembly code will
|
||||
be inserted, the rest of the file remains untouched.
|
||||
|
||||
|
||||
.create FileName,RamAddress
|
||||
.createfile FileName,RamAddress
|
||||
|
||||
Creates the specified file for output. If the file already
|
||||
exists, it will be erased. All paths are relative to the
|
||||
current working directory, so from where the assembler was
|
||||
called. RamAddress specifies the difference between the
|
||||
first byte of the file and its position in RAM. So if file
|
||||
position 0x800 is at position 0x80010000 in RAM, the header
|
||||
size is 0x80010000-0x800=0x8000F800.
|
||||
|
||||
|
||||
.close
|
||||
.closefile
|
||||
|
||||
Closes the currently opened output file.
|
||||
|
||||
|
||||
.headersize RamAddress
|
||||
|
||||
Sets the header size to the given size. It will be
|
||||
used to calculate all addresses from that point on,
|
||||
until the next .headersize or .open/.create directive.
|
||||
The current address will also be set to RamAddress.
|
||||
|
||||
|
||||
.org RamAddress
|
||||
|
||||
Sets the output pointer to the specified address. The file
|
||||
address is computed by subtracting the header size from
|
||||
the given address.
|
||||
|
||||
|
||||
.orga FileAddress
|
||||
|
||||
Sets the output pointer to the specified address. The
|
||||
absolute file address is given.
|
||||
|
||||
|
||||
.include FileName
|
||||
|
||||
Opens the file called FileName to assemble it. All paths
|
||||
are relative to the current working directory, so from
|
||||
where the assembler was called. You can include other
|
||||
files up to a depth level of 64. This limit was added
|
||||
to prevent the assembler from crashing due to two files
|
||||
including each other over and over again.
|
||||
|
||||
|
||||
.incbin FileName
|
||||
.import FileName
|
||||
|
||||
Inserts the file specified by FileName into the currently
|
||||
opened output file. All paths are relative to the current
|
||||
working directory, so from where the assembler was called.
|
||||
|
||||
|
||||
.align [num]
|
||||
|
||||
Writes zeroes into the output file until the output
|
||||
position is divisible by num. If num is not given,
|
||||
4 will be used by default. num has to be a power of two.
|
||||
|
||||
|
||||
.fill length[,value]
|
||||
defs length[,value]
|
||||
|
||||
Inserts length amount of bytes of value. If value isn't
|
||||
specified, inserts zeros. Only the lowest 8 bits of
|
||||
value are inserted.
|
||||
|
||||
|
||||
.byte value[,...]
|
||||
.db value[,...]
|
||||
.ascii value[,...]
|
||||
dcb value[,...]
|
||||
|
||||
Inserts up to 128 bytes specified by the arguments. Value
|
||||
can be any equation, but only the lowest 8 bits are inserted.
|
||||
Value can also be a string in quotation marks.
|
||||
|
||||
|
||||
.halfword value[,...]
|
||||
.dh value[,...]
|
||||
dcw value[,...]
|
||||
|
||||
Inserts up to 128 halfwords specified by the arguments. Value
|
||||
can be any equation, but only the lowest 16 bits are inserted.
|
||||
Value can also be a string in quotation marks, in that case,
|
||||
every letter is inserted as a halfword.
|
||||
|
||||
|
||||
.word value[,...]
|
||||
.dw value[,...]
|
||||
dcd value[,...]
|
||||
|
||||
Inserts up to 128 words specified by the arguments. Value can
|
||||
be any equation. Value can also be a string in quotation marks,
|
||||
in that case, every letter is inserted as a word.
|
||||
|
||||
|
||||
.if equation
|
||||
|
||||
Assembles the next block only if equation is nonzero. Can be
|
||||
inverted by .else or .elseif and has to be terminated by
|
||||
.endif. The code is still verified even if the condition is
|
||||
not met.
|
||||
|
||||
|
||||
.else
|
||||
|
||||
Inverts previous .if or .elseif statement.
|
||||
|
||||
|
||||
.elseif equation
|
||||
|
||||
Equation will only be checked if previous .if or .elseif
|
||||
statement was not met. Assembles the next block only if
|
||||
equation is nonzero. Can be inverted by .else or .elseif
|
||||
and has to be terminated by .endif. The code is still
|
||||
verified even if the condition is not met.
|
||||
|
||||
|
||||
.ifdef label
|
||||
|
||||
Assembles the next block only if label is defined. Can be
|
||||
inverted by .else or .elseif and has to be terminated by
|
||||
.endif. The code is still verified even if the condition is
|
||||
not met.
|
||||
|
||||
|
||||
.ifndef label
|
||||
|
||||
Assembles the next block only if label is not defined. Can
|
||||
be inverted by .else or .elseif and has to be terminated by
|
||||
.endif. The code is still verified even if the condition
|
||||
is not met.
|
||||
|
||||
|
||||
.ifarm
|
||||
|
||||
Assembles the next block only if the active architecture is
|
||||
set to ARM at the time this directive is evaluated. Can
|
||||
be inverted by .else or .elseif and has to be terminated by
|
||||
.endif. The code is still verified even if the condition
|
||||
is not met.
|
||||
|
||||
|
||||
.ifthumb
|
||||
|
||||
Assembles the next block only if the active architecture is
|
||||
set to THUMB at the time this directive is evaluated. Can
|
||||
be inverted by .else or .elseif and has to be terminated by
|
||||
.endif. The code is still verified even if the condition
|
||||
is not met.
|
||||
|
||||
|
||||
.loadtable TableName
|
||||
.table TableName
|
||||
|
||||
Loads TableName for using it with the .string directive.
|
||||
The encoding has to be same as the assembly file's,
|
||||
as a simple binary comparison is used. All paths are relative
|
||||
to the current working directory, so from where the assembler
|
||||
was called. You can specify one or several termination bytes
|
||||
like this:
|
||||
02=a
|
||||
/FF
|
||||
FF will be inserted at the end of the string. If it is not
|
||||
given, zero is used instead.
|
||||
|
||||
|
||||
.string "String"
|
||||
.str "String"
|
||||
|
||||
Inserts the given string using the previously opened table.
|
||||
|
||||
|
||||
.definelabel Label,value
|
||||
|
||||
Defines Label with the given value. This may seem similar to equ,
|
||||
but you don't have to use this before using the label. It will also
|
||||
be added to the sym output.
|
||||
|
||||
|
||||
.area SizeEquation
|
||||
|
||||
Opens a new area with the maximum size of SizeEquation. If the
|
||||
data inside the area is bigger than the maximum, the assembler
|
||||
will output an error and refuse to assemble the code. It has to
|
||||
be closed by a .endarea directive.
|
||||
|
||||
|
||||
.endarea
|
||||
|
||||
Closes a previously opened area. If the difference between the
|
||||
current ram address and that of the previous .area directive is
|
||||
bigger than the given size, an error will prevent successful
|
||||
assembling.
|
||||
|
||||
|
||||
.warning "Message"
|
||||
|
||||
Prints the given message as a warning and sets the appropiate
|
||||
flags. Mostly only useful if used with conditionals.
|
||||
|
||||
|
||||
.error "Message"
|
||||
|
||||
Prints the given message as an error and sets the appropiate
|
||||
flags. Mostly only useful if used with conditionals.
|
||||
|
||||
|
||||
.notice "Message"
|
||||
|
||||
Prints the given message. Mostly only useful if used with
|
||||
conditionals
|
||||
|
||||
|
||||
.relativeinclude on/off
|
||||
|
||||
If set to on, all file paths are relative to the file that uses
|
||||
them. It defaults to off.
|
||||
|
||||
|
||||
.erroronwarning on/off
|
||||
|
||||
If set to on, a warning will be treated as an error and prevent
|
||||
successful assembling. It defaults to off.
|
||||
|
||||
|
||||
4.2 MIPS Directives
|
||||
|
||||
.resetdelay
|
||||
|
||||
Resets the current load delay status. This can be useful if
|
||||
the instruction after a delay slot access the delayed register,
|
||||
as the assembler can't detect that yet.
|
||||
|
||||
|
||||
.fixloaddelay
|
||||
|
||||
Automatically fixes any load delay problems by inserting a
|
||||
nop between the instructions. Best used in combination with
|
||||
.resetdelay.
|
||||
|
||||
|
||||
4.3 ARM Directives
|
||||
|
||||
.arm
|
||||
|
||||
This tells the assembler to use the full 32 bit ARM instruction
|
||||
set. It can be switched to THUMB at any time. NDS will default
|
||||
to this instruction set.
|
||||
|
||||
|
||||
.thumb
|
||||
|
||||
This tells the assembler to use the cut-down 16bit THUMB
|
||||
instruction set. It can be switched to ARM at any time. GBA will
|
||||
default to this instruction set.
|
||||
|
||||
|
||||
.pool
|
||||
|
||||
This directive works together with a pseudo opcode. In the code,
|
||||
you can use an ldr instruction to load a full 32 bit immediate.
|
||||
This immediate will be saved inside one of these pools.
|
||||
Example:
|
||||
|
||||
ldr r0,=0xFFEEDDCC
|
||||
; ...
|
||||
.pool
|
||||
|
||||
Here, the ldr instruction will be assembled as a PC-relative
|
||||
load and the value will be written into the pool. The range is
|
||||
limited, so you may have to define several pools.
|
||||
.pool will automatically align the position to a multiple of 4.
|
||||
|
||||
.msg
|
||||
|
||||
Inserts a no$gba debug message as described by GBATEK.
|
||||
|
||||
|
||||
#################################
|
||||
# 5. MACROS #
|
||||
#################################
|
||||
|
||||
5.1 Assembler-defined MIPS macros
|
||||
|
||||
There are various macros built into the assembler for ease
|
||||
of use. They are intended to make using some of the assembly
|
||||
simpler and faster.
|
||||
At the moment, these are all the MIPS macros included:
|
||||
|
||||
li reg,Immediate
|
||||
la reg,Immediate
|
||||
|
||||
Loads Immediate into the specified register by using a
|
||||
combination of lui/ori, a simple addiu or a simple ori.
|
||||
|
||||
|
||||
lb reg,Address
|
||||
lbu reg,Address
|
||||
lh reg,Address
|
||||
lhu reg,Address
|
||||
lw reg,Address
|
||||
|
||||
Loads a byte/halfword/word from the given address into
|
||||
the specified register by using a combination of lui
|
||||
and lb/lbu/lh/lhu/lw.
|
||||
|
||||
|
||||
ulh destreg,imm(sourcereg)
|
||||
ulh destreg,(sourcereg)
|
||||
ulhu destreg,imm(sourcereg)
|
||||
ulhu destreg,(sourcereg)
|
||||
|
||||
Loads an unaligned halfword from the address in sourcereg.
|
||||
It uses a combination of several lb/lbus and oris.
|
||||
|
||||
|
||||
ulw destreg,imm(sourcereg)
|
||||
ulw destreg,(sourcereg)
|
||||
|
||||
Loads an unaligned word from the address in sourcereg.
|
||||
It uses a combination of lwl/lwr.
|
||||
|
||||
|
||||
sb reg,Address
|
||||
sh reg,Address
|
||||
sw reg,Address
|
||||
|
||||
Writes a byte/halfword/word to the given address by
|
||||
using a combination of lui and sb/sh/sw.
|
||||
|
||||
|
||||
ush destreg,imm(sourcereg)
|
||||
ush destreg,(sourcereg)
|
||||
|
||||
Loads an unaligned halfword to the address in sourcereg.
|
||||
It uses a combination of several sb/sbus and shifts.
|
||||
|
||||
|
||||
usw destreg,imm(sourcereg)
|
||||
usw destreg,(sourcereg)
|
||||
|
||||
Loads an unaligned word to the address in sourcereg.
|
||||
It uses a combination of swl/swr.
|
||||
|
||||
|
||||
blt reg1,reg2,Dest
|
||||
bge reg1,reg2,Dest
|
||||
|
||||
If reg1 is lower than/greate or equal than reg2, branches
|
||||
to the given address. A combination of sltu and beq/bne
|
||||
is used.
|
||||
|
||||
|
||||
blt reg,Imm,Dest
|
||||
bge reg,Imm,Dest
|
||||
|
||||
If reg is lower than/greater or equal than Imm, branches
|
||||
to the given address. A combination of li, sltu and beq/bne
|
||||
is used.
|
||||
|
||||
|
||||
bne reg,Imm,Dest
|
||||
beq reg,Imm,Dest
|
||||
|
||||
If reg is not the same/the same as Imm, branches to the
|
||||
given address. A combination of li and beq/bne is used.
|
||||
|
||||
|
||||
rol reg1,reg2,reg3
|
||||
ror reg1,reg2,reg3
|
||||
|
||||
Rotates reg2 left/right by the value of the lower 5 bits
|
||||
of reg3 and stores the result in reg1. A combination of
|
||||
sll, srl and or is used.
|
||||
|
||||
|
||||
rol reg1,reg2,Imm
|
||||
ror reg1,reg2,Imm
|
||||
|
||||
Rotates reg2 left/right by Imm and stores the result in
|
||||
reg1. A combination of sll, srl and or is used.
|
||||
|
||||
|
||||
5.2 Assembler-defined ARM macros
|
||||
|
||||
The assembler will automatically convert the arguments between
|
||||
the following opcodes if possible:
|
||||
|
||||
mov <-> mvn
|
||||
bic <-> and
|
||||
cmp <-> cmn
|
||||
|
||||
E.g., "mov r0,-1" will be assembled as "mvn r0,0".
|
||||
|
||||
Additionally, "ldr rx,=immediate" can be used to load a 32-bit
|
||||
immediate. The assembler will try to convert it into a mov/mvn
|
||||
instruction if possible. otherwise, it will be stored in the
|
||||
nearest pool (see the .pool directive).
|
||||
"add rx,=immediate" can be used as a PC-relative add and will
|
||||
be assembled as "add rx,r15,(immediate-.-8)".
|
||||
|
||||
|
||||
5.3 User defined macros
|
||||
|
||||
The assembler allows the user to create his own macros.
|
||||
This is an example macro, a recreation of the builtin
|
||||
macro for li:
|
||||
|
||||
.macro myli,dest,value
|
||||
.if value < 0x10000
|
||||
ori dest,r0,value
|
||||
.elseif (value & 0xFFFF8000) == 0xFFFF8000
|
||||
addiu dest,r0,value & 0xFFFF
|
||||
.elseif (value & 0xFFFF) == 0
|
||||
lui dest,value >> 16
|
||||
.else
|
||||
lui dest,value >> 16 + (value & 0x8000 != 0)
|
||||
addiu dest,dest,value & 0xFFFF
|
||||
.endif
|
||||
.endmacro
|
||||
|
||||
The macro has to be initiated by a .macro directive. The
|
||||
first argument is the macro name, followed by a variable
|
||||
amount of arguments. The code inside the macro can be
|
||||
anything, and it can even call other macros (up to a nesting
|
||||
level of 128 calls). The macro is terminated by a .endmacro
|
||||
directive. It is not assembled when it is defined, but other
|
||||
code can call it from now on. All arguments are simple text
|
||||
replacements, so they can be anything from a number to a
|
||||
whole instruction parameter list.
|
||||
The macro is then called like this:
|
||||
|
||||
myli a0,0xFFEEDDCC
|
||||
|
||||
This code will, in this case, assemble to the following:
|
||||
|
||||
lui a0,0xFFEF
|
||||
addiu a0,a0,0xDDCC
|
||||
|
||||
The user can define a theoretically infinite amount of
|
||||
macros. Like all the other code, any equs are inserted
|
||||
before they are resolved.
|
||||
|
||||
With the latest revision, macros can also contain local
|
||||
labels that are changed to an unique name. Global labels,
|
||||
however, are uneffected by this. The label name is prefixed
|
||||
by the macro name and a counter id. This label:
|
||||
|
||||
.macro test
|
||||
@@MainLoop:
|
||||
.endmacro
|
||||
|
||||
will therefore be changed to:
|
||||
|
||||
@@test_00000000_mainloop
|
||||
|
||||
Each call of the macro will increase the counter.
|
||||
|
||||
|
||||
#################################
|
||||
# 6. KNOWN ISSUES #
|
||||
#################################
|
||||
|
||||
-the load delay check can't detect if an opcode is inside
|
||||
a delay slot, and if it will be used by the first
|
||||
instruction of the branch destination
|
||||
|
||||
Binary file not shown.
|
|
@ -1,35 +0,0 @@
|
|||
// amount of wonder cards (1-12)
|
||||
.definelabel amount,1
|
||||
|
||||
// distance between names (pixels)
|
||||
.definelabel dist,12
|
||||
|
||||
// status text color
|
||||
.definelabel test,0x7FFF
|
||||
|
||||
// menu text color
|
||||
.definelabel menu,0x7FFF
|
||||
|
||||
// selected text color
|
||||
.definelabel select,0x001F
|
||||
|
||||
// text mode: 0=left, 1=center, 2=right
|
||||
.definelabel mode,1
|
||||
|
||||
// menu text x-position (pixels)
|
||||
.definelabel mxpos,128
|
||||
|
||||
// menu text y-position (pixels)
|
||||
.definelabel mypos,0
|
||||
|
||||
// x-position for status text 1 (pixels)
|
||||
.definelabel d1xpos,128
|
||||
|
||||
// y-position for status text 1 (pixels)
|
||||
.definelabel d1ypos,156
|
||||
|
||||
// x-position for status text 2 (pixels) (English mode only)
|
||||
.definelabel d2xpos,128
|
||||
|
||||
// y-position for status text 2 (pixels) (English mode only)
|
||||
.definelabel d2ypos,180
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
Pokémon Duodecuple Distribution
|
||||
by Prof. 9
|
||||
Version v1.4.1 "Skinless"
|
||||
|
||||
Features:
|
||||
- Multiple Wonder Cards in a single distro ROM
|
||||
- Ignores date restrictions
|
||||
- Automatically fixes Wonder Card checksums
|
||||
|
||||
How to generate a 12-distro ROM:
|
||||
1. Put a clean Liberty Ticket distro ROM in the tools folder, name it ticket.nds
|
||||
2. In the tools folder, edit options.asm to fit your needs (optional)
|
||||
3. Fire up 12distro.bat and use option 1 to create a base 12-distro ROM
|
||||
4. Extract Wonder Cards from other distro ROMs using option 2
|
||||
5. Place all the Wonder Cards you want in the cards folder, name them XX.bin
|
||||
6. Use option 3 to compile a 12-distro ROM with the cards you want
|
||||
|
||||
Credits/Thanks:
|
||||
- Kingcom (ARMIPS)
|
||||
- DarkFader (ndstool)
|
||||
- cearn (grit)
|
||||
- Yellow Wood Goblin (slot-1 read fix)
|
||||
|
||||
Changelog:
|
||||
v1.4.1 "Skinless" - 21st May 2013
|
||||
- Liberty Ticket ROM should now be named ticket.nds.
|
||||
- Settings placed in their own file, options.asm.
|
||||
- Removed background image support; this seems to fix compatibility with a
|
||||
whole bunch of flashcards.
|
||||
|
||||
v1.4 - 21st April 2011
|
||||
- Changed the patcher
|
||||
- Top screen background image support
|
||||
- Added a whole bunch of new options to 12distro.asm such as menu position,
|
||||
text alignment, colors, etc.
|
||||
|
||||
v1.3 - 17th April 2011
|
||||
- Added automatic checksum fix for corrupted Wonder Cards.
|
||||
- Included some extra .bat files to quickly extract/compile.
|
||||
|
||||
v1.2 - 4th April 2011
|
||||
- Now uses the NDS system firmware language for the Wonder Card names.
|
||||
- Uses a newer version of ndstool (doesn't really matter, though).
|
||||
- You can now specify in the .asm file at which half-a-line it starts
|
||||
writing Wonder Card names.
|
||||
|
||||
v1.1 - 25th March 2011
|
||||
- Fixed a slot-1 read access bug, increasing compatibility. Thanks to Yellow
|
||||
Wood Goblin.
|
||||
|
||||
v1.0 - 24th March 2011
|
||||
- Initial release.
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
{
|
||||
"New Update Available! ": "New Update Available! ",
|
||||
"Open .pgf": "Open .pgf",
|
||||
"Custom": "Custom",
|
||||
"Game Compatibility": "Game Compatibility",
|
||||
"Black": "Black",
|
||||
"White": "White",
|
||||
"Date Limit": "Date Limit",
|
||||
"Start": "Start",
|
||||
"End": "End",
|
||||
"Auto Max Limit": "Auto Max Limit",
|
||||
"Region": "Region",
|
||||
"ROM Details": "ROM Details",
|
||||
"File Name": "File Name",
|
||||
"Header": "Header",
|
||||
"Code": "Code",
|
||||
"Description": "Description",
|
||||
"Clear Text": "Clear Text",
|
||||
"Default Text": "Default Text",
|
||||
"Event Message": "Event Message",
|
||||
"Build Event ROM": "Build Event ROM",
|
||||
|
||||
"Yes": "Yes",
|
||||
"No": "No",
|
||||
"OK": "OK",
|
||||
"Need Liberty Ticket ROM": "Need Liberty Ticket ROM",
|
||||
"This program requires a clean copy of the Liberty Ticket Distribution ROM. Do you have one?": "This program requires a clean copy of the Liberty Ticket Distribution ROM. Do you have one?",
|
||||
"ERROR FOUND": "ERROR FOUND",
|
||||
"Error: Invaild File": "Error: Invaild File",
|
||||
"Can you select it for me?": "Can you select it for me?",
|
||||
"Yeah, it's right here": "Yeah, it's right here",
|
||||
"Umm, I don't know where I put it": "Umm, I don't know where I put it",
|
||||
"Google is your friend.": "Google is your friend.",
|
||||
"I know": "I know",
|
||||
"How so?": "How so?",
|
||||
"About...": "About...",
|
||||
"Options...": "Options...",
|
||||
|
||||
"No .pgf file.": "No .pgf file.",
|
||||
"No compatible game.": "No compatible game.",
|
||||
"ROM Header is too short.": "ROM Header is too short.",
|
||||
"ROM Code is too short.": "ROM Code is too short.",
|
||||
"ROM description is missing.": "ROM description is missing.",
|
||||
"Built as ": "Built as ",
|
||||
"compiled": "compiled",
|
||||
|
||||
"Error": "Error",
|
||||
"No Internet connection!": "No Internet connection!",
|
||||
"You can not update at the moment.": "You can not update at the moment.",
|
||||
"I appreciate the gesture.": "I appreciate the gesture.",
|
||||
"You can look me up later.": "You can look me up later.",
|
||||
"by": "by",
|
||||
|
||||
"Default ROM Description": "Pokémon\nGeneration 5\nCustom Made Distribution\nPKMG5DC",
|
||||
"Default Event Message": "Input Event Message Here.\n\nThis textbox is sized perfectly, so what fits in\nthis box is all you can fit. A maximum of 7 \nlines, max 36 characters per line, and a \nmaximum of 252 characters total.\nMake sure you put the new lines(ENTER key)",
|
||||
"Input Description Here.\nThis textbox is also sized perfectly.\n4 lines, 24 chars/line, 96 chars.\nBe sure to put the new lines again.": "Input Description Here.\nThis textbox is also sized perfectly.\n4 lines, 24 chars/line, 96 chars.\nBe sure to put the new lines again."
|
||||
}
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
{
|
||||
"New Update Available! ": "Nouvelle Mise à Jour Disponible! ",
|
||||
"Open .pgf": "Ouvrir .pgf",
|
||||
"Custom": "Personnaliser",
|
||||
"Game Compatibility": "Compatibilité du Jeu",
|
||||
"Black": "Noir",
|
||||
"White": "Blanc",
|
||||
"Date Limit": "Date Limite",
|
||||
"Start": "Début",
|
||||
"End": "Fin",
|
||||
"Auto Max Limit": "Auto Max Limite",
|
||||
"Region": "Région",
|
||||
"ROM Details": "Détails du ROM",
|
||||
"File Name": "Nom du Fichier",
|
||||
"Header": "En-Tête",
|
||||
"Code": "Code",
|
||||
"Description": "Description",
|
||||
"Clear Text": "Effacer le Texte",
|
||||
"Default Text": "Texte de Défaut",
|
||||
"Event Message": "Message de l'Événement",
|
||||
"Build Event ROM": "Compiler ROM d'Événement",
|
||||
|
||||
"Yes": "Oui",
|
||||
"No": "Non",
|
||||
"OK": "Bien",
|
||||
"Need Liberty Ticket ROM": "Besoin ROM pour la Pass Liberté",
|
||||
"This program requires a clean copy of the Liberty Ticket Distribution ROM. Do you have one?": "Ce programme besoin un copie propre du ROM de Distribution pour la Pass Liberté. Avez-vous une?",
|
||||
"ERROR FOUND": "ERREUR TROUVÉ",
|
||||
"Error: Invaild File": "Erreur: Fichier Invailde",
|
||||
"Can you select it for me?": "Pouvez-vous le sélectionner pour moi?",
|
||||
"Yeah, it's right here": "Oui, c'est ici",
|
||||
"Umm, I don't know where I put it": "Umm, je ne sais pas où je l'ai mis",
|
||||
"Google is your friend.": "Google est ton ami.",
|
||||
"I know": "Je sais",
|
||||
"How so?": "Comment?",
|
||||
"About...": "À Propos...",
|
||||
"Options...": "Options...",
|
||||
|
||||
"No .pgf file.": "Aucun fichier .pgf.",
|
||||
"No compatible game.": "Aucun jeu compatible.",
|
||||
"ROM Header is too short.": "En Tête du ROM est trop court.",
|
||||
"ROM Code is too short.": "Code du ROM est trop court.",
|
||||
"ROM description is missing.": "Manque la description du ROM.",
|
||||
"Built as ": "Compilé et nommé ",
|
||||
"compiled": "compilé",
|
||||
|
||||
"Error": "Erreur",
|
||||
"No Internet connection!": "Pas de Connexion Internet!",
|
||||
"You can not update at the moment.": "Vous ne pouvez pas mettre à jour en ce moment.",
|
||||
"I appreciate the gesture.": "J'apprécie le geste.",
|
||||
"You can look me up later.": "Vous pouvez rechercher moi plus tard.",
|
||||
"by": "par",
|
||||
|
||||
"Default ROM Description": "Pokémon\nGénération 5\nDistribution Personnalisé\nPKMG5DC",
|
||||
"Default Event Message": "Entrée Message d'Événement Ici.\n\nThis textbox is sized perfectly, so what fits in\nthis box is all you can fit. A maximum of 7 \nlines, max 36 characters per line, and a \nmaximum of 252 characters total.\nMake sure you put the new lines(ENTER key)",
|
||||
"Input Description Here.\nThis textbox is also sized perfectly.\n4 lines, 24 chars/line, 96 chars.\nBe sure to put the new lines again.": "Entrée Description Ici.\nThis textbox is also sized perfectly.\n4 lines, 24 chars/line, 96 chars.\nBe sure to put the new lines again."
|
||||
}
|
||||
|
|
@ -1 +1 @@
|
|||
2018/11/25
|
||||
2020/6/25
|
||||
Binary file not shown.
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
"version": "1.1.4.0"
|
||||
"version": "2.0.0.0"
|
||||
}
|
||||
|
|
@ -1 +1 @@
|
|||
1.1.4.0
|
||||
2.0.0.0
|
||||
Binary file not shown.
107
PKMG5DC/options.Designer.vb
generated
107
PKMG5DC/options.Designer.vb
generated
|
|
@ -1,107 +0,0 @@
|
|||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Options
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
|
||||
Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'PictureBox1
|
||||
'
|
||||
Me.PictureBox1.BackColor = System.Drawing.SystemColors.ControlLight
|
||||
Me.PictureBox1.Location = New System.Drawing.Point(-4, 69)
|
||||
Me.PictureBox1.Name = "PictureBox1"
|
||||
Me.PictureBox1.Size = New System.Drawing.Size(294, 70)
|
||||
Me.PictureBox1.TabIndex = 4
|
||||
Me.PictureBox1.TabStop = False
|
||||
'
|
||||
'NumericUpDown1
|
||||
'
|
||||
Me.NumericUpDown1.DecimalPlaces = 1
|
||||
Me.NumericUpDown1.Increment = New Decimal(New Integer() {1, 0, 0, 65536})
|
||||
Me.NumericUpDown1.Location = New System.Drawing.Point(119, 24)
|
||||
Me.NumericUpDown1.Maximum = New Decimal(New Integer() {10, 0, 0, 0})
|
||||
Me.NumericUpDown1.Minimum = New Decimal(New Integer() {3, 0, 0, 65536})
|
||||
Me.NumericUpDown1.Name = "NumericUpDown1"
|
||||
Me.NumericUpDown1.Size = New System.Drawing.Size(45, 20)
|
||||
Me.NumericUpDown1.TabIndex = 5
|
||||
Me.NumericUpDown1.Value = New Decimal(New Integer() {3, 0, 0, 65536})
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(82, 27)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(37, 13)
|
||||
Me.Label1.TabIndex = 6
|
||||
Me.Label1.Text = "Delay:"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(164, 28)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(29, 13)
|
||||
Me.Label2.TabIndex = 7
|
||||
Me.Label2.Text = "secs"
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(101, 79)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(75, 23)
|
||||
Me.Button1.TabIndex = 8
|
||||
Me.Button1.Text = "Save"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'options
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(284, 111)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.NumericUpDown1)
|
||||
Me.Controls.Add(Me.PictureBox1)
|
||||
Me.Name = "options"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "Options"
|
||||
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents PictureBox1 As PictureBox
|
||||
Friend WithEvents NumericUpDown1 As NumericUpDown
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents Button1 As Button
|
||||
End Class
|
||||
|
|
@ -1,120 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
Public Class Options
|
||||
Dim f As Boolean = False
|
||||
Private Sub NumericUpDown1_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged
|
||||
If f = True Then
|
||||
My.Settings.Delay = (NumericUpDown1.Value * 1000)
|
||||
End If
|
||||
End Sub
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
Close()
|
||||
End Sub
|
||||
Private Sub Options_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
'If My.Settings.Delay = Nothing Or My.Settings.Delay = 0 Then
|
||||
' My.Settings.Delay = 300
|
||||
'End If
|
||||
NumericUpDown1.Value = (My.Settings.Delay / 1000)
|
||||
f = True
|
||||
NumericUpDown1_ValueChanged(sender, e)
|
||||
Me.Refresh()
|
||||
End Sub
|
||||
End Class
|
||||
|
|
@ -2,5 +2,4 @@
|
|||
<packages>
|
||||
<package id="ILMerge" version="2.14.1208" targetFramework="net461" />
|
||||
<package id="MSBuild.AutoILMerge.Task" version="1.1.1" targetFramework="net461" />
|
||||
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net461" />
|
||||
</packages>
|
||||
BIN
packages/Newtonsoft.Json.10.0.3/.signature.p7s
vendored
BIN
packages/Newtonsoft.Json.10.0.3/.signature.p7s
vendored
Binary file not shown.
20
packages/Newtonsoft.Json.10.0.3/LICENSE.md
vendored
20
packages/Newtonsoft.Json.10.0.3/LICENSE.md
vendored
|
|
@ -1,20 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2007 James Newton-King
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
116
packages/Newtonsoft.Json.10.0.3/tools/install.ps1
vendored
116
packages/Newtonsoft.Json.10.0.3/tools/install.ps1
vendored
|
|
@ -1,116 +0,0 @@
|
|||
param($installPath, $toolsPath, $package, $project)
|
||||
|
||||
# open json.net splash page on package install
|
||||
# don't open if json.net is installed as a dependency
|
||||
|
||||
try
|
||||
{
|
||||
$url = "http://www.newtonsoft.com/json/install?version=" + $package.Version
|
||||
$dte2 = Get-Interface $dte ([EnvDTE80.DTE2])
|
||||
|
||||
if ($dte2.ActiveWindow.Caption -eq "Package Manager Console")
|
||||
{
|
||||
# user is installing from VS NuGet console
|
||||
# get reference to the window, the console host and the input history
|
||||
# show webpage if "install-package newtonsoft.json" was last input
|
||||
|
||||
$consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow])
|
||||
|
||||
$props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor `
|
||||
[System.Reflection.BindingFlags]::NonPublic)
|
||||
|
||||
$prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1
|
||||
if ($prop -eq $null) { return }
|
||||
|
||||
$hostInfo = $prop.GetValue($consoleWindow)
|
||||
if ($hostInfo -eq $null) { return }
|
||||
|
||||
$history = $hostInfo.WpfConsole.InputHistory.History
|
||||
|
||||
$lastCommand = $history | select -last 1
|
||||
|
||||
if ($lastCommand)
|
||||
{
|
||||
$lastCommand = $lastCommand.Trim().ToLower()
|
||||
if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json"))
|
||||
{
|
||||
$dte2.ItemOperations.Navigate($url) | Out-Null
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
# user is installing from VS NuGet dialog
|
||||
# get reference to the window, then smart output console provider
|
||||
# show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation
|
||||
|
||||
$instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor `
|
||||
[System.Reflection.BindingFlags]::NonPublic)
|
||||
|
||||
$consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor `
|
||||
[System.Reflection.BindingFlags]::NonPublic)
|
||||
|
||||
if ($instanceField -eq $null -or $consoleField -eq $null) { return }
|
||||
|
||||
$instance = $instanceField.GetValue($null)
|
||||
|
||||
if ($instance -eq $null) { return }
|
||||
|
||||
$consoleProvider = $consoleField.GetValue($instance)
|
||||
if ($consoleProvider -eq $null) { return }
|
||||
|
||||
$console = $consoleProvider.CreateOutputConsole($false)
|
||||
|
||||
$messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor `
|
||||
[System.Reflection.BindingFlags]::NonPublic)
|
||||
if ($messagesField -eq $null) { return }
|
||||
|
||||
$messages = $messagesField.GetValue($console)
|
||||
if ($messages -eq $null) { return }
|
||||
|
||||
$operations = $messages -split "=============================="
|
||||
|
||||
$lastOperation = $operations | select -last 1
|
||||
|
||||
if ($lastOperation)
|
||||
{
|
||||
$lastOperation = $lastOperation.ToLower()
|
||||
|
||||
$lines = $lastOperation -split "`r`n"
|
||||
|
||||
$installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1
|
||||
|
||||
if ($installMatch)
|
||||
{
|
||||
$dte2.ItemOperations.Navigate($url) | Out-Null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
try
|
||||
{
|
||||
$pmPane = $dte2.ToolWindows.OutputWindow.OutputWindowPanes.Item("Package Manager")
|
||||
|
||||
$selection = $pmPane.TextDocument.Selection
|
||||
$selection.StartOfDocument($false)
|
||||
$selection.EndOfDocument($true)
|
||||
|
||||
if ($selection.Text.StartsWith("Attempting to gather dependencies information for package 'Newtonsoft.Json." + $package.Version + "'"))
|
||||
{
|
||||
# don't show on upgrade
|
||||
if (!$selection.Text.Contains("Removed package"))
|
||||
{
|
||||
$dte2.ItemOperations.Navigate($url) | Out-Null
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
# stop potential errors from bubbling up
|
||||
# worst case the splash page won't open
|
||||
}
|
||||
}
|
||||
|
||||
# still yolo
|
||||
Loading…
Reference in New Issue
Block a user