From 15cd1ef6c3d5d7869742de9c09572bea3a15b6af Mon Sep 17 00:00:00 2001 From: zeromus Date: Sat, 22 Sep 2012 07:07:58 +0000 Subject: [PATCH] snesgfx-overhaul layout again; support bigger viewport windows and configurable viewport size; fix crashes in out of range palette area mouseovers --- .../SNESGraphicsDebugger.Designer.cs | 1304 +++++++++-------- .../SNESTools/SNESGraphicsDebugger.cs | 103 +- .../SNESTools/SNESGraphicsDebugger.resx | 3 + 3 files changed, 789 insertions(+), 621 deletions(-) diff --git a/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.Designer.cs b/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.Designer.cs index c308811795..575af91985 100644 --- a/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.Designer.cs +++ b/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.Designer.cs @@ -28,9 +28,42 @@ /// private void InitializeComponent() { + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveScreenshotAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveScreenshotToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.checkScanlineControl = new System.Windows.Forms.CheckBox(); + this.label19 = new System.Windows.Forms.Label(); + this.nudScanline = new System.Windows.Forms.NumericUpDown(); + this.sliderScanline = new System.Windows.Forms.TrackBar(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.label16 = new System.Windows.Forms.Label(); + this.txtScreenBG4TSize = new System.Windows.Forms.TextBox(); + this.txtScreenBG3TSize = new System.Windows.Forms.TextBox(); + this.txtScreenBG2TSize = new System.Windows.Forms.TextBox(); + this.txtScreenBG1TSize = new System.Windows.Forms.TextBox(); + this.txtScreenBG4Bpp = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); + this.txtScreenBG3Bpp = new System.Windows.Forms.TextBox(); + this.txtModeBits = new System.Windows.Forms.TextBox(); + this.txtScreenBG2Bpp = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.txtScreenBG1Bpp = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.rbBG4 = new System.Windows.Forms.RadioButton(); + this.label18 = new System.Windows.Forms.Label(); this.rbBG3 = new System.Windows.Forms.RadioButton(); this.rbBG2 = new System.Windows.Forms.RadioButton(); this.rbBG1 = new System.Windows.Forms.RadioButton(); @@ -54,83 +87,312 @@ this.txtBG1SizeInTiles = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.txtBG1SizeBits = new System.Windows.Forms.TextBox(); - this.txtModeBits = new System.Windows.Forms.TextBox(); - this.txtScreenBG1Bpp = new System.Windows.Forms.TextBox(); - this.label4 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.label8 = new System.Windows.Forms.Label(); - this.txtScreenBG2Bpp = new System.Windows.Forms.TextBox(); - this.txtScreenBG3Bpp = new System.Windows.Forms.TextBox(); - this.txtScreenBG4Bpp = new System.Windows.Forms.TextBox(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.label16 = new System.Windows.Forms.Label(); - this.txtScreenBG4TSize = new System.Windows.Forms.TextBox(); - this.txtScreenBG3TSize = new System.Windows.Forms.TextBox(); - this.txtScreenBG2TSize = new System.Windows.Forms.TextBox(); - this.txtScreenBG1TSize = new System.Windows.Forms.TextBox(); - this.comboDisplayType = new System.Windows.Forms.ComboBox(); - this.radioButton1 = new System.Windows.Forms.RadioButton(); - this.radioButton2 = new System.Windows.Forms.RadioButton(); - this.radioButton3 = new System.Windows.Forms.RadioButton(); - this.radioButton4 = new System.Windows.Forms.RadioButton(); - this.radioButton5 = new System.Windows.Forms.RadioButton(); - this.radioButton6 = new System.Windows.Forms.RadioButton(); - this.radioButton7 = new System.Windows.Forms.RadioButton(); - this.radioButton8 = new System.Windows.Forms.RadioButton(); - this.radioButton9 = new System.Windows.Forms.RadioButton(); - this.radioButton10 = new System.Windows.Forms.RadioButton(); - this.radioButton11 = new System.Windows.Forms.RadioButton(); - this.radioButton12 = new System.Windows.Forms.RadioButton(); - this.radioButton13 = new System.Windows.Forms.RadioButton(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveScreenshotAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveScreenshotToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.groupBox3 = new System.Windows.Forms.GroupBox(); this.groupBox4 = new System.Windows.Forms.GroupBox(); this.radioButton15 = new System.Windows.Forms.RadioButton(); this.radioButton14 = new System.Windows.Forms.RadioButton(); + this.grpQuadrants = new System.Windows.Forms.GroupBox(); + this.rbQuad3 = new System.Windows.Forms.RadioButton(); + this.rbQuad2 = new System.Windows.Forms.RadioButton(); + this.rbQuadAll = new System.Windows.Forms.RadioButton(); + this.rbQuad1 = new System.Windows.Forms.RadioButton(); + this.rbQuad0 = new System.Windows.Forms.RadioButton(); + this.radioButton9 = new System.Windows.Forms.RadioButton(); + this.comboDisplayType = new System.Windows.Forms.ComboBox(); + this.radioButton1 = new System.Windows.Forms.RadioButton(); + this.radioButton2 = new System.Windows.Forms.RadioButton(); + this.radioButton13 = new System.Windows.Forms.RadioButton(); + this.radioButton3 = new System.Windows.Forms.RadioButton(); + this.radioButton12 = new System.Windows.Forms.RadioButton(); + this.radioButton4 = new System.Windows.Forms.RadioButton(); + this.radioButton11 = new System.Windows.Forms.RadioButton(); + this.radioButton5 = new System.Windows.Forms.RadioButton(); + this.radioButton10 = new System.Windows.Forms.RadioButton(); + this.radioButton6 = new System.Windows.Forms.RadioButton(); + this.radioButton7 = new System.Windows.Forms.RadioButton(); + this.radioButton8 = new System.Windows.Forms.RadioButton(); this.groupBox5 = new System.Windows.Forms.GroupBox(); this.tabctrlDetails = new System.Windows.Forms.TabControl(); this.tpPalette = new System.Windows.Forms.TabPage(); + this.txtPaletteDetailsIndexSpecific = new System.Windows.Forms.TextBox(); + this.txtPaletteDetailsIndexHexSpecific = new System.Windows.Forms.TextBox(); this.txtPaletteDetailsAddress = new System.Windows.Forms.TextBox(); this.txtPaletteDetailsIndex = new System.Windows.Forms.TextBox(); - this.lblDetailsOBJOrBG = new System.Windows.Forms.Label(); this.txtPaletteDetailsIndexHex = new System.Windows.Forms.TextBox(); this.txtDetailsPaletteColorRGB = new System.Windows.Forms.TextBox(); this.txtDetailsPaletteColorHex = new System.Windows.Forms.TextBox(); this.txtDetailsPaletteColor = new System.Windows.Forms.TextBox(); + this.lblDetailsOBJOrBG = new System.Windows.Forms.Label(); this.pnDetailsPaletteColor = new System.Windows.Forms.Panel(); this.lblDetailsPaletteAddress = new System.Windows.Forms.Label(); this.tabPage2 = new System.Windows.Forms.TabPage(); - this.label17 = new System.Windows.Forms.Label(); - this.label18 = new System.Windows.Forms.Label(); - this.nudScanline = new System.Windows.Forms.NumericUpDown(); - this.sliderScanline = new System.Windows.Forms.TrackBar(); - this.label19 = new System.Windows.Forms.Label(); - this.txtPaletteDetailsIndexSpecific = new System.Windows.Forms.TextBox(); - this.txtPaletteDetailsIndexHexSpecific = new System.Windows.Forms.TextBox(); + this.panel2 = new System.Windows.Forms.Panel(); this.paletteViewer = new BizHawk.MultiClient.SNESGraphicsViewer(); this.viewer = new BizHawk.MultiClient.SNESGraphicsViewer(); - this.groupBox1.SuspendLayout(); - this.groupBox2.SuspendLayout(); this.menuStrip1.SuspendLayout(); + this.tableLayoutPanel1.SuspendLayout(); + this.panel1.SuspendLayout(); this.groupBox3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nudScanline)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.sliderScanline)).BeginInit(); + this.groupBox2.SuspendLayout(); + this.groupBox1.SuspendLayout(); this.groupBox4.SuspendLayout(); + this.grpQuadrants.SuspendLayout(); this.groupBox5.SuspendLayout(); this.tabctrlDetails.SuspendLayout(); this.tpPalette.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.nudScanline)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.sliderScanline)).BeginInit(); + this.panel2.SuspendLayout(); this.SuspendLayout(); // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.optionsToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(1102, 24); + this.menuStrip1.TabIndex = 33; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.saveScreenshotAsToolStripMenuItem, + this.saveScreenshotToClipboardToolStripMenuItem, + this.toolStripSeparator1, + this.exitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20); + this.fileToolStripMenuItem.Text = "&File"; + // + // saveScreenshotAsToolStripMenuItem + // + this.saveScreenshotAsToolStripMenuItem.Enabled = false; + this.saveScreenshotAsToolStripMenuItem.Name = "saveScreenshotAsToolStripMenuItem"; + this.saveScreenshotAsToolStripMenuItem.Size = new System.Drawing.Size(266, 22); + this.saveScreenshotAsToolStripMenuItem.Text = "Save Screenshot &As..."; + // + // saveScreenshotToClipboardToolStripMenuItem + // + this.saveScreenshotToClipboardToolStripMenuItem.Enabled = false; + this.saveScreenshotToClipboardToolStripMenuItem.Name = "saveScreenshotToClipboardToolStripMenuItem"; + this.saveScreenshotToClipboardToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); + this.saveScreenshotToClipboardToolStripMenuItem.Size = new System.Drawing.Size(266, 22); + this.saveScreenshotToClipboardToolStripMenuItem.Text = "Save Screenshot to Clipboard"; + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(263, 6); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.ShortcutKeyDisplayString = "Alt+F4"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(266, 22); + this.exitToolStripMenuItem.Text = "E&xit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // optionsToolStripMenuItem + // + this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.autoloadToolStripMenuItem, + this.saveWindowPositionToolStripMenuItem}); + this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; + this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20); + this.optionsToolStripMenuItem.Text = "&Options"; + this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened); + // + // autoloadToolStripMenuItem + // + this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem"; + this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(190, 22); + this.autoloadToolStripMenuItem.Text = "Auto-load"; + this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click); + // + // saveWindowPositionToolStripMenuItem + // + this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem"; + this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(190, 22); + this.saveWindowPositionToolStripMenuItem.Text = "&Save Window Position"; + this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.panel2, 1, 0); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 24); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 2; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(1102, 627); + this.tableLayoutPanel1.TabIndex = 0; + // + // panel1 + // + this.panel1.AutoSize = true; + this.panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.panel1.Controls.Add(this.groupBox3); + this.panel1.Controls.Add(this.groupBox2); + this.panel1.Controls.Add(this.groupBox1); + this.panel1.Controls.Add(this.groupBox4); + this.panel1.Controls.Add(this.groupBox5); + this.panel1.Controls.Add(this.tabctrlDetails); + this.panel1.Location = new System.Drawing.Point(3, 3); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(574, 626); + this.panel1.TabIndex = 0; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.checkScanlineControl); + this.groupBox3.Controls.Add(this.label19); + this.groupBox3.Controls.Add(this.nudScanline); + this.groupBox3.Controls.Add(this.sliderScanline); + this.groupBox3.Location = new System.Drawing.Point(232, 3); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(57, 272); + this.groupBox3.TabIndex = 46; + this.groupBox3.TabStop = false; + // + // checkScanlineControl + // + this.checkScanlineControl.AutoSize = true; + this.checkScanlineControl.Location = new System.Drawing.Point(4, 249); + this.checkScanlineControl.Name = "checkScanlineControl"; + this.checkScanlineControl.Size = new System.Drawing.Size(15, 14); + this.checkScanlineControl.TabIndex = 42; + this.checkScanlineControl.UseVisualStyleBackColor = true; + this.checkScanlineControl.CheckedChanged += new System.EventHandler(this.checkScanlineControl_CheckedChanged); + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(3, 7); + this.label19.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(48, 13); + this.label19.TabIndex = 41; + this.label19.Text = "Scanline"; + // + // nudScanline + // + this.nudScanline.Location = new System.Drawing.Point(5, 22); + this.nudScanline.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); + this.nudScanline.Maximum = new decimal(new int[] { + 224, + 0, + 0, + 0}); + this.nudScanline.Name = "nudScanline"; + this.nudScanline.Size = new System.Drawing.Size(46, 20); + this.nudScanline.TabIndex = 39; + this.nudScanline.ValueChanged += new System.EventHandler(this.nudScanline_ValueChanged); + // + // sliderScanline + // + this.sliderScanline.AutoSize = false; + this.sliderScanline.Location = new System.Drawing.Point(14, 41); + this.sliderScanline.Maximum = 224; + this.sliderScanline.Name = "sliderScanline"; + this.sliderScanline.Orientation = System.Windows.Forms.Orientation.Vertical; + this.sliderScanline.Size = new System.Drawing.Size(30, 228); + this.sliderScanline.TabIndex = 40; + this.sliderScanline.Text = "label14"; + this.sliderScanline.TickFrequency = 16; + this.sliderScanline.Value = 224; + this.sliderScanline.ValueChanged += new System.EventHandler(this.sliderScanline_ValueChanged); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.label16); + this.groupBox2.Controls.Add(this.txtScreenBG4TSize); + this.groupBox2.Controls.Add(this.txtScreenBG3TSize); + this.groupBox2.Controls.Add(this.txtScreenBG2TSize); + this.groupBox2.Controls.Add(this.txtScreenBG1TSize); + this.groupBox2.Controls.Add(this.txtScreenBG4Bpp); + this.groupBox2.Controls.Add(this.label1); + this.groupBox2.Controls.Add(this.txtScreenBG3Bpp); + this.groupBox2.Controls.Add(this.txtModeBits); + this.groupBox2.Controls.Add(this.txtScreenBG2Bpp); + this.groupBox2.Controls.Add(this.label8); + this.groupBox2.Controls.Add(this.label7); + this.groupBox2.Controls.Add(this.txtScreenBG1Bpp); + this.groupBox2.Controls.Add(this.label6); + this.groupBox2.Controls.Add(this.label4); + this.groupBox2.Controls.Add(this.label5); + this.groupBox2.Location = new System.Drawing.Point(5, 3); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(224, 122); + this.groupBox2.TabIndex = 16; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Screen"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(170, 53); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(34, 13); + this.label16.TabIndex = 20; + this.label16.Text = "TSize"; + // + // txtScreenBG4TSize + // + this.txtScreenBG4TSize.Location = new System.Drawing.Point(151, 51); + this.txtScreenBG4TSize.Multiline = true; + this.txtScreenBG4TSize.Name = "txtScreenBG4TSize"; + this.txtScreenBG4TSize.ReadOnly = true; + this.txtScreenBG4TSize.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG4TSize.TabIndex = 19; + this.txtScreenBG4TSize.Text = "16"; + // + // txtScreenBG3TSize + // + this.txtScreenBG3TSize.Location = new System.Drawing.Point(126, 51); + this.txtScreenBG3TSize.Multiline = true; + this.txtScreenBG3TSize.Name = "txtScreenBG3TSize"; + this.txtScreenBG3TSize.ReadOnly = true; + this.txtScreenBG3TSize.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG3TSize.TabIndex = 18; + this.txtScreenBG3TSize.Text = "16"; + // + // txtScreenBG2TSize + // + this.txtScreenBG2TSize.Location = new System.Drawing.Point(102, 51); + this.txtScreenBG2TSize.Multiline = true; + this.txtScreenBG2TSize.Name = "txtScreenBG2TSize"; + this.txtScreenBG2TSize.ReadOnly = true; + this.txtScreenBG2TSize.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG2TSize.TabIndex = 17; + this.txtScreenBG2TSize.Text = "16"; + // + // txtScreenBG1TSize + // + this.txtScreenBG1TSize.Location = new System.Drawing.Point(78, 51); + this.txtScreenBG1TSize.Multiline = true; + this.txtScreenBG1TSize.Name = "txtScreenBG1TSize"; + this.txtScreenBG1TSize.ReadOnly = true; + this.txtScreenBG1TSize.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG1TSize.TabIndex = 16; + this.txtScreenBG1TSize.Text = "16"; + // + // txtScreenBG4Bpp + // + this.txtScreenBG4Bpp.Location = new System.Drawing.Point(151, 28); + this.txtScreenBG4Bpp.Multiline = true; + this.txtScreenBG4Bpp.Name = "txtScreenBG4Bpp"; + this.txtScreenBG4Bpp.ReadOnly = true; + this.txtScreenBG4Bpp.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG4Bpp.TabIndex = 15; + this.txtScreenBG4Bpp.Text = "8"; + // // label1 // this.label1.AutoSize = true; @@ -140,6 +402,92 @@ this.label1.TabIndex = 0; this.label1.Text = "Mode"; // + // txtScreenBG3Bpp + // + this.txtScreenBG3Bpp.Location = new System.Drawing.Point(126, 28); + this.txtScreenBG3Bpp.Multiline = true; + this.txtScreenBG3Bpp.Name = "txtScreenBG3Bpp"; + this.txtScreenBG3Bpp.ReadOnly = true; + this.txtScreenBG3Bpp.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG3Bpp.TabIndex = 14; + this.txtScreenBG3Bpp.Text = "8"; + // + // txtModeBits + // + this.txtModeBits.BackColor = System.Drawing.Color.LightGreen; + this.txtModeBits.Location = new System.Drawing.Point(6, 28); + this.txtModeBits.Multiline = true; + this.txtModeBits.Name = "txtModeBits"; + this.txtModeBits.ReadOnly = true; + this.txtModeBits.Size = new System.Drawing.Size(25, 17); + this.txtModeBits.TabIndex = 6; + this.txtModeBits.Text = "000"; + // + // txtScreenBG2Bpp + // + this.txtScreenBG2Bpp.Location = new System.Drawing.Point(102, 28); + this.txtScreenBG2Bpp.Multiline = true; + this.txtScreenBG2Bpp.Name = "txtScreenBG2Bpp"; + this.txtScreenBG2Bpp.ReadOnly = true; + this.txtScreenBG2Bpp.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG2Bpp.TabIndex = 13; + this.txtScreenBG2Bpp.Text = "8"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(170, 29); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(25, 13); + this.label8.TabIndex = 7; + this.label8.Text = "bpp"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(147, 12); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(28, 13); + this.label7.TabIndex = 12; + this.label7.Text = "BG4"; + // + // txtScreenBG1Bpp + // + this.txtScreenBG1Bpp.Location = new System.Drawing.Point(78, 28); + this.txtScreenBG1Bpp.Multiline = true; + this.txtScreenBG1Bpp.Name = "txtScreenBG1Bpp"; + this.txtScreenBG1Bpp.ReadOnly = true; + this.txtScreenBG1Bpp.Size = new System.Drawing.Size(18, 17); + this.txtScreenBG1Bpp.TabIndex = 8; + this.txtScreenBG1Bpp.Text = "8"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(123, 12); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(28, 13); + this.label6.TabIndex = 11; + this.label6.Text = "BG3"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(74, 12); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(28, 13); + this.label4.TabIndex = 9; + this.label4.Text = "BG1"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(98, 12); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(28, 13); + this.label5.TabIndex = 10; + this.label5.Text = "BG2"; + // // groupBox1 // this.groupBox1.Controls.Add(this.rbBG4); @@ -167,9 +515,9 @@ this.groupBox1.Controls.Add(this.txtBG1SizeInTiles); this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.txtBG1SizeBits); - this.groupBox1.Location = new System.Drawing.Point(6, 27); + this.groupBox1.Location = new System.Drawing.Point(5, 126); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(224, 205); + this.groupBox1.Size = new System.Drawing.Size(224, 272); this.groupBox1.TabIndex = 3; this.groupBox1.TabStop = false; this.groupBox1.Text = "BG"; @@ -186,6 +534,15 @@ this.rbBG4.UseVisualStyleBackColor = true; this.rbBG4.CheckedChanged += new System.EventHandler(this.rbBGX_CheckedChanged); // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(161, 170); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(56, 26); + this.label18.TabIndex = 38; + this.label18.Text = "Todo: BG \r\npal info"; + // // rbBG3 // this.rbBG3.AutoSize = true; @@ -423,175 +780,131 @@ this.txtBG1SizeBits.TabIndex = 5; this.txtBG1SizeBits.Text = "00"; // - // txtModeBits + // groupBox4 // - this.txtModeBits.BackColor = System.Drawing.Color.LightGreen; - this.txtModeBits.Location = new System.Drawing.Point(6, 28); - this.txtModeBits.Multiline = true; - this.txtModeBits.Name = "txtModeBits"; - this.txtModeBits.ReadOnly = true; - this.txtModeBits.Size = new System.Drawing.Size(25, 17); - this.txtModeBits.TabIndex = 6; - this.txtModeBits.Text = "000"; + this.groupBox4.Controls.Add(this.radioButton15); + this.groupBox4.Controls.Add(this.radioButton14); + this.groupBox4.Controls.Add(this.grpQuadrants); + this.groupBox4.Controls.Add(this.radioButton9); + this.groupBox4.Controls.Add(this.comboDisplayType); + this.groupBox4.Controls.Add(this.radioButton1); + this.groupBox4.Controls.Add(this.radioButton2); + this.groupBox4.Controls.Add(this.radioButton13); + this.groupBox4.Controls.Add(this.radioButton3); + this.groupBox4.Controls.Add(this.radioButton12); + this.groupBox4.Controls.Add(this.radioButton4); + this.groupBox4.Controls.Add(this.radioButton11); + this.groupBox4.Controls.Add(this.radioButton5); + this.groupBox4.Controls.Add(this.radioButton10); + this.groupBox4.Controls.Add(this.radioButton6); + this.groupBox4.Controls.Add(this.radioButton7); + this.groupBox4.Controls.Add(this.radioButton8); + this.groupBox4.Location = new System.Drawing.Point(294, 3); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(277, 121); + this.groupBox4.TabIndex = 35; + this.groupBox4.TabStop = false; // - // txtScreenBG1Bpp + // radioButton15 // - this.txtScreenBG1Bpp.Location = new System.Drawing.Point(78, 28); - this.txtScreenBG1Bpp.Multiline = true; - this.txtScreenBG1Bpp.Name = "txtScreenBG1Bpp"; - this.txtScreenBG1Bpp.ReadOnly = true; - this.txtScreenBG1Bpp.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG1Bpp.TabIndex = 8; - this.txtScreenBG1Bpp.Text = "8"; + this.radioButton15.AutoSize = true; + this.radioButton15.Enabled = false; + this.radioButton15.Location = new System.Drawing.Point(6, 31); + this.radioButton15.Name = "radioButton15"; + this.radioButton15.Size = new System.Drawing.Size(58, 17); + this.radioButton15.TabIndex = 33; + this.radioButton15.TabStop = true; + this.radioButton15.Text = "Mode7"; + this.radioButton15.UseVisualStyleBackColor = true; // - // label4 + // radioButton14 // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(74, 12); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(28, 13); - this.label4.TabIndex = 9; - this.label4.Text = "BG1"; + this.radioButton14.AutoSize = true; + this.radioButton14.Enabled = false; + this.radioButton14.Location = new System.Drawing.Point(170, 98); + this.radioButton14.Name = "radioButton14"; + this.radioButton14.Size = new System.Drawing.Size(45, 17); + this.radioButton14.TabIndex = 32; + this.radioButton14.TabStop = true; + this.radioButton14.Text = "OBJ"; + this.radioButton14.UseVisualStyleBackColor = true; // - // label5 + // grpQuadrants // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(98, 12); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(28, 13); - this.label5.TabIndex = 10; - this.label5.Text = "BG2"; + this.grpQuadrants.Controls.Add(this.rbQuad3); + this.grpQuadrants.Controls.Add(this.rbQuad2); + this.grpQuadrants.Controls.Add(this.rbQuadAll); + this.grpQuadrants.Controls.Add(this.rbQuad1); + this.grpQuadrants.Controls.Add(this.rbQuad0); + this.grpQuadrants.Location = new System.Drawing.Point(227, 7); + this.grpQuadrants.Name = "grpQuadrants"; + this.grpQuadrants.Size = new System.Drawing.Size(44, 53); + this.grpQuadrants.TabIndex = 44; + this.grpQuadrants.TabStop = false; // - // label6 + // rbQuad3 // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(123, 12); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(28, 13); - this.label6.TabIndex = 11; - this.label6.Text = "BG3"; + this.rbQuad3.AutoSize = true; + this.rbQuad3.Location = new System.Drawing.Point(26, 34); + this.rbQuad3.Name = "rbQuad3"; + this.rbQuad3.Size = new System.Drawing.Size(14, 13); + this.rbQuad3.TabIndex = 47; + this.rbQuad3.UseVisualStyleBackColor = true; + this.rbQuad3.CheckedChanged += new System.EventHandler(this.rbQuad_CheckedChanged); // - // label7 + // rbQuad2 // - this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(147, 12); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(28, 13); - this.label7.TabIndex = 12; - this.label7.Text = "BG4"; + this.rbQuad2.AutoSize = true; + this.rbQuad2.Location = new System.Drawing.Point(4, 35); + this.rbQuad2.Name = "rbQuad2"; + this.rbQuad2.Size = new System.Drawing.Size(14, 13); + this.rbQuad2.TabIndex = 46; + this.rbQuad2.UseVisualStyleBackColor = true; + this.rbQuad2.CheckedChanged += new System.EventHandler(this.rbQuad_CheckedChanged); // - // label8 + // rbQuadAll // - this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(170, 29); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(25, 13); - this.label8.TabIndex = 7; - this.label8.Text = "bpp"; + this.rbQuadAll.AutoSize = true; + this.rbQuadAll.Location = new System.Drawing.Point(15, 22); + this.rbQuadAll.Name = "rbQuadAll"; + this.rbQuadAll.Size = new System.Drawing.Size(14, 13); + this.rbQuadAll.TabIndex = 45; + this.rbQuadAll.UseVisualStyleBackColor = true; + this.rbQuadAll.CheckedChanged += new System.EventHandler(this.rbQuad_CheckedChanged); // - // txtScreenBG2Bpp + // rbQuad1 // - this.txtScreenBG2Bpp.Location = new System.Drawing.Point(102, 28); - this.txtScreenBG2Bpp.Multiline = true; - this.txtScreenBG2Bpp.Name = "txtScreenBG2Bpp"; - this.txtScreenBG2Bpp.ReadOnly = true; - this.txtScreenBG2Bpp.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG2Bpp.TabIndex = 13; - this.txtScreenBG2Bpp.Text = "8"; + this.rbQuad1.AutoSize = true; + this.rbQuad1.Location = new System.Drawing.Point(26, 10); + this.rbQuad1.Name = "rbQuad1"; + this.rbQuad1.Size = new System.Drawing.Size(14, 13); + this.rbQuad1.TabIndex = 44; + this.rbQuad1.UseVisualStyleBackColor = true; + this.rbQuad1.CheckedChanged += new System.EventHandler(this.rbQuad_CheckedChanged); // - // txtScreenBG3Bpp + // rbQuad0 // - this.txtScreenBG3Bpp.Location = new System.Drawing.Point(126, 28); - this.txtScreenBG3Bpp.Multiline = true; - this.txtScreenBG3Bpp.Name = "txtScreenBG3Bpp"; - this.txtScreenBG3Bpp.ReadOnly = true; - this.txtScreenBG3Bpp.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG3Bpp.TabIndex = 14; - this.txtScreenBG3Bpp.Text = "8"; + this.rbQuad0.AutoSize = true; + this.rbQuad0.Checked = true; + this.rbQuad0.Location = new System.Drawing.Point(5, 10); + this.rbQuad0.Name = "rbQuad0"; + this.rbQuad0.Size = new System.Drawing.Size(14, 13); + this.rbQuad0.TabIndex = 43; + this.rbQuad0.TabStop = true; + this.rbQuad0.UseVisualStyleBackColor = true; + this.rbQuad0.CheckedChanged += new System.EventHandler(this.rbQuad_CheckedChanged); // - // txtScreenBG4Bpp + // radioButton9 // - this.txtScreenBG4Bpp.Location = new System.Drawing.Point(151, 28); - this.txtScreenBG4Bpp.Multiline = true; - this.txtScreenBG4Bpp.Name = "txtScreenBG4Bpp"; - this.txtScreenBG4Bpp.ReadOnly = true; - this.txtScreenBG4Bpp.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG4Bpp.TabIndex = 15; - this.txtScreenBG4Bpp.Text = "8"; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.label16); - this.groupBox2.Controls.Add(this.txtScreenBG4TSize); - this.groupBox2.Controls.Add(this.txtScreenBG3TSize); - this.groupBox2.Controls.Add(this.txtScreenBG2TSize); - this.groupBox2.Controls.Add(this.txtScreenBG1TSize); - this.groupBox2.Controls.Add(this.txtScreenBG4Bpp); - this.groupBox2.Controls.Add(this.label1); - this.groupBox2.Controls.Add(this.txtScreenBG3Bpp); - this.groupBox2.Controls.Add(this.txtModeBits); - this.groupBox2.Controls.Add(this.txtScreenBG2Bpp); - this.groupBox2.Controls.Add(this.label8); - this.groupBox2.Controls.Add(this.label7); - this.groupBox2.Controls.Add(this.txtScreenBG1Bpp); - this.groupBox2.Controls.Add(this.label6); - this.groupBox2.Controls.Add(this.label4); - this.groupBox2.Controls.Add(this.label5); - this.groupBox2.Location = new System.Drawing.Point(236, 32); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(210, 122); - this.groupBox2.TabIndex = 16; - this.groupBox2.TabStop = false; - this.groupBox2.Text = "Screen"; - // - // label16 - // - this.label16.AutoSize = true; - this.label16.Location = new System.Drawing.Point(170, 53); - this.label16.Name = "label16"; - this.label16.Size = new System.Drawing.Size(34, 13); - this.label16.TabIndex = 20; - this.label16.Text = "TSize"; - // - // txtScreenBG4TSize - // - this.txtScreenBG4TSize.Location = new System.Drawing.Point(151, 51); - this.txtScreenBG4TSize.Multiline = true; - this.txtScreenBG4TSize.Name = "txtScreenBG4TSize"; - this.txtScreenBG4TSize.ReadOnly = true; - this.txtScreenBG4TSize.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG4TSize.TabIndex = 19; - this.txtScreenBG4TSize.Text = "16"; - // - // txtScreenBG3TSize - // - this.txtScreenBG3TSize.Location = new System.Drawing.Point(126, 51); - this.txtScreenBG3TSize.Multiline = true; - this.txtScreenBG3TSize.Name = "txtScreenBG3TSize"; - this.txtScreenBG3TSize.ReadOnly = true; - this.txtScreenBG3TSize.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG3TSize.TabIndex = 18; - this.txtScreenBG3TSize.Text = "16"; - // - // txtScreenBG2TSize - // - this.txtScreenBG2TSize.Location = new System.Drawing.Point(102, 51); - this.txtScreenBG2TSize.Multiline = true; - this.txtScreenBG2TSize.Name = "txtScreenBG2TSize"; - this.txtScreenBG2TSize.ReadOnly = true; - this.txtScreenBG2TSize.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG2TSize.TabIndex = 17; - this.txtScreenBG2TSize.Text = "16"; - // - // txtScreenBG1TSize - // - this.txtScreenBG1TSize.Location = new System.Drawing.Point(78, 51); - this.txtScreenBG1TSize.Multiline = true; - this.txtScreenBG1TSize.Name = "txtScreenBG1TSize"; - this.txtScreenBG1TSize.ReadOnly = true; - this.txtScreenBG1TSize.Size = new System.Drawing.Size(18, 17); - this.txtScreenBG1TSize.TabIndex = 16; - this.txtScreenBG1TSize.Text = "16"; + this.radioButton9.AutoSize = true; + this.radioButton9.Enabled = false; + this.radioButton9.Location = new System.Drawing.Point(88, 49); + this.radioButton9.Name = "radioButton9"; + this.radioButton9.Size = new System.Drawing.Size(82, 17); + this.radioButton9.TabIndex = 27; + this.radioButton9.TabStop = true; + this.radioButton9.Text = "2bpp @32K"; + this.radioButton9.UseVisualStyleBackColor = true; // // comboDisplayType // @@ -615,9 +928,9 @@ "Tiles as 2bpp (@40K)", "Tiles as 4bpp (@0K)", "Tiles as 4bpp (@32K)"}); - this.comboDisplayType.Location = new System.Drawing.Point(94, 9); + this.comboDisplayType.Location = new System.Drawing.Point(6, 8); this.comboDisplayType.Name = "comboDisplayType"; - this.comboDisplayType.Size = new System.Drawing.Size(162, 21); + this.comboDisplayType.Size = new System.Drawing.Size(158, 21); this.comboDisplayType.TabIndex = 18; this.comboDisplayType.SelectedIndexChanged += new System.EventHandler(this.comboDisplayType_SelectedIndexChanged); // @@ -625,7 +938,7 @@ // this.radioButton1.AutoSize = true; this.radioButton1.Enabled = false; - this.radioButton1.Location = new System.Drawing.Point(264, 10); + this.radioButton1.Location = new System.Drawing.Point(170, 10); this.radioButton1.Name = "radioButton1"; this.radioButton1.Size = new System.Drawing.Size(46, 17); this.radioButton1.TabIndex = 19; @@ -637,7 +950,7 @@ // this.radioButton2.AutoSize = true; this.radioButton2.Enabled = false; - this.radioButton2.Location = new System.Drawing.Point(264, 31); + this.radioButton2.Location = new System.Drawing.Point(170, 31); this.radioButton2.Name = "radioButton2"; this.radioButton2.Size = new System.Drawing.Size(46, 17); this.radioButton2.TabIndex = 20; @@ -645,11 +958,23 @@ this.radioButton2.Text = "BG2"; this.radioButton2.UseVisualStyleBackColor = true; // + // radioButton13 + // + this.radioButton13.AutoSize = true; + this.radioButton13.Enabled = false; + this.radioButton13.Location = new System.Drawing.Point(6, 48); + this.radioButton13.Name = "radioButton13"; + this.radioButton13.Size = new System.Drawing.Size(49, 17); + this.radioButton13.TabIndex = 31; + this.radioButton13.TabStop = true; + this.radioButton13.Text = "8bpp"; + this.radioButton13.UseVisualStyleBackColor = true; + // // radioButton3 // this.radioButton3.AutoSize = true; this.radioButton3.Enabled = false; - this.radioButton3.Location = new System.Drawing.Point(264, 54); + this.radioButton3.Location = new System.Drawing.Point(170, 54); this.radioButton3.Name = "radioButton3"; this.radioButton3.Size = new System.Drawing.Size(46, 17); this.radioButton3.TabIndex = 21; @@ -657,11 +982,23 @@ this.radioButton3.Text = "BG3"; this.radioButton3.UseVisualStyleBackColor = true; // + // radioButton12 + // + this.radioButton12.AutoSize = true; + this.radioButton12.Enabled = false; + this.radioButton12.Location = new System.Drawing.Point(6, 102); + this.radioButton12.Name = "radioButton12"; + this.radioButton12.Size = new System.Drawing.Size(76, 17); + this.radioButton12.TabIndex = 30; + this.radioButton12.TabStop = true; + this.radioButton12.Text = "4bpp @0K"; + this.radioButton12.UseVisualStyleBackColor = true; + // // radioButton4 // this.radioButton4.AutoSize = true; this.radioButton4.Enabled = false; - this.radioButton4.Location = new System.Drawing.Point(264, 77); + this.radioButton4.Location = new System.Drawing.Point(170, 77); this.radioButton4.Name = "radioButton4"; this.radioButton4.Size = new System.Drawing.Size(46, 17); this.radioButton4.TabIndex = 22; @@ -669,11 +1006,23 @@ this.radioButton4.Text = "BG4"; this.radioButton4.UseVisualStyleBackColor = true; // + // radioButton11 + // + this.radioButton11.AutoSize = true; + this.radioButton11.Enabled = false; + this.radioButton11.Location = new System.Drawing.Point(6, 84); + this.radioButton11.Name = "radioButton11"; + this.radioButton11.Size = new System.Drawing.Size(82, 17); + this.radioButton11.TabIndex = 29; + this.radioButton11.TabStop = true; + this.radioButton11.Text = "4bpp @32K"; + this.radioButton11.UseVisualStyleBackColor = true; + // // radioButton5 // this.radioButton5.AutoSize = true; this.radioButton5.Enabled = false; - this.radioButton5.Location = new System.Drawing.Point(6, 100); + this.radioButton5.Location = new System.Drawing.Point(88, 31); this.radioButton5.Name = "radioButton5"; this.radioButton5.Size = new System.Drawing.Size(49, 17); this.radioButton5.TabIndex = 23; @@ -681,11 +1030,23 @@ this.radioButton5.Text = "2bpp"; this.radioButton5.UseVisualStyleBackColor = true; // + // radioButton10 + // + this.radioButton10.AutoSize = true; + this.radioButton10.Enabled = false; + this.radioButton10.Location = new System.Drawing.Point(6, 66); + this.radioButton10.Name = "radioButton10"; + this.radioButton10.Size = new System.Drawing.Size(49, 17); + this.radioButton10.TabIndex = 28; + this.radioButton10.TabStop = true; + this.radioButton10.Text = "4bpp"; + this.radioButton10.UseVisualStyleBackColor = true; + // // radioButton6 // this.radioButton6.AutoSize = true; this.radioButton6.Enabled = false; - this.radioButton6.Location = new System.Drawing.Point(6, 77); + this.radioButton6.Location = new System.Drawing.Point(88, 102); this.radioButton6.Name = "radioButton6"; this.radioButton6.Size = new System.Drawing.Size(76, 17); this.radioButton6.TabIndex = 24; @@ -697,7 +1058,7 @@ // this.radioButton7.AutoSize = true; this.radioButton7.Enabled = false; - this.radioButton7.Location = new System.Drawing.Point(6, 54); + this.radioButton7.Location = new System.Drawing.Point(88, 84); this.radioButton7.Name = "radioButton7"; this.radioButton7.Size = new System.Drawing.Size(82, 17); this.radioButton7.TabIndex = 25; @@ -709,7 +1070,7 @@ // this.radioButton8.AutoSize = true; this.radioButton8.Enabled = false; - this.radioButton8.Location = new System.Drawing.Point(6, 33); + this.radioButton8.Location = new System.Drawing.Point(88, 66); this.radioButton8.Name = "radioButton8"; this.radioButton8.Size = new System.Drawing.Size(82, 17); this.radioButton8.TabIndex = 26; @@ -717,203 +1078,12 @@ this.radioButton8.Text = "2bpp @24K"; this.radioButton8.UseVisualStyleBackColor = true; // - // radioButton9 - // - this.radioButton9.AutoSize = true; - this.radioButton9.Enabled = false; - this.radioButton9.Location = new System.Drawing.Point(6, 10); - this.radioButton9.Name = "radioButton9"; - this.radioButton9.Size = new System.Drawing.Size(82, 17); - this.radioButton9.TabIndex = 27; - this.radioButton9.TabStop = true; - this.radioButton9.Text = "2bpp @32K"; - this.radioButton9.UseVisualStyleBackColor = true; - // - // radioButton10 - // - this.radioButton10.AutoSize = true; - this.radioButton10.Enabled = false; - this.radioButton10.Location = new System.Drawing.Point(87, 101); - this.radioButton10.Name = "radioButton10"; - this.radioButton10.Size = new System.Drawing.Size(49, 17); - this.radioButton10.TabIndex = 28; - this.radioButton10.TabStop = true; - this.radioButton10.Text = "4bpp"; - this.radioButton10.UseVisualStyleBackColor = true; - // - // radioButton11 - // - this.radioButton11.AutoSize = true; - this.radioButton11.Enabled = false; - this.radioButton11.Location = new System.Drawing.Point(87, 54); - this.radioButton11.Name = "radioButton11"; - this.radioButton11.Size = new System.Drawing.Size(82, 17); - this.radioButton11.TabIndex = 29; - this.radioButton11.TabStop = true; - this.radioButton11.Text = "4bpp @32K"; - this.radioButton11.UseVisualStyleBackColor = true; - // - // radioButton12 - // - this.radioButton12.AutoSize = true; - this.radioButton12.Enabled = false; - this.radioButton12.Location = new System.Drawing.Point(87, 77); - this.radioButton12.Name = "radioButton12"; - this.radioButton12.Size = new System.Drawing.Size(76, 17); - this.radioButton12.TabIndex = 30; - this.radioButton12.TabStop = true; - this.radioButton12.Text = "4bpp @0K"; - this.radioButton12.UseVisualStyleBackColor = true; - // - // radioButton13 - // - this.radioButton13.AutoSize = true; - this.radioButton13.Enabled = false; - this.radioButton13.Location = new System.Drawing.Point(169, 100); - this.radioButton13.Name = "radioButton13"; - this.radioButton13.Size = new System.Drawing.Size(49, 17); - this.radioButton13.TabIndex = 31; - this.radioButton13.TabStop = true; - this.radioButton13.Text = "8bpp"; - this.radioButton13.UseVisualStyleBackColor = true; - // - // menuStrip1 - // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.fileToolStripMenuItem, - this.optionsToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(905, 24); - this.menuStrip1.TabIndex = 33; - this.menuStrip1.Text = "menuStrip1"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.saveScreenshotAsToolStripMenuItem, - this.saveScreenshotToClipboardToolStripMenuItem, - this.toolStripSeparator1, - this.exitToolStripMenuItem}); - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20); - this.fileToolStripMenuItem.Text = "&File"; - // - // saveScreenshotAsToolStripMenuItem - // - this.saveScreenshotAsToolStripMenuItem.Enabled = false; - this.saveScreenshotAsToolStripMenuItem.Name = "saveScreenshotAsToolStripMenuItem"; - this.saveScreenshotAsToolStripMenuItem.Size = new System.Drawing.Size(266, 22); - this.saveScreenshotAsToolStripMenuItem.Text = "Save Screenshot &As..."; - // - // saveScreenshotToClipboardToolStripMenuItem - // - this.saveScreenshotToClipboardToolStripMenuItem.Enabled = false; - this.saveScreenshotToClipboardToolStripMenuItem.Name = "saveScreenshotToClipboardToolStripMenuItem"; - this.saveScreenshotToClipboardToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); - this.saveScreenshotToClipboardToolStripMenuItem.Size = new System.Drawing.Size(266, 22); - this.saveScreenshotToClipboardToolStripMenuItem.Text = "Save Screenshot to Clipboard"; - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(263, 6); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.ShortcutKeyDisplayString = "Alt+F4"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(266, 22); - this.exitToolStripMenuItem.Text = "E&xit"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // - // optionsToolStripMenuItem - // - this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.autoloadToolStripMenuItem, - this.saveWindowPositionToolStripMenuItem}); - this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; - this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20); - this.optionsToolStripMenuItem.Text = "&Options"; - this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened); - // - // autoloadToolStripMenuItem - // - this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem"; - this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(190, 22); - this.autoloadToolStripMenuItem.Text = "Auto-load"; - this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click); - // - // saveWindowPositionToolStripMenuItem - // - this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem"; - this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(190, 22); - this.saveWindowPositionToolStripMenuItem.Text = "&Save Window Position"; - this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click); - // - // groupBox3 - // - this.groupBox3.Controls.Add(this.viewer); - this.groupBox3.Location = new System.Drawing.Point(331, 157); - this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(528, 533); - this.groupBox3.TabIndex = 34; - this.groupBox3.TabStop = false; - // - // groupBox4 - // - this.groupBox4.Controls.Add(this.radioButton15); - this.groupBox4.Controls.Add(this.radioButton14); - this.groupBox4.Controls.Add(this.radioButton9); - this.groupBox4.Controls.Add(this.comboDisplayType); - this.groupBox4.Controls.Add(this.radioButton1); - this.groupBox4.Controls.Add(this.radioButton2); - this.groupBox4.Controls.Add(this.radioButton13); - this.groupBox4.Controls.Add(this.radioButton3); - this.groupBox4.Controls.Add(this.radioButton12); - this.groupBox4.Controls.Add(this.radioButton4); - this.groupBox4.Controls.Add(this.radioButton11); - this.groupBox4.Controls.Add(this.radioButton5); - this.groupBox4.Controls.Add(this.radioButton10); - this.groupBox4.Controls.Add(this.radioButton6); - this.groupBox4.Controls.Add(this.radioButton7); - this.groupBox4.Controls.Add(this.radioButton8); - this.groupBox4.Location = new System.Drawing.Point(452, 33); - this.groupBox4.Name = "groupBox4"; - this.groupBox4.Size = new System.Drawing.Size(316, 121); - this.groupBox4.TabIndex = 35; - this.groupBox4.TabStop = false; - // - // radioButton15 - // - this.radioButton15.AutoSize = true; - this.radioButton15.Enabled = false; - this.radioButton15.Location = new System.Drawing.Point(169, 83); - this.radioButton15.Name = "radioButton15"; - this.radioButton15.Size = new System.Drawing.Size(58, 17); - this.radioButton15.TabIndex = 33; - this.radioButton15.TabStop = true; - this.radioButton15.Text = "Mode7"; - this.radioButton15.UseVisualStyleBackColor = true; - // - // radioButton14 - // - this.radioButton14.AutoSize = true; - this.radioButton14.Enabled = false; - this.radioButton14.Location = new System.Drawing.Point(264, 98); - this.radioButton14.Name = "radioButton14"; - this.radioButton14.Size = new System.Drawing.Size(45, 17); - this.radioButton14.TabIndex = 32; - this.radioButton14.TabStop = true; - this.radioButton14.Text = "OBJ"; - this.radioButton14.UseVisualStyleBackColor = true; - // // groupBox5 // this.groupBox5.Controls.Add(this.paletteViewer); - this.groupBox5.Location = new System.Drawing.Point(6, 387); + this.groupBox5.Location = new System.Drawing.Point(233, 279); this.groupBox5.Name = "groupBox5"; - this.groupBox5.Size = new System.Drawing.Size(319, 328); + this.groupBox5.Size = new System.Drawing.Size(338, 344); this.groupBox5.TabIndex = 36; this.groupBox5.TabStop = false; this.groupBox5.Text = "Palette"; @@ -922,10 +1092,10 @@ // this.tabctrlDetails.Controls.Add(this.tpPalette); this.tabctrlDetails.Controls.Add(this.tabPage2); - this.tabctrlDetails.Location = new System.Drawing.Point(6, 238); + this.tabctrlDetails.Location = new System.Drawing.Point(296, 127); this.tabctrlDetails.Name = "tabctrlDetails"; this.tabctrlDetails.SelectedIndex = 0; - this.tabctrlDetails.Size = new System.Drawing.Size(282, 143); + this.tabctrlDetails.Size = new System.Drawing.Size(275, 147); this.tabctrlDetails.TabIndex = 0; // // tpPalette @@ -934,21 +1104,41 @@ this.tpPalette.Controls.Add(this.txtPaletteDetailsIndexHexSpecific); this.tpPalette.Controls.Add(this.txtPaletteDetailsAddress); this.tpPalette.Controls.Add(this.txtPaletteDetailsIndex); - this.tpPalette.Controls.Add(this.lblDetailsOBJOrBG); this.tpPalette.Controls.Add(this.txtPaletteDetailsIndexHex); this.tpPalette.Controls.Add(this.txtDetailsPaletteColorRGB); this.tpPalette.Controls.Add(this.txtDetailsPaletteColorHex); this.tpPalette.Controls.Add(this.txtDetailsPaletteColor); + this.tpPalette.Controls.Add(this.lblDetailsOBJOrBG); this.tpPalette.Controls.Add(this.pnDetailsPaletteColor); this.tpPalette.Controls.Add(this.lblDetailsPaletteAddress); this.tpPalette.Location = new System.Drawing.Point(4, 22); this.tpPalette.Name = "tpPalette"; this.tpPalette.Padding = new System.Windows.Forms.Padding(3); - this.tpPalette.Size = new System.Drawing.Size(274, 117); + this.tpPalette.Size = new System.Drawing.Size(267, 121); this.tpPalette.TabIndex = 0; this.tpPalette.Text = "Palette"; this.tpPalette.UseVisualStyleBackColor = true; // + // txtPaletteDetailsIndexSpecific + // + this.txtPaletteDetailsIndexSpecific.Location = new System.Drawing.Point(200, 3); + this.txtPaletteDetailsIndexSpecific.Multiline = true; + this.txtPaletteDetailsIndexSpecific.Name = "txtPaletteDetailsIndexSpecific"; + this.txtPaletteDetailsIndexSpecific.ReadOnly = true; + this.txtPaletteDetailsIndexSpecific.Size = new System.Drawing.Size(31, 18); + this.txtPaletteDetailsIndexSpecific.TabIndex = 44; + this.txtPaletteDetailsIndexSpecific.Text = "127"; + // + // txtPaletteDetailsIndexHexSpecific + // + this.txtPaletteDetailsIndexHexSpecific.Location = new System.Drawing.Point(173, 3); + this.txtPaletteDetailsIndexHexSpecific.Multiline = true; + this.txtPaletteDetailsIndexHexSpecific.Name = "txtPaletteDetailsIndexHexSpecific"; + this.txtPaletteDetailsIndexHexSpecific.ReadOnly = true; + this.txtPaletteDetailsIndexHexSpecific.Size = new System.Drawing.Size(26, 18); + this.txtPaletteDetailsIndexHexSpecific.TabIndex = 43; + this.txtPaletteDetailsIndexHexSpecific.Text = "$7F"; + // // txtPaletteDetailsAddress // this.txtPaletteDetailsAddress.Location = new System.Drawing.Point(41, 22); @@ -969,15 +1159,6 @@ this.txtPaletteDetailsIndex.TabIndex = 41; this.txtPaletteDetailsIndex.Text = "127"; // - // lblDetailsOBJOrBG - // - this.lblDetailsOBJOrBG.Location = new System.Drawing.Point(100, 5); - this.lblDetailsOBJOrBG.Name = "lblDetailsOBJOrBG"; - this.lblDetailsOBJOrBG.Size = new System.Drawing.Size(72, 13); - this.lblDetailsOBJOrBG.TabIndex = 40; - this.lblDetailsOBJOrBG.Text = "(OBJ Palette:)"; - this.lblDetailsOBJOrBG.TextAlign = System.Drawing.ContentAlignment.TopCenter; - // // txtPaletteDetailsIndexHex // this.txtPaletteDetailsIndexHex.Location = new System.Drawing.Point(41, 3); @@ -1018,6 +1199,15 @@ this.txtDetailsPaletteColor.TabIndex = 36; this.txtDetailsPaletteColor.Text = "$7FFF"; // + // lblDetailsOBJOrBG + // + this.lblDetailsOBJOrBG.Location = new System.Drawing.Point(100, 5); + this.lblDetailsOBJOrBG.Name = "lblDetailsOBJOrBG"; + this.lblDetailsOBJOrBG.Size = new System.Drawing.Size(72, 13); + this.lblDetailsOBJOrBG.TabIndex = 40; + this.lblDetailsOBJOrBG.Text = "(OBJ Palette:)"; + this.lblDetailsOBJOrBG.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // // pnDetailsPaletteColor // this.pnDetailsPaletteColor.BackColor = System.Drawing.Color.Red; @@ -1042,92 +1232,29 @@ this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(274, 117); + this.tabPage2.Size = new System.Drawing.Size(267, 121); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "tabPage2"; this.tabPage2.UseVisualStyleBackColor = true; // - // label17 + // panel2 // - this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(774, 102); - this.label17.Name = "label17"; - this.label17.Size = new System.Drawing.Size(120, 52); - this.label17.TabIndex = 37; - this.label17.Text = "Todo: make BG display\r\narea resizeable for \r\npeople with big monitors\r\nto get up " + - "to 1024x1024"; - // - // label18 - // - this.label18.AutoSize = true; - this.label18.Location = new System.Drawing.Point(161, 170); - this.label18.Name = "label18"; - this.label18.Size = new System.Drawing.Size(56, 26); - this.label18.TabIndex = 38; - this.label18.Text = "Todo: BG \r\npal info"; - // - // nudScanline - // - this.nudScanline.Location = new System.Drawing.Point(242, 159); - this.nudScanline.Maximum = new decimal(new int[] { - 224, - 0, - 0, - 0}); - this.nudScanline.Name = "nudScanline"; - this.nudScanline.Size = new System.Drawing.Size(77, 20); - this.nudScanline.TabIndex = 39; - this.nudScanline.ValueChanged += new System.EventHandler(this.nudScanline_ValueChanged); - // - // sliderScanline - // - this.sliderScanline.AutoSize = false; - this.sliderScanline.Location = new System.Drawing.Point(294, 180); - this.sliderScanline.Maximum = 224; - this.sliderScanline.Name = "sliderScanline"; - this.sliderScanline.Orientation = System.Windows.Forms.Orientation.Vertical; - this.sliderScanline.Size = new System.Drawing.Size(30, 210); - this.sliderScanline.TabIndex = 40; - this.sliderScanline.Text = "label14"; - this.sliderScanline.TickFrequency = 16; - this.sliderScanline.Value = 224; - this.sliderScanline.ValueChanged += new System.EventHandler(this.sliderScanline_ValueChanged); - // - // label19 - // - this.label19.AutoSize = true; - this.label19.Location = new System.Drawing.Point(242, 182); - this.label19.Name = "label19"; - this.label19.Size = new System.Drawing.Size(48, 13); - this.label19.TabIndex = 41; - this.label19.Text = "Scanline"; - // - // txtPaletteDetailsIndexSpecific - // - this.txtPaletteDetailsIndexSpecific.Location = new System.Drawing.Point(200, 3); - this.txtPaletteDetailsIndexSpecific.Multiline = true; - this.txtPaletteDetailsIndexSpecific.Name = "txtPaletteDetailsIndexSpecific"; - this.txtPaletteDetailsIndexSpecific.ReadOnly = true; - this.txtPaletteDetailsIndexSpecific.Size = new System.Drawing.Size(31, 18); - this.txtPaletteDetailsIndexSpecific.TabIndex = 44; - this.txtPaletteDetailsIndexSpecific.Text = "127"; - // - // txtPaletteDetailsIndexHexSpecific - // - this.txtPaletteDetailsIndexHexSpecific.Location = new System.Drawing.Point(173, 3); - this.txtPaletteDetailsIndexHexSpecific.Multiline = true; - this.txtPaletteDetailsIndexHexSpecific.Name = "txtPaletteDetailsIndexHexSpecific"; - this.txtPaletteDetailsIndexHexSpecific.ReadOnly = true; - this.txtPaletteDetailsIndexHexSpecific.Size = new System.Drawing.Size(26, 18); - this.txtPaletteDetailsIndexHexSpecific.TabIndex = 43; - this.txtPaletteDetailsIndexHexSpecific.Text = "$7F"; + this.panel2.AutoScroll = true; + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.panel2.Controls.Add(this.viewer); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(583, 3); + this.panel2.Name = "panel2"; + this.tableLayoutPanel1.SetRowSpan(this.panel2, 2); + this.panel2.Size = new System.Drawing.Size(516, 621); + this.panel2.TabIndex = 1; // // paletteViewer // this.paletteViewer.BackColor = System.Drawing.Color.Transparent; - this.paletteViewer.Location = new System.Drawing.Point(6, 14); + this.paletteViewer.Location = new System.Drawing.Point(7, 15); this.paletteViewer.Name = "paletteViewer"; - this.paletteViewer.Size = new System.Drawing.Size(307, 307); + this.paletteViewer.Size = new System.Drawing.Size(323, 323); this.paletteViewer.TabIndex = 18; this.paletteViewer.TabStop = false; this.paletteViewer.MouseEnter += new System.EventHandler(this.paletteViewer_MouseEnter); @@ -1137,47 +1264,45 @@ // viewer // this.viewer.BackColor = System.Drawing.Color.Transparent; - this.viewer.Location = new System.Drawing.Point(8, 14); + this.viewer.Location = new System.Drawing.Point(0, 0); this.viewer.Name = "viewer"; this.viewer.Size = new System.Drawing.Size(512, 512); - this.viewer.TabIndex = 17; + this.viewer.TabIndex = 38; this.viewer.TabStop = false; // // SNESGraphicsDebugger // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(905, 727); - this.Controls.Add(this.label19); - this.Controls.Add(this.sliderScanline); - this.Controls.Add(this.nudScanline); - this.Controls.Add(this.label17); - this.Controls.Add(this.tabctrlDetails); - this.Controls.Add(this.groupBox5); - this.Controls.Add(this.groupBox4); - this.Controls.Add(this.groupBox3); - this.Controls.Add(this.groupBox2); - this.Controls.Add(this.groupBox1); + this.ClientSize = new System.Drawing.Size(1102, 651); + this.Controls.Add(this.tableLayoutPanel1); this.Controls.Add(this.menuStrip1); this.MainMenuStrip = this.menuStrip1; this.Name = "SNESGraphicsDebugger"; this.Text = "SNES Graphics Debugger"; this.Load += new System.EventHandler(this.SNESGraphicsDebugger_Load); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.panel1.ResumeLayout(false); this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nudScanline)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.sliderScanline)).EndInit(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); this.groupBox4.ResumeLayout(false); this.groupBox4.PerformLayout(); + this.grpQuadrants.ResumeLayout(false); + this.grpQuadrants.PerformLayout(); this.groupBox5.ResumeLayout(false); this.tabctrlDetails.ResumeLayout(false); this.tpPalette.ResumeLayout(false); this.tpPalette.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.nudScanline)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.sliderScanline)).EndInit(); + this.panel2.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -1185,62 +1310,8 @@ #endregion - private System.Windows.Forms.Label label1; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.TextBox txtBG1SizeBits; - private System.Windows.Forms.TextBox txtModeBits; - private System.Windows.Forms.TextBox txtBG1SizeInTiles; - private System.Windows.Forms.TextBox txtScreenBG1Bpp; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.Label label8; - private System.Windows.Forms.TextBox txtScreenBG2Bpp; - private System.Windows.Forms.TextBox txtScreenBG3Bpp; - private System.Windows.Forms.TextBox txtScreenBG4Bpp; - private System.Windows.Forms.GroupBox groupBox2; - private System.Windows.Forms.TextBox txtBG1SizeInPixels; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label9; - private System.Windows.Forms.Label label10; - private System.Windows.Forms.TextBox txtBG1SCAddrBits; - private System.Windows.Forms.TextBox txtBG1SCAddrDescr; - private System.Windows.Forms.TextBox txtBG1Bpp; - private System.Windows.Forms.Label label12; - private System.Windows.Forms.TextBox txtBG1TDAddrDescr; - private System.Windows.Forms.Label label11; - private System.Windows.Forms.TextBox txtBG1TDAddrBits; - private System.Windows.Forms.Label label13; - private System.Windows.Forms.TextBox txtBG1Colors; - private SNESGraphicsViewer viewer; - private System.Windows.Forms.ComboBox comboDisplayType; - private System.Windows.Forms.RadioButton radioButton1; - private System.Windows.Forms.RadioButton radioButton2; - private System.Windows.Forms.RadioButton radioButton3; - private System.Windows.Forms.RadioButton radioButton4; - private System.Windows.Forms.RadioButton radioButton5; - private System.Windows.Forms.RadioButton radioButton6; - private System.Windows.Forms.RadioButton radioButton7; - private System.Windows.Forms.RadioButton radioButton8; - private System.Windows.Forms.RadioButton radioButton9; - private System.Windows.Forms.RadioButton radioButton10; - private System.Windows.Forms.RadioButton radioButton11; - private System.Windows.Forms.RadioButton radioButton12; - private System.Windows.Forms.RadioButton radioButton13; - private System.Windows.Forms.TextBox txtBG1TSizeDescr; - private System.Windows.Forms.Label label15; - private System.Windows.Forms.TextBox txtBG1TSizeBits; - private System.Windows.Forms.Label label16; - private System.Windows.Forms.TextBox txtScreenBG4TSize; - private System.Windows.Forms.TextBox txtScreenBG3TSize; - private System.Windows.Forms.TextBox txtScreenBG2TSize; - private System.Windows.Forms.TextBox txtScreenBG1TSize; private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; - private System.Windows.Forms.GroupBox groupBox3; - private System.Windows.Forms.GroupBox groupBox4; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem saveScreenshotAsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem saveScreenshotToClipboardToolStripMenuItem; @@ -1248,33 +1319,96 @@ private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem autoloadToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem saveWindowPositionToolStripMenuItem; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.TextBox txtScreenBG4TSize; + private System.Windows.Forms.TextBox txtScreenBG3TSize; + private System.Windows.Forms.TextBox txtScreenBG2TSize; + private System.Windows.Forms.TextBox txtScreenBG1TSize; + private System.Windows.Forms.TextBox txtScreenBG4Bpp; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtScreenBG3Bpp; + private System.Windows.Forms.TextBox txtModeBits; + private System.Windows.Forms.TextBox txtScreenBG2Bpp; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox txtScreenBG1Bpp; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.GroupBox grpQuadrants; + private System.Windows.Forms.RadioButton rbQuad3; + private System.Windows.Forms.RadioButton rbQuad2; + private System.Windows.Forms.RadioButton rbQuadAll; + private System.Windows.Forms.RadioButton rbQuad1; + private System.Windows.Forms.RadioButton rbQuad0; + private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.RadioButton rbBG4; + private System.Windows.Forms.Label label18; private System.Windows.Forms.RadioButton rbBG3; private System.Windows.Forms.RadioButton rbBG2; private System.Windows.Forms.RadioButton rbBG1; + private System.Windows.Forms.TextBox txtBG1TSizeDescr; private System.Windows.Forms.ComboBox comboBGProps; - private SNESGraphicsViewer paletteViewer; - private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox txtBG1TSizeBits; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.TextBox txtBG1Colors; + private System.Windows.Forms.TextBox txtBG1Bpp; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.TextBox txtBG1TDAddrDescr; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox txtBG1SCAddrDescr; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox txtBG1TDAddrBits; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox txtBG1SizeInPixels; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtBG1SCAddrBits; + private System.Windows.Forms.TextBox txtBG1SizeInTiles; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtBG1SizeBits; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.RadioButton radioButton15; private System.Windows.Forms.RadioButton radioButton14; + private System.Windows.Forms.RadioButton radioButton9; + private System.Windows.Forms.ComboBox comboDisplayType; + private System.Windows.Forms.RadioButton radioButton1; + private System.Windows.Forms.RadioButton radioButton2; + private System.Windows.Forms.RadioButton radioButton13; + private System.Windows.Forms.RadioButton radioButton3; + private System.Windows.Forms.RadioButton radioButton12; + private System.Windows.Forms.RadioButton radioButton4; + private System.Windows.Forms.RadioButton radioButton11; + private System.Windows.Forms.RadioButton radioButton5; + private System.Windows.Forms.RadioButton radioButton10; + private System.Windows.Forms.RadioButton radioButton6; + private System.Windows.Forms.RadioButton radioButton7; + private System.Windows.Forms.RadioButton radioButton8; + private System.Windows.Forms.TrackBar sliderScanline; + private System.Windows.Forms.GroupBox groupBox5; + private SNESGraphicsViewer paletteViewer; + private System.Windows.Forms.NumericUpDown nudScanline; private System.Windows.Forms.TabControl tabctrlDetails; private System.Windows.Forms.TabPage tpPalette; - private System.Windows.Forms.TabPage tabPage2; - private System.Windows.Forms.Panel pnDetailsPaletteColor; - private System.Windows.Forms.Label lblDetailsPaletteAddress; - private System.Windows.Forms.Label label17; - private System.Windows.Forms.Label label18; + private System.Windows.Forms.TextBox txtPaletteDetailsIndexSpecific; + private System.Windows.Forms.TextBox txtPaletteDetailsIndexHexSpecific; + private System.Windows.Forms.TextBox txtPaletteDetailsAddress; + private System.Windows.Forms.TextBox txtPaletteDetailsIndex; + private System.Windows.Forms.TextBox txtPaletteDetailsIndexHex; private System.Windows.Forms.TextBox txtDetailsPaletteColorRGB; private System.Windows.Forms.TextBox txtDetailsPaletteColorHex; private System.Windows.Forms.TextBox txtDetailsPaletteColor; - private System.Windows.Forms.TextBox txtPaletteDetailsAddress; - private System.Windows.Forms.TextBox txtPaletteDetailsIndex; private System.Windows.Forms.Label lblDetailsOBJOrBG; - private System.Windows.Forms.TextBox txtPaletteDetailsIndexHex; - private System.Windows.Forms.RadioButton radioButton15; - private System.Windows.Forms.NumericUpDown nudScanline; - private System.Windows.Forms.TrackBar sliderScanline; - private System.Windows.Forms.Label label19; - private System.Windows.Forms.TextBox txtPaletteDetailsIndexSpecific; - private System.Windows.Forms.TextBox txtPaletteDetailsIndexHexSpecific; + private System.Windows.Forms.Panel pnDetailsPaletteColor; + private System.Windows.Forms.Label lblDetailsPaletteAddress; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.Panel panel2; + private SNESGraphicsViewer viewer; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.CheckBox checkScanlineControl; } } \ No newline at end of file diff --git a/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.cs b/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.cs index 798ff86b46..21c1548a30 100644 --- a/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.cs +++ b/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.cs @@ -1,4 +1,6 @@ -using System; +//TODO - disable scanline controls if box is unchecked + +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -25,6 +27,7 @@ namespace BizHawk.MultiClient comboBGProps.SelectedIndex = 0; tabctrlDetails.SelectedIndex = 1; + SyncViewerSize(); } LibsnesCore currentSnesCore; @@ -59,6 +62,7 @@ namespace BizHawk.MultiClient public void UpdateToolsAfter() { SyncCore(); + if (!checkScanlineControl.Checked) UpdateValues(); } public void UpdateToolsLoadstate() @@ -93,8 +97,13 @@ namespace BizHawk.MultiClient currentSnesCore = core; - if(currentSnesCore != null) - currentSnesCore.ScanlineHookManager.Register(this, ScanlineHook); + if (currentSnesCore != null) + { + if (checkScanlineControl.Checked) + currentSnesCore.ScanlineHookManager.Register(this, ScanlineHook); + else + currentSnesCore.ScanlineHookManager.Unregister(this); + } } void ScanlineHook(int line) @@ -143,34 +152,6 @@ namespace BizHawk.MultiClient RenderPalette(); } - int[] lastPalette; - - void RenderPalette() - { - var gd = new SNESGraphicsDecoder(); - lastPalette = gd.GetPalette(); - - int pixsize = 16*16 + 3*17; - var bmp = new Bitmap(pixsize, pixsize, System.Drawing.Imaging.PixelFormat.Format32bppArgb); - using (var g = Graphics.FromImage(bmp)) - { - for (int y = 0; y < 16; y++) - { - for (int x = 0; x < 16; x++) - { - int rgb555 = lastPalette[y * 16 + x]; - int color = gd.Colorize(rgb555); - using (var brush = new SolidBrush(Color.FromArgb(color))) - { - g.FillRectangle(brush, new Rectangle(3+x * 19, 3+y * 19, 16, 16)); - } - } - } - } - - paletteViewer.SetBitmap(bmp); - } - //todo - something smarter to cycle through bitmaps without repeatedly trashing them (use the dispose callback on the viewer) void RenderView() { @@ -337,14 +318,47 @@ namespace BizHawk.MultiClient ClearDetails(); } + const int paletteCellSize = 17; + const int paletteCellSpacing = 3; + + int[] lastPalette; + + void RenderPalette() + { + var gd = new SNESGraphicsDecoder(); + lastPalette = gd.GetPalette(); + + int pixsize = paletteCellSize * 16 + paletteCellSpacing * 17; + int cellTotalSize = (paletteCellSize + paletteCellSpacing); + var bmp = new Bitmap(pixsize, pixsize, System.Drawing.Imaging.PixelFormat.Format32bppArgb); + using (var g = Graphics.FromImage(bmp)) + { + for (int y = 0; y < 16; y++) + { + for (int x = 0; x < 16; x++) + { + int rgb555 = lastPalette[y * 16 + x]; + int color = gd.Colorize(rgb555); + using (var brush = new SolidBrush(Color.FromArgb(color))) + { + g.FillRectangle(brush, new Rectangle(3 + x * cellTotalSize, 3 + y * cellTotalSize, paletteCellSize, paletteCellSize)); + } + } + } + } + + paletteViewer.SetBitmap(bmp); + } + private void paletteViewer_MouseMove(object sender, MouseEventArgs e) { var pt = e.Location; - pt.X -= 3; - pt.Y -= 3; - int tx = pt.X / 19; - int ty = pt.Y / 19; - int colorNum = ty*16+tx; + pt.X -= paletteCellSpacing; + pt.Y -= paletteCellSpacing; + int tx = pt.X / (paletteCellSize + paletteCellSpacing); + int ty = pt.Y / (paletteCellSize + paletteCellSpacing); + if (tx >= 16 || ty >= 16) return; + int colorNum = ty * 16 + tx; int rgb555 = lastPalette[colorNum]; var gd = new SNESGraphicsDecoder(); @@ -372,5 +386,22 @@ namespace BizHawk.MultiClient //cd.ShowDialog(this); } + private void rbQuad_CheckedChanged(object sender, EventArgs e) + { + SyncViewerSize(); + } + + void SyncViewerSize() + { + if (rbQuadAll.Checked) + viewer.Size = new Size(1024, 1024); + else + viewer.Size = new Size(512, 512); + } + + private void checkScanlineControl_CheckedChanged(object sender, EventArgs e) + { + SyncCore(); + } } } diff --git a/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.resx b/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.resx index 0f6d8eb42b..48af572eef 100644 --- a/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.resx +++ b/BizHawk.MultiClient/SNESTools/SNESGraphicsDebugger.resx @@ -120,4 +120,7 @@ 17, 17 + + 25 + \ No newline at end of file