44 lines
23 KiB
JSON
44 lines
23 KiB
JSON
{
|
|
"Name": "3D-Coins",
|
|
"Description": "Import a 3D-Coin Model and automaticly apply the codes.\r\nThis preset requie the 3D Coins tweak patched.",
|
|
"Presets": [
|
|
{
|
|
"Name": "",
|
|
"Description": "",
|
|
"ScriptAfter": {
|
|
"Name": "Apply 3D Coins Patches",
|
|
"Script": "Imports Microsoft.VisualBasic\r\nImports System\r\nImports System.Linq\r\nImports System.IO\r\nImports SM64Lib\r\nImports System.Collections.Generic\r\nImports SM64Lib.Model.Fast3D\r\nImports SM64Lib.Model\r\nImports SM64Lib.Data\r\nImports System.Drawing\r\nImports System.Windows.Forms\r\nImports Devcomponents.DotNetBar\r\nImports SM64Lib.SegmentedBanking\r\nImports Newtonsoft.Json.Linq\r\n\r\nModule Script\r\n\r\n Sub Main(params As IReadOnlyDictionary(Of String, Object))\r\n Dim mdl As ObjectModel = params(\"ConvertedModel\")\r\n Dim buf As Fast3DBuffer = mdl.Fast3DBuffer\r\n Dim stream As New FileStream(params(\"romfile\"), FileMode.Open, FileAccess.ReadWrite)\r\n Dim data As New BinaryStreamData(stream)\r\n Dim offset As Integer = params(\"RomAddress\")\r\n Dim geopointer As Integer = CType(params(\"GeoPointersArray\"), Integer()).FirstOrDefault\r\n Dim bank03addr As Integer = SegmentedBanks.Bank0x3RomStart\r\n Dim jumpvalue As Integer = &H3000000\r\n\r\n 'Navigate to Display List\r\n data.Position = geopointer\r\n data.Position = data.ReadInt32 - &H3000000 + bank03addr\r\n\r\n 'Search 03 commands\r\n Dim cmd As Byte = 0\r\n Dim found03 As Integer = 0\r\n Dim ende As Boolean = False\r\n\r\n Do\r\n cmd = data.ReadByte\r\n Select Case cmd\r\n Case &HB8\r\n ende = True\r\n Case &H3\r\n found03 += 1\r\n If found03 = 2 Then\r\n jumpvalue = data.Position + 7 - bank03addr + &H3000000\r\n End If\r\n End Select\r\n data.Position += 7\r\n Loop Until ende\r\n\r\n 'Write jumpvalue to 03 commands for the yellow and blue coins\r\n data.Position = &HAB9B64 'AB9B20 \r\n data.Write(jumpvalue)\r\n data.Position = &HAB9BB4 'AB9B70 \r\n data.Write(jumpvalue)\r\n \r\n 'Get coin colors\r\n Dim colors as Colors3DCoin = GetColors\r\n\r\n 'Navigate to color in new model\r\n data.Position = jumpvalue + bank03addr - &H3000000 - &HA\r\n data.Position = data.ReadUInt16 + bank03addr\r\n\r\n 'Write red coin color to new model colors\r\n WriteColor(data, colors.RedDark)\r\n WriteColor(data, colors.RedLight)\r\n \r\n 'Goto & Write colors for yellow coin\r\n data.Position = &H30076A4 - &H3000000 + bank03addr\r\n WriteColor(data, colors.YellowLight)\r\n data.Position = &H30076AC - &H3000000 + bank03addr\r\n WriteColor(data, colors.YellowDark)\r\n \r\n 'Goto & Write colors for blue coin\r\n data.Position = &H30076B4 - &H3000000 + bank03addr\r\n WriteColor(data, colors.BlueLight)\r\n data.Position = &H30076BC - &H3000000 + bank03addr\r\n WriteColor(data, colors.BlueDark)\r\n \r\n stream.Close()\r\n End Sub\r\n \r\n Function GetColors as Colors3DCoin\r\n Dim frm as new GetColorsDialog\r\n frm.Text = \"Edit Coins Color\"\r\n \r\n Dim colors as New Colors3DCoin\r\n frm.LoadColors(colors)\r\n \r\n frm.ShowDialog\r\n \r\n frm.SaveColors(colors)\r\n \r\n return colors\r\n End Function\r\n\r\n Sub WriteColor(data as BinaryData, color as Color)\r\n data.WriteByte(color.R)\r\n data.WriteByte(color.G)\r\n data.WriteByte(color.B)\r\n data.WriteByte(&HFF) 'color.A\r\n data.WriteByte(color.R)\r\n data.WriteByte(color.G)\r\n data.WriteByte(color.B)\r\n data.WriteByte(&HFF) 'color.A\r\n End Sub\r\n \r\nEnd Module\r\n\r\nclass GetColorsDialog\r\n inherits DevComponents.DotNetBar.OfficeForm\r\n \r\n Private Const FILE_DIALOG_FILTER = \"3D Coin color configuration (*.json)|*.json\"\r\n private colors as Colors3DCoin\r\n \r\n public sub new\r\n InitializeComponent\r\n SetImageToPickerButtons\r\n SetIcons\r\n UpdateAmbientColors\r\n end sub\r\n \r\n private sub SetIcons\r\n Dim resmgr = new System.Resources.ResourceManager(\"SM64_ROM_Manager.MyIcons\", Type.GetType(\"SM64_ROM_Manager.My.Resources.MyIcons, SM64 ROM Manager\").Assembly)\r\n ButtonItem_LoadColorCombi.Image = LoadBitmap(\"icons8_folder_16px\", resmgr)\r\n ButtonItem_SaveColorCombi.Image = LoadBitmap(\"icons8_save_16px\", resmgr)\r\n ButtonX1.Image = LoadBitmap(\"icons8_checkmark_16px_1\", resmgr)\r\n end sub\r\n \r\n private function LoadBitmap(name as string, resmgr as System.Resources.ResourceManager) as Bitmap\r\n return resmgr.GetObject(name)\r\n end function\r\n \r\n private sub SetImageToPickerButtons\r\n dim strData as string = \"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAqSURBVDhPY/j//z9FGEIAKXIwigEgmhQ8asCoASA8HA0gB8MNIB//ZwAAsSyVh9SDH54AAAAASUVORK5CYII=\"\r\n dim arrData as byte() = convert.FromBase64String(strData)\r\n dim ms as new MemoryStream(arrData)\r\n dim img as Image\r\n \r\n img = Image.FromStream(ms)\r\n ms.Close\r\n \r\n for each picker as ColorPickerButton in {ColorPickerButton1, ColorPickerButton2, ColorPickerButton3, ColorPickerButton4, ColorPickerButton5, ColorPickerButton6}\r\n picker.Image = img\r\n next\r\n end sub\r\n \r\n Public sub LoadColors(colors as Colors3DCoin)\r\n Me.colors = colors\r\n ColorPickerButton1.SelectedColor = colors.YellowLight\r\n ColorPickerButton2.SelectedColor = colors.YellowDark\r\n ColorPickerButton4.SelectedColor = colors.RedLight\r\n ColorPickerButton3.SelectedColor = colors.RedDark\r\n ColorPickerButton6.SelectedColor = colors.BlueLight\r\n ColorPickerButton5.SelectedColor = colors.BlueDark\r\n End sub\r\n \r\n public Sub SaveColors(colors as Colors3DCoin)\r\n Me.colors = colors\r\n colors.YellowLight = ColorPickerButton1.SelectedColor\r\n colors.YellowDark = ColorPickerButton2.SelectedColor\r\n colors.RedLight = ColorPickerButton4.SelectedColor\r\n colors.RedDark = ColorPickerButton3.SelectedColor\r\n colors.BlueLight = ColorPickerButton6.SelectedColor\r\n colors.BlueDark = ColorPickerButton5.SelectedColor\r\n End sub\r\n \r\n Protected Overrides Sub Dispose(ByVal disposing As Boolean)\r\n Try\r\n If disposing AndAlso components IsNot Nothing Then\r\n components.Dispose()\r\n End If\r\n Finally\r\n MyBase.Dispose(disposing)\r\n End Try\r\n End Sub\r\n \r\n Private Sub ButtonItem_LoadColorCombi_Click(sender As Object, e As EventArgs) Handles ButtonItem_LoadColorCombi.Click\r\n Dim ofd_Load3DCoinColorConfiguration As New OpenFileDialog\r\n ofd_Load3DCoinColorConfiguration.Filter = FILE_DIALOG_FILTER\r\n If ofd_Load3DCoinColorConfiguration.ShowDialog(Me) = DialogResult.OK Then\r\n LoadColors(Colors3DCoin.Load(ofd_Load3DCoinColorConfiguration.FileName))\r\n End If\r\n End Sub\r\n\r\n Private Sub ButtonItem_SaveColorCombi_Click(sender As Object, e As EventArgs) Handles ButtonItem_SaveColorCombi.Click\r\n Dim sfd_Save3DCoinColorConfiguration As New SaveFileDialog\r\n sfd_Save3DCoinColorConfiguration.Filter = FILE_DIALOG_FILTER\r\n If sfd_Save3DCoinColorConfiguration.ShowDialog(Me) = DialogResult.OK Then\r\n SaveColors(colors)\r\n colors.Save(sfd_Save3DCoinColorConfiguration.FileName)\r\n End If\r\n End Sub\r\n \r\n Private components As System.ComponentModel.IContainer\r\n \r\n Private Sub InitializeComponent()\r\n Me.LabelX1 = New DevComponents.DotNetBar.LabelX()\r\n Me.ColorPickerButton1 = New DevComponents.DotNetBar.ColorPickerButton()\r\n Me.LabelX2 = New DevComponents.DotNetBar.LabelX()\r\n Me.LabelX3 = New DevComponents.DotNetBar.LabelX()\r\n Me.ColorPickerButton2 = New DevComponents.DotNetBar.ColorPickerButton()\r\n Me.ColorPickerButton3 = New DevComponents.DotNetBar.ColorPickerButton()\r\n Me.ColorPickerButton4 = New DevComponents.DotNetBar.ColorPickerButton()\r\n Me.LabelX6 = New DevComponents.DotNetBar.LabelX()\r\n Me.ColorPickerButton5 = New DevComponents.DotNetBar.ColorPickerButton()\r\n Me.ColorPickerButton6 = New DevComponents.DotNetBar.ColorPickerButton()\r\n Me.LabelX4 = New DevComponents.DotNetBar.LabelX()\r\n Me.ButtonX1 = New DevComponents.DotNetBar.ButtonX()\r\n Me.ButtonX2 = New DevComponents.DotNetBar.ButtonX()\r\n Me.ButtonItem_SaveColorCombi = New DevComponents.DotNetBar.ButtonItem()\r\n Me.ButtonItem_LoadColorCombi = New DevComponents.DotNetBar.ButtonItem()\r\n Me.SuspendLayout()\r\n '\r\n 'LabelX1\r\n '\r\n '\r\n '\r\n '\r\n Me.LabelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square\r\n Me.LabelX1.Location = New System.Drawing.Point(3, 32)\r\n Me.LabelX1.Name = \"LabelX1\"\r\n Me.LabelX1.Size = New System.Drawing.Size(75, 23)\r\n Me.LabelX1.TabIndex = 3\r\n Me.LabelX1.Text = \"Yellow Coins:\"\r\n '\r\n 'ColorPickerButton1\r\n '\r\n Me.ColorPickerButton1.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ColorPickerButton1.AutoExpandOnClick = True\r\n Me.ColorPickerButton1.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ColorPickerButton1.FocusCuesEnabled = False\r\n Me.ColorPickerButton1.Location = New System.Drawing.Point(84, 32)\r\n Me.ColorPickerButton1.Name = \"ColorPickerButton1\"\r\n Me.ColorPickerButton1.SelectedColorImageRectangle = New System.Drawing.Rectangle(2, 2, 12, 12)\r\n Me.ColorPickerButton1.Size = New System.Drawing.Size(37, 23)\r\n Me.ColorPickerButton1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ColorPickerButton1.TabIndex = 4\r\n '\r\n 'LabelX2\r\n '\r\n '\r\n '\r\n '\r\n Me.LabelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square\r\n Me.LabelX2.Location = New System.Drawing.Point(84, 3)\r\n Me.LabelX2.Name = \"LabelX2\"\r\n Me.LabelX2.Size = New System.Drawing.Size(37, 23)\r\n Me.LabelX2.TabIndex = 5\r\n Me.LabelX2.Text = \"Light:\"\r\n '\r\n 'LabelX3\r\n '\r\n '\r\n '\r\n '\r\n Me.LabelX3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square\r\n Me.LabelX3.Location = New System.Drawing.Point(127, 3)\r\n Me.LabelX3.Name = \"LabelX3\"\r\n Me.LabelX3.Size = New System.Drawing.Size(37, 23)\r\n Me.LabelX3.TabIndex = 7\r\n Me.LabelX3.Text = \"Dark:\"\r\n '\r\n 'ColorPickerButton2\r\n '\r\n Me.ColorPickerButton2.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ColorPickerButton2.AutoExpandOnClick = True\r\n Me.ColorPickerButton2.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ColorPickerButton2.FocusCuesEnabled = False\r\n Me.ColorPickerButton2.Location = New System.Drawing.Point(127, 32)\r\n Me.ColorPickerButton2.Name = \"ColorPickerButton2\"\r\n Me.ColorPickerButton2.SelectedColorImageRectangle = New System.Drawing.Rectangle(2, 2, 12, 12)\r\n Me.ColorPickerButton2.Size = New System.Drawing.Size(37, 23)\r\n Me.ColorPickerButton2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ColorPickerButton2.TabIndex = 6\r\n '\r\n 'ColorPickerButton3\r\n '\r\n Me.ColorPickerButton3.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ColorPickerButton3.AutoExpandOnClick = True\r\n Me.ColorPickerButton3.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ColorPickerButton3.FocusCuesEnabled = False\r\n Me.ColorPickerButton3.Location = New System.Drawing.Point(127, 61)\r\n Me.ColorPickerButton3.Name = \"ColorPickerButton3\"\r\n Me.ColorPickerButton3.SelectedColorImageRectangle = New System.Drawing.Rectangle(2, 2, 12, 12)\r\n Me.ColorPickerButton3.Size = New System.Drawing.Size(37, 23)\r\n Me.ColorPickerButton3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ColorPickerButton3.TabIndex = 11\r\n '\r\n 'ColorPickerButton4\r\n '\r\n Me.ColorPickerButton4.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ColorPickerButton4.AutoExpandOnClick = True\r\n Me.ColorPickerButton4.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ColorPickerButton4.FocusCuesEnabled = False\r\n Me.ColorPickerButton4.Location = New System.Drawing.Point(84, 61)\r\n Me.ColorPickerButton4.Name = \"ColorPickerButton4\"\r\n Me.ColorPickerButton4.SelectedColorImageRectangle = New System.Drawing.Rectangle(2, 2, 12, 12)\r\n Me.ColorPickerButton4.Size = New System.Drawing.Size(37, 23)\r\n Me.ColorPickerButton4.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ColorPickerButton4.TabIndex = 9\r\n '\r\n 'LabelX6\r\n '\r\n '\r\n '\r\n '\r\n Me.LabelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square\r\n Me.LabelX6.Location = New System.Drawing.Point(3, 61)\r\n Me.LabelX6.Name = \"LabelX6\"\r\n Me.LabelX6.Size = New System.Drawing.Size(75, 23)\r\n Me.LabelX6.TabIndex = 8\r\n Me.LabelX6.Text = \"Red Coins:\"\r\n '\r\n 'ColorPickerButton5\r\n '\r\n Me.ColorPickerButton5.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ColorPickerButton5.AutoExpandOnClick = True\r\n Me.ColorPickerButton5.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ColorPickerButton5.FocusCuesEnabled = False\r\n Me.ColorPickerButton5.Location = New System.Drawing.Point(127, 90)\r\n Me.ColorPickerButton5.Name = \"ColorPickerButton5\"\r\n Me.ColorPickerButton5.SelectedColorImageRectangle = New System.Drawing.Rectangle(2, 2, 12, 12)\r\n Me.ColorPickerButton5.Size = New System.Drawing.Size(37, 23)\r\n Me.ColorPickerButton5.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ColorPickerButton5.TabIndex = 14\r\n '\r\n 'ColorPickerButton6\r\n '\r\n Me.ColorPickerButton6.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ColorPickerButton6.AutoExpandOnClick = True\r\n Me.ColorPickerButton6.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ColorPickerButton6.FocusCuesEnabled = False\r\n Me.ColorPickerButton6.Location = New System.Drawing.Point(84, 90)\r\n Me.ColorPickerButton6.Name = \"ColorPickerButton6\"\r\n Me.ColorPickerButton6.SelectedColorImageRectangle = New System.Drawing.Rectangle(2, 2, 12, 12)\r\n Me.ColorPickerButton6.Size = New System.Drawing.Size(37, 23)\r\n Me.ColorPickerButton6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ColorPickerButton6.TabIndex = 13\r\n '\r\n 'LabelX4\r\n '\r\n '\r\n '\r\n '\r\n Me.LabelX4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square\r\n Me.LabelX4.Location = New System.Drawing.Point(3, 90)\r\n Me.LabelX4.Name = \"LabelX4\"\r\n Me.LabelX4.Size = New System.Drawing.Size(75, 23)\r\n Me.LabelX4.TabIndex = 12\r\n Me.LabelX4.Text = \"Blue Coins:\"\r\n '\r\n 'ButtonX1\r\n '\r\n Me.ButtonX1.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ButtonX1.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ButtonX1.DialogResult = System.Windows.Forms.DialogResult.OK\r\n Me.ButtonX1.FocusCuesEnabled = False\r\n Me.ButtonX1.Location = New System.Drawing.Point(3, 119)\r\n Me.ButtonX1.Name = \"ButtonX1\"\r\n Me.ButtonX1.Size = New System.Drawing.Size(75, 23)\r\n Me.ButtonX1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ButtonX1.TabIndex = 15\r\n Me.ButtonX1.Text = \"Okay\"\r\n '\r\n 'ButtonX2\r\n '\r\n Me.ButtonX2.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton\r\n Me.ButtonX2.AutoExpandOnClick = True\r\n Me.ButtonX2.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground\r\n Me.ButtonX2.FocusCuesEnabled = False\r\n Me.ButtonX2.Location = New System.Drawing.Point(89, 119)\r\n Me.ButtonX2.Name = \"ButtonX2\"\r\n Me.ButtonX2.Size = New System.Drawing.Size(75, 23)\r\n Me.ButtonX2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled\r\n Me.ButtonX2.SubItems.AddRange(New DevComponents.DotNetBar.BaseItem() {Me.ButtonItem_LoadColorCombi, Me.ButtonItem_SaveColorCombi})\r\n Me.ButtonX2.TabIndex = 16\r\n Me.ButtonX2.Text = \"More\"\r\n '\r\n 'ButtonItem_SaveColorCombi\r\n '\r\n Me.ButtonItem_SaveColorCombi.GlobalItem = False\r\n Me.ButtonItem_SaveColorCombi.Name = \"ButtonItem_SaveColorCombi\"\r\n Me.ButtonItem_SaveColorCombi.Text = \"Save color configuration to file\"\r\n '\r\n 'ButtonItem_LoadColorCombi\r\n '\r\n Me.ButtonItem_LoadColorCombi.GlobalItem = False\r\n Me.ButtonItem_LoadColorCombi.Name = \"ButtonItem_LoadColorCombi\"\r\n Me.ButtonItem_LoadColorCombi.Text = \"Load color configuration from file\"\r\n '\r\n 'Form1\r\n '\r\n Me.AcceptButton = Me.ButtonX1\r\n Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)\r\n Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font\r\n Me.ClientSize = New System.Drawing.Size(170, 147)\r\n Me.Controls.Add(Me.ButtonX2)\r\n Me.Controls.Add(Me.ButtonX1)\r\n Me.Controls.Add(Me.ColorPickerButton5)\r\n Me.Controls.Add(Me.ColorPickerButton6)\r\n Me.Controls.Add(Me.LabelX4)\r\n Me.Controls.Add(Me.ColorPickerButton3)\r\n Me.Controls.Add(Me.ColorPickerButton4)\r\n Me.Controls.Add(Me.LabelX6)\r\n Me.Controls.Add(Me.LabelX3)\r\n Me.Controls.Add(Me.ColorPickerButton2)\r\n Me.Controls.Add(Me.LabelX2)\r\n Me.Controls.Add(Me.ColorPickerButton1)\r\n Me.Controls.Add(Me.LabelX1)\r\n Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog\r\n Me.MaximizeBox = False\r\n Me.MinimizeBox = False\r\n Me.Name = \"Form1\"\r\n Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen\r\n Me.TopLeftCornerSize = 0\r\n Me.TopRightCornerSize = 0\r\n Me.ResumeLayout(False)\r\n\r\n End Sub\r\n\r\n Friend WithEvents LabelX1 As DevComponents.DotNetBar.LabelX\r\n Friend WithEvents ColorPickerButton1 As DevComponents.DotNetBar.ColorPickerButton\r\n Friend WithEvents LabelX2 As DevComponents.DotNetBar.LabelX\r\n Friend WithEvents LabelX3 As DevComponents.DotNetBar.LabelX\r\n Friend WithEvents ColorPickerButton2 As DevComponents.DotNetBar.ColorPickerButton\r\n Friend WithEvents ColorPickerButton3 As DevComponents.DotNetBar.ColorPickerButton\r\n Friend WithEvents ColorPickerButton4 As DevComponents.DotNetBar.ColorPickerButton\r\n Friend WithEvents LabelX6 As DevComponents.DotNetBar.LabelX\r\n Friend WithEvents ColorPickerButton5 As DevComponents.DotNetBar.ColorPickerButton\r\n Friend WithEvents ColorPickerButton6 As DevComponents.DotNetBar.ColorPickerButton\r\n Friend WithEvents LabelX4 As DevComponents.DotNetBar.LabelX\r\n Friend WithEvents ButtonX1 As DevComponents.DotNetBar.ButtonX\r\n Friend WithEvents ButtonX2 As DevComponents.DotNetBar.ButtonX\r\n Friend WithEvents ButtonItem_SaveColorCombi As DevComponents.DotNetBar.ButtonItem\r\n Friend WithEvents ButtonItem_LoadColorCombi As DevComponents.DotNetBar.ButtonItem\r\n \r\nEnd class\r\n\r\nClass Colors3DCoin\r\n Public YellowLight as Color = Color.FromArgb(&Hffbfbf00)\r\n Public YellowDark as Color = Color.FromArgb(&Hff7f7f00)\r\n Public RedLight as Color = Color.FromArgb(&Hffff0000)\r\n Public RedDark as Color = Color.FromArgb(&Hffa00000)\r\n Public BlueLight as Color = Color.FromArgb(&Hff0000a0)\r\n Public BlueDark as Color = Color.FromArgb(&Hff000060)\r\n \r\n Public Shared Function Load(filePath as string) As Colors3DCoin\r\n return JObject.Parse(File.ReadAllText(filePath)).ToObject(Of Colors3DCoin)\r\n End Function\r\n \r\n Public Sub Save(filePath as String)\r\n File.WriteAllText(filePath, JObject.FromObject(me).ToString())\r\n End Sub\r\nEnd Class\r\n ",
|
|
"Type": "VisualBasic",
|
|
"Description": "",
|
|
"References": [
|
|
"SM64 ROM Manager.exe",
|
|
"Data\\Lib\\Newtonsoft.Json.dll"
|
|
],
|
|
"ID": null,
|
|
"AllowRevert": false
|
|
},
|
|
"ScriptBefore": {
|
|
"Name": "Before",
|
|
"Script": "Imports Microsoft.VisualBasic\r\nImports System\r\nImports System.Linq\r\nImports System.Windows.Forms\r\nImports System.IO\r\nImports SM64Lib\r\nImports System.Collections.Generic\r\nImports SM64Lib.Model\r\nimports System.Reflection\r\nImports DevComponents.DotNetBar\r\nImports System.ComponentModel\r\n\r\nModule Script\r\n\r\n Sub Main(params as IReadOnlyDictionary(Of String, Object))\r\n Dim myDataPath as string = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), \"Data\")\r\n \r\n 'Check if 3D-Coins are patched\r\n Dim rommgr as RomManager = params(\"rommgr\")\r\n If rommgr IsNot Nothing AndAlso rommgr.RomConfig.NPCConfig.Enabled3DCoins Then\r\n 'Remove Collision from Model\r\n Dim mdl As ObjectModel = params(\"ConvertedModel\")\r\n mdl.Collision = Nothing\r\n Else\r\n '3D-Coins not patched, cancel operation\r\n MessageBoxEx.Show(params(\"owner\"), \"The newest version of the 3D Coins are not patched. Please apply the 3D Coins Tweak before you continue.\", \"3D Coins not patched\", MessageBoxButtons.Ok, MessageBoxIcon.Information)\r\n Dim e as CancelEventArgs = params(\"cancelEventArgs\")\r\n e.Cancel = True\r\n End If\r\n \r\n End Sub\r\n\r\nEnd Module\r\n",
|
|
"Type": "VisualBasic",
|
|
"Description": "",
|
|
"References": [],
|
|
"ID": null,
|
|
"AllowRevert": false
|
|
},
|
|
"RomAddress": 11238160,
|
|
"RamAddress": 50353856,
|
|
"MaxLength": 8164,
|
|
"CollisionPointers": [],
|
|
"GeometryPointers": [
|
|
2199672
|
|
]
|
|
}
|
|
],
|
|
"Version": "1.2.1.0",
|
|
"MinVersion": "1.10.0.0",
|
|
"MaxVersion": "0.0.0.0",
|
|
"EmbeddedFiles": {
|
|
"CompressedFiles": {}
|
|
}
|
|
} |