Got Stuff working

Almost done
Just some spiffing, etc. left
This commit is contained in:
Regnum
2020-06-14 17:00:09 -05:00
parent f1a2ed2bc0
commit 55ed1e4e76
6 changed files with 153 additions and 720 deletions

View File

@@ -1,152 +1,4 @@
'Card Classes
Public Class Card5P
Public data(&H2D8) As Byte
Public Property Wondercard As Byte() '0xCC
Get
Return data.Take(&HCC)
End Get
Set(value As Byte())
value.CopyTo(data, &H0)
Output()
End Set
End Property
'00 00
Public Property GameCompatibility As Byte
Get
Return data(&HCE)
End Get
Set(ByVal value As Byte)
data(&HCE) = value
Output()
End Set
End Property
Public Property White As Boolean
Get
Return (GameCompatibility And (1 << 4)) = (1 << 4)
End Get
Set(value As Boolean)
GameCompatibility = CByte((GameCompatibility And Not (1 << 4)) Or If(value, 1 << 4, 0))
Output()
End Set
End Property
Public Property Black As Boolean
Get
Return (GameCompatibility And (1 << 5)) = (1 << 5)
End Get
Set(value As Boolean)
GameCompatibility = CByte((GameCompatibility And Not (1 << 5)) Or If(value, 1 << 5, 0))
Output()
End Set
End Property
Public Property White2 As Boolean
Get
Return (GameCompatibility And (1 << 6)) = (1 << 6)
End Get
Set(value As Boolean)
GameCompatibility = CByte((GameCompatibility And Not (1 << 6)) Or If(value, 1 << 6, 0))
Output()
End Set
End Property
Public Property Black2 As Boolean
Get
Return (GameCompatibility And (1 << 7)) = (1 << 7)
End Get
Set(value As Boolean)
GameCompatibility = CByte((GameCompatibility And Not (1 << 7)) Or If(value, 1 << 7, 0))
Output()
End Set
End Property
'00
Public Property EventText As String '0x1F8
Get
Return GetString(data, &HD0, 504)
End Get
Set(ByVal value As String)
SetString(value, 252).CopyTo(data, &HD0)
Output()
End Set
End Property
'FF FF
'00
Public Property Language As Byte
Get
Return data(&H2CB)
End Get
Set(ByVal value As Byte)
data(&H2CB) = value
Output()
End Set
End Property
'00 00
Public Property LangChecksum As UShort
Get
Return BitConverter.ToUInt16(data, &H2CE)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(data, &H2CE)
Output()
End Set
End Property
'00 for 0x1EF0
Public Property StartYear As UShort
Get
Return BitConverter.ToUInt16(data, &H2D0)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(data, &H2D0)
Output()
End Set
End Property
Public Property StartMonth As Byte
Get
Return data(&H2D2)
End Get
Set(ByVal value As Byte)
data(&H2D2) = value
Output()
End Set
End Property
Public Property StartDay As Byte
Get
Return data(&H2D3)
End Get
Set(ByVal value As Byte)
data(&H2D3) = value
Output()
End Set
End Property
Public Property EndYear As UShort
Get
Return BitConverter.ToUInt16(data, &H2D4)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(data, &H2D4)
Output()
End Set
End Property
Public Property EndMonth As Byte
Get
Return data(&H2D6)
End Get
Set(ByVal value As Byte)
data(&H2D6) = value
Output()
End Set
End Property
Public Property EndDay As Byte
Get
Return data(&H2D7)
End Get
Set(ByVal value As Byte)
data(&H2D7) = value
Output()
End Set
End Property
Public Sub Output()
System.IO.File.WriteAllBytes(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Regnum\PKMG5DC" & "\cards\" & Main5.tc_Cards.SelectedTab.Text & ".bin", data)
End Sub
End Class
'Card Class
Public Class Card5
Public Data(&H16CF) As Byte
@@ -159,6 +11,83 @@ Public Class Card5
End Set
End Property
'00 00 00
Public Property Wondercards(n As Byte) As Byte() '0xCC
Get
Return Data.Skip(&H4 + (n * &H2D0)).Take(&HCC)
End Get
Set(value As Byte())
value.CopyTo(Data, &H4 + (n * &H2D0))
End Set
End Property
'00 00
Public Property GameCompatibilities(n As Byte) As Byte
Get
Return Data(&HCE + &H4 + (n * &H2D0))
End Get
Set(ByVal value As Byte)
Data(&HCE + &H4 + (n * &H2D0)) = value
End Set
End Property
Public Property White(n As Byte) As Boolean
Get
Return (GameCompatibilities(n) And (1 << 4)) = (1 << 4)
End Get
Set(value As Boolean)
GameCompatibilities(n) = CByte((GameCompatibilities(n) And Not (1 << 4)) Or If(value, 1 << 4, 0))
End Set
End Property
Public Property Black(n As Byte) As Boolean
Get
Return (GameCompatibilities(n) And (1 << 5)) = (1 << 5)
End Get
Set(value As Boolean)
GameCompatibilities(n) = CByte((GameCompatibilities(n) And Not (1 << 5)) Or If(value, 1 << 5, 0))
End Set
End Property
Public Property White2(n As Byte) As Boolean
Get
Return (GameCompatibilities(n) And (1 << 6)) = (1 << 6)
End Get
Set(value As Boolean)
GameCompatibilities(n) = CByte((GameCompatibilities(n) And Not (1 << 6)) Or If(value, 1 << 6, 0))
End Set
End Property
Public Property Black2(n As Byte) As Boolean
Get
Return (GameCompatibilities(n) And (1 << 7)) = (1 << 7)
End Get
Set(value As Boolean)
GameCompatibilities(n) = CByte((GameCompatibilities(n) And Not (1 << 7)) Or If(value, 1 << 7, 0))
End Set
End Property
'00
Public Property EventText(n As Byte) As String '0x1F8
Get
Return GetString(Data, &HD0 + &H4 + (n * &H2D0), 504)
End Get
Set(ByVal value As String)
SetString(value, 252).CopyTo(Data, &HD0 + &H4 + (n * &H2D0))
End Set
End Property
'FF FF
'00
Public Property Language(n As Byte) As Byte
Get
Return Data(&H2CB + &H4 + (n * &H2D0))
End Get
Set(ByVal value As Byte)
Data(&H2CB + &H4 + (n * &H2D0)) = value
End Set
End Property
'00 00
Public Property LangChecksum(n As Byte) As UShort
Get
Return BitConverter.ToUInt16(Data, &H2CE + &H4 + (n * &H2D0))
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H2CE + &H4 + (n * &H2D0))
End Set
End Property
Public Property Cards(n As Byte) As Byte()
Get
Return Data.Skip(&H4 + (n * &H2D0)).Take(&H2D0)
@@ -167,70 +96,6 @@ Public Class Card5
value.CopyTo(Data, &H4 + (n * &H2D0))
End Set
End Property
Public Property Card_1 As Byte()
Get
Return Data.Skip(&H4).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &H4)
End Set
End Property
Public Property Card_2 As Byte()
Get
Return Data.Skip(&H2D4).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &H2D4)
End Set
End Property
Public Property Card_3 As Byte()
Get
Return Data.Skip(&H5A4).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &H5A4)
End Set
End Property
Public Property Card_4 As Byte()
Get
Return Data.Skip(&H874).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &H874)
End Set
End Property
Public Property Card_5 As Byte()
Get
Return Data.Skip(&HB44).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &HB44)
End Set
End Property
Public Property Card_6 As Byte()
Get
Return Data.Skip(&HE14).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &HE14)
End Set
End Property
Public Property Card_7 As Byte()
Get
Return Data.Skip(&H10E4).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &H10E4)
End Set
End Property
Public Property Card_8 As Byte()
Get
Return Data.Skip(&H13B4).Take(&H2D0)
End Get
Set(value As Byte())
value.CopyTo(Data, &H13B4)
End Set
End Property
Public Property StartYears(n As Byte) As UShort
Get
Return BitConverter.ToUInt16(Data, &H1684 + (n * &H8))
@@ -279,408 +144,15 @@ Public Class Card5
Data(&H168B + (n * &H8)) = value
End Set
End Property
#Region "Dates 1"
Public Property StartYear_1 As UShort
Get
Return BitConverter.ToUInt16(Data, &H1684)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H1684)
End Set
End Property
Public Property StartMonth_1 As Byte
Get
Return Data(&H1686)
End Get
Set(ByVal value As Byte)
Data(&H1686) = value
End Set
End Property
Public Property StartDay_1 As Byte
Get
Return Data(&H1687)
End Get
Set(ByVal value As Byte)
Data(&H1687) = value
End Set
End Property
Public Property EndYear_1 As UShort
Get
Return BitConverter.ToUInt16(Data, &H1688)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H1688)
End Set
End Property
Public Property EndMonth_1 As Byte
Get
Return Data(&H168A)
End Get
Set(ByVal value As Byte)
Data(&H168A) = value
End Set
End Property
Public Property EndDay_1 As Byte
Get
Return Data(&H168B)
End Get
Set(ByVal value As Byte)
Data(&H168B) = value
End Set
End Property
#End Region
#Region "Dates 2"
Public Property StartYear_2 As UShort
Get
Return BitConverter.ToUInt16(Data, &H168C)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H168C)
End Set
End Property
Public Property StartMonth_2 As Byte
Get
Return Data(&H168E)
End Get
Set(ByVal value As Byte)
Data(&H168E) = value
End Set
End Property
Public Property StartDay_2 As Byte
Get
Return Data(&H168F)
End Get
Set(ByVal value As Byte)
Data(&H168F) = value
End Set
End Property
Public Property EndYear_2 As UShort
Get
Return BitConverter.ToUInt16(Data, &H1690)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H1690)
End Set
End Property
Public Property EndMonth_2 As Byte
Get
Return Data(&H1692)
End Get
Set(ByVal value As Byte)
Data(&H1692) = value
End Set
End Property
Public Property EndDay_2 As Byte
Get
Return Data(&H1693)
End Get
Set(ByVal value As Byte)
Data(&H1693) = value
End Set
End Property
#End Region
#Region "Dates 3"
Public Property StartYear_3 As UShort
Get
Return BitConverter.ToUInt16(Data, &H1694)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H1694)
End Set
End Property
Public Property StartMonth_3 As Byte
Get
Return Data(&H1696)
End Get
Set(ByVal value As Byte)
Data(&H1696) = value
End Set
End Property
Public Property StartDay_3 As Byte
Get
Return Data(&H1697)
End Get
Set(ByVal value As Byte)
Data(&H1697) = value
End Set
End Property
Public Property EndYear_3 As UShort
Get
Return BitConverter.ToUInt16(Data, &H1698)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H1698)
End Set
End Property
Public Property EndMonth_3 As Byte
Get
Return Data(&H169A)
End Get
Set(ByVal value As Byte)
Data(&H168A) = value
End Set
End Property
Public Property EndDay_3 As Byte
Get
Return Data(&H169B)
End Get
Set(ByVal value As Byte)
Data(&H169B) = value
End Set
End Property
#End Region
#Region "Dates 4"
Public Property StartYear_4 As UShort
Get
Return BitConverter.ToUInt16(Data, &H169C)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H169C)
End Set
End Property
Public Property StartMonth_4 As Byte
Get
Return Data(&H169E)
End Get
Set(ByVal value As Byte)
Data(&H169E) = value
End Set
End Property
Public Property StartDay_4 As Byte
Get
Return Data(&H169F)
End Get
Set(ByVal value As Byte)
Data(&H169F) = value
End Set
End Property
Public Property EndYear_4 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16A0)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16A0)
End Set
End Property
Public Property EndMonth_4 As Byte
Get
Return Data(&H16A2)
End Get
Set(ByVal value As Byte)
Data(&H16A2) = value
End Set
End Property
Public Property EndDay_4 As Byte
Get
Return Data(&H16A3)
End Get
Set(ByVal value As Byte)
Data(&H16A3) = value
End Set
End Property
#End Region
#Region "Dates 5"
Public Property StartYear_5 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16A4)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16A4)
End Set
End Property
Public Property StartMonth_5 As Byte
Get
Return Data(&H16A6)
End Get
Set(ByVal value As Byte)
Data(&H16A6) = value
End Set
End Property
Public Property StartDay_5 As Byte
Get
Return Data(&H16A7)
End Get
Set(ByVal value As Byte)
Data(&H16A7) = value
End Set
End Property
Public Property EndYear_5 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16A8)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16A8)
End Set
End Property
Public Property EndMonth_5 As Byte
Get
Return Data(&H16AA)
End Get
Set(ByVal value As Byte)
Data(&H16AA) = value
End Set
End Property
Public Property EndDay_5 As Byte
Get
Return Data(&H16AB)
End Get
Set(ByVal value As Byte)
Data(&H16AB) = value
End Set
End Property
#End Region
#Region "Dates 6"
Public Property StartYear_6 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16AC)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16AC)
End Set
End Property
Public Property StartMonth_6 As Byte
Get
Return Data(&H16AE)
End Get
Set(ByVal value As Byte)
Data(&H16AE) = value
End Set
End Property
Public Property StartDay_6 As Byte
Get
Return Data(&H16AF)
End Get
Set(ByVal value As Byte)
Data(&H16AF) = value
End Set
End Property
Public Property EndYear_6 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16B0)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16B0)
End Set
End Property
Public Property EndMonth_6 As Byte
Get
Return Data(&H16B2)
End Get
Set(ByVal value As Byte)
Data(&H16B2) = value
End Set
End Property
Public Property EndDay_6 As Byte
Get
Return Data(&H16B3)
End Get
Set(ByVal value As Byte)
Data(&H16B3) = value
End Set
End Property
#End Region
#Region "Dates 7"
Public Property StartYear_7 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16B4)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16B4)
End Set
End Property
Public Property StartMonth_7 As Byte
Get
Return Data(&H16B6)
End Get
Set(ByVal value As Byte)
Data(&H16B6) = value
End Set
End Property
Public Property StartDay_7 As Byte
Get
Return Data(&H16B7)
End Get
Set(ByVal value As Byte)
Data(&H16B7) = value
End Set
End Property
Public Property EndYear_7 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16B8)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16B8)
End Set
End Property
Public Property EndMonth_7 As Byte
Get
Return Data(&H16BA)
End Get
Set(ByVal value As Byte)
Data(&H16BA) = value
End Set
End Property
Public Property EndDay_7 As Byte
Get
Return Data(&H16BB)
End Get
Set(ByVal value As Byte)
Data(&H16BB) = value
End Set
End Property
#End Region
#Region "Dates 8"
Public Property StartYear_8 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16BC)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16BC)
End Set
End Property
Public Property StartMonth_8 As Byte
Get
Return Data(&H16BE)
End Get
Set(ByVal value As Byte)
Data(&H16BE) = value
End Set
End Property
Public Property StartDay_8 As Byte
Get
Return Data(&H16BF)
End Get
Set(ByVal value As Byte)
Data(&H16BF) = value
End Set
End Property
Public Property EndYear_8 As UShort
Get
Return BitConverter.ToUInt16(Data, &H16C0)
End Get
Set(ByVal value As UShort)
BitConverter.GetBytes(value).CopyTo(Data, &H16C0)
End Set
End Property
Public Property EndMonth_8 As Byte
Get
Return Data(&H16C2)
End Get
Set(ByVal value As Byte)
Data(&H16C2) = value
End Set
End Property
Public Property EndDay_8 As Byte
Get
Return Data(&H16C3)
End Get
Set(ByVal value As Byte)
Data(&H16C3) = value
End Set
End Property
#End Region
'00 for 0x5C
'14 ????
Public Property Unknown14 As Byte
Get
Return Data(&H16C8)
End Get
Set(value As Byte)
Data(&H16C8) = value
End Set
End Property
'00 00 00 00 00 00 00
End Class

View File

@@ -80,9 +80,10 @@ Module Common
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), "")
Return Encoding.Unicode.GetString(data, offset, count).Replace(ChrW(&HFFFF), "").Replace(ChrW(&H0), "").Replace(ChrW(&HFFFE), vbLf)
End Function
Public Function SetString(ByVal value As String, ByVal maxLength As Integer)
' value = value.Replace(vbLf, ChrW(&HFFFE))
If value.Length > maxLength Then value = value.Substring(0, maxLength)
Do While value.Length < maxLength
value &= ChrW(&HFFFF)

View File

@@ -123,9 +123,6 @@
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="HoverInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pb_Donate.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@@ -10,15 +10,13 @@ Public Class Main5
Public Shared ReadOnly Local As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\Regnum\PKMG5DC" 'Path to Local folder
Dim OpenFile As New OpenFileDialog
ReadOnly langCksm As UShort() = {&H83BC, &H9D36, &H39AA, &H4418, &HE061, &HF57A} 'List of Language Checksums
ReadOnly langs As Byte() = {&H2, &H3, &H4, &H5, &H6} 'List of Language values
ReadOnly langs As Byte() = {&H2, &H3, &H4, &H5, &H7} 'List of Language values
Dim 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
Dim CardPiece As New Card5P
'Dim cardPieces(7) As String
Dim Card As New Card5
Dim tempDate(15) As Date
Public Shared Card As New Card5
'Dim tempDate(15) As Date
#End Region
Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load
@@ -31,17 +29,12 @@ Public Class Main5
rd /S/Q data
del arm9.bin arm7.bin banner.bin header.bin"}}
CreateFiles(tools)
For i = 0 To 7
File.WriteAllBytes(Local & "\cards\Card " & (i + 1) & ".bin", CardPiece.data)
Next
'Process.Start(Local & "\tools\extract.bat").WaitForExit()
'File.Delete(Local & "\tools\data\data.bin")
'Save(Local & "\tools\data\data.bin", RichTextBox1.Text)
'Process.Start(Local & "\tools\compile.bat").WaitForExit()
'Process.Start(Local & "\tools\clean.bat").WaitForExit()
'cardPieces = {CardPiece.data, CardPiece.data, CardPiece.data, CardPiece.data, CardPiece.data, CardPiece.data, CardPiece.data, CardPiece.data}
'For i = 0 To 7
' File.WriteAllBytes(Local & "\cards\Card " & (i + 1) & ".bin", CardPiece.data)
'Next
Tp_Add_Enter(sender, e)
doneLoad = True
Cb_Region_SelectedIndexChanged(sender, e)
End Sub
Private Sub Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
With mySettings
@@ -296,45 +289,40 @@ Public Class Main5
tc_Cards.TabPages.Add(NewAddTab)
AddHandler NewAddTab.Enter, AddressOf Me.Tp_Add_Enter
End If
tc_Cards.SelectedTab = NewTab
End Sub
'Moves the panel and load the settings
Private Sub MovePanel()
CardPiece.data = File.ReadAllBytes(Local & "\cards\" & tc_Cards.SelectedTab.Text & ".bin")
tc_Cards.SelectedTab.Controls.Add(Me.pnl_EditCard)
With pn_Settings
lb_PGF.Text = .pnl_Strings(tc_Cards.SelectedIndex)
rtb_EventMsg.Text = .pnl_Strings(tc_Cards.SelectedIndex + 8)
cb_MaxLimit.Checked = .maxLimit(tc_Cards.SelectedIndex)
'If Card.EventText(tc_Cards.SelectedIndex) <> Nothing Then rtb_EventMsg.Text = Card.EventText(tc_Cards.SelectedIndex)
cb_Region.SelectedIndex = .region(tc_Cards.SelectedIndex)
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)
End With
If doneLoad Then
'If cardPieces(tc_Cards.SelectedIndex) IsNot Nothing Then CardPiece.data = HexStringToByteArray(cardPieces(tc_Cards.SelectedIndex))
cb_Black.Checked = CardPiece.Black
cb_White.Checked = CardPiece.White
cb_Black2.Checked = CardPiece.Black2
cb_White2.Checked = CardPiece.White2
cb_Black.Checked = Card.Black(tc_Cards.SelectedIndex)
cb_White.Checked = Card.White(tc_Cards.SelectedIndex)
cb_Black2.Checked = Card.Black2(tc_Cards.SelectedIndex)
cb_White2.Checked = Card.White2(tc_Cards.SelectedIndex)
End If
End Sub
'Saves Panel settings
Private Sub SavePanel()
'File.WriteAllBytes(Local & "\cards\" & tc_Cards.SelectedTab.Text & ".bin", CardPiece.data)
With pn_Settings
.pnl_Strings(tc_Cards.SelectedIndex) = lb_PGF.Text
.pnl_Strings(tc_Cards.SelectedIndex + 8) = rtb_EventMsg.Text
.maxLimit(tc_Cards.SelectedIndex) = cb_MaxLimit.Checked
'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
.maxLimit(tc_Cards.SelectedIndex) = cb_MaxLimit.Checked
End With
'Dim t(&H2D8) As Byte
'For i = 0 To &H2D8
't(i) = 0
'Next
'CardPiece.data = t
End Sub
'Panel Settings
@@ -352,42 +340,51 @@ Public Class Main5
If res <> Windows.Forms.DialogResult.Cancel Then
Dim myFile As String = Path.GetFileName(OpenFile.FileName)
lb_PGF.Text = myFile
CardPiece.Wondercard = File.ReadAllBytes(OpenFile.FileName)
File.WriteAllBytes(Local & "\testCP.bin", CardPiece.data)
WC.Data = File.ReadAllBytes(OpenFile.FileName)
With WC
.RecieveDay = 0
.RecieveMonth = 0
.RecieveYear = 0
End With
Card.Wondercards(tc_Cards.SelectedIndex) = WC.Data
WC = New PGF
End If
'Enable/Disable controls
End Sub
Private Sub Bt_Custom_Click(sender As Object, e As EventArgs) Handles bt_Custom.Click
PGFCreator.ShowDialog()
End Sub
Private Sub Cb_Black_CheckedChanged(sender As Object, e As EventArgs) Handles cb_Black.CheckedChanged
Select Case cb_Black.Checked
Case True
CardPiece.Black = True
Card.Black(tc_Cards.SelectedIndex) = True
Case False
CardPiece.Black = False
Card.Black(tc_Cards.SelectedIndex) = False
End Select
End Sub
Private Sub Cb_White_CheckedChanged(sender As Object, e As EventArgs) Handles cb_White.CheckedChanged
Select Case cb_White.Checked
Case True
CardPiece.White = True
Card.White(tc_Cards.SelectedIndex) = True
Case False
CardPiece.White = False
Card.White(tc_Cards.SelectedIndex) = False
End Select
End Sub
Private Sub Cb_Black2_CheckedChanged(sender As Object, e As EventArgs) Handles cb_Black2.CheckedChanged
Select Case cb_Black2.Checked
Case True
CardPiece.Black2 = True
Card.Black2(tc_Cards.SelectedIndex) = True
Case False
CardPiece.Black2 = False
Card.Black2(tc_Cards.SelectedIndex) = False
End Select
End Sub
Private Sub Cb_White2_CheckedChanged(sender As Object, e As EventArgs) Handles cb_White2.CheckedChanged
Select Case cb_White2.Checked
Case True
CardPiece.White2 = True
Card.White2(tc_Cards.SelectedIndex) = True
Case False
CardPiece.White2 = False
Card.White2(tc_Cards.SelectedIndex) = False
End Select
End Sub
@@ -395,31 +392,31 @@ Public Class Main5
If doneLoad Then
Select Case cb_Region.SelectedIndex
Case < 5
CardPiece.LangChecksum = langCksm(cb_Region.SelectedIndex)
CardPiece.Language = langs(cb_Region.SelectedIndex)
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex)
Card.Language(tc_Cards.SelectedIndex) = langs(cb_Region.SelectedIndex)
Case 5
CardPiece.LangChecksum = langCksm(cb_Region.SelectedIndex)
CardPiece.Language = langs(0)
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex)
Card.Language(tc_Cards.SelectedIndex) = langs(0)
Case Else
CardPiece.LangChecksum = langCksm(cb_Region.SelectedIndex - 1)
CardPiece.Language = langs(0)
Card.LangChecksum(tc_Cards.SelectedIndex) = langCksm(cb_Region.SelectedIndex - 1)
Card.Language(tc_Cards.SelectedIndex) = langs(0)
End Select
End If
End Sub
Private Sub StartDatePicker_ValueChanged(sender As Object, e As EventArgs) Handles StartDatePicker.ValueChanged
Private Sub StartDatePicker_ValueChanged(sender As Object, e As EventArgs) Handles StartDatePicker.ValueChanged, cb_MaxLimit.CheckedChanged
If doneLoad Then
CardPiece.StartDay = StartDatePicker.Value.Day
CardPiece.StartMonth = StartDatePicker.Value.Month
CardPiece.StartYear = StartDatePicker.Value.Year
Card.StartDays(tc_Cards.SelectedIndex) = StartDatePicker.Value.Day
Card.StartMonths(tc_Cards.SelectedIndex) = StartDatePicker.Value.Month
Card.StartYears(tc_Cards.SelectedIndex) = StartDatePicker.Value.Year
End If
End Sub
Private Sub EndDatePicker_ValueChanged(sender As Object, e As EventArgs) Handles EndDatePicker.ValueChanged
Private Sub EndDatePicker_ValueChanged(sender As Object, e As EventArgs) Handles EndDatePicker.ValueChanged, cb_MaxLimit.CheckedChanged
If doneLoad Then
CardPiece.EndDay = EndDatePicker.Value.Day
CardPiece.EndMonth = EndDatePicker.Value.Month
CardPiece.EndYear = EndDatePicker.Value.Year
Card.EndDays(tc_Cards.SelectedIndex) = EndDatePicker.Value.Day
Card.EndMonths(tc_Cards.SelectedIndex) = EndDatePicker.Value.Month
Card.EndYears(tc_Cards.SelectedIndex) = EndDatePicker.Value.Year
End If
End Sub
@@ -428,8 +425,8 @@ Public Class Main5
Case True
lb_Start.Enabled = False
lb_End.Enabled = False
tempDate(tc_Cards.SelectedIndex) = StartDatePicker.Value
tempDate(tc_Cards.SelectedIndex + 8) = EndDatePicker.Value
pn_Settings.dates(tc_Cards.SelectedIndex) = StartDatePicker.Value
pn_Settings.dates(tc_Cards.SelectedIndex + 8) = EndDatePicker.Value
StartDatePicker.Value = New DateTime(1753, 1, 1)
EndDatePicker.Value = New DateTime(9998, 12, 31)
StartDatePicker.Enabled = False
@@ -437,62 +434,25 @@ Public Class Main5
Case False
lb_Start.Enabled = True
lb_End.Enabled = True
StartDatePicker.Value = tempDate(tc_Cards.SelectedIndex)
EndDatePicker.Value = tempDate(tc_Cards.SelectedIndex + 8)
If pn_Settings.dates(tc_Cards.SelectedIndex) <> Nothing Then StartDatePicker.Value = pn_Settings.dates(tc_Cards.SelectedIndex)
If pn_Settings.dates(tc_Cards.SelectedIndex + 8) <> Nothing Then EndDatePicker.Value = pn_Settings.dates(tc_Cards.SelectedIndex + 8)
StartDatePicker.Enabled = True
EndDatePicker.Enabled = True
End Select
End Sub
Private Sub Rtb_EventMsg_TextChanged(sender As Object, e As EventArgs) Handles rtb_EventMsg.TextChanged
CardPiece.EventText = rtb_EventMsg.Text.Replace(ChrW(&HA00), ChrW(&HFEFF))
'File.WriteAllBytes(Local & "\cards\" & tc_Cards.SelectedTab.Text & ".bin", CardPiece.data)
SavePanel()
Card.EventText(tc_Cards.SelectedIndex) = rtb_EventMsg.Text.Replace(vbLf, ChrW(&HFFFE))
End Sub
Private Sub Bt_Build_Click(sender As Object, e As EventArgs) Handles bt_Build.Click
SavePanel()
'File.WriteAllBytes(Local & "\testCP.bin", HexStringToByteArray(cardPieces(0)))
With Card
'Dim listOfCards As New List(Of Byte())({ .Card_1, .Card_2, .Card_3, .Card_4, .Card_5, .Card_6, .Card_7, .Card_8})
'Dim listOfDates As New List(Of UShort)({ .StartDay_1, .StartDay_2, .StartDay_3, .StartDay_4, .StartDay_5, .StartDay_6, .StartDay_7, .StartDay_8})
'Dim n = 0
'For Each i As Byte() In listOfCards
' i = cardPieces(n).Take(&H2D0)
' n += 1
'Next i
'For n = 0 To .NumberOfCards - 1 Step 1
' If cardPieces(n) IsNot Nothing Then
' CardPiece.data = HexStringToByteArray(cardPieces(n))
' .Cards(n) = CardPiece.data.Take(&H2D0).ToArray()
' .StartYears(n) = CardPiece.StartYear
' .StartMonths(n) = CardPiece.StartMonth
' .StartDays(n) = CardPiece.StartDay
' .EndYears(n) = CardPiece.EndYear
' .EndMonths(n) = CardPiece.EndMonth
' .EndDays(n) = CardPiece.EndDay
' .NumberOfCards += 1
' CardPiece = New Card5P
' End If
'Next n
'File.WriteAllBytes(Local & "\outputCard.bin", .Data)
Card.Unknown14 = &H14
File.WriteAllBytes(Local & "\outputCard.bin", Card.Data)
Dim listOfCards As New List(Of String)({"Card 1.bin", "Card 2.bin", "Card 3.bin", "Card 4.bin", "Card 5.bin", "Card 6.bin", "Card 7.bin", "Card 8.bin"})
For Each i As String In listOfCards
If File.Exists(Local & "\cards\" & i) Then
CardPiece.data = File.ReadAllBytes(Local & "\cards\" & i)
Dim n = listOfCards.IndexOf(i)
.Cards(n) = CardPiece.data.Take(&H2D0).ToArray()
.StartYears(n) = CardPiece.StartYear
.StartMonths(n) = CardPiece.StartMonth
.StartDays(n) = CardPiece.StartDay
.EndYears(n) = CardPiece.EndYear
.EndMonths(n) = CardPiece.EndMonth
.EndDays(n) = CardPiece.EndDay
CardPiece = New Card5P
End If
Next i
File.WriteAllBytes(Local & "\outputCard.bin", .Data)
End With
Process.Start(Local & "\tools\extract.bat").WaitForExit()
File.Delete(Local & "\tools\data\data.bin")
File.Copy(Local & "\outputCard.bin", Local & "\tools\data\data.bin")
Process.Start(Local & "\tools\compile.bat").WaitForExit()
Process.Start(Local & "\tools\clean.bat").WaitForExit()
End Sub
End Class

View File

@@ -394,7 +394,10 @@ Game: " & Origin(InputPK5.Origin))
'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)
'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()
End Sub
#End Region
End Class

Binary file not shown.