diff --git a/.vs/SkyReader-GUI/v16/.suo b/.vs/SkyReader-GUI/v16/.suo index 34ca8d3..98b781b 100644 Binary files a/.vs/SkyReader-GUI/v16/.suo and b/.vs/SkyReader-GUI/v16/.suo differ diff --git a/SkyReader-GUI/AES.vb b/SkyReader-GUI/AES.vb index 672c306..ea7b4f4 100644 --- a/SkyReader-GUI/AES.vb +++ b/SkyReader-GUI/AES.vb @@ -1,6 +1,6 @@ Imports System.Security.Cryptography Imports System.Text -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO Public Class AES 'Public Shared HeaderBytes() As Byte = Nothing 'Encryption Notes diff --git a/SkyReader-GUI/Area.Designer.vb b/SkyReader-GUI/Area.Designer.vb new file mode 100644 index 0000000..d94a030 --- /dev/null +++ b/SkyReader-GUI/Area.Designer.vb @@ -0,0 +1,91 @@ + _ +Partial Class frmArea + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + 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. + _ + Private Sub InitializeComponent() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.picB = New System.Windows.Forms.PictureBox() + Me.picA = New System.Windows.Forms.PictureBox() + CType(Me.picB, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picA, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(70, 11) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(14, 13) + Me.Label6.TabIndex = 19 + Me.Label6.Text = "B" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(21, 11) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(14, 13) + Me.Label1.TabIndex = 18 + Me.Label1.Text = "A" + ' + 'picB + ' + Me.picB.Location = New System.Drawing.Point(61, 27) + Me.picB.Name = "picB" + Me.picB.Size = New System.Drawing.Size(32, 29) + Me.picB.TabIndex = 17 + Me.picB.TabStop = False + ' + 'picA + ' + Me.picA.Location = New System.Drawing.Point(12, 27) + Me.picA.Name = "picA" + Me.picA.Size = New System.Drawing.Size(32, 29) + Me.picA.TabIndex = 16 + Me.picA.TabStop = False + ' + 'frmArea + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(120, 87) + Me.Controls.Add(Me.picA) + Me.Controls.Add(Me.Label6) + Me.Controls.Add(Me.picB) + Me.Controls.Add(Me.Label1) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmArea" + Me.Text = "Area?" + CType(Me.picB, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picA, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Label6 As Label + Friend WithEvents Label1 As Label + Friend WithEvents picB As PictureBox + Friend WithEvents picA As PictureBox +End Class diff --git a/SkyReader-GUI/Area.resx b/SkyReader-GUI/Area.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SkyReader-GUI/Area.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SkyReader-GUI/Area.vb b/SkyReader-GUI/Area.vb new file mode 100644 index 0000000..3a7f128 --- /dev/null +++ b/SkyReader-GUI/Area.vb @@ -0,0 +1,30 @@ +Imports SkyReader_GUI.frmMain +Public Class frmArea + Private Sub frmArea_Load(sender As Object, e As EventArgs) Handles MyBase.Load + End Sub + Sub Clear() + picA.BackColor = Color.Gray + picB.BackColor = Color.Gray + End Sub + Sub Area0_1() + Application.DoEvents() + If Area0 > Area1 Then + picA.BackColor = Color.Green + picB.BackColor = Color.Gray + ElseIf Area1 > Area0 Then + picA.BackColor = Color.Gray + picB.BackColor = Color.Green + ElseIf Area0 = Area1 Then + picA.BackColor = Color.Green + picB.BackColor = Color.Gray + End If + End Sub + Private Sub frmArea_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing + picA.BackColor = Color.Gray + picB.BackColor = Color.Gray + 'Hide Form + Hide() + 'Don't actually close this Form. + e.Cancel = True + End Sub +End Class \ No newline at end of file diff --git a/SkyReader-GUI/CRC16CCITT.vb b/SkyReader-GUI/CRC16CCITT.vb index d0771c9..c975098 100644 --- a/SkyReader-GUI/CRC16CCITT.vb +++ b/SkyReader-GUI/CRC16CCITT.vb @@ -1,4 +1,4 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO Public Class CRC16CCITT 'Our Checksum that will be generated. diff --git a/SkyReader-GUI/Challenges.vb b/SkyReader-GUI/Challenges.vb index a402b2c..b97aefb 100644 --- a/SkyReader-GUI/Challenges.vb +++ b/SkyReader-GUI/Challenges.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class Challenges Shared Sub GetChallenges() Dim HeroicChallengesArea0(3) As Byte @@ -55,18 +56,18 @@ Public Class Challenges Dim Counter As Integer = 0 - 'ReCheck this write + 'ReCheck this write - Do Until Counter = 4 - WholeFile(&HD6 + Counter) = HeroicChallenges(Counter) - Counter += 1 - Loop + Do Until Counter = 4 + WholeFile(&HD6 + Counter) = HeroicChallenges(Counter) + Counter += 1 + Loop - Counter = 0 - Do Until Counter = 4 - WholeFile(&H296 + Counter) = HeroicChallenges(Counter) - Counter += 1 - Loop + Counter = 0 + Do Until Counter = 4 + WholeFile(&H296 + Counter) = HeroicChallenges(Counter) + Counter += 1 + Loop - End Sub + End Sub End Class diff --git a/SkyReader-GUI/Exp.vb b/SkyReader-GUI/Exp.vb index 9e9f04b..f00aed9 100644 --- a/SkyReader-GUI/Exp.vb +++ b/SkyReader-GUI/Exp.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain 'WARNING: 'We don't Try and Catch here. Due to complexity of the values Public Class Exp diff --git a/SkyReader-GUI/FigureIO.vb b/SkyReader-GUI/FigureIO.vb new file mode 100644 index 0000000..4ff02fc --- /dev/null +++ b/SkyReader-GUI/FigureIO.vb @@ -0,0 +1,656 @@ +Imports System.IO +Imports SkyReader_GUI.frmMain +'This Class will Handle all the Figure Input and Output Functionality. And will call the Portal I/O as well. +Public Class FigureIO + 'Shared Variables + 'We need to make BR and FS public shared so other Classes can access it + Public Shared fs As FileStream + Public Shared br As BinaryReader + Public Shared WholeFile(1023) As Byte + Public Shared blnEncrypted As Boolean = False + Public Shared File As String + + + 'These three are the Unique trio. They are not like other figures + Public Shared blnTrap As Boolean = False + Public Shared BlnVehicle As Boolean = False + Public Shared blnCrystal As Boolean = False + + 'Call all the Functions for the Figure, when relevant. + 'TODO: + 'Improve Figure Identification and Handling. + + Public Shared Sub Load_File() + Dim result As DialogResult = frmMain.ofdSky.ShowDialog() + If result = DialogResult.OK Then + ' Test result. + File = frmMain.ofdSky.FileName + Else + 'Do Nothing + Exit Sub + End If + + Try + fs = New FileStream(File, FileMode.Open) + Catch ex As Exception + 'frmLog.rtxLog.Text = frmLog.rtxLog.Text & Date.Now & "Unable to Open " & File + 'frmLog.Show() + Exit Sub + End Try + + If fs.Length = 1024 Then + ElseIf fs.Length = 2048 Then + 'SWAP + 'MessageBox.Show("Sorry, this program does not handle a Maxlander Swap Force Dump.") + frmMain.SaldeStatus.Text = "Sorry, this program does not handle a Maxlander Swap Force Dump." + 'frmLog.rtxLog.Text = frmLog.rtxLog.Text & Date.Now & "Sorry, this program does not handle a Maxlander Swap Force Dump." + 'frmLog.Show() + Exit Sub + Else + 'frmLog.rtxLog.Text = frmLog.rtxLog.Text & Date.Now & "The Figure must be 1 Kilobyte." + 'frmLog.Show() + frmMain.SaldeStatus.Text = "The Figure must be 1 Kilobyte." + fs.Close() + Exit Sub + End If + 'Reset the Form, Just in Case + frmMain.cmbGame.SelectedIndex = 0 + frmMain.cmbHat.SelectedIndex = 0 + br = New BinaryReader(fs) + 'Put the whole file into an array. + WholeFile = br.ReadBytes(1024) + br.Close() 'close the Binary Reader + fs.Close() ' close the FileStream + + Parse_Figure() + End Sub + Public Shared Sub Parse_Figure() + 'We set the Decrypted Flag here + blnEncrypted = False + 'We set the Unique Trio Booleans to False. + BlnVehicle = False + blnTrap = False + blnCrystal = False + 'We Reset WebCode here and early. + frmMain.lblWebCode.Text = "" + 'We can get the Figure's ID and Variant ID without Needing Encryption/Decryption + 'Get Figure ID and Alter Ego/Variant + Figures.GetFigureID_AlterEgo_Variant() + + 'Because Traps, Vehciles and Crystals are writing bytes to where the Nickname would normally show up, we Do NOT attempt to Decrypt here. + 'Though, Crystals may write here? + If blnTrap = False And blnCrystal = False And BlnVehicle = False Then + blnEncrypted = Enc_Fig() + ElseIf blnTrap = True Then + blnEncrypted = Enc_Trap() + ElseIf BlnVehicle = True Then + blnEncrypted = Enc_Veh() + ElseIf blnCrystal = True Then + 'Not Implimented Yet. + End If + If blnEncrypted = True Then + Decrypt() + End If + + 'Calculate the Checksums + 'Does NOT handle Traps or Crystals, yet. + CRC16CCITT.Checksums() + 'Determine if we are going to use Area 0 or Area 1 + Figures.Area0orArea1() + frmArea.Area0_1() + + 'We break here if Vehicle, Crystal, Item or Trap + If BlnVehicle = True Then + Application.DoEvents() + Dim frmVehicles As New frmVehicles + frmVehicles.Show() + frmMain.Hide() + Exit Sub + ElseIf blnTrap = True Then + Application.DoEvents() + Dim frmTraps As New frmTraps + frmTraps.Show() + frmMain.Hide() + Exit Sub + ElseIf blnCrystal = True Then +#If DEBUG Then + Application.DoEvents() + Dim FrmCrystals As New frmCrystals + FrmCrystals.Show() + frmMain.Hide() + Exit Sub +#Else + frmMain.SaldeStatus.Text = "Crystals are not supported, yet." + Exit Sub +#End If + + End If + + 'Get the Current Skill Path. + Skills.GetSkillPath() + + 'Get the Current Hero Points value for Areas A and B. Show the Larger Value. + Hero.GetHero() + + 'Get the Current Gold values for Areas A and B. Show the Larger Value. + Gold.GetGold() + + 'Get EXP + Exp.GetEXP() + + 'Get the Current Heroic Challenges value for Areas A and B. Show the Larger Value. + Challenges.GetChallenges() + + 'Show us what Figure we got. + 'Show us the Figures ID and Variant ID + 'Figures.ShowID() + + 'Mostly complete Detection + Figures.FigureItOut() + + 'Select the Hat + Hats.ReadHats() + 'btnSaveAs.Enabled = True + 'btnWrite.Enabled = True + + Web_Code.Load() + 'btnSaveAs.Enabled = True + 'btnWrite.Enabled = True + + System_ID.ReadSystem_ID() + End Sub + + 'Write_Data write's Data to the Figures. + 'Note that Traps, Vehicles and Crystals do NOT use this because they have their own Editor that is used. + Public Shared Sub Write_Data() + If BlnVehicle = False And blnTrap = False And blnCrystal = False Then + 'Set Data that changed. + Challenges.WriteChallenges() + Exp.WriteEXP() + Gold.WriteGold() + Hero.WriteHero() + Nickname.SetNickname() + Hats.WriteHats() + If frmMain.numLevel.Value >= 10 Then + Skills.WriteSkillPath() + End If + End If + If blnTrap = True Then + 'Special Byte Data Writes + Dim ZeroTrap As Integer = 0 + 'Add 13 to reach End of Block + '194 = 0C2 + '258 = 102 + '322 = 142 + '386 = 182 + '450 = 1C2 + '515 = 202 + + 'Then we do Area 2 + '+1C0 + '642 = 282 + '706 = 2C2 + '770 = 302 + '834 = 342 + '898 = 382 + '962 = 3C2 + + Dim Trap_Name() As Integer = {194, 258, 322, 386, 450, 515, 642, 706, 770, 834, 898, 962} + Dim TrapCounter As Integer = 0 + + Do Until TrapCounter = 12 + WholeFile(Trap_Name(TrapCounter) + ZeroTrap) = &H0 + If ZeroTrap = 13 Then + ZeroTrap = 0 + TrapCounter += 1 + Else + ZeroTrap += 1 + End If + Loop + ElseIf BlnVehicle = True Then + 'Special Byte Data Writes + Dim ZeroVehicle As Integer = 0 + '192 = 0C0 + '+1C0 + '640 = 280 + Do Until ZeroVehicle = 14 + WholeFile(192 + ZeroVehicle) = &H0 + ZeroVehicle += 1 + Loop + ZeroVehicle = 0 + Do Until ZeroVehicle = 14 + WholeFile(640 + ZeroVehicle) = &H0 + ZeroVehicle += 1 + Loop + ElseIf blnCrystal = True Then + 'Special Byte Data Writes + 'Not Implimented, Yet. + End If + 'All Figures need these Functions still. + 'Write the System ID + System_ID.WriteSystem() + 'Fix Read/Write Blocks + Figures.Fixing_Bytes() + 'In theory, this will fix any issues with the Edited Dumps. + Figures.SetArea0AndArea1() + 'Fix the Checksums. + CRC16CCITT.WriteCheckSums() + End Sub + Public Shared Sub Write_Decrypted_Figure() + 'Save As + Dim dialog As New SaveFileDialog With { + .Filter = "Dump File (*.bin)|*.bin|All files (*.*)|*.*", + .FilterIndex = 1, + .RestoreDirectory = True, + .Title = "Save Decrypted Dump", + .FileName = frmMain.lstCharacters.SelectedItem + } + If (dialog.ShowDialog = DialogResult.OK) Then + Dim NewFile As String = dialog.FileName + + If frmMain.chkSerial.Checked = True Then + CRC16CCITT.GenerateNewSerial() + End If + Figures.EditCharacterIDVariant() + Write_Data() + 'Now we write the file. + fs = New FileStream(NewFile, FileMode.OpenOrCreate) + fs.Write(WholeFile, 0, WholeFile.Length) + fs.Flush() + fs.Close() + End If + End Sub + + Public Shared Sub Write_Encrypted_Figure() + 'Save As + Dim dialog As New SaveFileDialog With { + .Filter = "Dump File (*.bin)|*.bin|All files (*.*)|*.*", + .FilterIndex = 1, + .RestoreDirectory = True, + .Title = "Save Encrypted Dump", + .FileName = frmMain.lstCharacters.SelectedItem + } + If (dialog.ShowDialog = DialogResult.OK) Then + Dim NewFile As String = dialog.FileName + + If frmMain.chkSerial.Checked = True Then + CRC16CCITT.GenerateNewSerial() + End If + Figures.EditCharacterIDVariant() + Write_Data() + 'Since we are Writing an Encrypted Figure, I need to Re-Encrypt it. + Encrypt() + 'Now we write the file. + fs = New FileStream(NewFile, FileMode.OpenOrCreate) + fs.Write(WholeFile, 0, WholeFile.Length) + fs.Flush() + fs.Close() + 'We Decrypt after we are done. + Decrypt() + End If + End Sub + + Public Shared Sub Raw_Write() + 'Save As + Dim dialog As New SaveFileDialog With { + .Filter = "Dump File (*.bin)|*.bin|All files (*.*)|*.*", + .FilterIndex = 1, + .RestoreDirectory = True, + .Title = "Save Decrypted Dump", + .FileName = frmMain.lstCharacters.SelectedItem + } + + If (dialog.ShowDialog = DialogResult.OK) Then + Dim NewFile As String = dialog.FileName + fs = New FileStream(NewFile, FileMode.OpenOrCreate) + fs.Write(WholeFile, 0, WholeFile.Length) + fs.Flush() + fs.Close() + End If + End Sub + 'We Put Decryption and Encrytion in this Module due to being Relevant to Figure I/O + + Public Shared Sub Decrypt() + 'Get Header Bytes + AES.Header() +#Region " Blocks " + 'The Following blocks (Offsets) are NOT encrypted + 'All Offsets are in Hex and counted as such. + '0x000 Through 0x70 + '0x0B0 + '0x0F0 + '0x130 + '0x170 + '0x1B0 + '0x1F0 + '0x230 + '0x270 + '0x2B0 + '0x2F0 + '0x330 + '0x370 + '0x3B0 + '0X3F0 + + 'Offsets that are Encrypted: (All 16 Bytes in Length) + '0x080 '128 'Need 08 + '0x090 '144 'Need 09 + '0x0A0 'Nickname A '160 'Need 0A Not A0 '150 Diff + + '0x0C0 '192 + '0x0D0 '208 + '0x0E0 '224 + + '0x100 '256 + '0x110 '272 + '0x120 '288 + + '0x140 '320 + '0x150 '336 + '0x160 '352 + + '0x180 '384 + '0x190 '400 + '0x1A0 '416 + + '0x1C0 '448 + '0x1D0 '464 + '0x1E0 '480 + + '0x200 '512 + '0x210 '528 + '0x220 '544 + + '0x240 '576 + '0x250 '592 + '0x260 'Nickname B '608 + + '0x280 '640 + '0x290 '656 + '0x2A0 '672 + + '0x2C0 '704 + '0x2D0 '720 + '0x2E0 '736 + + '0x300 '768 + '0x310 '784 + '0x320 '800 + + '0x340 '832 + '0x350 '848 + '0x360 '864 + + '0x380 '896 + '0x390 '912 + '0x3A0 '928 + + '0x3C0 '960 + '0x3D0 '976 + '0x3E0 '992 +#End Region + + Dim Offsets = New Integer() {128, 144, 160, 192, 208, 224, 256, 272, 288, 320, 336, 352, 384, 400, 416, 448, 464, 480, 512, 528, 544, 576, 592, 608, 640, 656, 672, 704, 720, 736, 768, 784, 800, 832, 848, 864, 896, 912, 928, 960, 976, 992} + Dim AreaKey = New Byte() {&H8, &H9, &HA, &HC, &HD, &HE, &H10, &H11, &H12, &H14, &H15, &H16, &H18, &H19, &H1A, &H1C, &H1D, &H1E, &H20, &H21, &H22, &H24, &H25, &H26, &H28, &H29, &H2A, &H2C, &H2D, &H2E, &H30, &H31, &H32, &H34, &H35, &H36, &H38, &H39, &H3A, &H3C, &H3D, &H3E} + 'MessageBox.Show(AreaKey.Length) + Dim AreaBytes(15) As Byte + + 'MessageBox.Show(Offsets.Length) '42 + + Dim OffsetCounter As Integer = 0 + + Dim Counter As Integer = 0 'Necessary to add one to the Byte array Offset + Dim HeadByteCounter As Integer = 0 '= 160 'Use Integer, FTW! + Do Until OffsetCounter = 42 + HeadByteCounter = Offsets(OffsetCounter) + 'MessageBox.Show(HeadByteCounter) + 'Get Bytes from the Encrypted Offset + Do Until Counter = 16 + 'Fill areaBytes, with WholeFile. + 'AreaBytes(0-15) = WholeFile(HeadByteCounter) + AreaBytes(Counter) = WholeFile(HeadByteCounter) + HeadByteCounter += 1 + Counter += 1 + Loop + + 'MessageBox.Show("ValueBytes " & BitConverter.ToString(AreaBytes)) + 'MessageBox.Show("AreaKey " & AreaKey(OffsetCounter)) + AES.GetKey(AreaKey(OffsetCounter)) + + Dim Output As Byte() = AES.AESD(AreaBytes, AES.FullKey) + + 'Fillback Loop + Counter = 0 + HeadByteCounter = Offsets(OffsetCounter) 'Use Integer, FTW! + 'Data back in + Do Until Counter = 16 + WholeFile(HeadByteCounter) = Output(Counter) + HeadByteCounter += 1 + Counter += 1 + Loop + + 'MessageBox.Show("Output " & BitConverter.ToString(Output)) + + Counter = 0 + OffsetCounter += 1 + Loop + 'MessageBox.Show("Nickname") + 'We get Nickname here, to see if it's still Encrypted. + Nickname.GetNickname() + End Sub + Public Shared Sub Encrypt() + 'Get Header Bytes + AES.Header() +#Region " Blocks " + 'The Following blocks (Offsets) are NOT encrypted + 'All Offsets are in Hex and counted as such. + '0x000 Through 0x70 + '0x0B0 + '0x0F0 + '0x130 + '0x170 + '0x1B0 + '0x1F0 + '0x230 + '0x270 + '0x2B0 + '0x2F0 + '0x330 + '0x370 + '0x3B0 + '0X3F0 + + 'Offsets that are Encrypted: (All 16 Bytes in Length) + '0x080 '128 'Need 08 + '0x090 '144 'Need 09 + '0x0A0 'Nickname A '160 'Need 0A Not A0 '150 Diff + + '0x0C0 '192 + '0x0D0 '208 + '0x0E0 '224 + + '0x100 '256 + '0x110 '272 + '0x120 '288 + + '0x140 '320 + '0x150 '336 + '0x160 '352 + + '0x180 '384 + '0x190 '400 + '0x1A0 '416 + + '0x1C0 '448 + '0x1D0 '464 + '0x1E0 '480 + + '0x200 '512 + '0x210 '528 + '0x220 '544 + + '0x240 '576 + '0x250 '592 + '0x260 'Nickname B '608 + + '0x280 '640 + '0x290 '656 + '0x2A0 '672 + + '0x2C0 '704 + '0x2D0 '720 + '0x2E0 '736 + + '0x300 '768 + '0x310 '784 + '0x320 '800 + + '0x340 '832 + '0x350 '848 + '0x360 '864 + + '0x380 '896 + '0x390 '912 + '0x3A0 '928 + + '0x3C0 '960 + '0x3D0 '976 + '0x3E0 '992 +#End Region + + Dim Offsets = New Integer() {128, 144, 160, 192, 208, 224, 256, 272, 288, 320, 336, 352, 384, 400, 416, 448, 464, 480, 512, 528, 544, 576, 592, 608, 640, 656, 672, 704, 720, 736, 768, 784, 800, 832, 848, 864, 896, 912, 928, 960, 976, 992} + Dim AreaKey = New Byte() {&H8, &H9, &HA, &HC, &HD, &HE, &H10, &H11, &H12, &H14, &H15, &H16, &H18, &H19, &H1A, &H1C, &H1D, &H1E, &H20, &H21, &H22, &H24, &H25, &H26, &H28, &H29, &H2A, &H2C, &H2D, &H2E, &H30, &H31, &H32, &H34, &H35, &H36, &H38, &H39, &H3A, &H3C, &H3D, &H3E} + 'MessageBox.Show(AreaKey.Length) + Dim AreaBytes(15) As Byte + + 'MessageBox.Show(Offsets.Length) '42 + + Dim OffsetCounter As Integer = 0 + + Dim Counter As Integer = 0 'Necessary to add one to the Byte array Offset + Dim HeadByteCounter As Integer = 0 '= 160 'Use Integer, FTW! + Do Until OffsetCounter = 42 + HeadByteCounter = Offsets(OffsetCounter) + 'MessageBox.Show(HeadByteCounter) + 'Get Bytes from the Encrypted Offset + Do Until Counter = 16 + 'Fill areaBytes, with WholeFile. + 'AreaBytes(0-15) = WholeFile(HeadByteCounter) + AreaBytes(Counter) = WholeFile(HeadByteCounter) + HeadByteCounter += 1 + Counter += 1 + Loop + + 'MessageBox.Show("ValueBytes " & BitConverter.ToString(AreaBytes)) + 'MessageBox.Show("AreaKey " & AreaKey(OffsetCounter)) + AES.GetKey(AreaKey(OffsetCounter)) + + Dim Output As Byte() = AES.AESE(AreaBytes, AES.FullKey) + + 'Fillback Loop + Counter = 0 + HeadByteCounter = Offsets(OffsetCounter) 'Use Integer, FTW! + 'Data back in + Do Until Counter = 16 + WholeFile(HeadByteCounter) = Output(Counter) + HeadByteCounter += 1 + Counter += 1 + Loop + + 'MessageBox.Show("Output " & BitConverter.ToString(Output)) + + Counter = 0 + OffsetCounter += 1 + Loop + End Sub + + Public Shared Function Enc_Fig() + 'We do a special Check for Bytes Being Set in the wrong places. + 'Check 0x150 through 0x15F + 'Check 0x310 through 0x31F + '336 = 150 + '784 = 310 + Dim ZeroFigure As Integer = 0 + Do Until ZeroFigure = 16 + If WholeFile(336 + ZeroFigure) <> &H0 Then + Return True + Else + ZeroFigure += 1 + End If + Loop + ZeroFigure = 0 + Do Until ZeroFigure = 16 + If WholeFile(784 + ZeroFigure) <> &H0 Then + Return True + Else + ZeroFigure += 1 + End If + Loop + Return False + End Function + Public Shared Function Enc_Trap() + 'We do a Clean Check for If the Trap is Encrypted, by checking places we KNOW should be blank. + 'Special Byte Data Writes + Dim ZeroTrap As Integer = 0 + 'Add 13 to reach End of Block + '194 = 0C2 + '258 = 102 + '322 = 142 + '386 = 182 + '450 = 1C2 + '515 = 202 + + 'Then we do Area 2 + '+1C0 + '642 = 282 + '706 = 2C2 + '770 = 302 + '834 = 342 + '898 = 382 + '962 = 3C2 + + Dim Trap_Name() As Integer = {194, 258, 322, 386, 450, 515, 642, 706, 770, 834, 898, 962} + Dim TrapCounter As Integer = 0 + Do Until TrapCounter = 12 + If WholeFile(Trap_Name(TrapCounter) + ZeroTrap) <> &H0 Then + Return True + Else + If ZeroTrap = 13 Then + ZeroTrap = 0 + TrapCounter += 1 + Else + ZeroTrap += 1 + End If + End If + + Loop + Return False + End Function + Public Shared Function Enc_Veh() + 'We do a Clean Check for If the Vehicle is Encrypted, by checking places we KNOW should be blank. + 'Special Byte Data Checks + Dim ZeroVehicle As Integer = 0 + '192 = 0C0 + '+1C0 + '640 = 280 + Do Until ZeroVehicle = 14 + 'WholeFile(192 + ZeroVehicle) = &H0 + If WholeFile(192 + ZeroVehicle) <> &H0 Then + Return True + Else + ZeroVehicle += 1 + End If + Loop + ZeroVehicle = 0 + Do Until ZeroVehicle = 14 + 'WholeFile(640 + ZeroVehicle) = &H0 + If WholeFile(640 + ZeroVehicle) <> &H0 Then + blnEncrypted = True + Else + ZeroVehicle += 1 + End If + Loop + 'Default Action + Return False + End Function +End Class diff --git a/SkyReader-GUI/Figures.vb b/SkyReader-GUI/Figures.vb index 4a10f8f..0cd9926 100644 --- a/SkyReader-GUI/Figures.vb +++ b/SkyReader-GUI/Figures.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class Figures 'This handles all the Figure data Public Shared Var As String @@ -54,14 +55,16 @@ Public Class Figures frmMain.Save_Enc_ToolStripMenuItem.Enabled = False frmMain.Save_Dec_ToolStripMenuItem.Enabled = False frmMain.WriteSkylanderToolStripMenuItem.Enabled = False - frmMain.WriteSwapperOtherHalfToolStripMenuItem.Enabled = False + frmMain.WriteSecondFigureToolStripMenuItem.Enabled = False End Sub Shared Sub EnableWrite() frmMain.SaldeStatus.Text = "Ready" frmMain.Save_Enc_ToolStripMenuItem.Enabled = True frmMain.Save_Dec_ToolStripMenuItem.Enabled = True - frmMain.WriteSkylanderToolStripMenuItem.Enabled = True - frmMain.WriteSwapperOtherHalfToolStripMenuItem.Enabled = True + If Portal.blnPortal = True Then + frmMain.WriteSkylanderToolStripMenuItem.Enabled = True + frmMain.WriteSecondFigureToolStripMenuItem.Enabled = True + End If End Sub #Region " Write Methods " Shared Sub EditCharacterIDVariant() @@ -3658,9 +3661,8 @@ Public Class Figures Public Shared Sub FigureItOut() 'MessageBox.Show(Var & " " & Fig) If Var = "0000" Then - 'Adventures - frmMain.cmbGame.SelectedIndex = 0 - 'Application.DoEvents() + frmMain.cmbGame.SelectedItem = "Spyro's Adventure" + ''Application.DoEvents() Select Case Fig Case "0400" 'Bash @@ -3774,73 +3776,72 @@ Public Class Figures 'Zook frmMain.lstCharacters.SelectedIndex = 36 Case "2F01" - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" 'Darklight Crypt frmMain.lstCharacters.SelectedItem = "Darklight Crypt" Case "2C01" 'Dragon's Peak - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Dragon's Peak" Case "F901" 'Terrabite - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" frmMain.lstCharacters.SelectedItem = "Terrabite" Case "0E02" 'Whisper Elf - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" frmMain.lstCharacters.SelectedItem = "Whisper Elf" Case "0202" 'Gill Runt - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" frmMain.lstCharacters.SelectedItem = "Gill Runt" Case "0702" 'Trigger Snappy - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" frmMain.lstCharacters.SelectedItem = "Trigger Snappy" Case "E700" 'Piggy Bank - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Piggy Bank" Case "E800" 'Rocket Ram - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Rocket Ram" Case "E900" 'Tiki Speaky - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Tiki Speaky" Case "E600" 'Hand of Fate - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Hand of Fate" Case "C900" 'Hidden Treasure (Platinum) - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Platinum Hidden Treasure" Case "CE00" 'Winged Boots - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Winged Boots" Case "CA00" 'Healing Elixir - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Healing Elixir" Case "CF00" 'Sparks the Dragonfly - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Sparx the Dragonfly" Case "CC00" 'Time Twister - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Time Twister Hourglass" End Select ElseIf Var = "0010" Then - 'Giants - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "1C02" 'Barkley - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" frmMain.lstCharacters.SelectedItem = "Barkley" Case "6A00" 'Chill @@ -3868,7 +3869,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Sprocket" End Select ElseIf Var = "0118" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "0400" 'Series 2 Bash @@ -3944,14 +3945,14 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Series 2 Zook" End Select ElseIf Var = "021C" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "1200" 'Royal Double Trouble frmMain.lstCharacters.SelectedItem = "Royal Double Trouble" End Select ElseIf Var = "0214" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "6700" 'Jade Flashwing @@ -3964,7 +3965,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Punch Pop Fizz" End Select ElseIf Var = "0216" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "7000" 'Gnarly Tree Rex @@ -3979,14 +3980,12 @@ Public Class Figures 'Scarlet Ninjini frmMain.lstCharacters.SelectedItem = "Scarlet Ninjini" Case "D000" - ' MessageBox.Show("Figure D000") 'Golden Dragonfire Cannon - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Golden Dragonfire Cannon" End Select ElseIf Var = "0354" Then - 'Imaginators - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "5D02" frmMain.lstCharacters.SelectedItem = "Legendary Pit Boss" @@ -3994,7 +3993,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Legendary Tri-Tip" End Select ElseIf Var = "031C" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "0F00" 'Legendary Slam Bam @@ -4004,14 +4003,14 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Legendary Stealth Elf" End Select ElseIf Var = "0314" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "6400" 'Legendary Jet-Vac frmMain.lstCharacters.SelectedItem = "Legendary Jet-Vac" End Select ElseIf Var = "0316" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "6E00" 'Legendary Bouncer @@ -4024,15 +4023,15 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Legendary Ignitor" End Select ElseIf Var = "0612" Then - frmMain.cmbGame.SelectedIndex = 1 + frmMain.cmbGame.SelectedItem = "Giants" Select Case Fig Case "D100" 'Scorpion Striker - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Scorpion Striker" Case "D000" 'Dragonfire Cannon - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Dragonfire Cannon" Case "6E00" frmMain.lstCharacters.SelectedItem = "Bouncer" @@ -4083,38 +4082,37 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Tree Rex" End Select ElseIf Var = "0020" Then - frmMain.cmbGame.SelectedIndex = 2 - 'Swap Force + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "E40C" 'Sheep Wreck Island - frmMain.cmbGame.SelectedIndex = 8 - Application.DoEvents() + frmMain.cmbGame.SelectedItem = "Adventure Packs" + 'Application.DoEvents() frmMain.lstCharacters.SelectedItem = "Sheep Wreck Island" Case "E50C" 'Tower of Time - frmMain.cmbGame.SelectedIndex = 8 - Application.DoEvents() + frmMain.cmbGame.SelectedItem = "Adventure Packs" + 'Application.DoEvents() frmMain.lstCharacters.SelectedItem = "Tower of Time" Case "830C" 'Groove Machine - frmMain.cmbGame.SelectedIndex = 6 - Application.DoEvents() + frmMain.cmbGame.SelectedItem = "Items" + 'Application.DoEvents() frmMain.lstCharacters.SelectedItem = "Groove Machine" Case "820C" 'Platinum Sheep - frmMain.cmbGame.SelectedIndex = 6 - Application.DoEvents() + frmMain.cmbGame.SelectedItem = "Items" + 'Application.DoEvents() frmMain.lstCharacters.SelectedItem = "Platinum Sheep" Case "810C" 'Sky Diamond - frmMain.cmbGame.SelectedIndex = 6 - Application.DoEvents() + frmMain.cmbGame.SelectedItem = "Items" + 'Application.DoEvents() frmMain.lstCharacters.SelectedItem = "Sky Diamond" Case "840C" 'UFO Hat - frmMain.cmbGame.SelectedIndex = 6 - Application.DoEvents() + frmMain.cmbGame.SelectedItem = "Items" + 'Application.DoEvents() frmMain.lstCharacters.SelectedItem = "UFO Hat" Case "EC03" 'Blast Zone (Bottom) @@ -4262,39 +4260,39 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Zoo Lou" Case "2D01" 'Empire of Ice - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Empire of Ice" Case "2E01" 'Pirate Seas - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Pirate Seas" Case "C800" 'Anvil Rain - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Anvil Rain" Case "3001" 'Volcanic Vault - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Volcanic Vault" Case "800C" 'Battle Hammer - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Battle Hammer" Case "C900" 'Hidden Treasure - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Hidden Treasure" Case "CB00" 'Ghost Swords - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Ghost Pirate Swords" Case "CD00" 'Sky Iron Shield - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Sky-Iron Shield" End Select ElseIf Var = "022C" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "1A00" 'Dark Stealth Elf @@ -4307,7 +4305,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Volcanic Eruptor" End Select ElseIf Var = "0224" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "EC03" 'Dark Blast Zone (Bottom) @@ -4362,14 +4360,14 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Quickdraw Rattle Shake (Top)" End Select ElseIf Var = "0226" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "C10B" 'Enchanted Star Strike frmMain.lstCharacters.SelectedItem = "Enchanted Star Strike" End Select ElseIf Var = "0324" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "E903" 'Legendary Free Ranger (Bottom) @@ -4388,14 +4386,14 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Legendary Zoo Lou" End Select ElseIf Var = "0326" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "C50B" 'Legendary Grim Creeper frmMain.lstCharacters.SelectedItem = "Legendary Grim Creeper" End Select ElseIf Var = "0528" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "0E00" 'Anchors Away Gill Grunt @@ -4450,7 +4448,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Twin Blade Chop Chop" End Select ElseIf Var = "0622" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "BE0B" 'LightCore Bumble Blast @@ -4478,16 +4476,15 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "LightCore Wham-Shell" Case "E70C" 'Arkeyan Crossbow - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Arkeyan Crossbow" Case "E60C" 'Fiery Forge - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Fiery Forge" End Select ElseIf Var = "0030" Then - 'Trap Team - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "1C02" 'Barkley @@ -4646,13 +4643,13 @@ Public Class Figures 'Wildfire frmMain.lstCharacters.SelectedItem = "Wildfire" Case "3401" - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Midnight Museum" Case "3101" - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Mirror of Mystery" Case "3201" - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Nightmare Express" End Select ElseIf Var = "1D30" Then @@ -4662,7 +4659,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Clear Thunderbolt" End Select ElseIf Var = "0138" Then - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "BC0B" 'Hog Wild Fryno @@ -4672,14 +4669,14 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Sure Shot Shroomboom" End Select ElseIf Var = "023C" Then - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "6C00" 'Love Potion Pop Fizz frmMain.lstCharacters.SelectedItem = "Love Potion Pop Fizz" End Select ElseIf Var = "0234" Then - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "DC01" 'Dark Food Fight @@ -4713,7 +4710,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Winterfest Lob-Star" End Select ElseIf Var = "0334" Then - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "C501" 'Legendary Blades @@ -4730,11 +4727,11 @@ Public Class Figures Case "E600" ' MessageBox.Show("L. Hand") 'Legendary Hand of Fate - frmMain.cmbGame.SelectedIndex = 6 + frmMain.cmbGame.SelectedItem = "Items" frmMain.lstCharacters.SelectedItem = "Legendary Hand of Fate" End Select ElseIf Var = "0538" Then - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "6C00" 'Fizzy Frenzy Pop Fizz @@ -4744,7 +4741,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Full Blast Jet-Vac" End Select ElseIf Var = "0632" Then - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" Select Case Fig Case "3401" 'Midnight Museum (Proper?) @@ -4754,14 +4751,14 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Sunscraper Spire" End Select ElseIf Var = "0938" Then - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "0E00" 'Tidal Wave Gill Grunt frmMain.lstCharacters.SelectedItem = "Tidal Wave Gill Grunt" End Select ElseIf Var = "1038" Then - frmMain.cmbGame.SelectedIndex = 3 + frmMain.cmbGame.SelectedItem = "Trap Team" Select Case Fig Case "1E00" 'Elite Chop Chop @@ -4788,9 +4785,8 @@ Public Class Figures 'Elite Whirlwind frmMain.lstCharacters.SelectedItem = "Elite Whirlwind" End Select - 'SuperChargers ElseIf Var = "0041" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "620D" frmMain.lstCharacters.SelectedItem = "Astroblast" @@ -4834,8 +4830,8 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Turbo Charge Donkey Kong" End Select ElseIf Var = "0040" Then - frmMain.cmbGame.SelectedIndex = 4 - frmMain.BlnVehicle = True + frmMain.cmbGame.SelectedItem = "Vehicles" + BlnVehicle = True Select Case Fig Case "A80C" frmMain.lstCharacters.SelectedItem = "Barrel Blaster" @@ -4888,7 +4884,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Tomb Buggy" End Select ElseIf Var = "0E45" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "5C0D" frmMain.lstCharacters.SelectedItem = "Birthday Bash Big Bubble Pop Fizz" @@ -4896,8 +4892,8 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Missile-Tow Dive-Clops" End Select ElseIf Var = "0244" Then - frmMain.cmbGame.SelectedIndex = 4 - frmMain.BlnVehicle = True + frmMain.cmbGame.SelectedItem = "SuperChargers" + BlnVehicle = True Select Case Fig Case "A80C" frmMain.lstCharacters.SelectedItem = "Dark Barrel Blaster" @@ -4919,7 +4915,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Spring Ahead Dive Bomber" End Select ElseIf Var = "0245" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "600D" frmMain.lstCharacters.SelectedItem = "Dark Hammer Slam Bowser" @@ -4937,8 +4933,8 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Steel Plated Smash Hit" End Select ElseIf Var = "0440" Then - frmMain.cmbGame.SelectedIndex = 4 - frmMain.BlnVehicle = True + frmMain.cmbGame.SelectedItem = "SuperChargers" + BlnVehicle = True Select Case Fig Case "970C" frmMain.lstCharacters.SelectedItem = "E3 Hot Streak" @@ -4946,13 +4942,13 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Hot Streak" End Select ElseIf Var = "0D45" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "640D" frmMain.lstCharacters.SelectedItem = "Eggcited Thrillipede" End Select ElseIf Var = "1048" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "1600" frmMain.lstCharacters.SelectedItem = "Elite Boomer" @@ -4966,25 +4962,26 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Elite Zook" End Select ElseIf Var = "1138" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "1100" frmMain.lstCharacters.SelectedItem = "Elite Voodood" End Select ElseIf Var = "1545" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "480D" frmMain.lstCharacters.SelectedItem = "Frightful Fiesta" End Select ElseIf Var = "1E44" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "Vehicle" + BlnVehicle = True Select Case Fig Case "980C" frmMain.lstCharacters.SelectedItem = "Golden Hot Streak" End Select ElseIf Var = "0345" Then - frmMain.cmbGame.SelectedIndex = 4 + frmMain.cmbGame.SelectedItem = "SuperChargers" Select Case Fig Case "620D" frmMain.lstCharacters.SelectedItem = "Legendary Astroblast" @@ -4994,15 +4991,15 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Legendary Hurricane Jet-Vac" End Select ElseIf Var = "0344" Then - frmMain.cmbGame.SelectedIndex = 4 - frmMain.BlnVehicle = True + frmMain.cmbGame.SelectedItem = "Vehicle" + BlnVehicle = True Select Case Fig Case "A40C" frmMain.lstCharacters.SelectedItem = "Legendary Sun Runner" End Select 'Imaginators ElseIf Var = "0050" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "5F02" frmMain.lstCharacters.SelectedItem = "Air Strike" @@ -5102,16 +5099,16 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Wolfgang" Case "3601" - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Gryphon Park Observatory" Case "3701" - frmMain.cmbGame.SelectedIndex = 8 + frmMain.cmbGame.SelectedItem = "Adventure Packs" frmMain.lstCharacters.SelectedItem = "Enchanted Elven Forest" End Select ElseIf Var = "0330" Then 'Toucan Trap Vars - frmMain.cmbGame.SelectedIndex = 7 - frmMain.blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + blnTrap = True Select Case Fig Case "D400" frmMain.lstCharacters.SelectedItem = "Breezy Bird (Toucan)" @@ -5122,8 +5119,9 @@ Public Class Figures End Select ElseIf Var = "1030" Then 'Snake Trap Vars - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D400" frmMain.lstCharacters.SelectedItem = "Cloudy Cobra (Snake)" @@ -5133,8 +5131,9 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Spooky Snake (Snake)" End Select ElseIf Var = "1830" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig 'Sword Trap Vars Case "D400" @@ -5145,9 +5144,9 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Jade Blade (Sword)" End Select ElseIf Var = "0630" Then - frmMain.cmbGame.SelectedIndex = 7 + frmMain.cmbGame.SelectedItem = "Traps" 'Jughead Trap Vars - frmMain.blnTrap = True + blnTrap = True Select Case Fig Case "D400" frmMain.lstCharacters.SelectedItem = "Drafty Decanter (Jughead)" @@ -5155,8 +5154,8 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Flood Flask (Jughead)" End Select ElseIf Var = "1130" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" 'Screamer Trap Vars Select Case Fig Case "D400" @@ -5165,8 +5164,9 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Scorching Stopper (Screamer)" End Select ElseIf Var = "0E30" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig 'Hourglas Trap Vars Case "D400" @@ -5178,8 +5178,9 @@ Public Class Figures End Select ElseIf Var = "1A30" Then 'Handstand Trap Vars - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "DA00" frmMain.lstCharacters.SelectedItem = "Ghastly Grimace (Handstand)" @@ -5190,16 +5191,18 @@ Public Class Figures End Select ElseIf Var = "1430" Then 'Spider Trap Vars - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "DA00" frmMain.lstCharacters.SelectedItem = "Shadow Spider (Spider)" End Select ElseIf Var = "0430" Then 'Orb Trap Vars - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D800" frmMain.lstCharacters.SelectedItem = "Banded Boulder (Orb)" @@ -5207,16 +5210,18 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Spirit Sphere (Orb)" End Select ElseIf Var = "0434" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "0434" frmMain.lstCharacters.SelectedItem = "Legendary Spirit Sphere (Orb)" End Select ElseIf Var = "0A30" Then - frmMain.blnTrap = True + blnTrap = True 'Hammer Trap Figures - frmMain.cmbGame.SelectedIndex = 7 + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D800" frmMain.lstCharacters.SelectedItem = "Slag Hammer (Hammer)" @@ -5224,9 +5229,10 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Weed Whacker (Hammer)" End Select ElseIf Var = "1230" Then - frmMain.blnTrap = True + blnTrap = True 'Totem Trap Figures - frmMain.cmbGame.SelectedIndex = 7 + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D800" frmMain.lstCharacters.SelectedItem = "Spinning Sandstorm (Totem)" @@ -5237,9 +5243,9 @@ Public Class Figures End Select ElseIf Var = "1B30" Then 'Yawn Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 - Application.DoEvents() + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + 'Application.DoEvents() Select Case Fig Case "D700" @@ -5251,8 +5257,9 @@ Public Class Figures End Select ElseIf Var = "0530" Then 'Torch Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D700" frmMain.lstCharacters.SelectedItem = "Eternal Flame (Torch)" @@ -5261,8 +5268,9 @@ Public Class Figures End Select ElseIf Var = "0130" Then 'Septer/Log Holder/Tiki Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D700" frmMain.lstCharacters.SelectedItem = "Fire Flower (Scepter)" @@ -5275,8 +5283,9 @@ Public Class Figures End Select ElseIf Var = "1730" Then 'Captain's Hat Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D700" frmMain.lstCharacters.SelectedItem = "Spark Spear (Captain's Hat)" @@ -5284,15 +5293,17 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Dream Piercer (Captain's Hat)" End Select ElseIf Var = "0F30" Then - frmMain.cmbGame.SelectedIndex = 7 + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "DB00" frmMain.lstCharacters.SelectedItem = "Heavenly Hawk (Hawk)" End Select ElseIf Var = "1530" Then 'Rocket Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "DB00" frmMain.lstCharacters.SelectedItem = "Shining Ship (Rocket)" @@ -5301,8 +5312,9 @@ Public Class Figures End Select ElseIf Var = "0B30" Then 'Axe Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D200" frmMain.lstCharacters.SelectedItem = "Axe of Illusion (Axe)" @@ -5312,9 +5324,10 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Aqua Axe (Axe)" End Select ElseIf Var = "0830" Then - frmMain.blnTrap = True + blnTrap = True 'Skull Trap Figures - frmMain.cmbGame.SelectedIndex = 7 + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D200" frmMain.lstCharacters.SelectedItem = "Sorcerous Skull (Skull)" @@ -5323,8 +5336,9 @@ Public Class Figures End Select ElseIf Var = "0C30" Then 'Hand Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D600" frmMain.lstCharacters.SelectedItem = "Grabbing Gadget (Hand)" @@ -5333,8 +5347,9 @@ Public Class Figures End Select ElseIf Var = "1630" Then 'Flying Helmet Trap Figures - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D600" frmMain.lstCharacters.SelectedItem = "Makers Mana (Flying Helmet)" @@ -5342,9 +5357,10 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Frost Helm (Flying Helmet)" End Select ElseIf Var = "0730" Then - frmMain.blnTrap = True + blnTrap = True 'Angel Trap Figures - frmMain.cmbGame.SelectedIndex = 7 + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D600" frmMain.lstCharacters.SelectedItem = "Automatic Angel (Angel)" @@ -5352,50 +5368,55 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Soaking Staff (Angel)" End Select ElseIf Var = "0230" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D300" frmMain.lstCharacters.SelectedItem = "Wet Walter (Log Holder)" End Select ElseIf Var = "0930" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D600" frmMain.lstCharacters.SelectedItem = "Factory Flower (Scepter)" End Select ElseIf Var = "0634" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D300" frmMain.lstCharacters.SelectedItem = "Legendary Flood Flask (Jughead)" End Select ElseIf Var = "0834" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "D500" frmMain.lstCharacters.SelectedItem = "Legendary Spectral Skull (Skull)" End Select ElseIf Var = "1E30" Then - frmMain.blnTrap = True - frmMain.cmbGame.SelectedIndex = 7 + blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + Select Case Fig Case "DC00" frmMain.lstCharacters.SelectedItem = "The Kaos Trap" End Select ElseIf Var = "1F35" Then - frmMain.cmbGame.SelectedIndex = 7 - frmMain.blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + blnTrap = True Select Case Fig Case "DC00" frmMain.lstCharacters.SelectedItem = "Ultimate Kaos Trap" End Select ElseIf Var = "D800" Then - frmMain.cmbGame.SelectedIndex = 7 - frmMain.blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + blnTrap = True Select Case Fig Case "1B30" frmMain.lstCharacters.SelectedItem = "Beam Scream (Yawn)" @@ -5403,116 +5424,126 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Heavenly Hawk (Hawk)" End Select ElseIf Var = "1750" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "EB00" frmMain.lstCharacters.SelectedItem = "Blue Mystery Chest" End Select ElseIf Var = "0150" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "EB00" frmMain.lstCharacters.SelectedItem = "Bronze Mystery Chest" End Select ElseIf Var = "0250" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "EB00" frmMain.lstCharacters.SelectedItem = "Silver Mystery Chest" End Select ElseIf Var = "D400" Then - frmMain.cmbGame.SelectedIndex = 7 - frmMain.blnTrap = True + frmMain.cmbGame.SelectedItem = "Traps" + blnTrap = True Select Case Fig Case "D400" frmMain.lstCharacters.SelectedItem = "Breezy Bird (Toucan)" End Select ElseIf Var = "0304" Then - frmMain.cmbGame.SelectedIndex = 2 + frmMain.cmbGame.SelectedItem = "Swap Force" Select Case Fig Case "F403" frmMain.lstCharacters.SelectedItem = "Legendary Night Shift (Bottom)" End Select ElseIf Var = "0350" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "EB00" frmMain.lstCharacters.SelectedItem = "Gold Mystery Chest" End Select ElseIf Var = "1950" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "EB00" frmMain.lstCharacters.SelectedItem = "Platnium Mystery Chest" End Select ElseIf Var = "0752" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" + blnCrystal = True Select Case Fig Case "AA02" frmMain.lstCharacters.SelectedItem = "Air Crystal" End Select ElseIf Var = "0652" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "B002" frmMain.lstCharacters.SelectedItem = "Dark Crystal" End Select ElseIf Var = "1D52" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "AE02" frmMain.lstCharacters.SelectedItem = "Earth Crystal" End Select ElseIf Var = "0F52" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "AD02" frmMain.lstCharacters.SelectedItem = "Fire Crystal" End Select ElseIf Var = "1E52" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "AF02" frmMain.lstCharacters.SelectedItem = "Life Crystal" End Select ElseIf Var = "0B52" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "B102" frmMain.lstCharacters.SelectedItem = "Light Crystal" End Select ElseIf Var = "0852" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "A802" frmMain.lstCharacters.SelectedItem = "Magic Crystal" End Select ElseIf Var = "1552" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "AC02" frmMain.lstCharacters.SelectedItem = "Tech Crystal" End Select ElseIf Var = "0952" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "AB02" frmMain.lstCharacters.SelectedItem = "Undead Crystal" End Select ElseIf Var = "1C52" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators Crystals" + blnCrystal = True Select Case Fig Case "A902" frmMain.lstCharacters.SelectedItem = "Water Crystal" End Select ElseIf Var = "1554" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "5B02" frmMain.lstCharacters.SelectedItem = "Candy-Coated Chopscotch" End Select ElseIf Var = "0254" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "6502" frmMain.lstCharacters.SelectedItem = "Dark Golden Queen" @@ -5532,7 +5563,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "WolfGang Dark" End Select ElseIf Var = "0D54" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "5F02" frmMain.lstCharacters.SelectedItem = "Egg Bomber Air Strike" @@ -5540,7 +5571,7 @@ Public Class Figures frmMain.lstCharacters.SelectedItem = "Hard-Boiled Flarewolf" End Select ElseIf Var = "0E54" Then - frmMain.cmbGame.SelectedIndex = 5 + frmMain.cmbGame.SelectedItem = "Imaginators" Select Case Fig Case "6D02" frmMain.lstCharacters.SelectedItem = "Jingle Bell Chompy Mage" @@ -5899,44 +5930,6 @@ Public Class Figures frmMain.lstCharacters.Items.Add("Thrillipede") frmMain.lstCharacters.Items.Add("Turbo Charge Donkey Kong") - frmMain.lstCharacters.Items.Add("--Land Vehicles--") - frmMain.lstCharacters.Items.Add("Barrel Blaster") - frmMain.lstCharacters.Items.Add("Burn-Cycle") - frmMain.lstCharacters.Items.Add("Crypt Crusher") - frmMain.lstCharacters.Items.Add("Dark Barrel Blaster") - frmMain.lstCharacters.Items.Add("Dark Hot Streak") - frmMain.lstCharacters.Items.Add("E3 Hot Streak") - frmMain.lstCharacters.Items.Add("Gold Rusher") - frmMain.lstCharacters.Items.Add("Golden Hot Streak") - frmMain.lstCharacters.Items.Add("Hot Streak") - frmMain.lstCharacters.Items.Add("Power Blue Gold Rusher") - frmMain.lstCharacters.Items.Add("Shark Tank") - frmMain.lstCharacters.Items.Add("Shield Striker") - frmMain.lstCharacters.Items.Add("Thump Truck") - frmMain.lstCharacters.Items.Add("Tomb Buggy") - - frmMain.lstCharacters.Items.Add("--Sea Vehicles--") - frmMain.lstCharacters.Items.Add("Dark Sea Shadow") - frmMain.lstCharacters.Items.Add("Dive Bomber") - frmMain.lstCharacters.Items.Add("Nitro Soda Skimmer") - frmMain.lstCharacters.Items.Add("Power Blue Splatter Splasher") - frmMain.lstCharacters.Items.Add("Reef Ripper") - frmMain.lstCharacters.Items.Add("Sea Shadow") - frmMain.lstCharacters.Items.Add("Soda Skimmer") - frmMain.lstCharacters.Items.Add("Splatter Splasher") - frmMain.lstCharacters.Items.Add("Spring Ahead Dive Bomber") - - frmMain.lstCharacters.Items.Add("--Sky Vehicles--") - frmMain.lstCharacters.Items.Add("Buzz Wing") - frmMain.lstCharacters.Items.Add("Clown Cruiser") - frmMain.lstCharacters.Items.Add("Dark Clown Cruiser") - frmMain.lstCharacters.Items.Add("Jet Stream") - frmMain.lstCharacters.Items.Add("Nitro Stealth Stinger") - frmMain.lstCharacters.Items.Add("Sky Slicer") - frmMain.lstCharacters.Items.Add("Stealth Stinger") - frmMain.lstCharacters.Items.Add("Sun Runner") - - 'frmMain.lstCharacters.Items.Add("--Villain Vehicles--") 'frmMain.lstCharacters.Items.Add("--Pandergast Vehicles--") frmMain.lstCharacters.Items.Add("--Trophies--") @@ -5997,56 +5990,6 @@ Public Class Figures frmMain.lstCharacters.Items.Add("Tri-Tip") frmMain.lstCharacters.Items.Add("Wild Storm") frmMain.lstCharacters.Items.Add("Wolfgang") - - frmMain.lstCharacters.Items.Add("--Crystals--") - 'NOTE: - 'Apparently these Figures ARE Unique Variant but I have NO information on them. :( - frmMain.lstCharacters.Items.Add("Air Crystal") - 'frmMain.lstCharacters.Items.Add("Air Acorn") - 'frmMain.lstCharacters.Items.Add("Air Angel") - 'frmMain.lstCharacters.Items.Add("Air Lantern") - frmMain.lstCharacters.Items.Add("Dark Crystal") - 'frmMain.lstCharacters.Items.Add("Dark Pyramid") - 'frmMain.lstCharacters.Items.Add("Dark Reactor") - 'frmMain.lstCharacters.Items.Add("Dark Rune") - frmMain.lstCharacters.Items.Add("Earth Crystal") - 'frmMain.lstCharacters.Items.Add("Earth Armor") - 'frmMain.lstCharacters.Items.Add("Earth Rocket") - 'frmMain.lstCharacters.Items.Add("Earth Rune") - frmMain.lstCharacters.Items.Add("Fire Crystal") - 'frmMain.lstCharacters.Items.Add("Fire Acorn") - 'frmMain.lstCharacters.Items.Add("Fire Angel") - 'frmMain.lstCharacters.Items.Add("Fire Reactor") - frmMain.lstCharacters.Items.Add("Life Crystal") - 'frmMain.lstCharacters.Items.Add("Life Acorn") - 'frmMain.lstCharacters.Items.Add("Life Claw") - 'frmMain.lstCharacters.Items.Add("Life Rocket") - 'frmMain.lstCharacters.Items.Add("Life Rune") - frmMain.lstCharacters.Items.Add("Light Crystal") - 'frmMain.lstCharacters.Items.Add("Light Angel") - 'frmMain.lstCharacters.Items.Add("Light Fanged") - 'frmMain.lstCharacters.Items.Add("Light Rune") - frmMain.lstCharacters.Items.Add("Magic Crystal") - 'frmMain.lstCharacters.Items.Add("Magic Claw") - 'frmMain.lstCharacters.Items.Add("Magic Lantern") - 'frmMain.lstCharacters.Items.Add("Magic Pyramid") - frmMain.lstCharacters.Items.Add("Tech Crystal") - 'frmMain.lstCharacters.Items.Add("Tech Armor") - 'frmMain.lstCharacters.Items.Add("Tech Pyramid") - 'frmMain.lstCharacters.Items.Add("Tech Reactor") - frmMain.lstCharacters.Items.Add("Undead Crystal") - 'frmMain.lstCharacters.Items.Add("Undead Claw") - 'frmMain.lstCharacters.Items.Add("Undead Fanged") - 'frmMain.lstCharacters.Items.Add("Undead Lantern") - frmMain.lstCharacters.Items.Add("Water Crystal") - 'frmMain.lstCharacters.Items.Add("Water Armor") - 'frmMain.lstCharacters.Items.Add("Water Fanged") - 'frmMain.lstCharacters.Items.Add("Water Rocket") - 'frmMain.lstCharacters.Items.Add("Legendary Life Acorn") - 'frmMain.lstCharacters.Items.Add("Legendary Light Fanged") - 'frmMain.lstCharacters.Items.Add("Legendary Magic Lantern") - - End Sub Shared Sub Traps() @@ -6121,10 +6064,94 @@ Public Class Figures frmMain.lstCharacters.Items.Add("The Kaos Trap") frmMain.lstCharacters.Items.Add("Ultimate Kaos Trap") End Sub + Shared Sub Vehicles() + frmMain.lstCharacters.Items.Add("--Land Vehicles--") + frmMain.lstCharacters.Items.Add("Barrel Blaster") + frmMain.lstCharacters.Items.Add("Burn-Cycle") + frmMain.lstCharacters.Items.Add("Crypt Crusher") + frmMain.lstCharacters.Items.Add("Dark Barrel Blaster") + frmMain.lstCharacters.Items.Add("Dark Hot Streak") + frmMain.lstCharacters.Items.Add("E3 Hot Streak") + frmMain.lstCharacters.Items.Add("Gold Rusher") + frmMain.lstCharacters.Items.Add("Golden Hot Streak") + frmMain.lstCharacters.Items.Add("Hot Streak") + frmMain.lstCharacters.Items.Add("Power Blue Gold Rusher") + frmMain.lstCharacters.Items.Add("Shark Tank") + frmMain.lstCharacters.Items.Add("Shield Striker") + frmMain.lstCharacters.Items.Add("Thump Truck") + frmMain.lstCharacters.Items.Add("Tomb Buggy") + + frmMain.lstCharacters.Items.Add("--Sea Vehicles--") + frmMain.lstCharacters.Items.Add("Dark Sea Shadow") + frmMain.lstCharacters.Items.Add("Dive Bomber") + frmMain.lstCharacters.Items.Add("Nitro Soda Skimmer") + frmMain.lstCharacters.Items.Add("Power Blue Splatter Splasher") + frmMain.lstCharacters.Items.Add("Reef Ripper") + frmMain.lstCharacters.Items.Add("Sea Shadow") + frmMain.lstCharacters.Items.Add("Soda Skimmer") + frmMain.lstCharacters.Items.Add("Splatter Splasher") + frmMain.lstCharacters.Items.Add("Spring Ahead Dive Bomber") + + frmMain.lstCharacters.Items.Add("--Sky Vehicles--") + frmMain.lstCharacters.Items.Add("Buzz Wing") + frmMain.lstCharacters.Items.Add("Clown Cruiser") + frmMain.lstCharacters.Items.Add("Dark Clown Cruiser") + frmMain.lstCharacters.Items.Add("Jet Stream") + frmMain.lstCharacters.Items.Add("Nitro Stealth Stinger") + frmMain.lstCharacters.Items.Add("Sky Slicer") + frmMain.lstCharacters.Items.Add("Stealth Stinger") + frmMain.lstCharacters.Items.Add("Sun Runner") + End Sub + Shared Sub Crystals() + 'Apparently these Figures ARE Unique Variant but I have NO information on them. :( + frmMain.lstCharacters.Items.Add("Air Crystal") + 'frmMain.lstCharacters.Items.Add("Air Acorn") + 'frmMain.lstCharacters.Items.Add("Air Angel") + 'frmMain.lstCharacters.Items.Add("Air Lantern") + frmMain.lstCharacters.Items.Add("Dark Crystal") + 'frmMain.lstCharacters.Items.Add("Dark Pyramid") + 'frmMain.lstCharacters.Items.Add("Dark Reactor") + 'frmMain.lstCharacters.Items.Add("Dark Rune") + frmMain.lstCharacters.Items.Add("Earth Crystal") + 'frmMain.lstCharacters.Items.Add("Earth Armor") + 'frmMain.lstCharacters.Items.Add("Earth Rocket") + 'frmMain.lstCharacters.Items.Add("Earth Rune") + frmMain.lstCharacters.Items.Add("Fire Crystal") + 'frmMain.lstCharacters.Items.Add("Fire Acorn") + 'frmMain.lstCharacters.Items.Add("Fire Angel") + 'frmMain.lstCharacters.Items.Add("Fire Reactor") + frmMain.lstCharacters.Items.Add("Life Crystal") + 'frmMain.lstCharacters.Items.Add("Life Acorn") + 'frmMain.lstCharacters.Items.Add("Life Claw") + 'frmMain.lstCharacters.Items.Add("Life Rocket") + 'frmMain.lstCharacters.Items.Add("Life Rune") + frmMain.lstCharacters.Items.Add("Light Crystal") + 'frmMain.lstCharacters.Items.Add("Light Angel") + 'frmMain.lstCharacters.Items.Add("Light Fanged") + 'frmMain.lstCharacters.Items.Add("Light Rune") + frmMain.lstCharacters.Items.Add("Magic Crystal") + 'frmMain.lstCharacters.Items.Add("Magic Claw") + 'frmMain.lstCharacters.Items.Add("Magic Lantern") + 'frmMain.lstCharacters.Items.Add("Magic Pyramid") + frmMain.lstCharacters.Items.Add("Tech Crystal") + 'frmMain.lstCharacters.Items.Add("Tech Armor") + 'frmMain.lstCharacters.Items.Add("Tech Pyramid") + 'frmMain.lstCharacters.Items.Add("Tech Reactor") + frmMain.lstCharacters.Items.Add("Undead Crystal") + 'frmMain.lstCharacters.Items.Add("Undead Claw") + 'frmMain.lstCharacters.Items.Add("Undead Fanged") + 'frmMain.lstCharacters.Items.Add("Undead Lantern") + frmMain.lstCharacters.Items.Add("Water Crystal") + 'frmMain.lstCharacters.Items.Add("Water Armor") + 'frmMain.lstCharacters.Items.Add("Water Fanged") + 'frmMain.lstCharacters.Items.Add("Water Rocket") + 'frmMain.lstCharacters.Items.Add("Legendary Life Acorn") + 'frmMain.lstCharacters.Items.Add("Legendary Light Fanged") + 'frmMain.lstCharacters.Items.Add("Legendary Magic Lantern") + End Sub 'These Items are mostly, universal. 'As such, not going to restrict them based on game. Shared Sub Items() - frmMain.lstCharacters.Items.Add("--Adventures--") frmMain.lstCharacters.Items.Add("Anvil Rain") frmMain.lstCharacters.Items.Add("Ghost Pirate Swords") @@ -6159,7 +6186,6 @@ Public Class Figures frmMain.lstCharacters.Items.Add("Sea Trophy") frmMain.lstCharacters.Items.Add("Sky Trophy") 'Chests - 'I need to do more with these. Can I Clone them by editing Serial? frmMain.lstCharacters.Items.Add("--Imaginators--") frmMain.lstCharacters.Items.Add("Blue Imaginite Mystery Chest") frmMain.lstCharacters.Items.Add("Bronze Imaginite Mystery Chest") diff --git a/SkyReader-GUI/Gold.vb b/SkyReader-GUI/Gold.vb index 7252b7a..6740942 100644 --- a/SkyReader-GUI/Gold.vb +++ b/SkyReader-GUI/Gold.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class Gold 'Remember all values are offset 1C0 Shared Sub GetGold() @@ -25,7 +26,6 @@ Public Class Gold Catch ex As Exception GoldValueArea1 = 0 End Try - If GoldValueArea0 > 65000 Then GoldValueArea0 = 65000 End If @@ -46,6 +46,8 @@ Public Class Gold Shared Sub WriteGold() Dim intGold As UShort = frmMain.numGold.Value Dim Gold As Byte() = BitConverter.GetBytes(intGold) + 'MessageBox.Show("G0: " & Gold(0)) + 'MessageBox.Show("G1: " & Gold(1)) 'If Area0 > Area1 Then 'Area 0 Gold WholeFile(&H83) = Gold(0) diff --git a/SkyReader-GUI/Hats.vb b/SkyReader-GUI/Hats.vb index 2436e2a..5d78707 100644 --- a/SkyReader-GUI/Hats.vb +++ b/SkyReader-GUI/Hats.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class Hats Shared AdventureHat(1) As Byte Shared GiantHat(1) As Byte diff --git a/SkyReader-GUI/Hero.vb b/SkyReader-GUI/Hero.vb index 1080012..d52f99e 100644 --- a/SkyReader-GUI/Hero.vb +++ b/SkyReader-GUI/Hero.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class Hero Shared Sub GetHero() Dim HeroArea0(1) As Byte diff --git a/SkyReader-GUI/MiFare.vb b/SkyReader-GUI/MiFare.vb index a056f11..a7f713e 100644 --- a/SkyReader-GUI/MiFare.vb +++ b/SkyReader-GUI/MiFare.vb @@ -1,5 +1,5 @@ Imports System.IO -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO Public Class MiFare Shared Sub Detection() 'As such this will only work so far. diff --git a/SkyReader-GUI/Nickname.vb b/SkyReader-GUI/Nickname.vb index cc43643..00e4b5e 100644 --- a/SkyReader-GUI/Nickname.vb +++ b/SkyReader-GUI/Nickname.vb @@ -1,5 +1,6 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO Imports System.Text +Imports SkyReader_GUI.frmMain Public Class Nickname @@ -59,7 +60,7 @@ Public Class Nickname BadName1 = IsUnicode(FullName1) If BadName1 = True And BadName0 = True Then - MessageBox.Show("Loaded Encrypted Figure") + 'MessageBox.Show("Loaded Encrypted Figure") blnEncrypted = True End If diff --git a/SkyReader-GUI/Portal.vb b/SkyReader-GUI/Portal.vb new file mode 100644 index 0000000..e7c432d --- /dev/null +++ b/SkyReader-GUI/Portal.vb @@ -0,0 +1,183 @@ +Imports System.Threading +Imports Microsoft.Win32.SafeHandles + +Imports SkyReader_GUI.FigureIO +Public Class Portal + + Shared outRepoBytes(32) As Byte + Shared inRepoBytes(32) As Byte + Public Shared blnAccess As Boolean = False + Public Shared BlnPortalUsed As Boolean = False + + Public Shared portalHandle As SafeFileHandle + 'Connect to the Portal, using HID + + + + Public Shared blnPortal As Boolean = False + + Shared Sub ReadPortal() + 'reads skylander data from the portal + Dim timeout As Integer + Dim readBlock As Integer + blnAccess = False + + 'Reset portal + outRepoBytes(1) = &H52 'R + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(50) + + outRepoBytes(1) = &H41 'A + outRepoBytes(2) = 1 + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(500) + + 'set to "read first skylander" mode + outRepoBytes(1) = &H51 'Q + outRepoBytes(2) = &H20 'First Figure + readBlock = 0 + Do + 'send report and flush hid queue + outRepoBytes(3) = readBlock + outputReport(portalHandle, outRepoBytes) + flushHid(portalHandle) + timeout = 0 + Do + 'read the reply from the portal, the portal replies between 1 and 2 reports later + inputReport(portalHandle, inRepoBytes) + timeout = timeout + 1 + Loop Until inRepoBytes(1) <> &H53 Or timeout = 4 '53 is S + + If timeout <> 4 Then + 'if we didn't time out we copy the the bytes into the array + Array.Copy(inRepoBytes, 4, WholeFile, readBlock * 16, 16) + readBlock = readBlock + 1 + End If + 'MessageBox.Show(AES.ByteArrayToString(inRepoBytes).ToUpper) + Loop While readBlock <= &H3F 'Last Block + frmMain.Save_Enc_ToolStripMenuItem.Enabled = True + frmMain.Save_Dec_ToolStripMenuItem.Enabled = True + MiFare.Detection() + If blnAccess = True Then + MessageBox.Show("Error. Invalid Control Blocks found.") + Exit Sub + End If + + BlnPortalUsed = True + End Sub + + Shared Sub Portal_Write() + + 'Magic. + 'write data to skylander in portal + Dim writeBlock As Integer + 'reset portal + outRepoBytes(1) = &H52 'R + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(50) + + outRepoBytes(1) = &H41 'A + outRepoBytes(2) = 1 + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(500) + + 'set to "write first skylander" mode + outRepoBytes(1) = &H57 'W + outRepoBytes(2) = &H20 'First Figure + writeBlock = 5 + Do + outRepoBytes(3) = writeBlock + 'we get the bytes from the data array and put out the report, we need to wait a bit before sending another write report too + Array.Copy(WholeFile, writeBlock * 16, outRepoBytes, 4, 16) + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(100) + writeBlock = writeBlock + 1 + Loop While writeBlock <= &H3F 'Last Block + frmMain.SaldeStatus.Text = "Save Completed to portal" + End Sub + + Shared Sub Portal_Duo_Read() + 'Same as read from portal, but reads the second position skylander (usually the Top half of a Swap Force) + Dim timeout As Integer + Dim readBlock As Integer + + outRepoBytes(1) = &H52 'R + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(50) + + outRepoBytes(1) = &H41 'A + outRepoBytes(2) = 1 + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(500) + + outRepoBytes(1) = &H51 'Q + outRepoBytes(2) = &H21 'Second Figure + readBlock = 0 + Do + outRepoBytes(3) = readBlock + outputReport(portalHandle, outRepoBytes) + flushHid(portalHandle) + timeout = 0 + Do + inputReport(portalHandle, inRepoBytes) + timeout = timeout + 1 + Loop Until inRepoBytes(1) <> &H53 Or timeout = 4 '53 is S + + If timeout <> 4 Then + Array.Copy(inRepoBytes, 4, WholeFile, readBlock * 16, 16) + readBlock = readBlock + 1 + End If + + Loop While readBlock <= &H3F 'Final Block + 'Parse_Figure() + + BlnPortalUsed = True + End Sub + + Shared Sub Portal_Duo_Write() + 'Magic. + 'write data to skylander in portal + Dim writeBlock As Integer + 'reset portal + outRepoBytes(1) = &H52 'R + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(50) + + outRepoBytes(1) = &H41 'A + outRepoBytes(2) = 1 + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(500) + + 'set to "write first skylander" mode + outRepoBytes(1) = &H57 'W + outRepoBytes(2) = &H21 'Second Figure + writeBlock = 5 + + 'I need to look into this further + 'I need to and Write ALL bytes/Blocks + Do + outRepoBytes(3) = writeBlock + 'we get the bytes from the data array and put out the report, we need to wait a bit before sending another write report too + + Array.Copy(WholeFile, writeBlock * 16, outRepoBytes, 4, 16) + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(100) + writeBlock = writeBlock + 1 + Loop While writeBlock <= &H3F 'Last Block 63 + + frmMain.SaldeStatus.Text = "Save Completed to portal" + End Sub + + Shared Sub Portal_Rainbow(Red As Byte, Green As Byte, Blue As Byte) + blnAccess = False + + 'Reset portal + outRepoBytes(1) = &H43 'C + outRepoBytes(2) = Red 'Red + outRepoBytes(3) = Green 'Green + outRepoBytes(4) = Blue 'Blue + + outputReport(portalHandle, outRepoBytes) + Thread.Sleep(50) + End Sub +End Class diff --git a/SkyReader-GUI/Skills.vb b/SkyReader-GUI/Skills.vb index 2826dfe..e20c332 100644 --- a/SkyReader-GUI/Skills.vb +++ b/SkyReader-GUI/Skills.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class Skills Shared Sub GetSkillPath() Dim SkillPathArea0(1) As Byte diff --git a/SkyReader-GUI/SkyReader-GUI.vbproj b/SkyReader-GUI/SkyReader-GUI.vbproj index d1fdd4a..9f118ac 100644 --- a/SkyReader-GUI/SkyReader-GUI.vbproj +++ b/SkyReader-GUI/SkyReader-GUI.vbproj @@ -107,12 +107,13 @@ + - - frmCrystal.vb + + frmCrystals.vb - + Form @@ -173,8 +174,8 @@ Area.vb - - frmCrystal.vb + + frmCrystals.vb frmLog.vb diff --git a/SkyReader-GUI/System_ID.vb b/SkyReader-GUI/System_ID.vb index abae1d5..6860e65 100644 --- a/SkyReader-GUI/System_ID.vb +++ b/SkyReader-GUI/System_ID.vb @@ -1,4 +1,5 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class System_ID Shared System_One(1) As Byte Shared System_Two(1) As Byte diff --git a/SkyReader-GUI/Web_Code.vb b/SkyReader-GUI/Web_Code.vb index 39658b5..0652e59 100644 --- a/SkyReader-GUI/Web_Code.vb +++ b/SkyReader-GUI/Web_Code.vb @@ -1,4 +1,4 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO Public Class Web_Code Dim blnLoading_Web_Code As Boolean = False Shared Sub Load() diff --git a/SkyReader-GUI/frmMain.Designer.vb b/SkyReader-GUI/frmMain.Designer.vb index f516385..9e85c80 100644 --- a/SkyReader-GUI/frmMain.Designer.vb +++ b/SkyReader-GUI/frmMain.Designer.vb @@ -22,831 +22,900 @@ Partial Class frmMain 'Do not modify it using the code editor. Private Sub InitializeComponent() - Me.components = New System.ComponentModel.Container() - Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain)) - Me.ofdSky = New System.Windows.Forms.OpenFileDialog() - Me.lblGame = New System.Windows.Forms.Label() - Me.lblHeader = New System.Windows.Forms.Label() - Me.picHeader = New System.Windows.Forms.PictureBox() - Me.grpChecksums = New System.Windows.Forms.GroupBox() - Me.picSerial = New System.Windows.Forms.PictureBox() - Me.lblSerial = New System.Windows.Forms.Label() - Me.picArea1Type4 = New System.Windows.Forms.PictureBox() - Me.lblArea2Type4 = New System.Windows.Forms.Label() - Me.picArea0Type4 = New System.Windows.Forms.PictureBox() - Me.lblArea1Type4 = New System.Windows.Forms.Label() - Me.picArea1Type3 = New System.Windows.Forms.PictureBox() - Me.picArea1Type2 = New System.Windows.Forms.PictureBox() - Me.lblArea2Type3 = New System.Windows.Forms.Label() - Me.lblArea2Type2 = New System.Windows.Forms.Label() - Me.picArea1Type1 = New System.Windows.Forms.PictureBox() - Me.lblArea2Type1 = New System.Windows.Forms.Label() - Me.picArea0Type3 = New System.Windows.Forms.PictureBox() - Me.picArea0Type2 = New System.Windows.Forms.PictureBox() - Me.lblArea1Type3 = New System.Windows.Forms.Label() - Me.lblArea1Type2 = New System.Windows.Forms.Label() - Me.picArea0Type1 = New System.Windows.Forms.PictureBox() - Me.lblArea1Type1 = New System.Windows.Forms.Label() - Me.lblGold = New System.Windows.Forms.Label() - Me.numGold = New System.Windows.Forms.NumericUpDown() - Me.numHeroicChallenges = New System.Windows.Forms.NumericUpDown() - Me.lblChallenge = New System.Windows.Forms.Label() - Me.lblHeroPoints = New System.Windows.Forms.Label() - Me.numHero = New System.Windows.Forms.NumericUpDown() - Me.grpSkillPath = New System.Windows.Forms.GroupBox() - Me.radNone = New System.Windows.Forms.RadioButton() - Me.radRight = New System.Windows.Forms.RadioButton() - Me.radLeft = New System.Windows.Forms.RadioButton() - Me.numLevel = New System.Windows.Forms.NumericUpDown() - Me.lblLevel = New System.Windows.Forms.Label() - Me.cmbGame = New System.Windows.Forms.ComboBox() - Me.lstCharacters = New System.Windows.Forms.ListBox() - Me.lblHat = New System.Windows.Forms.Label() - Me.cmbHat = New System.Windows.Forms.ComboBox() - Me.lblName = New System.Windows.Forms.Label() - Me.txtName = New System.Windows.Forms.TextBox() - Me.mnuPurp = New System.Windows.Forms.MenuStrip() - Me.FileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.OpenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.Save_Enc_ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.Save_Dec_ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ClearToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.CloseToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.PortalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ReadSkylanderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.WriteSkylanderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ReadSwapperOtherHalfToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.WriteSwapperOtherHalfToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ConnectToPortalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.StatusPurp = New System.Windows.Forms.StatusStrip() - Me.SaldeStatus = New System.Windows.Forms.ToolStripStatusLabel() - Me.btnReset = New System.Windows.Forms.Button() - Me.bgWritePortal = New System.ComponentModel.BackgroundWorker() - Me.bgReadPortal = New System.ComponentModel.BackgroundWorker() - Me.tmrPortal = New System.Windows.Forms.Timer(Me.components) - Me.btnShowData = New System.Windows.Forms.Button() - Me.chkSerial = New System.Windows.Forms.CheckBox() - Me.lblData = New System.Windows.Forms.Label() - Me.btnClearData = New System.Windows.Forms.Button() - Me.tmrSkyKey = New System.Windows.Forms.Timer(Me.components) - Me.lblWebCode_Text = New System.Windows.Forms.Label() - Me.lblWebCode = New System.Windows.Forms.Label() - Me.lblSystem = New System.Windows.Forms.Label() - Me.cmbSystem = New System.Windows.Forms.ComboBox() - Me.btnTraps = New System.Windows.Forms.Button() - Me.btnVehicles = New System.Windows.Forms.Button() - Me.btnRaw = New System.Windows.Forms.Button() - Me.grpDebug = New System.Windows.Forms.GroupBox() - Me.btnArea = New System.Windows.Forms.Button() - Me.bgReadPortalDuo = New System.ComponentModel.BackgroundWorker() - Me.bgWritePortalDuo = New System.ComponentModel.BackgroundWorker() - CType(Me.picHeader, System.ComponentModel.ISupportInitialize).BeginInit() - Me.grpChecksums.SuspendLayout() - CType(Me.picSerial, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea1Type4, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea0Type4, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea1Type3, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea1Type2, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea1Type1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea0Type3, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea0Type2, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.picArea0Type1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.numGold, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.numHeroicChallenges, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.numHero, System.ComponentModel.ISupportInitialize).BeginInit() - Me.grpSkillPath.SuspendLayout() - CType(Me.numLevel, System.ComponentModel.ISupportInitialize).BeginInit() - Me.mnuPurp.SuspendLayout() - Me.StatusPurp.SuspendLayout() - Me.grpDebug.SuspendLayout() - Me.SuspendLayout() - ' - 'ofdSky - ' - Me.ofdSky.Title = "Choose File" - ' - 'lblGame - ' - Me.lblGame.AutoSize = True - Me.lblGame.Location = New System.Drawing.Point(16, 36) - Me.lblGame.Name = "lblGame" - Me.lblGame.Size = New System.Drawing.Size(35, 13) - Me.lblGame.TabIndex = 3 - Me.lblGame.Text = "Game" - ' - 'lblHeader - ' - Me.lblHeader.AutoSize = True - Me.lblHeader.Location = New System.Drawing.Point(18, 18) - Me.lblHeader.Name = "lblHeader" - Me.lblHeader.Size = New System.Drawing.Size(42, 13) - Me.lblHeader.TabIndex = 7 - Me.lblHeader.Text = "Header" - ' - 'picHeader - ' - Me.picHeader.BackColor = System.Drawing.Color.Yellow - Me.picHeader.Location = New System.Drawing.Point(28, 34) - Me.picHeader.Name = "picHeader" - Me.picHeader.Size = New System.Drawing.Size(22, 24) - Me.picHeader.TabIndex = 8 - Me.picHeader.TabStop = False - ' - 'grpChecksums - ' - Me.grpChecksums.BackColor = System.Drawing.SystemColors.Control - Me.grpChecksums.Controls.Add(Me.picSerial) - Me.grpChecksums.Controls.Add(Me.lblSerial) - Me.grpChecksums.Controls.Add(Me.picArea1Type4) - Me.grpChecksums.Controls.Add(Me.lblArea2Type4) - Me.grpChecksums.Controls.Add(Me.picArea0Type4) - Me.grpChecksums.Controls.Add(Me.lblArea1Type4) - Me.grpChecksums.Controls.Add(Me.picArea1Type3) - Me.grpChecksums.Controls.Add(Me.picArea1Type2) - Me.grpChecksums.Controls.Add(Me.lblArea2Type3) - Me.grpChecksums.Controls.Add(Me.lblArea2Type2) - Me.grpChecksums.Controls.Add(Me.picArea1Type1) - Me.grpChecksums.Controls.Add(Me.lblArea2Type1) - Me.grpChecksums.Controls.Add(Me.picArea0Type3) - Me.grpChecksums.Controls.Add(Me.picArea0Type2) - Me.grpChecksums.Controls.Add(Me.lblArea1Type3) - Me.grpChecksums.Controls.Add(Me.lblArea1Type2) - Me.grpChecksums.Controls.Add(Me.picArea0Type1) - Me.grpChecksums.Controls.Add(Me.lblArea1Type1) - Me.grpChecksums.Controls.Add(Me.picHeader) - Me.grpChecksums.Controls.Add(Me.lblHeader) - Me.grpChecksums.Location = New System.Drawing.Point(12, 315) - Me.grpChecksums.Name = "grpChecksums" - Me.grpChecksums.Size = New System.Drawing.Size(394, 113) - Me.grpChecksums.TabIndex = 9 - Me.grpChecksums.TabStop = False - Me.grpChecksums.Text = "Checksums" - ' - 'picSerial - ' - Me.picSerial.BackColor = System.Drawing.Color.Yellow - Me.picSerial.Location = New System.Drawing.Point(28, 78) - Me.picSerial.Name = "picSerial" - Me.picSerial.Size = New System.Drawing.Size(22, 24) - Me.picSerial.TabIndex = 26 - Me.picSerial.TabStop = False - ' - 'lblSerial - ' - Me.lblSerial.AutoSize = True - Me.lblSerial.Location = New System.Drawing.Point(23, 62) - Me.lblSerial.Name = "lblSerial" - Me.lblSerial.Size = New System.Drawing.Size(33, 13) - Me.lblSerial.TabIndex = 25 - Me.lblSerial.Text = "Serial" - ' - 'picArea1Type4 - ' - Me.picArea1Type4.BackColor = System.Drawing.Color.Yellow - Me.picArea1Type4.Location = New System.Drawing.Point(326, 78) - Me.picArea1Type4.Name = "picArea1Type4" - Me.picArea1Type4.Size = New System.Drawing.Size(22, 24) - Me.picArea1Type4.TabIndex = 24 - Me.picArea1Type4.TabStop = False - ' - 'lblArea2Type4 - ' - Me.lblArea2Type4.AutoSize = True - Me.lblArea2Type4.Location = New System.Drawing.Point(300, 62) - Me.lblArea2Type4.Name = "lblArea2Type4" - Me.lblArea2Type4.Size = New System.Drawing.Size(74, 13) - Me.lblArea2Type4.TabIndex = 23 - Me.lblArea2Type4.Text = "Area 1 Type 4" - ' - 'picArea0Type4 - ' - Me.picArea0Type4.BackColor = System.Drawing.Color.Yellow - Me.picArea0Type4.Location = New System.Drawing.Point(326, 34) - Me.picArea0Type4.Name = "picArea0Type4" - Me.picArea0Type4.Size = New System.Drawing.Size(22, 24) - Me.picArea0Type4.TabIndex = 22 - Me.picArea0Type4.TabStop = False - ' - 'lblArea1Type4 - ' - Me.lblArea1Type4.AutoSize = True - Me.lblArea1Type4.Location = New System.Drawing.Point(300, 18) - Me.lblArea1Type4.Name = "lblArea1Type4" - Me.lblArea1Type4.Size = New System.Drawing.Size(74, 13) - Me.lblArea1Type4.TabIndex = 21 - Me.lblArea1Type4.Text = "Area 0 Type 4" - ' - 'picArea1Type3 - ' - Me.picArea1Type3.BackColor = System.Drawing.Color.Yellow - Me.picArea1Type3.Location = New System.Drawing.Point(247, 78) - Me.picArea1Type3.Name = "picArea1Type3" - Me.picArea1Type3.Size = New System.Drawing.Size(22, 24) - Me.picArea1Type3.TabIndex = 20 - Me.picArea1Type3.TabStop = False - ' - 'picArea1Type2 - ' - Me.picArea1Type2.BackColor = System.Drawing.Color.Yellow - Me.picArea1Type2.Location = New System.Drawing.Point(167, 78) - Me.picArea1Type2.Name = "picArea1Type2" - Me.picArea1Type2.Size = New System.Drawing.Size(22, 24) - Me.picArea1Type2.TabIndex = 19 - Me.picArea1Type2.TabStop = False - ' - 'lblArea2Type3 - ' - Me.lblArea2Type3.AutoSize = True - Me.lblArea2Type3.Location = New System.Drawing.Point(221, 62) - Me.lblArea2Type3.Name = "lblArea2Type3" - Me.lblArea2Type3.Size = New System.Drawing.Size(74, 13) - Me.lblArea2Type3.TabIndex = 18 - Me.lblArea2Type3.Text = "Area 1 Type 3" - ' - 'lblArea2Type2 - ' - Me.lblArea2Type2.AutoSize = True - Me.lblArea2Type2.Location = New System.Drawing.Point(141, 62) - Me.lblArea2Type2.Name = "lblArea2Type2" - Me.lblArea2Type2.Size = New System.Drawing.Size(74, 13) - Me.lblArea2Type2.TabIndex = 17 - Me.lblArea2Type2.Text = "Area 1 Type 2" - ' - 'picArea1Type1 - ' - Me.picArea1Type1.BackColor = System.Drawing.Color.Yellow - Me.picArea1Type1.Location = New System.Drawing.Point(88, 78) - Me.picArea1Type1.Name = "picArea1Type1" - Me.picArea1Type1.Size = New System.Drawing.Size(22, 24) - Me.picArea1Type1.TabIndex = 16 - Me.picArea1Type1.TabStop = False - ' - 'lblArea2Type1 - ' - Me.lblArea2Type1.AutoSize = True - Me.lblArea2Type1.Location = New System.Drawing.Point(62, 62) - Me.lblArea2Type1.Name = "lblArea2Type1" - Me.lblArea2Type1.Size = New System.Drawing.Size(74, 13) - Me.lblArea2Type1.TabIndex = 15 - Me.lblArea2Type1.Text = "Area 1 Type 1" - ' - 'picArea0Type3 - ' - Me.picArea0Type3.BackColor = System.Drawing.Color.Yellow - Me.picArea0Type3.Location = New System.Drawing.Point(247, 34) - Me.picArea0Type3.Name = "picArea0Type3" - Me.picArea0Type3.Size = New System.Drawing.Size(22, 24) - Me.picArea0Type3.TabIndex = 14 - Me.picArea0Type3.TabStop = False - ' - 'picArea0Type2 - ' - Me.picArea0Type2.BackColor = System.Drawing.Color.Yellow - Me.picArea0Type2.Location = New System.Drawing.Point(167, 34) - Me.picArea0Type2.Name = "picArea0Type2" - Me.picArea0Type2.Size = New System.Drawing.Size(22, 24) - Me.picArea0Type2.TabIndex = 13 - Me.picArea0Type2.TabStop = False - ' - 'lblArea1Type3 - ' - Me.lblArea1Type3.AutoSize = True - Me.lblArea1Type3.Location = New System.Drawing.Point(221, 18) - Me.lblArea1Type3.Name = "lblArea1Type3" - Me.lblArea1Type3.Size = New System.Drawing.Size(74, 13) - Me.lblArea1Type3.TabIndex = 12 - Me.lblArea1Type3.Text = "Area 0 Type 3" - ' - 'lblArea1Type2 - ' - Me.lblArea1Type2.AutoSize = True - Me.lblArea1Type2.Location = New System.Drawing.Point(141, 18) - Me.lblArea1Type2.Name = "lblArea1Type2" - Me.lblArea1Type2.Size = New System.Drawing.Size(74, 13) - Me.lblArea1Type2.TabIndex = 11 - Me.lblArea1Type2.Text = "Area 0 Type 2" - ' - 'picArea0Type1 - ' - Me.picArea0Type1.BackColor = System.Drawing.Color.Yellow - Me.picArea0Type1.Location = New System.Drawing.Point(88, 34) - Me.picArea0Type1.Name = "picArea0Type1" - Me.picArea0Type1.Size = New System.Drawing.Size(22, 24) - Me.picArea0Type1.TabIndex = 10 - Me.picArea0Type1.TabStop = False - ' - 'lblArea1Type1 - ' - Me.lblArea1Type1.AutoSize = True - Me.lblArea1Type1.Location = New System.Drawing.Point(62, 18) - Me.lblArea1Type1.Name = "lblArea1Type1" - Me.lblArea1Type1.Size = New System.Drawing.Size(74, 13) - Me.lblArea1Type1.TabIndex = 9 - Me.lblArea1Type1.Text = "Area 0 Type 1" - ' - 'lblGold - ' - Me.lblGold.AutoSize = True - Me.lblGold.Location = New System.Drawing.Point(30, 105) - Me.lblGold.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) - Me.lblGold.Name = "lblGold" - Me.lblGold.Size = New System.Drawing.Size(29, 13) - Me.lblGold.TabIndex = 12 - Me.lblGold.Text = "Gold" - ' - 'numGold - ' - Me.numGold.Location = New System.Drawing.Point(14, 120) - Me.numGold.Margin = New System.Windows.Forms.Padding(2) - Me.numGold.Maximum = New Decimal(New Integer() {65000, 0, 0, 0}) - Me.numGold.Name = "numGold" - Me.numGold.Size = New System.Drawing.Size(83, 20) - Me.numGold.TabIndex = 13 - ' - 'numHeroicChallenges - ' - Me.numHeroicChallenges.Location = New System.Drawing.Point(14, 163) - Me.numHeroicChallenges.Margin = New System.Windows.Forms.Padding(2) - Me.numHeroicChallenges.Maximum = New Decimal(New Integer() {-1, 0, 0, 0}) - Me.numHeroicChallenges.Name = "numHeroicChallenges" - Me.numHeroicChallenges.Size = New System.Drawing.Size(83, 20) - Me.numHeroicChallenges.TabIndex = 16 - ' - 'lblChallenge - ' - Me.lblChallenge.AutoSize = True - Me.lblChallenge.Location = New System.Drawing.Point(9, 147) - Me.lblChallenge.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) - Me.lblChallenge.Name = "lblChallenge" - Me.lblChallenge.Size = New System.Drawing.Size(93, 13) - Me.lblChallenge.TabIndex = 17 - Me.lblChallenge.Text = "Heroic Challenges" - ' - 'lblHeroPoints - ' - Me.lblHeroPoints.AutoSize = True - Me.lblHeroPoints.Location = New System.Drawing.Point(112, 147) - Me.lblHeroPoints.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) - Me.lblHeroPoints.Name = "lblHeroPoints" - Me.lblHeroPoints.Size = New System.Drawing.Size(62, 13) - Me.lblHeroPoints.TabIndex = 19 - Me.lblHeroPoints.Text = "Hero Points" - ' - 'numHero - ' - Me.numHero.Location = New System.Drawing.Point(101, 163) - Me.numHero.Margin = New System.Windows.Forms.Padding(2) - Me.numHero.Name = "numHero" - Me.numHero.Size = New System.Drawing.Size(90, 20) - Me.numHero.TabIndex = 20 - ' - 'grpSkillPath - ' - Me.grpSkillPath.Controls.Add(Me.radNone) - Me.grpSkillPath.Controls.Add(Me.radRight) - Me.grpSkillPath.Controls.Add(Me.radLeft) - Me.grpSkillPath.Location = New System.Drawing.Point(14, 190) - Me.grpSkillPath.Margin = New System.Windows.Forms.Padding(2) - Me.grpSkillPath.Name = "grpSkillPath" - Me.grpSkillPath.Padding = New System.Windows.Forms.Padding(2) - Me.grpSkillPath.Size = New System.Drawing.Size(178, 41) - Me.grpSkillPath.TabIndex = 21 - Me.grpSkillPath.TabStop = False - Me.grpSkillPath.Text = "Skill Path" - ' - 'radNone - ' - Me.radNone.AutoSize = True - Me.radNone.Location = New System.Drawing.Point(112, 18) - Me.radNone.Name = "radNone" - Me.radNone.Size = New System.Drawing.Size(51, 17) - Me.radNone.TabIndex = 24 - Me.radNone.TabStop = True - Me.radNone.Text = "None" - Me.radNone.UseVisualStyleBackColor = True - ' - 'radRight - ' - Me.radRight.AutoSize = True - Me.radRight.Location = New System.Drawing.Point(57, 18) - Me.radRight.Margin = New System.Windows.Forms.Padding(2) - Me.radRight.Name = "radRight" - Me.radRight.Size = New System.Drawing.Size(50, 17) - Me.radRight.TabIndex = 23 - Me.radRight.TabStop = True - Me.radRight.Text = "Right" - Me.radRight.UseVisualStyleBackColor = True - ' - 'radLeft - ' - Me.radLeft.AutoSize = True - Me.radLeft.Location = New System.Drawing.Point(13, 18) - Me.radLeft.Margin = New System.Windows.Forms.Padding(2) - Me.radLeft.Name = "radLeft" - Me.radLeft.Size = New System.Drawing.Size(43, 17) - Me.radLeft.TabIndex = 22 - Me.radLeft.TabStop = True - Me.radLeft.Text = "Left" - Me.radLeft.UseVisualStyleBackColor = True - ' - 'numLevel - ' - Me.numLevel.Location = New System.Drawing.Point(101, 120) - Me.numLevel.Margin = New System.Windows.Forms.Padding(2) - Me.numLevel.Maximum = New Decimal(New Integer() {20, 0, 0, 0}) - Me.numLevel.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) - Me.numLevel.Name = "numLevel" - Me.numLevel.Size = New System.Drawing.Size(90, 20) - Me.numLevel.TabIndex = 25 - Me.numLevel.Value = New Decimal(New Integer() {1, 0, 0, 0}) - ' - 'lblLevel - ' - Me.lblLevel.AutoSize = True - Me.lblLevel.Location = New System.Drawing.Point(128, 104) - Me.lblLevel.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) - Me.lblLevel.Name = "lblLevel" - Me.lblLevel.Size = New System.Drawing.Size(33, 13) - Me.lblLevel.TabIndex = 26 - Me.lblLevel.Text = "Level" - ' - 'cmbGame - ' - Me.cmbGame.FormattingEnabled = True - Me.cmbGame.Items.AddRange(New Object() {"Spyro's Adventure", "Giants", "Swap Force", "Trap Team", "SuperChargers", "Imaginators", "Items", "Traps", "Adventure Packs"}) - Me.cmbGame.Location = New System.Drawing.Point(56, 33) - Me.cmbGame.Margin = New System.Windows.Forms.Padding(2) - Me.cmbGame.Name = "cmbGame" - Me.cmbGame.Size = New System.Drawing.Size(135, 21) - Me.cmbGame.TabIndex = 25 - ' - 'lstCharacters - ' - Me.lstCharacters.FormattingEnabled = True - Me.lstCharacters.Location = New System.Drawing.Point(203, 36) - Me.lstCharacters.Margin = New System.Windows.Forms.Padding(2) - Me.lstCharacters.Name = "lstCharacters" - Me.lstCharacters.Size = New System.Drawing.Size(202, 277) - Me.lstCharacters.TabIndex = 27 - ' - 'lblHat - ' - Me.lblHat.AutoSize = True - Me.lblHat.Location = New System.Drawing.Point(16, 75) - Me.lblHat.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) - Me.lblHat.Name = "lblHat" - Me.lblHat.Size = New System.Drawing.Size(24, 13) - Me.lblHat.TabIndex = 25 - Me.lblHat.Text = "Hat" - ' - 'cmbHat - ' - Me.cmbHat.FormattingEnabled = True - Me.cmbHat.Location = New System.Drawing.Point(56, 72) - Me.cmbHat.Margin = New System.Windows.Forms.Padding(2) - Me.cmbHat.Name = "cmbHat" - Me.cmbHat.Size = New System.Drawing.Size(135, 21) - Me.cmbHat.TabIndex = 28 - ' - 'lblName - ' - Me.lblName.AutoSize = True - Me.lblName.Location = New System.Drawing.Point(11, 274) - Me.lblName.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) - Me.lblName.Name = "lblName" - Me.lblName.Size = New System.Drawing.Size(55, 13) - Me.lblName.TabIndex = 29 - Me.lblName.Text = "Nickname" - ' - 'txtName - ' - Me.txtName.Location = New System.Drawing.Point(14, 290) - Me.txtName.Margin = New System.Windows.Forms.Padding(2) - Me.txtName.MaxLength = 15 - Me.txtName.Name = "txtName" - Me.txtName.Size = New System.Drawing.Size(178, 20) - Me.txtName.TabIndex = 30 - ' - 'mnuPurp - ' - Me.mnuPurp.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem, Me.PortalToolStripMenuItem}) - Me.mnuPurp.Location = New System.Drawing.Point(0, 0) - Me.mnuPurp.Name = "mnuPurp" - Me.mnuPurp.Size = New System.Drawing.Size(648, 24) - Me.mnuPurp.TabIndex = 35 - Me.mnuPurp.Text = "MenuStrip1" - ' - 'FileToolStripMenuItem - ' - Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenToolStripMenuItem, Me.Save_Enc_ToolStripMenuItem, Me.Save_Dec_ToolStripMenuItem, Me.ClearToolStripMenuItem, Me.CloseToolStripMenuItem}) - Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem" - Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37, 20) - Me.FileToolStripMenuItem.Text = "&File" - ' - 'OpenToolStripMenuItem - ' - Me.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem" - Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(155, 22) - Me.OpenToolStripMenuItem.Text = "&Open" - ' - 'Save_Enc_ToolStripMenuItem - ' - Me.Save_Enc_ToolStripMenuItem.Name = "Save_Enc_ToolStripMenuItem" - Me.Save_Enc_ToolStripMenuItem.Size = New System.Drawing.Size(155, 22) - Me.Save_Enc_ToolStripMenuItem.Text = "&Save Encrypted" - ' - 'Save_Dec_ToolStripMenuItem - ' - Me.Save_Dec_ToolStripMenuItem.Name = "Save_Dec_ToolStripMenuItem" - Me.Save_Dec_ToolStripMenuItem.Size = New System.Drawing.Size(155, 22) - Me.Save_Dec_ToolStripMenuItem.Text = "Save &Decrypted" - ' - 'ClearToolStripMenuItem - ' - Me.ClearToolStripMenuItem.Name = "ClearToolStripMenuItem" - Me.ClearToolStripMenuItem.Size = New System.Drawing.Size(155, 22) - Me.ClearToolStripMenuItem.Text = "Clear" - ' - 'CloseToolStripMenuItem - ' - Me.CloseToolStripMenuItem.Name = "CloseToolStripMenuItem" - Me.CloseToolStripMenuItem.Size = New System.Drawing.Size(155, 22) - Me.CloseToolStripMenuItem.Text = "&Close" - ' - 'PortalToolStripMenuItem - ' - Me.PortalToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReadSkylanderToolStripMenuItem, Me.WriteSkylanderToolStripMenuItem, Me.ReadSwapperOtherHalfToolStripMenuItem, Me.WriteSwapperOtherHalfToolStripMenuItem, Me.ConnectToPortalToolStripMenuItem}) - Me.PortalToolStripMenuItem.Name = "PortalToolStripMenuItem" - Me.PortalToolStripMenuItem.Size = New System.Drawing.Size(50, 20) - Me.PortalToolStripMenuItem.Text = "Portal" - ' - 'ReadSkylanderToolStripMenuItem - ' - Me.ReadSkylanderToolStripMenuItem.Enabled = False - Me.ReadSkylanderToolStripMenuItem.Name = "ReadSkylanderToolStripMenuItem" - Me.ReadSkylanderToolStripMenuItem.Size = New System.Drawing.Size(223, 22) - Me.ReadSkylanderToolStripMenuItem.Text = "Read Skylander from Portal" - ' - 'WriteSkylanderToolStripMenuItem - ' - Me.WriteSkylanderToolStripMenuItem.Enabled = False - Me.WriteSkylanderToolStripMenuItem.Name = "WriteSkylanderToolStripMenuItem" - Me.WriteSkylanderToolStripMenuItem.Size = New System.Drawing.Size(223, 22) - Me.WriteSkylanderToolStripMenuItem.Text = "Write Skylander to Portal" - ' - 'ReadSwapperOtherHalfToolStripMenuItem - ' - Me.ReadSwapperOtherHalfToolStripMenuItem.Enabled = False - Me.ReadSwapperOtherHalfToolStripMenuItem.Name = "ReadSwapperOtherHalfToolStripMenuItem" - Me.ReadSwapperOtherHalfToolStripMenuItem.Size = New System.Drawing.Size(223, 22) - Me.ReadSwapperOtherHalfToolStripMenuItem.Text = "Read Swap Force Other Half" - ' - 'WriteSwapperOtherHalfToolStripMenuItem - ' - Me.WriteSwapperOtherHalfToolStripMenuItem.Enabled = False - Me.WriteSwapperOtherHalfToolStripMenuItem.Name = "WriteSwapperOtherHalfToolStripMenuItem" - Me.WriteSwapperOtherHalfToolStripMenuItem.Size = New System.Drawing.Size(223, 22) - Me.WriteSwapperOtherHalfToolStripMenuItem.Text = "Write Swap Force Other Half" - ' - 'ConnectToPortalToolStripMenuItem - ' - Me.ConnectToPortalToolStripMenuItem.Name = "ConnectToPortalToolStripMenuItem" - Me.ConnectToPortalToolStripMenuItem.Size = New System.Drawing.Size(223, 22) - Me.ConnectToPortalToolStripMenuItem.Text = "Connect to Portal" - ' - 'StatusPurp - ' - Me.StatusPurp.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SaldeStatus}) - Me.StatusPurp.Location = New System.Drawing.Point(0, 493) - Me.StatusPurp.Name = "StatusPurp" - Me.StatusPurp.Size = New System.Drawing.Size(648, 22) - Me.StatusPurp.TabIndex = 36 - Me.StatusPurp.Text = "StatusStrip1" - ' - 'SaldeStatus - ' - Me.SaldeStatus.Name = "SaldeStatus" - Me.SaldeStatus.Size = New System.Drawing.Size(0, 17) - ' - 'btnReset - ' - Me.btnReset.Location = New System.Drawing.Point(116, 238) - Me.btnReset.Name = "btnReset" - Me.btnReset.Size = New System.Drawing.Size(75, 34) - Me.btnReset.TabIndex = 37 - Me.btnReset.Text = "Reset Figure" - Me.btnReset.UseVisualStyleBackColor = True - ' - 'bgWritePortal - ' - Me.bgWritePortal.WorkerReportsProgress = True - ' - 'bgReadPortal - ' - ' - 'tmrPortal - ' - Me.tmrPortal.Enabled = True - Me.tmrPortal.Interval = 2500 - ' - 'btnShowData - ' - Me.btnShowData.Location = New System.Drawing.Point(355, 438) - Me.btnShowData.Name = "btnShowData" - Me.btnShowData.Size = New System.Drawing.Size(75, 23) - Me.btnShowData.TabIndex = 38 - Me.btnShowData.Text = "Show Data" - Me.btnShowData.UseVisualStyleBackColor = True - ' - 'chkSerial - ' - Me.chkSerial.AutoSize = True - Me.chkSerial.Location = New System.Drawing.Point(14, 438) - Me.chkSerial.Name = "chkSerial" - Me.chkSerial.Size = New System.Drawing.Size(108, 17) - Me.chkSerial.TabIndex = 39 - Me.chkSerial.Text = "Randomize Serial" - Me.chkSerial.UseVisualStyleBackColor = True - ' - 'lblData - ' - Me.lblData.AutoSize = True - Me.lblData.Location = New System.Drawing.Point(128, 438) - Me.lblData.Name = "lblData" - Me.lblData.Size = New System.Drawing.Size(33, 13) - Me.lblData.TabIndex = 43 - Me.lblData.Text = "Data:" - ' - 'btnClearData - ' - Me.btnClearData.Location = New System.Drawing.Point(355, 467) - Me.btnClearData.Name = "btnClearData" - Me.btnClearData.Size = New System.Drawing.Size(75, 23) - Me.btnClearData.TabIndex = 44 - Me.btnClearData.Text = "Clear Data" - Me.btnClearData.UseVisualStyleBackColor = True - ' - 'tmrSkyKey - ' - Me.tmrSkyKey.Interval = 1500 - ' - 'lblWebCode_Text - ' - Me.lblWebCode_Text.AutoSize = True - Me.lblWebCode_Text.Location = New System.Drawing.Point(16, 238) - Me.lblWebCode_Text.Name = "lblWebCode_Text" - Me.lblWebCode_Text.Size = New System.Drawing.Size(55, 13) - Me.lblWebCode_Text.TabIndex = 54 - Me.lblWebCode_Text.Text = "WebCode" - ' - 'lblWebCode - ' - Me.lblWebCode.AutoSize = True - Me.lblWebCode.Location = New System.Drawing.Point(16, 251) - Me.lblWebCode.Name = "lblWebCode" - Me.lblWebCode.Size = New System.Drawing.Size(0, 13) - Me.lblWebCode.TabIndex = 57 - ' - 'lblSystem - ' - Me.lblSystem.AutoSize = True - Me.lblSystem.Location = New System.Drawing.Point(9, 467) - Me.lblSystem.Name = "lblSystem" - Me.lblSystem.Size = New System.Drawing.Size(41, 13) - Me.lblSystem.TabIndex = 58 - Me.lblSystem.Text = "System" - ' - 'cmbSystem - ' - Me.cmbSystem.FormattingEnabled = True - Me.cmbSystem.Items.AddRange(New Object() {"Wii", "Xbox 360", "PS3", "PC", "3DS", "Wii U", "Xbox One", "PS4", "Tablet"}) - Me.cmbSystem.Location = New System.Drawing.Point(54, 464) - Me.cmbSystem.Name = "cmbSystem" - Me.cmbSystem.Size = New System.Drawing.Size(121, 21) - Me.cmbSystem.TabIndex = 59 - ' - 'btnTraps - ' - Me.btnTraps.Location = New System.Drawing.Point(274, 467) - Me.btnTraps.Name = "btnTraps" - Me.btnTraps.Size = New System.Drawing.Size(75, 23) - Me.btnTraps.TabIndex = 60 - Me.btnTraps.Text = "Traps" - Me.btnTraps.UseVisualStyleBackColor = True - ' - 'btnVehicles - ' - Me.btnVehicles.Location = New System.Drawing.Point(193, 467) - Me.btnVehicles.Name = "btnVehicles" - Me.btnVehicles.Size = New System.Drawing.Size(75, 23) - Me.btnVehicles.TabIndex = 61 - Me.btnVehicles.Text = "Vehicles" - Me.btnVehicles.UseVisualStyleBackColor = True - ' - 'btnRaw - ' - Me.btnRaw.Location = New System.Drawing.Point(6, 34) - Me.btnRaw.Name = "btnRaw" - Me.btnRaw.Size = New System.Drawing.Size(75, 23) - Me.btnRaw.TabIndex = 62 - Me.btnRaw.Text = "Raw Write" - Me.btnRaw.UseVisualStyleBackColor = True - ' - 'grpDebug - ' - Me.grpDebug.Controls.Add(Me.btnArea) - Me.grpDebug.Controls.Add(Me.btnRaw) - Me.grpDebug.Location = New System.Drawing.Point(436, 36) - Me.grpDebug.Name = "grpDebug" - Me.grpDebug.Size = New System.Drawing.Size(200, 454) - Me.grpDebug.TabIndex = 64 - Me.grpDebug.TabStop = False - Me.grpDebug.Text = "Debug" - ' - 'btnArea - ' - Me.btnArea.Location = New System.Drawing.Point(6, 64) - Me.btnArea.Name = "btnArea" - Me.btnArea.Size = New System.Drawing.Size(75, 23) - Me.btnArea.TabIndex = 63 - Me.btnArea.Text = "Area" - Me.btnArea.UseVisualStyleBackColor = True - ' - 'bgReadPortalDuo - ' - ' - 'bgWritePortalDuo - ' - ' - 'frmMain - ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) - Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(648, 515) - Me.Controls.Add(Me.grpDebug) - Me.Controls.Add(Me.btnVehicles) - Me.Controls.Add(Me.btnTraps) - Me.Controls.Add(Me.cmbSystem) - Me.Controls.Add(Me.lblSystem) - Me.Controls.Add(Me.lblWebCode) - Me.Controls.Add(Me.lblWebCode_Text) - Me.Controls.Add(Me.btnClearData) - Me.Controls.Add(Me.lblData) - Me.Controls.Add(Me.chkSerial) - Me.Controls.Add(Me.btnShowData) - Me.Controls.Add(Me.btnReset) - Me.Controls.Add(Me.StatusPurp) - Me.Controls.Add(Me.mnuPurp) - Me.Controls.Add(Me.txtName) - Me.Controls.Add(Me.lblName) - Me.Controls.Add(Me.cmbHat) - Me.Controls.Add(Me.lblHat) - Me.Controls.Add(Me.lstCharacters) - Me.Controls.Add(Me.cmbGame) - Me.Controls.Add(Me.lblLevel) - Me.Controls.Add(Me.numLevel) - Me.Controls.Add(Me.grpSkillPath) - Me.Controls.Add(Me.numHero) - Me.Controls.Add(Me.lblHeroPoints) - Me.Controls.Add(Me.lblChallenge) - Me.Controls.Add(Me.numHeroicChallenges) - Me.Controls.Add(Me.numGold) - Me.Controls.Add(Me.lblGold) - Me.Controls.Add(Me.grpChecksums) - Me.Controls.Add(Me.lblGame) - Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) - Me.MainMenuStrip = Me.mnuPurp - Me.MaximizeBox = False - Me.Name = "frmMain" - Me.Text = "SkyReader-GUI ALPHA-5" - CType(Me.picHeader, System.ComponentModel.ISupportInitialize).EndInit() - Me.grpChecksums.ResumeLayout(False) - Me.grpChecksums.PerformLayout() - CType(Me.picSerial, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea1Type4, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea0Type4, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea1Type3, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea1Type2, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea1Type1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea0Type3, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea0Type2, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.picArea0Type1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.numGold, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.numHeroicChallenges, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.numHero, System.ComponentModel.ISupportInitialize).EndInit() - Me.grpSkillPath.ResumeLayout(False) - Me.grpSkillPath.PerformLayout() - CType(Me.numLevel, System.ComponentModel.ISupportInitialize).EndInit() - Me.mnuPurp.ResumeLayout(False) - Me.mnuPurp.PerformLayout() - Me.StatusPurp.ResumeLayout(False) - Me.StatusPurp.PerformLayout() - Me.grpDebug.ResumeLayout(False) - Me.ResumeLayout(False) - Me.PerformLayout() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain)) + Me.ofdSky = New System.Windows.Forms.OpenFileDialog() + Me.lblGame = New System.Windows.Forms.Label() + Me.lblHeader = New System.Windows.Forms.Label() + Me.picHeader = New System.Windows.Forms.PictureBox() + Me.grpChecksums = New System.Windows.Forms.GroupBox() + Me.picSerial = New System.Windows.Forms.PictureBox() + Me.lblSerial = New System.Windows.Forms.Label() + Me.picArea1Type4 = New System.Windows.Forms.PictureBox() + Me.lblArea2Type4 = New System.Windows.Forms.Label() + Me.picArea0Type4 = New System.Windows.Forms.PictureBox() + Me.lblArea1Type4 = New System.Windows.Forms.Label() + Me.picArea1Type3 = New System.Windows.Forms.PictureBox() + Me.picArea1Type2 = New System.Windows.Forms.PictureBox() + Me.lblArea2Type3 = New System.Windows.Forms.Label() + Me.lblArea2Type2 = New System.Windows.Forms.Label() + Me.picArea1Type1 = New System.Windows.Forms.PictureBox() + Me.lblArea2Type1 = New System.Windows.Forms.Label() + Me.picArea0Type3 = New System.Windows.Forms.PictureBox() + Me.picArea0Type2 = New System.Windows.Forms.PictureBox() + Me.lblArea1Type3 = New System.Windows.Forms.Label() + Me.lblArea1Type2 = New System.Windows.Forms.Label() + Me.picArea0Type1 = New System.Windows.Forms.PictureBox() + Me.lblArea1Type1 = New System.Windows.Forms.Label() + Me.lblGold = New System.Windows.Forms.Label() + Me.numGold = New System.Windows.Forms.NumericUpDown() + Me.numHeroicChallenges = New System.Windows.Forms.NumericUpDown() + Me.lblChallenge = New System.Windows.Forms.Label() + Me.lblHeroPoints = New System.Windows.Forms.Label() + Me.numHero = New System.Windows.Forms.NumericUpDown() + Me.grpSkillPath = New System.Windows.Forms.GroupBox() + Me.radNone = New System.Windows.Forms.RadioButton() + Me.radRight = New System.Windows.Forms.RadioButton() + Me.radLeft = New System.Windows.Forms.RadioButton() + Me.numLevel = New System.Windows.Forms.NumericUpDown() + Me.lblLevel = New System.Windows.Forms.Label() + Me.cmbGame = New System.Windows.Forms.ComboBox() + Me.lstCharacters = New System.Windows.Forms.ListBox() + Me.lblHat = New System.Windows.Forms.Label() + Me.cmbHat = New System.Windows.Forms.ComboBox() + Me.lblName = New System.Windows.Forms.Label() + Me.txtName = New System.Windows.Forms.TextBox() + Me.mnuPurp = New System.Windows.Forms.MenuStrip() + Me.FileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Save_Enc_ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Save_Dec_ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ClearToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CloseToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PortalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReadSkylanderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.WriteSkylanderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReadSecondFigureToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.WriteSecondFigureToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ConnectToPortalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EditorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TrapsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.VehiclesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CrystalsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.StatusPurp = New System.Windows.Forms.StatusStrip() + Me.SaldeStatus = New System.Windows.Forms.ToolStripStatusLabel() + Me.btnReset = New System.Windows.Forms.Button() + Me.bgWritePortal = New System.ComponentModel.BackgroundWorker() + Me.bgReadPortal = New System.ComponentModel.BackgroundWorker() + Me.btnShowData = New System.Windows.Forms.Button() + Me.chkSerial = New System.Windows.Forms.CheckBox() + Me.lblData = New System.Windows.Forms.Label() + Me.btnClearData = New System.Windows.Forms.Button() + Me.lblWebCode_Text = New System.Windows.Forms.Label() + Me.lblWebCode = New System.Windows.Forms.Label() + Me.lblSystem = New System.Windows.Forms.Label() + Me.cmbSystem = New System.Windows.Forms.ComboBox() + Me.btnTraps = New System.Windows.Forms.Button() + Me.btnVehicles = New System.Windows.Forms.Button() + Me.btnRaw = New System.Windows.Forms.Button() + Me.grpDebug = New System.Windows.Forms.GroupBox() + Me.btnCrystals = New System.Windows.Forms.Button() + Me.btnRainbow = New System.Windows.Forms.Button() + Me.btnArea = New System.Windows.Forms.Button() + Me.bgReadPortalDuo = New System.ComponentModel.BackgroundWorker() + Me.bgWritePortalDuo = New System.ComponentModel.BackgroundWorker() + Me.tmrRainbow = New System.Windows.Forms.Timer(Me.components) + Me.grpEditor = New System.Windows.Forms.GroupBox() + Me.btnGame = New System.Windows.Forms.Button() + CType(Me.picHeader, System.ComponentModel.ISupportInitialize).BeginInit() + Me.grpChecksums.SuspendLayout() + CType(Me.picSerial, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea1Type4, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea0Type4, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea1Type3, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea1Type2, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea1Type1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea0Type3, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea0Type2, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.picArea0Type1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numGold, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numHeroicChallenges, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numHero, System.ComponentModel.ISupportInitialize).BeginInit() + Me.grpSkillPath.SuspendLayout() + CType(Me.numLevel, System.ComponentModel.ISupportInitialize).BeginInit() + Me.mnuPurp.SuspendLayout() + Me.StatusPurp.SuspendLayout() + Me.grpDebug.SuspendLayout() + Me.grpEditor.SuspendLayout() + Me.SuspendLayout() + ' + 'ofdSky + ' + Me.ofdSky.Title = "Choose File" + ' + 'lblGame + ' + Me.lblGame.AutoSize = True + Me.lblGame.Location = New System.Drawing.Point(16, 36) + Me.lblGame.Name = "lblGame" + Me.lblGame.Size = New System.Drawing.Size(35, 13) + Me.lblGame.TabIndex = 3 + Me.lblGame.Text = "Game" + ' + 'lblHeader + ' + Me.lblHeader.AutoSize = True + Me.lblHeader.Location = New System.Drawing.Point(18, 18) + Me.lblHeader.Name = "lblHeader" + Me.lblHeader.Size = New System.Drawing.Size(42, 13) + Me.lblHeader.TabIndex = 7 + Me.lblHeader.Text = "Header" + ' + 'picHeader + ' + Me.picHeader.BackColor = System.Drawing.Color.Yellow + Me.picHeader.Location = New System.Drawing.Point(28, 34) + Me.picHeader.Name = "picHeader" + Me.picHeader.Size = New System.Drawing.Size(22, 24) + Me.picHeader.TabIndex = 8 + Me.picHeader.TabStop = False + ' + 'grpChecksums + ' + Me.grpChecksums.BackColor = System.Drawing.SystemColors.Control + Me.grpChecksums.Controls.Add(Me.picSerial) + Me.grpChecksums.Controls.Add(Me.lblSerial) + Me.grpChecksums.Controls.Add(Me.picArea1Type4) + Me.grpChecksums.Controls.Add(Me.lblArea2Type4) + Me.grpChecksums.Controls.Add(Me.picArea0Type4) + Me.grpChecksums.Controls.Add(Me.lblArea1Type4) + Me.grpChecksums.Controls.Add(Me.picArea1Type3) + Me.grpChecksums.Controls.Add(Me.picArea1Type2) + Me.grpChecksums.Controls.Add(Me.lblArea2Type3) + Me.grpChecksums.Controls.Add(Me.lblArea2Type2) + Me.grpChecksums.Controls.Add(Me.picArea1Type1) + Me.grpChecksums.Controls.Add(Me.lblArea2Type1) + Me.grpChecksums.Controls.Add(Me.picArea0Type3) + Me.grpChecksums.Controls.Add(Me.picArea0Type2) + Me.grpChecksums.Controls.Add(Me.lblArea1Type3) + Me.grpChecksums.Controls.Add(Me.lblArea1Type2) + Me.grpChecksums.Controls.Add(Me.picArea0Type1) + Me.grpChecksums.Controls.Add(Me.lblArea1Type1) + Me.grpChecksums.Controls.Add(Me.picHeader) + Me.grpChecksums.Controls.Add(Me.lblHeader) + Me.grpChecksums.Location = New System.Drawing.Point(12, 315) + Me.grpChecksums.Name = "grpChecksums" + Me.grpChecksums.Size = New System.Drawing.Size(394, 113) + Me.grpChecksums.TabIndex = 9 + Me.grpChecksums.TabStop = False + Me.grpChecksums.Text = "Checksums" + ' + 'picSerial + ' + Me.picSerial.BackColor = System.Drawing.Color.Yellow + Me.picSerial.Location = New System.Drawing.Point(28, 78) + Me.picSerial.Name = "picSerial" + Me.picSerial.Size = New System.Drawing.Size(22, 24) + Me.picSerial.TabIndex = 26 + Me.picSerial.TabStop = False + ' + 'lblSerial + ' + Me.lblSerial.AutoSize = True + Me.lblSerial.Location = New System.Drawing.Point(23, 62) + Me.lblSerial.Name = "lblSerial" + Me.lblSerial.Size = New System.Drawing.Size(33, 13) + Me.lblSerial.TabIndex = 25 + Me.lblSerial.Text = "Serial" + ' + 'picArea1Type4 + ' + Me.picArea1Type4.BackColor = System.Drawing.Color.Yellow + Me.picArea1Type4.Location = New System.Drawing.Point(326, 78) + Me.picArea1Type4.Name = "picArea1Type4" + Me.picArea1Type4.Size = New System.Drawing.Size(22, 24) + Me.picArea1Type4.TabIndex = 24 + Me.picArea1Type4.TabStop = False + ' + 'lblArea2Type4 + ' + Me.lblArea2Type4.AutoSize = True + Me.lblArea2Type4.Location = New System.Drawing.Point(300, 62) + Me.lblArea2Type4.Name = "lblArea2Type4" + Me.lblArea2Type4.Size = New System.Drawing.Size(74, 13) + Me.lblArea2Type4.TabIndex = 23 + Me.lblArea2Type4.Text = "Area 1 Type 4" + ' + 'picArea0Type4 + ' + Me.picArea0Type4.BackColor = System.Drawing.Color.Yellow + Me.picArea0Type4.Location = New System.Drawing.Point(326, 34) + Me.picArea0Type4.Name = "picArea0Type4" + Me.picArea0Type4.Size = New System.Drawing.Size(22, 24) + Me.picArea0Type4.TabIndex = 22 + Me.picArea0Type4.TabStop = False + ' + 'lblArea1Type4 + ' + Me.lblArea1Type4.AutoSize = True + Me.lblArea1Type4.Location = New System.Drawing.Point(300, 18) + Me.lblArea1Type4.Name = "lblArea1Type4" + Me.lblArea1Type4.Size = New System.Drawing.Size(74, 13) + Me.lblArea1Type4.TabIndex = 21 + Me.lblArea1Type4.Text = "Area 0 Type 4" + ' + 'picArea1Type3 + ' + Me.picArea1Type3.BackColor = System.Drawing.Color.Yellow + Me.picArea1Type3.Location = New System.Drawing.Point(247, 78) + Me.picArea1Type3.Name = "picArea1Type3" + Me.picArea1Type3.Size = New System.Drawing.Size(22, 24) + Me.picArea1Type3.TabIndex = 20 + Me.picArea1Type3.TabStop = False + ' + 'picArea1Type2 + ' + Me.picArea1Type2.BackColor = System.Drawing.Color.Yellow + Me.picArea1Type2.Location = New System.Drawing.Point(167, 78) + Me.picArea1Type2.Name = "picArea1Type2" + Me.picArea1Type2.Size = New System.Drawing.Size(22, 24) + Me.picArea1Type2.TabIndex = 19 + Me.picArea1Type2.TabStop = False + ' + 'lblArea2Type3 + ' + Me.lblArea2Type3.AutoSize = True + Me.lblArea2Type3.Location = New System.Drawing.Point(221, 62) + Me.lblArea2Type3.Name = "lblArea2Type3" + Me.lblArea2Type3.Size = New System.Drawing.Size(74, 13) + Me.lblArea2Type3.TabIndex = 18 + Me.lblArea2Type3.Text = "Area 1 Type 3" + ' + 'lblArea2Type2 + ' + Me.lblArea2Type2.AutoSize = True + Me.lblArea2Type2.Location = New System.Drawing.Point(141, 62) + Me.lblArea2Type2.Name = "lblArea2Type2" + Me.lblArea2Type2.Size = New System.Drawing.Size(74, 13) + Me.lblArea2Type2.TabIndex = 17 + Me.lblArea2Type2.Text = "Area 1 Type 2" + ' + 'picArea1Type1 + ' + Me.picArea1Type1.BackColor = System.Drawing.Color.Yellow + Me.picArea1Type1.Location = New System.Drawing.Point(88, 78) + Me.picArea1Type1.Name = "picArea1Type1" + Me.picArea1Type1.Size = New System.Drawing.Size(22, 24) + Me.picArea1Type1.TabIndex = 16 + Me.picArea1Type1.TabStop = False + ' + 'lblArea2Type1 + ' + Me.lblArea2Type1.AutoSize = True + Me.lblArea2Type1.Location = New System.Drawing.Point(62, 62) + Me.lblArea2Type1.Name = "lblArea2Type1" + Me.lblArea2Type1.Size = New System.Drawing.Size(74, 13) + Me.lblArea2Type1.TabIndex = 15 + Me.lblArea2Type1.Text = "Area 1 Type 1" + ' + 'picArea0Type3 + ' + Me.picArea0Type3.BackColor = System.Drawing.Color.Yellow + Me.picArea0Type3.Location = New System.Drawing.Point(247, 34) + Me.picArea0Type3.Name = "picArea0Type3" + Me.picArea0Type3.Size = New System.Drawing.Size(22, 24) + Me.picArea0Type3.TabIndex = 14 + Me.picArea0Type3.TabStop = False + ' + 'picArea0Type2 + ' + Me.picArea0Type2.BackColor = System.Drawing.Color.Yellow + Me.picArea0Type2.Location = New System.Drawing.Point(167, 34) + Me.picArea0Type2.Name = "picArea0Type2" + Me.picArea0Type2.Size = New System.Drawing.Size(22, 24) + Me.picArea0Type2.TabIndex = 13 + Me.picArea0Type2.TabStop = False + ' + 'lblArea1Type3 + ' + Me.lblArea1Type3.AutoSize = True + Me.lblArea1Type3.Location = New System.Drawing.Point(221, 18) + Me.lblArea1Type3.Name = "lblArea1Type3" + Me.lblArea1Type3.Size = New System.Drawing.Size(74, 13) + Me.lblArea1Type3.TabIndex = 12 + Me.lblArea1Type3.Text = "Area 0 Type 3" + ' + 'lblArea1Type2 + ' + Me.lblArea1Type2.AutoSize = True + Me.lblArea1Type2.Location = New System.Drawing.Point(141, 18) + Me.lblArea1Type2.Name = "lblArea1Type2" + Me.lblArea1Type2.Size = New System.Drawing.Size(74, 13) + Me.lblArea1Type2.TabIndex = 11 + Me.lblArea1Type2.Text = "Area 0 Type 2" + ' + 'picArea0Type1 + ' + Me.picArea0Type1.BackColor = System.Drawing.Color.Yellow + Me.picArea0Type1.Location = New System.Drawing.Point(88, 34) + Me.picArea0Type1.Name = "picArea0Type1" + Me.picArea0Type1.Size = New System.Drawing.Size(22, 24) + Me.picArea0Type1.TabIndex = 10 + Me.picArea0Type1.TabStop = False + ' + 'lblArea1Type1 + ' + Me.lblArea1Type1.AutoSize = True + Me.lblArea1Type1.Location = New System.Drawing.Point(62, 18) + Me.lblArea1Type1.Name = "lblArea1Type1" + Me.lblArea1Type1.Size = New System.Drawing.Size(74, 13) + Me.lblArea1Type1.TabIndex = 9 + Me.lblArea1Type1.Text = "Area 0 Type 1" + ' + 'lblGold + ' + Me.lblGold.AutoSize = True + Me.lblGold.Location = New System.Drawing.Point(30, 105) + Me.lblGold.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblGold.Name = "lblGold" + Me.lblGold.Size = New System.Drawing.Size(29, 13) + Me.lblGold.TabIndex = 12 + Me.lblGold.Text = "Gold" + ' + 'numGold + ' + Me.numGold.Location = New System.Drawing.Point(14, 120) + Me.numGold.Margin = New System.Windows.Forms.Padding(2) + Me.numGold.Maximum = New Decimal(New Integer() {65000, 0, 0, 0}) + Me.numGold.Name = "numGold" + Me.numGold.Size = New System.Drawing.Size(83, 20) + Me.numGold.TabIndex = 13 + ' + 'numHeroicChallenges + ' + Me.numHeroicChallenges.Location = New System.Drawing.Point(14, 163) + Me.numHeroicChallenges.Margin = New System.Windows.Forms.Padding(2) + Me.numHeroicChallenges.Maximum = New Decimal(New Integer() {-1, 0, 0, 0}) + Me.numHeroicChallenges.Name = "numHeroicChallenges" + Me.numHeroicChallenges.Size = New System.Drawing.Size(83, 20) + Me.numHeroicChallenges.TabIndex = 16 + ' + 'lblChallenge + ' + Me.lblChallenge.AutoSize = True + Me.lblChallenge.Location = New System.Drawing.Point(9, 147) + Me.lblChallenge.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblChallenge.Name = "lblChallenge" + Me.lblChallenge.Size = New System.Drawing.Size(93, 13) + Me.lblChallenge.TabIndex = 17 + Me.lblChallenge.Text = "Heroic Challenges" + ' + 'lblHeroPoints + ' + Me.lblHeroPoints.AutoSize = True + Me.lblHeroPoints.Location = New System.Drawing.Point(112, 147) + Me.lblHeroPoints.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblHeroPoints.Name = "lblHeroPoints" + Me.lblHeroPoints.Size = New System.Drawing.Size(62, 13) + Me.lblHeroPoints.TabIndex = 19 + Me.lblHeroPoints.Text = "Hero Points" + ' + 'numHero + ' + Me.numHero.Location = New System.Drawing.Point(101, 163) + Me.numHero.Margin = New System.Windows.Forms.Padding(2) + Me.numHero.Name = "numHero" + Me.numHero.Size = New System.Drawing.Size(90, 20) + Me.numHero.TabIndex = 20 + ' + 'grpSkillPath + ' + Me.grpSkillPath.Controls.Add(Me.radNone) + Me.grpSkillPath.Controls.Add(Me.radRight) + Me.grpSkillPath.Controls.Add(Me.radLeft) + Me.grpSkillPath.Location = New System.Drawing.Point(14, 190) + Me.grpSkillPath.Margin = New System.Windows.Forms.Padding(2) + Me.grpSkillPath.Name = "grpSkillPath" + Me.grpSkillPath.Padding = New System.Windows.Forms.Padding(2) + Me.grpSkillPath.Size = New System.Drawing.Size(178, 41) + Me.grpSkillPath.TabIndex = 21 + Me.grpSkillPath.TabStop = False + Me.grpSkillPath.Text = "Skill Path" + ' + 'radNone + ' + Me.radNone.AutoSize = True + Me.radNone.Location = New System.Drawing.Point(112, 18) + Me.radNone.Name = "radNone" + Me.radNone.Size = New System.Drawing.Size(51, 17) + Me.radNone.TabIndex = 24 + Me.radNone.TabStop = True + Me.radNone.Text = "None" + Me.radNone.UseVisualStyleBackColor = True + ' + 'radRight + ' + Me.radRight.AutoSize = True + Me.radRight.Location = New System.Drawing.Point(57, 18) + Me.radRight.Margin = New System.Windows.Forms.Padding(2) + Me.radRight.Name = "radRight" + Me.radRight.Size = New System.Drawing.Size(50, 17) + Me.radRight.TabIndex = 23 + Me.radRight.TabStop = True + Me.radRight.Text = "Right" + Me.radRight.UseVisualStyleBackColor = True + ' + 'radLeft + ' + Me.radLeft.AutoSize = True + Me.radLeft.Location = New System.Drawing.Point(13, 18) + Me.radLeft.Margin = New System.Windows.Forms.Padding(2) + Me.radLeft.Name = "radLeft" + Me.radLeft.Size = New System.Drawing.Size(43, 17) + Me.radLeft.TabIndex = 22 + Me.radLeft.TabStop = True + Me.radLeft.Text = "Left" + Me.radLeft.UseVisualStyleBackColor = True + ' + 'numLevel + ' + Me.numLevel.Location = New System.Drawing.Point(101, 120) + Me.numLevel.Margin = New System.Windows.Forms.Padding(2) + Me.numLevel.Maximum = New Decimal(New Integer() {20, 0, 0, 0}) + Me.numLevel.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.numLevel.Name = "numLevel" + Me.numLevel.Size = New System.Drawing.Size(90, 20) + Me.numLevel.TabIndex = 25 + Me.numLevel.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'lblLevel + ' + Me.lblLevel.AutoSize = True + Me.lblLevel.Location = New System.Drawing.Point(128, 104) + Me.lblLevel.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblLevel.Name = "lblLevel" + Me.lblLevel.Size = New System.Drawing.Size(33, 13) + Me.lblLevel.TabIndex = 26 + Me.lblLevel.Text = "Level" + ' + 'cmbGame + ' + Me.cmbGame.FormattingEnabled = True + Me.cmbGame.Items.AddRange(New Object() {"Spyro's Adventure", "Giants", "Swap Force", "Trap Team", "Traps", "SuperChargers", "Vehicles", "Imaginators", "Imaginators Crystals", "Items", "Adventure Packs"}) + Me.cmbGame.Location = New System.Drawing.Point(56, 33) + Me.cmbGame.Margin = New System.Windows.Forms.Padding(2) + Me.cmbGame.Name = "cmbGame" + Me.cmbGame.Size = New System.Drawing.Size(135, 21) + Me.cmbGame.TabIndex = 25 + ' + 'lstCharacters + ' + Me.lstCharacters.FormattingEnabled = True + Me.lstCharacters.Location = New System.Drawing.Point(203, 36) + Me.lstCharacters.Margin = New System.Windows.Forms.Padding(2) + Me.lstCharacters.Name = "lstCharacters" + Me.lstCharacters.Size = New System.Drawing.Size(202, 277) + Me.lstCharacters.TabIndex = 27 + ' + 'lblHat + ' + Me.lblHat.AutoSize = True + Me.lblHat.Location = New System.Drawing.Point(16, 75) + Me.lblHat.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblHat.Name = "lblHat" + Me.lblHat.Size = New System.Drawing.Size(24, 13) + Me.lblHat.TabIndex = 25 + Me.lblHat.Text = "Hat" + ' + 'cmbHat + ' + Me.cmbHat.FormattingEnabled = True + Me.cmbHat.Location = New System.Drawing.Point(56, 72) + Me.cmbHat.Margin = New System.Windows.Forms.Padding(2) + Me.cmbHat.Name = "cmbHat" + Me.cmbHat.Size = New System.Drawing.Size(135, 21) + Me.cmbHat.TabIndex = 28 + ' + 'lblName + ' + Me.lblName.AutoSize = True + Me.lblName.Location = New System.Drawing.Point(11, 274) + Me.lblName.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblName.Name = "lblName" + Me.lblName.Size = New System.Drawing.Size(55, 13) + Me.lblName.TabIndex = 29 + Me.lblName.Text = "Nickname" + ' + 'txtName + ' + Me.txtName.Location = New System.Drawing.Point(14, 290) + Me.txtName.Margin = New System.Windows.Forms.Padding(2) + Me.txtName.MaxLength = 15 + Me.txtName.Name = "txtName" + Me.txtName.Size = New System.Drawing.Size(178, 20) + Me.txtName.TabIndex = 30 + ' + 'mnuPurp + ' + Me.mnuPurp.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem, Me.PortalToolStripMenuItem, Me.EditorsToolStripMenuItem}) + Me.mnuPurp.Location = New System.Drawing.Point(0, 0) + Me.mnuPurp.Name = "mnuPurp" + Me.mnuPurp.Size = New System.Drawing.Size(648, 24) + Me.mnuPurp.TabIndex = 35 + Me.mnuPurp.Text = "MenuStrip1" + ' + 'FileToolStripMenuItem + ' + Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenToolStripMenuItem, Me.Save_Enc_ToolStripMenuItem, Me.Save_Dec_ToolStripMenuItem, Me.ClearToolStripMenuItem, Me.CloseToolStripMenuItem}) + Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem" + Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37, 20) + Me.FileToolStripMenuItem.Text = "&File" + ' + 'OpenToolStripMenuItem + ' + Me.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem" + Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.OpenToolStripMenuItem.Text = "&Open" + ' + 'Save_Enc_ToolStripMenuItem + ' + Me.Save_Enc_ToolStripMenuItem.Name = "Save_Enc_ToolStripMenuItem" + Me.Save_Enc_ToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.Save_Enc_ToolStripMenuItem.Text = "&Save Encrypted" + ' + 'Save_Dec_ToolStripMenuItem + ' + Me.Save_Dec_ToolStripMenuItem.Name = "Save_Dec_ToolStripMenuItem" + Me.Save_Dec_ToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.Save_Dec_ToolStripMenuItem.Text = "Save &Decrypted" + ' + 'ClearToolStripMenuItem + ' + Me.ClearToolStripMenuItem.Name = "ClearToolStripMenuItem" + Me.ClearToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.ClearToolStripMenuItem.Text = "Clear" + ' + 'CloseToolStripMenuItem + ' + Me.CloseToolStripMenuItem.Name = "CloseToolStripMenuItem" + Me.CloseToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.CloseToolStripMenuItem.Text = "&Close" + ' + 'PortalToolStripMenuItem + ' + Me.PortalToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReadSkylanderToolStripMenuItem, Me.WriteSkylanderToolStripMenuItem, Me.ReadSecondFigureToolStripMenuItem, Me.WriteSecondFigureToolStripMenuItem, Me.ConnectToPortalToolStripMenuItem}) + Me.PortalToolStripMenuItem.Name = "PortalToolStripMenuItem" + Me.PortalToolStripMenuItem.Size = New System.Drawing.Size(50, 20) + Me.PortalToolStripMenuItem.Text = "Portal" + ' + 'ReadSkylanderToolStripMenuItem + ' + Me.ReadSkylanderToolStripMenuItem.Enabled = False + Me.ReadSkylanderToolStripMenuItem.Name = "ReadSkylanderToolStripMenuItem" + Me.ReadSkylanderToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.ReadSkylanderToolStripMenuItem.Text = "Read Skylander from Portal" + ' + 'WriteSkylanderToolStripMenuItem + ' + Me.WriteSkylanderToolStripMenuItem.Enabled = False + Me.WriteSkylanderToolStripMenuItem.Name = "WriteSkylanderToolStripMenuItem" + Me.WriteSkylanderToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.WriteSkylanderToolStripMenuItem.Text = "Write Skylander to Portal" + ' + 'ReadSecondFigureToolStripMenuItem + ' + Me.ReadSecondFigureToolStripMenuItem.Enabled = False + Me.ReadSecondFigureToolStripMenuItem.Name = "ReadSecondFigureToolStripMenuItem" + Me.ReadSecondFigureToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.ReadSecondFigureToolStripMenuItem.Text = "Read Second Figure" + ' + 'WriteSecondFigureToolStripMenuItem + ' + Me.WriteSecondFigureToolStripMenuItem.Enabled = False + Me.WriteSecondFigureToolStripMenuItem.Name = "WriteSecondFigureToolStripMenuItem" + Me.WriteSecondFigureToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.WriteSecondFigureToolStripMenuItem.Text = "Write Second Figure" + ' + 'ConnectToPortalToolStripMenuItem + ' + Me.ConnectToPortalToolStripMenuItem.Name = "ConnectToPortalToolStripMenuItem" + Me.ConnectToPortalToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.ConnectToPortalToolStripMenuItem.Text = "Connect to Portal" + ' + 'EditorsToolStripMenuItem + ' + Me.EditorsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TrapsToolStripMenuItem, Me.VehiclesToolStripMenuItem, Me.CrystalsToolStripMenuItem}) + Me.EditorsToolStripMenuItem.Name = "EditorsToolStripMenuItem" + Me.EditorsToolStripMenuItem.Size = New System.Drawing.Size(55, 20) + Me.EditorsToolStripMenuItem.Text = "Editors" + ' + 'TrapsToolStripMenuItem + ' + Me.TrapsToolStripMenuItem.Name = "TrapsToolStripMenuItem" + Me.TrapsToolStripMenuItem.Size = New System.Drawing.Size(116, 22) + Me.TrapsToolStripMenuItem.Text = "Traps" + ' + 'VehiclesToolStripMenuItem + ' + Me.VehiclesToolStripMenuItem.Name = "VehiclesToolStripMenuItem" + Me.VehiclesToolStripMenuItem.Size = New System.Drawing.Size(116, 22) + Me.VehiclesToolStripMenuItem.Text = "Vehicles" + ' + 'CrystalsToolStripMenuItem + ' + Me.CrystalsToolStripMenuItem.Name = "CrystalsToolStripMenuItem" + Me.CrystalsToolStripMenuItem.Size = New System.Drawing.Size(116, 22) + Me.CrystalsToolStripMenuItem.Text = "Crystals" + ' + 'StatusPurp + ' + Me.StatusPurp.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SaldeStatus}) + Me.StatusPurp.Location = New System.Drawing.Point(0, 493) + Me.StatusPurp.Name = "StatusPurp" + Me.StatusPurp.Size = New System.Drawing.Size(648, 22) + Me.StatusPurp.TabIndex = 36 + Me.StatusPurp.Text = "StatusStrip1" + ' + 'SaldeStatus + ' + Me.SaldeStatus.Name = "SaldeStatus" + Me.SaldeStatus.Size = New System.Drawing.Size(0, 17) + ' + 'btnReset + ' + Me.btnReset.Location = New System.Drawing.Point(116, 238) + Me.btnReset.Name = "btnReset" + Me.btnReset.Size = New System.Drawing.Size(75, 34) + Me.btnReset.TabIndex = 37 + Me.btnReset.Text = "Reset Figure" + Me.btnReset.UseVisualStyleBackColor = True + ' + 'bgWritePortal + ' + Me.bgWritePortal.WorkerReportsProgress = True + ' + 'bgReadPortal + ' + ' + 'btnShowData + ' + Me.btnShowData.Location = New System.Drawing.Point(249, 462) + Me.btnShowData.Name = "btnShowData" + Me.btnShowData.Size = New System.Drawing.Size(75, 23) + Me.btnShowData.TabIndex = 38 + Me.btnShowData.Text = "Show Data" + Me.btnShowData.UseVisualStyleBackColor = True + ' + 'chkSerial + ' + Me.chkSerial.AutoSize = True + Me.chkSerial.Location = New System.Drawing.Point(14, 438) + Me.chkSerial.Name = "chkSerial" + Me.chkSerial.Size = New System.Drawing.Size(108, 17) + Me.chkSerial.TabIndex = 39 + Me.chkSerial.Text = "Randomize Serial" + Me.chkSerial.UseVisualStyleBackColor = True + ' + 'lblData + ' + Me.lblData.AutoSize = True + Me.lblData.Location = New System.Drawing.Point(128, 438) + Me.lblData.Name = "lblData" + Me.lblData.Size = New System.Drawing.Size(33, 13) + Me.lblData.TabIndex = 43 + Me.lblData.Text = "Data:" + ' + 'btnClearData + ' + Me.btnClearData.Location = New System.Drawing.Point(330, 462) + Me.btnClearData.Name = "btnClearData" + Me.btnClearData.Size = New System.Drawing.Size(75, 23) + Me.btnClearData.TabIndex = 44 + Me.btnClearData.Text = "Clear Data" + Me.btnClearData.UseVisualStyleBackColor = True + ' + 'lblWebCode_Text + ' + Me.lblWebCode_Text.AutoSize = True + Me.lblWebCode_Text.Location = New System.Drawing.Point(16, 238) + Me.lblWebCode_Text.Name = "lblWebCode_Text" + Me.lblWebCode_Text.Size = New System.Drawing.Size(55, 13) + Me.lblWebCode_Text.TabIndex = 54 + Me.lblWebCode_Text.Text = "WebCode" + ' + 'lblWebCode + ' + Me.lblWebCode.AutoSize = True + Me.lblWebCode.Location = New System.Drawing.Point(16, 251) + Me.lblWebCode.Name = "lblWebCode" + Me.lblWebCode.Size = New System.Drawing.Size(0, 13) + Me.lblWebCode.TabIndex = 57 + ' + 'lblSystem + ' + Me.lblSystem.AutoSize = True + Me.lblSystem.Location = New System.Drawing.Point(9, 467) + Me.lblSystem.Name = "lblSystem" + Me.lblSystem.Size = New System.Drawing.Size(41, 13) + Me.lblSystem.TabIndex = 58 + Me.lblSystem.Text = "System" + ' + 'cmbSystem + ' + Me.cmbSystem.FormattingEnabled = True + Me.cmbSystem.Items.AddRange(New Object() {"Wii", "Xbox 360", "PS3", "PC", "3DS", "Wii U", "Xbox One", "PS4", "Tablet"}) + Me.cmbSystem.Location = New System.Drawing.Point(54, 464) + Me.cmbSystem.Name = "cmbSystem" + Me.cmbSystem.Size = New System.Drawing.Size(121, 21) + Me.cmbSystem.TabIndex = 59 + ' + 'btnTraps + ' + Me.btnTraps.Location = New System.Drawing.Point(55, 81) + Me.btnTraps.Name = "btnTraps" + Me.btnTraps.Size = New System.Drawing.Size(75, 23) + Me.btnTraps.TabIndex = 60 + Me.btnTraps.Text = "Traps" + Me.btnTraps.UseVisualStyleBackColor = True + ' + 'btnVehicles + ' + Me.btnVehicles.Location = New System.Drawing.Point(55, 156) + Me.btnVehicles.Name = "btnVehicles" + Me.btnVehicles.Size = New System.Drawing.Size(75, 23) + Me.btnVehicles.TabIndex = 61 + Me.btnVehicles.Text = "Vehicles" + Me.btnVehicles.UseVisualStyleBackColor = True + ' + 'btnRaw + ' + Me.btnRaw.Location = New System.Drawing.Point(6, 34) + Me.btnRaw.Name = "btnRaw" + Me.btnRaw.Size = New System.Drawing.Size(75, 23) + Me.btnRaw.TabIndex = 62 + Me.btnRaw.Text = "Raw Write" + Me.btnRaw.UseVisualStyleBackColor = True + ' + 'grpDebug + ' + Me.grpDebug.Controls.Add(Me.btnGame) + Me.grpDebug.Controls.Add(Me.btnRainbow) + Me.grpDebug.Controls.Add(Me.btnArea) + Me.grpDebug.Controls.Add(Me.btnRaw) + Me.grpDebug.Location = New System.Drawing.Point(436, 36) + Me.grpDebug.Name = "grpDebug" + Me.grpDebug.Size = New System.Drawing.Size(200, 104) + Me.grpDebug.TabIndex = 64 + Me.grpDebug.TabStop = False + Me.grpDebug.Text = "Debug" + ' + 'btnCrystals + ' + Me.btnCrystals.Location = New System.Drawing.Point(55, 230) + Me.btnCrystals.Name = "btnCrystals" + Me.btnCrystals.Size = New System.Drawing.Size(75, 23) + Me.btnCrystals.TabIndex = 65 + Me.btnCrystals.Text = "Crystals" + Me.btnCrystals.UseVisualStyleBackColor = True + ' + 'btnRainbow + ' + Me.btnRainbow.Location = New System.Drawing.Point(87, 34) + Me.btnRainbow.Name = "btnRainbow" + Me.btnRainbow.Size = New System.Drawing.Size(75, 23) + Me.btnRainbow.TabIndex = 64 + Me.btnRainbow.Text = "Rainbow!" + Me.btnRainbow.UseVisualStyleBackColor = True + ' + 'btnArea + ' + Me.btnArea.Location = New System.Drawing.Point(6, 64) + Me.btnArea.Name = "btnArea" + Me.btnArea.Size = New System.Drawing.Size(75, 23) + Me.btnArea.TabIndex = 63 + Me.btnArea.Text = "Area" + Me.btnArea.UseVisualStyleBackColor = True + ' + 'bgReadPortalDuo + ' + ' + 'bgWritePortalDuo + ' + ' + 'tmrRainbow + ' + Me.tmrRainbow.Interval = 1000 + ' + 'grpEditor + ' + Me.grpEditor.Controls.Add(Me.btnTraps) + Me.grpEditor.Controls.Add(Me.btnCrystals) + Me.grpEditor.Controls.Add(Me.btnVehicles) + Me.grpEditor.Location = New System.Drawing.Point(436, 147) + Me.grpEditor.Name = "grpEditor" + Me.grpEditor.Size = New System.Drawing.Size(200, 333) + Me.grpEditor.TabIndex = 66 + Me.grpEditor.TabStop = False + Me.grpEditor.Text = "Editors" + ' + 'btnGame + ' + Me.btnGame.Location = New System.Drawing.Point(87, 63) + Me.btnGame.Name = "btnGame" + Me.btnGame.Size = New System.Drawing.Size(75, 23) + Me.btnGame.TabIndex = 65 + Me.btnGame.Text = "Game" + Me.btnGame.UseVisualStyleBackColor = True + ' + 'frmMain + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(648, 515) + Me.Controls.Add(Me.grpEditor) + Me.Controls.Add(Me.grpDebug) + Me.Controls.Add(Me.cmbSystem) + Me.Controls.Add(Me.lblSystem) + Me.Controls.Add(Me.lblWebCode) + Me.Controls.Add(Me.lblWebCode_Text) + Me.Controls.Add(Me.btnClearData) + Me.Controls.Add(Me.lblData) + Me.Controls.Add(Me.chkSerial) + Me.Controls.Add(Me.btnShowData) + Me.Controls.Add(Me.btnReset) + Me.Controls.Add(Me.StatusPurp) + Me.Controls.Add(Me.mnuPurp) + Me.Controls.Add(Me.txtName) + Me.Controls.Add(Me.lblName) + Me.Controls.Add(Me.cmbHat) + Me.Controls.Add(Me.lblHat) + Me.Controls.Add(Me.lstCharacters) + Me.Controls.Add(Me.cmbGame) + Me.Controls.Add(Me.lblLevel) + Me.Controls.Add(Me.numLevel) + Me.Controls.Add(Me.grpSkillPath) + Me.Controls.Add(Me.numHero) + Me.Controls.Add(Me.lblHeroPoints) + Me.Controls.Add(Me.lblChallenge) + Me.Controls.Add(Me.numHeroicChallenges) + Me.Controls.Add(Me.numGold) + Me.Controls.Add(Me.lblGold) + Me.Controls.Add(Me.grpChecksums) + Me.Controls.Add(Me.lblGame) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.mnuPurp + Me.MaximizeBox = False + Me.Name = "frmMain" + Me.Text = "SkyReader-GUI ALPHA-6" + CType(Me.picHeader, System.ComponentModel.ISupportInitialize).EndInit() + Me.grpChecksums.ResumeLayout(False) + Me.grpChecksums.PerformLayout() + CType(Me.picSerial, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea1Type4, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea0Type4, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea1Type3, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea1Type2, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea1Type1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea0Type3, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea0Type2, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.picArea0Type1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numGold, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numHeroicChallenges, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numHero, System.ComponentModel.ISupportInitialize).EndInit() + Me.grpSkillPath.ResumeLayout(False) + Me.grpSkillPath.PerformLayout() + CType(Me.numLevel, System.ComponentModel.ISupportInitialize).EndInit() + Me.mnuPurp.ResumeLayout(False) + Me.mnuPurp.PerformLayout() + Me.StatusPurp.ResumeLayout(False) + Me.StatusPurp.PerformLayout() + Me.grpDebug.ResumeLayout(False) + Me.grpEditor.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() - End Sub - Friend WithEvents ofdSky As OpenFileDialog + End Sub + Friend WithEvents ofdSky As OpenFileDialog Friend WithEvents lblGame As Label Friend WithEvents lblHeader As Label Friend WithEvents picHeader As PictureBox @@ -893,8 +962,8 @@ Partial Class frmMain Friend WithEvents PortalToolStripMenuItem As ToolStripMenuItem Friend WithEvents ReadSkylanderToolStripMenuItem As ToolStripMenuItem Friend WithEvents WriteSkylanderToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ReadSwapperOtherHalfToolStripMenuItem As ToolStripMenuItem - Friend WithEvents WriteSwapperOtherHalfToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ReadSecondFigureToolStripMenuItem As ToolStripMenuItem + Friend WithEvents WriteSecondFigureToolStripMenuItem As ToolStripMenuItem Friend WithEvents ConnectToPortalToolStripMenuItem As ToolStripMenuItem Friend WithEvents StatusPurp As StatusStrip Friend WithEvents SaldeStatus As ToolStripStatusLabel @@ -902,7 +971,6 @@ Partial Class frmMain Friend WithEvents btnReset As Button Friend WithEvents bgWritePortal As System.ComponentModel.BackgroundWorker Friend WithEvents bgReadPortal As System.ComponentModel.BackgroundWorker - Friend WithEvents tmrPortal As Timer Friend WithEvents ClearToolStripMenuItem As ToolStripMenuItem Friend WithEvents btnShowData As Button Friend WithEvents picSerial As PictureBox @@ -910,7 +978,6 @@ Partial Class frmMain Friend WithEvents chkSerial As CheckBox Friend WithEvents lblData As Label Friend WithEvents btnClearData As Button - Friend WithEvents tmrSkyKey As Timer Friend WithEvents lblWebCode_Text As Label Friend WithEvents lblWebCode As Label Friend WithEvents lblSystem As Label @@ -922,4 +989,13 @@ Partial Class frmMain Friend WithEvents btnArea As Button Friend WithEvents bgReadPortalDuo As System.ComponentModel.BackgroundWorker Friend WithEvents bgWritePortalDuo As System.ComponentModel.BackgroundWorker + Friend WithEvents btnRainbow As Button + Friend WithEvents tmrRainbow As Timer + Friend WithEvents btnCrystals As Button + Friend WithEvents EditorsToolStripMenuItem As ToolStripMenuItem + Friend WithEvents TrapsToolStripMenuItem As ToolStripMenuItem + Friend WithEvents VehiclesToolStripMenuItem As ToolStripMenuItem + Friend WithEvents CrystalsToolStripMenuItem As ToolStripMenuItem + Friend WithEvents grpEditor As GroupBox + Friend WithEvents btnGame As Button End Class diff --git a/SkyReader-GUI/frmMain.resx b/SkyReader-GUI/frmMain.resx index 3860db0..4fb09d6 100644 --- a/SkyReader-GUI/frmMain.resx +++ b/SkyReader-GUI/frmMain.resx @@ -118,13 +118,13 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 481, 17 + 785, 17 - 570, 17 + 874, 17 - 672, 17 + 976, 17 142, 17 @@ -132,17 +132,14 @@ 17, 17 - - 378, 17 - - - 269, 17 - - 782, 17 + 269, 17 - 930, 17 + 417, 17 + + + 567, 17 diff --git a/SkyReader-GUI/frmMain.vb b/SkyReader-GUI/frmMain.vb index a7d1a42..532ecc5 100644 --- a/SkyReader-GUI/frmMain.vb +++ b/SkyReader-GUI/frmMain.vb @@ -1,18 +1,12 @@ Imports System.ComponentModel -Imports System.IO Imports SkyReader_GUI.DeviceManagement +Imports SkyReader_GUI.FigureIO 'TODO Chart -'Determine how Traps are Different. -'Edit Trap contents. +'Fix Trap CRC -'Determine how Vehicles are Different -'Edit Vehicles +'Finish Vehicle Editor -'Stop the message box for Unknown Figure from happening twice. - -'Test the Imaginator Chest. In Particular the Serial Changing like Amiibos do. Does that allow for Endless Items? - -'Crystals Editing and Cloning +'Crystals Editing 'Properly set the Imaginator Figure Bytes that are required to be 0x0. @@ -54,481 +48,17 @@ Imports SkyReader_GUI.DeviceManagement Public Class frmMain 'The AES and CRC16CCIT functions have been seperated into classes for clarity. 'The Skylander Methods were put into seperate classes for clarity. - - 'We need to make BR and FS public shared so other Classes can access it - Public Shared fs As FileStream - Public Shared br As BinaryReader - Public Shared WholeFile(1023) As Byte - Public Shared blnEncrypted As Boolean = False - Dim File As String - 'Dim frmLog As New frmLog + 'Should these be here? Probably not. Probably in Figure or FigureIO Public Shared Area0 As Byte Public Shared Area1 As Byte - Public Shared blnTrap As Boolean = False - Public Shared BlnVehicle As Boolean = False - #Region " File Read/Write " - Sub Load_File() - 'AES.HexMath() - 'AES.Header() - 'Exit Sub - BlnVehicle = False - blnTrap = False - lblWebCode.Text = "" - 'Let's test Decryption - Dim result As DialogResult = ofdSky.ShowDialog() - If result = DialogResult.OK Then - ' Test result. - File = ofdSky.FileName - Else - 'Do Nothing - Exit Sub - End If - - Try - fs = New FileStream(File, FileMode.Open) - Catch ex As Exception - 'frmLog.rtxLog.Text = frmLog.rtxLog.Text & Date.Now & "Unable to Open " & File - 'frmLog.Show() - Exit Sub - End Try - - If fs.Length = 1024 Then - ElseIf fs.Length = 2048 Then - 'SWAP - 'MessageBox.Show("Sorry, this program does not handle a Maxlander Swap Force Dump.") - 'frmLog.rtxLog.Text = frmLog.rtxLog.Text & Date.Now & "Sorry, this program does not handle a Maxlander Swap Force Dump." - 'frmLog.Show() - Exit Sub - Else - 'frmLog.rtxLog.Text = frmLog.rtxLog.Text & Date.Now & "The Figure must be 1 Kilobyte." - 'frmLog.Show() - fs.Close() - Exit Sub - End If - 'Reset the Form, Just in Case - cmbGame.SelectedIndex = 0 - cmbHat.SelectedIndex = 0 - br = New BinaryReader(fs) - 'Put the whole file into an array. - WholeFile = br.ReadBytes(1024) - br.Close() 'close the Binary Reader - fs.Close() ' close the FileStream - blnEncrypted = False - - 'We can get the Figure's ID and Variant ID without Needing Encryption/Decryption - 'Get Figure ID and Alter Ego/Variant - Figures.GetFigureID_AlterEgo_Variant() - - 'Because traps are writing bytes to where the Nickname would normally show up, we Do NOT attempt to Decrypt here. - If blnTrap = False Then - 'Get Nickname - 'We also verify if Encrypted or not. - Nickname.GetNickname() - End If - - - - If blnEncrypted = True Then - Decrypt() - End If - - 'Calculate the Checksums - CRC16CCITT.Checksums() - - - - 'Determine if we are going to use Area 0 or Area 1 - Figures.Area0orArea1() - - frmArea.Area0_1() - - 'We break here if Vehicle, Crystal, Item or Trap - - If BlnVehicle = True Then - Dim frmVehicles As New frmVehicles - frmVehicles.Show() - Hide() - Exit Sub - End If - If blnTrap = True Then - Application.DoEvents() - Dim frmTraps As New frmTraps - frmTraps.Show() - Hide() - Exit Sub - End If - 'Get the Current Skill Path. - Skills.GetSkillPath() - - 'Get the Current Hero Points value for Areas A and B. Show the Larger Value. - Hero.GetHero() - - 'Get the Current Gold values for Areas A and B. Show the Larger Value. - Gold.GetGold() - - 'Get EXP - Exp.GetEXP() - - 'Get the Current Heroic Challenges value for Areas A and B. Show the Larger Value. - Challenges.GetChallenges() - - 'Show us what Figure we got. - 'Show us the Figures ID and Variant ID - 'Figures.ShowID() - - 'Mostly complete Detection - Figures.FigureItOut() - - 'Select the Hat - Hats.ReadHats() - 'btnSaveAs.Enabled = True - 'btnWrite.Enabled = True - - Web_Code.Load() - 'btnSaveAs.Enabled = True - 'btnWrite.Enabled = True - - System_ID.ReadSystem_ID() - - End Sub - Sub LoadData() - blnEncrypted = False - 'Get Nickname - 'We also verify if Encrypted or not. - Nickname.GetNickname() - - If blnEncrypted = True Then - Decrypt() - End If - cmbHat.SelectedIndex = 0 - - 'Calculate the Checksums - CRC16CCITT.Checksums() - - 'Determine if we are going to use Area 0 or Area 1 - Figures.Area0orArea1() - - frmArea.Area0_1() - 'Get the Current Skill Path. - Skills.GetSkillPath() - - - - 'Get the Current Hero Points value for Areas A and B. Show the Larger Value. - Hero.GetHero() - - 'Get the Current Gold values for Areas A and B. Show the Larger Value. - Gold.GetGold() - - 'Get EXP - Exp.GetEXP() - - 'Get the Current Heroic Challenges value for Areas A and B. Show the Larger Value. - Challenges.GetChallenges() - - 'Get Figure ID and Alter Ego/Variant - Figures.GetFigureID_AlterEgo_Variant() - - 'Show us what Figure we got. - 'Show us the Figures ID and Variant ID - 'Figures.ShowID() - 'Mostly complete Detection - Figures.FigureItOut() - 'Select the Hat - Hats.ReadHats() - 'btnSaveAs.Enabled = True - 'btnWrite.Enabled = True - Web_Code.Load() - - System_ID.ReadSystem_ID() - End Sub - Sub ReEncrypt() - 'Get Header Bytes - AES.Header() - - 'The Following blocks (Offsets) are NOT encrypted - 'All Offsets are in Hex and counted as such. - '0x000 Through 0x70 - '0x0B0 - '0x0F0 - '0x130 - '0x170 - '0x1B0 - '0x1F0 - '0x230 - '0x270 - '0x2B0 - '0x2F0 - '0x330 - '0x370 - '0x3B0 - '0X3F0 - - 'Offsets that are Encrypted: (All 16 Bytes in Length) - '0x080 '128 'Need 08 - '0x090 '144 'Need 09 - '0x0A0 'Nickname A '160 'Need 0A Not A0 '150 Diff - - '0x0C0 '192 - '0x0D0 '208 - '0x0E0 '224 - - '0x100 '256 - '0x110 '272 - '0x120 '288 - - '0x140 '320 - '0x150 '336 - '0x160 '352 - - '0x180 '384 - '0x190 '400 - '0x1A0 '416 - - '0x1C0 '448 - '0x1D0 '464 - '0x1E0 '480 - - '0x200 '512 - '0x210 '528 - '0x220 '544 - - '0x240 '576 - '0x250 '592 - '0x260 'Nickname B '608 - - '0x280 '640 - '0x290 '656 - '0x2A0 '672 - - '0x2C0 '704 - '0x2D0 '720 - '0x2E0 '736 - - '0x300 '768 - '0x310 '784 - '0x320 '800 - - '0x340 '832 - '0x350 '848 - '0x360 '864 - - '0x380 '896 - '0x390 '912 - '0x3A0 '928 - - '0x3C0 '960 - '0x3D0 '976 - '0x3E0 '992 - - Dim Offsets = New Integer() {128, 144, 160, 192, 208, 224, 256, 272, 288, 320, 336, 352, 384, 400, 416, 448, 464, 480, 512, 528, 544, 576, 592, 608, 640, 656, 672, 704, 720, 736, 768, 784, 800, 832, 848, 864, 896, 912, 928, 960, 976, 992} - Dim AreaKey = New Byte() {&H8, &H9, &HA, &HC, &HD, &HE, &H10, &H11, &H12, &H14, &H15, &H16, &H18, &H19, &H1A, &H1C, &H1D, &H1E, &H20, &H21, &H22, &H24, &H25, &H26, &H28, &H29, &H2A, &H2C, &H2D, &H2E, &H30, &H31, &H32, &H34, &H35, &H36, &H38, &H39, &H3A, &H3C, &H3D, &H3E} - 'MessageBox.Show(AreaKey.Length) - Dim AreaBytes(15) As Byte - - 'MessageBox.Show(Offsets.Length) '42 - - Dim OffsetCounter As Integer = 0 - - Dim Counter As Integer = 0 'Necessary to add one to the Byte array Offset - Dim HeadByteCounter As Integer = 0 '= 160 'Use Integer, FTW! - Do Until OffsetCounter = 42 - HeadByteCounter = Offsets(OffsetCounter) - 'MessageBox.Show(HeadByteCounter) - 'Get Bytes from the Encrypted Offset - Do Until Counter = 16 - 'Fill areaBytes, with WholeFile. - 'AreaBytes(0-15) = WholeFile(HeadByteCounter) - AreaBytes(Counter) = WholeFile(HeadByteCounter) - HeadByteCounter += 1 - Counter += 1 - Loop - - 'MessageBox.Show("ValueBytes " & BitConverter.ToString(AreaBytes)) - 'MessageBox.Show("AreaKey " & AreaKey(OffsetCounter)) - AES.GetKey(AreaKey(OffsetCounter)) - - Dim Output As Byte() = AES.AESE(AreaBytes, AES.FullKey) - - 'Fillback Loop - Counter = 0 - HeadByteCounter = Offsets(OffsetCounter) 'Use Integer, FTW! - 'Data back in - Do Until Counter = 16 - WholeFile(HeadByteCounter) = Output(Counter) - HeadByteCounter += 1 - Counter += 1 - Loop - - 'MessageBox.Show("Output " & BitConverter.ToString(Output)) - - Counter = 0 - OffsetCounter += 1 - Loop - End Sub - Sub Decrypt() - 'Get Header Bytes - AES.Header() - - 'The Following blocks (Offsets) are NOT encrypted - 'All Offsets are in Hex and counted as such. - '0x000 Through 0x70 - '0x0B0 - '0x0F0 - '0x130 - '0x170 - '0x1B0 - '0x1F0 - '0x230 - '0x270 - '0x2B0 - '0x2F0 - '0x330 - '0x370 - '0x3B0 - '0X3F0 - - 'Offsets that are Encrypted: (All 16 Bytes in Length) - '0x080 '128 'Need 08 - '0x090 '144 'Need 09 - '0x0A0 'Nickname A '160 'Need 0A Not A0 '150 Diff - - '0x0C0 '192 - '0x0D0 '208 - '0x0E0 '224 - - '0x100 '256 - '0x110 '272 - '0x120 '288 - - '0x140 '320 - '0x150 '336 - '0x160 '352 - - '0x180 '384 - '0x190 '400 - '0x1A0 '416 - - '0x1C0 '448 - '0x1D0 '464 - '0x1E0 '480 - - '0x200 '512 - '0x210 '528 - '0x220 '544 - - '0x240 '576 - '0x250 '592 - '0x260 'Nickname B '608 - - '0x280 '640 - '0x290 '656 - '0x2A0 '672 - - '0x2C0 '704 - '0x2D0 '720 - '0x2E0 '736 - - '0x300 '768 - '0x310 '784 - '0x320 '800 - - '0x340 '832 - '0x350 '848 - '0x360 '864 - - '0x380 '896 - '0x390 '912 - '0x3A0 '928 - - '0x3C0 '960 - '0x3D0 '976 - '0x3E0 '992 - - Dim Offsets = New Integer() {128, 144, 160, 192, 208, 224, 256, 272, 288, 320, 336, 352, 384, 400, 416, 448, 464, 480, 512, 528, 544, 576, 592, 608, 640, 656, 672, 704, 720, 736, 768, 784, 800, 832, 848, 864, 896, 912, 928, 960, 976, 992} - Dim AreaKey = New Byte() {&H8, &H9, &HA, &HC, &HD, &HE, &H10, &H11, &H12, &H14, &H15, &H16, &H18, &H19, &H1A, &H1C, &H1D, &H1E, &H20, &H21, &H22, &H24, &H25, &H26, &H28, &H29, &H2A, &H2C, &H2D, &H2E, &H30, &H31, &H32, &H34, &H35, &H36, &H38, &H39, &H3A, &H3C, &H3D, &H3E} - 'MessageBox.Show(AreaKey.Length) - Dim AreaBytes(15) As Byte - - 'MessageBox.Show(Offsets.Length) '42 - - Dim OffsetCounter As Integer = 0 - - Dim Counter As Integer = 0 'Necessary to add one to the Byte array Offset - Dim HeadByteCounter As Integer = 0 '= 160 'Use Integer, FTW! - Do Until OffsetCounter = 42 - HeadByteCounter = Offsets(OffsetCounter) - 'MessageBox.Show(HeadByteCounter) - 'Get Bytes from the Encrypted Offset - Do Until Counter = 16 - 'Fill areaBytes, with WholeFile. - 'AreaBytes(0-15) = WholeFile(HeadByteCounter) - AreaBytes(Counter) = WholeFile(HeadByteCounter) - HeadByteCounter += 1 - Counter += 1 - Loop - - 'MessageBox.Show("ValueBytes " & BitConverter.ToString(AreaBytes)) - 'MessageBox.Show("AreaKey " & AreaKey(OffsetCounter)) - AES.GetKey(AreaKey(OffsetCounter)) - - Dim Output As Byte() = AES.AESD(AreaBytes, AES.FullKey) - - 'Fillback Loop - Counter = 0 - HeadByteCounter = Offsets(OffsetCounter) 'Use Integer, FTW! - 'Data back in - Do Until Counter = 16 - WholeFile(HeadByteCounter) = Output(Counter) - HeadByteCounter += 1 - Counter += 1 - Loop - - 'MessageBox.Show("Output " & BitConverter.ToString(Output)) - - Counter = 0 - OffsetCounter += 1 - Loop - 'MessageBox.Show("Nickname") - Nickname.GetNickname() - End Sub - - Sub Write_Data() - If BlnVehicle = False And blnTrap = False Then - 'Set Data that changed. - Figures.EditCharacterIDVariant() - Challenges.WriteChallenges() - Exp.WriteEXP() - Gold.WriteGold() - Hero.WriteHero() - Nickname.SetNickname() - Hats.WriteHats() - - If numLevel.Value >= 10 Then - Skills.WriteSkillPath() - End If - End If - 'Fix Read/Write Blocks - Figures.Fixing_Bytes() - 'In theory, this will fix any issues with the Edited Dumps. - Figures.SetArea0AndArea1() - 'Fix the Checksums. - CRC16CCITT.WriteCheckSums() + Private Sub btnRaw_Click(sender As Object, e As EventArgs) Handles btnRaw.Click + Raw_Write() End Sub - Sub Write_Vehicle() - End Sub - Sub Write_File() - Write_Data() - fs = New FileStream(File, FileMode.OpenOrCreate) - fs.Write(WholeFile, 0, WholeFile.Length) - fs.Flush() - fs.Close() - End Sub #End Region @@ -545,12 +75,14 @@ Public Class frmMain lstCharacters.SelectedIndex += 1 Exit Sub End If + Figures.SelectFigure() End Sub 'Set the Bytes here, whenever I figure it out. Private Sub cmbHat_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbHat.SelectedIndexChanged Hats.SelectHat() End Sub + 'Dim CMB As Integer = 0 Private Sub cmbGame_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbGame.SelectedIndexChanged lstCharacters.Items.Clear() chkSerial.Enabled = True @@ -561,44 +93,35 @@ Public Class frmMain lblArea2Type3.Visible = True picArea0Type3.Visible = True picArea1Type3.Visible = True - 'cmbHat.Items.Clear() - 'btnWrite.Enabled = True - If cmbGame.SelectedIndex = 0 Then + + If blnTrap = True And cmbGame.SelectedItem <> "Traps" Then + cmbGame.SelectedItem = "Traps" + ' Exit Sub + End If + If BlnVehicle = True And cmbGame.SelectedItem <> "Vehicles" Then + cmbGame.SelectedItem = "Vehicles" + 'Exit Sub + ElseIf blnCrystal = True And cmbGame.SelectedItem <> "Crystals" Then + cmbGame.SelectedItem = "Crystals" + 'Exit Sub + End If + + 'Adventure Packs + + If cmbGame.SelectedItem = "Spyro's Adventure" Then 'Spyro's Adventure Figures.SpyroAdventure() - 'Hats.SpyroAdventureHats() - ElseIf cmbGame.SelectedIndex = 1 Then + + ElseIf cmbGame.SelectedItem = "Giants" Then 'Giants Figures.Giants() - 'Hats.GiantsHats() - ElseIf cmbGame.SelectedIndex = 2 Then + ElseIf cmbGame.SelectedItem = "Swap Force" Then 'Swap Force Figures.SwapForce() - 'Hats.SwapForceHats() - ElseIf cmbGame.SelectedIndex = 3 Then + ElseIf cmbGame.SelectedItem = "Trap Team" Then 'Trap Team Figures.TrapTeam() - 'Hats.TrapTeamHats() - ElseIf cmbGame.SelectedIndex = 4 Then - 'SuperChargers - Figures.SuperChargers() - 'Hats.TrapTeamHats() - ElseIf cmbGame.SelectedIndex = 5 Then - 'Imaginators - 'Partially Disabled due to issues and complications. - 'lstCharacters.Items.Clear() - Figures.Imaginators() - 'Hats.TrapTeamHats() - 'btnWrite.Enabled = False - chkSerial.Checked = False - chkSerial.Enabled = False - 'Exit Sub - ElseIf cmbGame.SelectedIndex = 6 Then - 'Items - 'We don't populate the Hats since items and Traps can't wear them. - Figures.Items() - Disable_Controls() - ElseIf cmbGame.SelectedIndex = 7 Then + ElseIf cmbGame.SelectedItem = "Traps" Then 'Traps Disable_Controls() Figures.Traps() @@ -610,7 +133,30 @@ Public Class frmMain lblArea2Type3.Visible = False picArea0Type3.Visible = False picArea1Type3.Visible = False - ElseIf cmbGame.SelectedIndex = 8 Then + ElseIf cmbGame.SelectedItem = "SuperChargers" Then + 'SuperChargers + Figures.SuperChargers() + ElseIf cmbGame.SelectedItem = "Vehicles" Then + 'SaldeStatus.Text = "TODO: FIX" + Figures.Vehicles() + ElseIf cmbGame.SelectedItem = "Imaginators" Then + 'Imaginators + Figures.Imaginators() + 'Due to the Extra Layer of Security, changing the Figure's Serial is Disabled. + chkSerial.Checked = False + chkSerial.Enabled = False + ElseIf cmbGame.SelectedItem = "Imaginators Crystals" Then + 'SaldeStatus.Text = "TODO: FIX" + Figures.Crystals() + 'Due to the Extra Layer of Security, changing the Figure's Serial is Disabled. + chkSerial.Checked = False + chkSerial.Enabled = False + ElseIf cmbGame.SelectedItem = "Items" Then + 'Items + 'We don't populate the Hats since items and Traps can't wear them. + Figures.Items() + Disable_Controls() + ElseIf cmbGame.SelectedItem = "Adventure Packs" Then 'Adventure Packs Disable_Controls() Figures.AdventurePacks() @@ -619,7 +165,7 @@ Public Class frmMain If cmbGame.SelectedIndex < 6 Then 'cmbHat.SelectedIndex = 0 End If - + Application.DoEvents() 'lstCharacters.SelectedIndex = 0 End Sub 'Hats don't need these Controls. @@ -635,6 +181,7 @@ Public Class frmMain txtName.Text = "" txtName.Enabled = False End Sub + Sub Enable_Controls() numGold.Enabled = True numLevel.Enabled = True @@ -654,105 +201,26 @@ Public Class frmMain Dim frmLog As New frmLog Hats.cmbHatFill() cmbSystem.SelectedIndex = 0 +#If DEBUG Then +#Else + cmbGame.Items.Remove("Imaginators Crystals") + CrystalsToolStripMenuItem.Dispose() + btnCrystals.Dispose +#End If End Sub #End Region #Region " Menu " Private Sub OpenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenToolStripMenuItem.Click + 'Goes to FigureIO to Load File Load_File() End Sub Private Sub Save_Enc_ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles Save_Enc_ToolStripMenuItem.Click - 'Save As - Dim dialog As New SaveFileDialog With { - .Filter = "Dump File (*.bin)|*.bin|All files (*.*)|*.*", - .FilterIndex = 1, - .RestoreDirectory = True, - .Title = "Save Encrypted Dump" - } - If (dialog.ShowDialog = DialogResult.OK) Then - Dim NewFile As String = dialog.FileName - - If chkSerial.Checked = True Then - CRC16CCITT.GenerateNewSerial() - End If - Figures.EditCharacterIDVariant() - 'We need to not break Traps if Saving a trap. - If blnTrap = False Then - Challenges.WriteChallenges() - Exp.WriteEXP() - Gold.WriteGold() - Hero.WriteHero() - Nickname.SetNickname() - Hats.WriteHats() - If numLevel.Value >= 10 Then - Skills.WriteSkillPath() - End If - End If - - System_ID.WriteSystem() - - 'In theory, this will fix any issues with the Edited Dumps. - Figures.SetArea0AndArea1() - 'This corrects the Access Control Blocks and the Imaginator Byte checks - Figures.Fixing_Bytes() - 'Fix the Checksums. - CRC16CCITT.WriteCheckSums() - 'I need to Calculate Trap Checksums differently. - 'And Gen 6 Crystals too. - ReEncrypt() - fs = New FileStream(NewFile, FileMode.OpenOrCreate) - fs.Write(WholeFile, 0, WholeFile.Length) - fs.Flush() - fs.Close() - End If - - 'Write_File() + Write_Encrypted_Figure() End Sub Private Sub SaveDecryptedToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles Save_Dec_ToolStripMenuItem.Click - 'Save As - Dim dialog As New SaveFileDialog With { - .Filter = "Dump File (*.bin)|*.bin|All files (*.*)|*.*", - .FilterIndex = 1, - .RestoreDirectory = True, - .Title = "Save Decrypted Dump", - .FileName = lstCharacters.SelectedItem - } - If (dialog.ShowDialog = DialogResult.OK) Then - Dim NewFile As String = dialog.FileName - 'DO NOT FORGET THIS - If chkSerial.Checked = True Then - CRC16CCITT.GenerateNewSerial() - End If - Figures.EditCharacterIDVariant() - 'We need to not break Traps if Saving a trap. - If blnTrap = False Then - Challenges.WriteChallenges() - Exp.WriteEXP() - Gold.WriteGold() - Hero.WriteHero() - Nickname.SetNickname() - Hats.WriteHats() - If numLevel.Value >= 10 Then - Skills.WriteSkillPath() - End If - End If - - System_ID.WriteSystem() - - 'In theory, this will fix any issues with the Edited Dumps. - Figures.SetArea0AndArea1() - 'This corrects the Access Control Blocks and the Imaginator Byte checks - Figures.Fixing_Bytes() - 'Fix the Checksums. - CRC16CCITT.WriteCheckSums() - 'ReEncrypt() - - fs = New FileStream(NewFile, FileMode.OpenOrCreate) - fs.Write(WholeFile, 0, WholeFile.Length) - fs.Flush() - fs.Close() - End If + Write_Decrypted_Figure() End Sub Private Sub CloseToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CloseToolStripMenuItem.Click Close() @@ -768,11 +236,28 @@ Public Class frmMain End If End Sub Private Sub WriteSkylanderToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles WriteSkylanderToolStripMenuItem.Click + If lstCharacters.SelectedIndex = -1 Then + SaldeStatus.Text = "No figure Selected" + Exit Sub + End If + 'If we use Background Worker, it creates a Seperate Instance of the GUI. + 'We actually need to SET Data here + If blnCrystal = False And blnTrap = False And BlnVehicle = False Then + Write_Data() + End If + + 'We need to Encrypt the Array Before we write + Encrypt() + SaldeStatus.Text = "Writing to Portal." + If bgWritePortal.IsBusy Then + SaldeStatus.Text = "Still Writing to Portal" + Exit Sub + End If bgWritePortal.RunWorkerAsync() End Sub 'I may want see/check for a Swap Force Figure. - Private Sub ReadSwapperOtherHalfToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ReadSwapperOtherHalfToolStripMenuItem.Click + Private Sub ReadSecondFigureToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ReadSecondFigureToolStripMenuItem.Click If bgReadPortalDuo.IsBusy = False Then bgReadPortalDuo.RunWorkerAsync() Else @@ -780,16 +265,52 @@ Public Class frmMain Exit Sub End If End Sub - Private Sub WriteSwapperOtherHalfToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles WriteSwapperOtherHalfToolStripMenuItem.Click + Private Sub WriteSecondFigureToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles WriteSecondFigureToolStripMenuItem.Click + If lstCharacters.SelectedIndex = -1 Then + SaldeStatus.Text = "No figure Selected" + Exit Sub + End If + 'If we use Background Worker, it creates a Seperate Instance of the GUI. + 'We actually need to SET Data here + If blnCrystal = False And blnTrap = False And BlnVehicle = False Then + Write_Data() + End If + 'We need to Encrypt the Array Before we write + Encrypt() + SaldeStatus.Text = "Writing to Portal" + If bgWritePortalDuo.IsBusy Then + SaldeStatus.Text = "Still Writing to Portal" + Exit Sub + End If bgWritePortalDuo.RunWorkerAsync() End Sub Private Sub ConnectToPortalToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ConnectToPortalToolStripMenuItem.Click Portal.portalHandle = FindThePortal() End Sub + Private Sub TrapsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TrapsToolStripMenuItem.Click + If cmbGame.SelectedItem <> "Traps" Then + SaldeStatus.Text = "Please Read a Trap Figure in First." + Exit Sub + End If + Dim frmTraps As New frmTraps + frmTraps.Show() + Hide() + End Sub + + Private Sub VehiclesToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VehiclesToolStripMenuItem.Click + Dim frmVehicles As New frmVehicles + Hide() + frmVehicles.Show() + End Sub - Private Sub tmrSkyKey_Tick(sender As Object, e As EventArgs) Handles tmrSkyKey.Tick - DisableControls() + Private Sub CrystalsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CrystalsToolStripMenuItem.Click + If cmbGame.SelectedItem <> "Imaginators Crystals" Then + Exit Sub + End If + Dim frmCrystals As New frmCrystals + frmCrystals.Show() + Hide() End Sub @@ -808,6 +329,13 @@ Public Class frmMain radNone.Checked = True txtName.Text = "" cmbSystem.SelectedIndex = 0 + 'Since we may be resetting from Trap + lblArea1Type4.Text = "Area 0 Type 4" + lblArea2Type4.Text = "Area 1 Type 4" + lblArea1Type3.Visible = True + lblArea2Type3.Visible = True + picArea0Type3.Visible = True + picArea1Type3.Visible = True picHeader.BackColor = Color.Yellow picSerial.BackColor = Color.Yellow @@ -836,7 +364,6 @@ Public Class frmMain SaldeStatus.Text = "Portal Removed!" DisablePortalControls() Portal.blnPortal = False - tmrPortal.Enabled = True End If End If End If @@ -849,23 +376,18 @@ Public Class frmMain Private Sub bgReadPortal_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bgReadPortal.RunWorkerCompleted SaldeStatus.Text = "Figure Read from Portal" - LoadData() + Parse_Figure() End Sub Private Sub BgWritePortal_DoWork(sender As Object, e As DoWorkEventArgs) Handles bgWritePortal.DoWork + SaldeStatus.Text = "Writing to Portal" - If bgWritePortal.IsBusy Then - SaldeStatus.Text = "Still Writing to Portal" - Exit Sub - End If 'write data to skylander in portal Portal.Portal_Write() End Sub Private Sub bgWritePortal_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bgWritePortal.RunWorkerCompleted SaldeStatus.Text = "Figure written to Portal" - 'We Decrypt the Figure's data again because it had to be written encrypted but we edit decrypted data. - Decrypt() End Sub Private Sub bgReadPortalDuo_DoWork(sender As Object, e As DoWorkEventArgs) Handles bgReadPortalDuo.DoWork @@ -873,15 +395,11 @@ Public Class frmMain End Sub Private Sub bgReadPortalDuo_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles bgReadPortalDuo.RunWorkerCompleted SaldeStatus.Text = "Figure Read from Portal" - LoadData() + Parse_Figure() End Sub Private Sub bgWritePortalDuo_DoWork(sender As Object, e As DoWorkEventArgs) Handles bgWritePortalDuo.DoWork - SaldeStatus.Text = "Writing to Portal" - If bgWritePortalDuo.IsBusy Then - SaldeStatus.Text = "Still Writing to Portal" - Exit Sub - End If + Portal.Portal_Duo_Write() 'write data to skylander in portal End Sub 'Disable the Portal Menu Controls except for Connect. @@ -890,38 +408,22 @@ Public Class frmMain DisablePortalControls() End Sub Sub DisableControls() - 'btnClearData.Enabled = False - 'btnReset.Enabled = False Save_Enc_ToolStripMenuItem.Enabled = False DisablePortalControls() End Sub Sub DisablePortalControls() ReadSkylanderToolStripMenuItem.Enabled = False WriteSkylanderToolStripMenuItem.Enabled = False - ReadSwapperOtherHalfToolStripMenuItem.Enabled = False - WriteSwapperOtherHalfToolStripMenuItem.Enabled = False + ReadSecondFigureToolStripMenuItem.Enabled = False + WriteSecondFigureToolStripMenuItem.Enabled = False End Sub Public Sub unlockPortalControls() 'SaldeStatus.Text = "Unlocked" ReadSkylanderToolStripMenuItem.Enabled = True WriteSkylanderToolStripMenuItem.Enabled = True - ReadSwapperOtherHalfToolStripMenuItem.Enabled = True - WriteSwapperOtherHalfToolStripMenuItem.Enabled = True - End Sub - - Dim tmrFail As Integer = 0 - Private Sub TmrPortal_Tick(sender As Object, e As EventArgs) Handles tmrPortal.Tick - - If Portal.blnPortal = False Then - Portal.portalHandle = FindThePortal() - ElseIf Portal.blnPortal = True Then - tmrPortal.Enabled = False - tmrFail += 1 - End If - If tmrFail = 10 Then - tmrPortal.Enabled = False - End If + ReadSecondFigureToolStripMenuItem.Enabled = True + WriteSecondFigureToolStripMenuItem.Enabled = True End Sub #End Region @@ -955,6 +457,10 @@ Public Class frmMain End Sub Private Sub btnTraps_Click(sender As Object, e As EventArgs) Handles btnTraps.Click + If cmbGame.SelectedItem <> "Traps" Then + SaldeStatus.Text = "Please Read a Trap Figure in First." + Exit Sub + End If Dim frmTraps As New frmTraps frmTraps.Show() Hide() @@ -968,23 +474,13 @@ Public Class frmMain End Sub - Private Sub btnRaw_Click(sender As Object, e As EventArgs) Handles btnRaw.Click - 'Save As - Dim dialog As New SaveFileDialog With { - .Filter = "Dump File (*.bin)|*.bin|All files (*.*)|*.*", - .FilterIndex = 1, - .RestoreDirectory = True, - .Title = "Save Decrypted Dump", - .FileName = lstCharacters.SelectedItem - } - - If (dialog.ShowDialog = DialogResult.OK) Then - Dim NewFile As String = dialog.FileName - fs = New FileStream(NewFile, FileMode.OpenOrCreate) - fs.Write(WholeFile, 0, WholeFile.Length) - fs.Flush() - fs.Close() + Private Sub btnCrystals_Click(sender As Object, e As EventArgs) Handles btnCrystals.Click + If cmbGame.SelectedItem <> "Imaginators Crystals" Then + Exit Sub End If + Dim frmCrystals As New frmCrystals + frmCrystals.Show() + Hide() End Sub ReadOnly frmArea As New frmArea @@ -992,4 +488,33 @@ Public Class frmMain frmArea.Visible = True frmArea.Show() End Sub + +#Region "Rainbow!" + Private Sub btnRainbow_Click(sender As Object, e As EventArgs) Handles btnRainbow.Click + 'We do a Rainbow function. Because Debugging can be fun. + If Portal.blnPortal = False Then + Exit Sub + End If + If btnRainbow.Text = "Rainbow!" Then + tmrRainbow.Enabled = True + btnRainbow.Text = "Stop!" + Else + tmrRainbow.Enabled = False + btnRainbow.Text = "Rainbow!" + End If + End Sub + Shared random As New Random() + Private Sub tmrRainbow_Tick(sender As Object, e As EventArgs) Handles tmrRainbow.Tick + random.Next() + Dim Red As Byte = random.Next(0, 255) + Dim Blue As Byte = random.Next(0, 255) + Dim Green As Byte = random.Next(0, 255) + Portal.Portal_Rainbow(Red, Blue, Green) + End Sub + + Private Sub btnGame_Click(sender As Object, e As EventArgs) Handles btnGame.Click + MessageBox.Show(cmbGame.Items.Count) + End Sub +#End Region + End Class \ No newline at end of file diff --git a/SkyReader-GUI/frmTraps.vb b/SkyReader-GUI/frmTraps.vb index be3d1a0..8aac001 100644 --- a/SkyReader-GUI/frmTraps.vb +++ b/SkyReader-GUI/frmTraps.vb @@ -1,4 +1,5 @@ Imports System.Text +Imports SkyReader_GUI.FigureIO Imports SkyReader_GUI.frmMain Public Class frmTraps Private Sub cmbVillian1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbVillian1.SelectedIndexChanged @@ -48,8 +49,6 @@ Public Class frmTraps Sub Save_Area_A() 'Write Quanity Trapped - - If cmbVillian1.SelectedItem = "(None)" Then WholeFile(&H80) = &H0 WholeFile(&H81) = &H0 @@ -1194,7 +1193,6 @@ Public Class frmTraps 'Load Name from Byte 0x1D4 txtVillian6Name.Text = Load_Name(&H1D4) End Sub - Sub Load_Area_1() 'Add 1C0 'This only gets applied to the first villian @@ -1743,7 +1741,6 @@ Public Class frmTraps Dim NameBytes(29) As Byte Dim Adder As Integer = 0 Dim Full_Name As String - Dim Bad_Name As Boolean Do Until Adder = 28 'MessageBox.Show(Hex(offset)) NameBytes(Adder) = WholeFile(offset) @@ -1759,11 +1756,6 @@ Public Class frmTraps Adder += 1 Loop Full_Name = Encoding.Unicode.GetString(NameBytes) - Bad_Name = Nickname.IsUnicode(Full_Name) - If Bad_Name = True Then - MessageBox.Show("Did you load an Encrypted Trap?", "Unicode Name Detected") - End If - 'MessageBox.Show(Encoding.BigEndianUnicode.GetString(NameBytes)) Return Encoding.Unicode.GetString(NameBytes) End Function @@ -1964,6 +1956,5 @@ Public Class frmTraps MessageBox.Show("Evolved? " & Hex(WholeFile(&H91))) MessageBox.Show("Hat ID: " & Hex(WholeFile(&H92))) MessageBox.Show("Trinket ID: " & Hex(WholeFile(&H93))) - End Sub End Class \ No newline at end of file diff --git a/SkyReader-GUI/frmVehicles.Designer.vb b/SkyReader-GUI/frmVehicles.Designer.vb index 13cda17..5e14999 100644 --- a/SkyReader-GUI/frmVehicles.Designer.vb +++ b/SkyReader-GUI/frmVehicles.Designer.vb @@ -161,7 +161,7 @@ Partial Class frmVehicles 'numGearbits ' Me.numGearbits.Location = New System.Drawing.Point(13, 182) - Me.numGearbits.Maximum = New Decimal(New Integer() {255, 0, 0, 0}) + Me.numGearbits.Maximum = New Decimal(New Integer() {65535, 0, 0, 0}) Me.numGearbits.Name = "numGearbits" Me.numGearbits.Size = New System.Drawing.Size(120, 20) Me.numGearbits.TabIndex = 14 diff --git a/SkyReader-GUI/frmVehicles.vb b/SkyReader-GUI/frmVehicles.vb index 5edee27..4f803b2 100644 --- a/SkyReader-GUI/frmVehicles.vb +++ b/SkyReader-GUI/frmVehicles.vb @@ -1,6 +1,9 @@ -Imports SkyReader_GUI.frmMain +Imports SkyReader_GUI.FigureIO +Imports SkyReader_GUI.frmMain Public Class frmVehicles Private Sub frmVehicles_Load(sender As Object, e As EventArgs) Handles MyBase.Load + 'We want to NOT edit the Vehicle as a Figure. So we Disable Controls here. + frmMain.Disable_Controls() 'Initial Values. cmbDecoration.SelectedIndex = 0 @@ -16,10 +19,30 @@ Public Class frmVehicles Dim Topper_Two As Byte = WholeFile(&H259) Dim Neon_One As Byte = WholeFile(&H9A) - Dim Neon_Two As Byte + Dim Neon_Two As Byte = WholeFile(&H25A) Dim Shout_One As Byte = WholeFile(&H9B) - Dim Shout_Two As Byte + Dim Shout_Two As Byte = WholeFile(&H25B) + + Dim GearBits_One(1) As Byte 'WholeFile(&H118) & WholeFile(&H119) + Dim Int_GearBits_One As UShort + Dim GearBits_Two(1) As Byte 'WholeFile(&H2D8) & WHoleFile(&H2D9) + Dim Int_GearBits_Two As UShort + + GearBits_One(0) = WholeFile(&H118) + GearBits_One(1) = WholeFile(&H119) + + GearBits_Two(0) = WholeFile(&H2D8) + GearBits_Two(1) = WholeFile(&H2D9) + + 'DO Math: + 'Why do we do this? + 'Because Unsigned Integer is 4 Bytes. Not Two. + ReDim Preserve GearBits_One(3) + ReDim Preserve GearBits_Two(3) + Int_GearBits_One = BitConverter.ToUInt32(GearBits_One, 0) + Int_GearBits_Two = BitConverter.ToUInt32(GearBits_Two, 0) + 'I need to read data here: @@ -29,16 +52,19 @@ Public Class frmVehicles Topper_One = Topper_One Neon_One = Neon_One Shout_One = Shout_One + Int_GearBits_One = Int_GearBits_One ElseIf Area1 > Area0 Then Deco_One = Deco_Two Topper_One = Topper_Two Neon_One = Neon_Two Shout_One = Shout_Two + Int_GearBits_One = Int_GearBits_Two ElseIf Area0 = Area1 Then Deco_One = Deco_One Topper_One = Topper_One Neon_One = Neon_One Shout_One = Shout_One + Int_GearBits_One = Int_GearBits_One End If 'We wait for the Application to load all the Values into their Comboboxes. Application.DoEvents() @@ -60,7 +86,11 @@ Public Class frmVehicles End Try Try cmbShout.SelectedIndex = Convert.ToInt32(Shout_One) - 'MessageBox.Show(Shout_One) + Catch ex As Exception + + End Try + Try + numGearbits.Value = Int_GearBits_One Catch ex As Exception End Try @@ -1046,6 +1076,15 @@ Public Class frmVehicles Case Else MessageBox.Show("This is what it's like to go FURTHER BEYOND!") End Select + + Dim intGearBits As UShort = numGearbits.Value + Dim GearBits As Byte() = BitConverter.GetBytes(intGearBits) + WholeFile(&H118) = GearBits(0) + WholeFile(&H119) = GearBits(1) + + WholeFile(&H2D8) = GearBits(0) + WholeFile(&H2D9) = GearBits(1) + End Sub Private Sub frmVehicles_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing