mirror of
https://github.com/RenegadeRaven/PKMG5DC.git
synced 2026-09-09 02:55:31 -05:00
Got Stuff working
Almost done Just some spiffing, etc. left
This commit is contained in:
700
PKMG5DC/Card5.vb
700
PKMG5DC/Card5.vb
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
162
PKMG5DC/Main5.vb
162
PKMG5DC/Main5.vb
@@ -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
|
||||
@@ -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.
Reference in New Issue
Block a user