diff --git a/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs b/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs index 8ceeb44661..a524a2d79c 100644 --- a/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs +++ b/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs @@ -64,10 +64,14 @@ this.txtScanline = new System.Windows.Forms.TextBox(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.Value3Label = new System.Windows.Forms.Label(); + this.ZoomBox = new System.Windows.Forms.PictureBox(); this.SpriteView = new BizHawk.MultiClient.SpriteViewer(); this.PaletteView = new BizHawk.MultiClient.PaletteViewer(); this.PatternView = new BizHawk.MultiClient.PatternViewer(); - this.ZoomBox = new System.Windows.Forms.PictureBox(); + this.label1 = new System.Windows.Forms.Label(); + this.Value4Label = new System.Windows.Forms.Label(); + this.Value5Label = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); this.PatternGroup.SuspendLayout(); this.PalettesGroup.SuspendLayout(); this.DetailsBox.SuspendLayout(); @@ -119,6 +123,10 @@ // // DetailsBox // + this.DetailsBox.Controls.Add(this.label2); + this.DetailsBox.Controls.Add(this.Value5Label); + this.DetailsBox.Controls.Add(this.Value4Label); + this.DetailsBox.Controls.Add(this.label1); this.DetailsBox.Controls.Add(this.ZoomBox); this.DetailsBox.Controls.Add(this.Value3Label); this.DetailsBox.Controls.Add(this.Value2Label); @@ -134,7 +142,7 @@ // Value2Label // this.Value2Label.AutoSize = true; - this.Value2Label.Location = new System.Drawing.Point(8, 84); + this.Value2Label.Location = new System.Drawing.Point(10, 148); this.Value2Label.Name = "Value2Label"; this.Value2Label.Size = new System.Drawing.Size(43, 13); this.Value2Label.TabIndex = 3; @@ -143,7 +151,7 @@ // ValueLabel // this.ValueLabel.AutoSize = true; - this.ValueLabel.Location = new System.Drawing.Point(8, 56); + this.ValueLabel.Location = new System.Drawing.Point(10, 120); this.ValueLabel.Name = "ValueLabel"; this.ValueLabel.Size = new System.Drawing.Size(43, 13); this.ValueLabel.TabIndex = 2; @@ -152,7 +160,7 @@ // AddressLabel // this.AddressLabel.AutoSize = true; - this.AddressLabel.Location = new System.Drawing.Point(8, 28); + this.AddressLabel.Location = new System.Drawing.Point(10, 92); this.AddressLabel.Name = "AddressLabel"; this.AddressLabel.Size = new System.Drawing.Size(45, 13); this.AddressLabel.TabIndex = 1; @@ -384,12 +392,20 @@ // Value3Label // this.Value3Label.AutoSize = true; - this.Value3Label.Location = new System.Drawing.Point(8, 112); + this.Value3Label.Location = new System.Drawing.Point(176, 92); this.Value3Label.Name = "Value3Label"; this.Value3Label.Size = new System.Drawing.Size(43, 13); this.Value3Label.TabIndex = 5; this.Value3Label.Text = "Value 3"; // + // ZoomBox + // + this.ZoomBox.Location = new System.Drawing.Point(196, 16); + this.ZoomBox.Name = "ZoomBox"; + this.ZoomBox.Size = new System.Drawing.Size(64, 64); + this.ZoomBox.TabIndex = 6; + this.ZoomBox.TabStop = false; + // // SpriteView // this.SpriteView.BackColor = System.Drawing.Color.Transparent; @@ -397,6 +413,7 @@ this.SpriteView.Name = "SpriteView"; this.SpriteView.Size = new System.Drawing.Size(256, 96); this.SpriteView.TabIndex = 0; + this.SpriteView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.SpriteView_MouseClick); this.SpriteView.MouseEnter += new System.EventHandler(this.SpriteView_MouseEnter); this.SpriteView.MouseLeave += new System.EventHandler(this.SpriteView_MouseLeave); this.SpriteView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.SpriteView_MouseMove); @@ -408,6 +425,7 @@ this.PaletteView.Name = "PaletteView"; this.PaletteView.Size = new System.Drawing.Size(257, 34); this.PaletteView.TabIndex = 0; + this.PaletteView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.PaletteView_MouseClick); this.PaletteView.MouseEnter += new System.EventHandler(this.PaletteView_MouseEnter); this.PaletteView.MouseLeave += new System.EventHandler(this.PaletteView_MouseLeave); this.PaletteView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PaletteView_MouseMove); @@ -424,13 +442,41 @@ this.PatternView.MouseLeave += new System.EventHandler(this.PatternView_MouseLeave); this.PatternView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PatternView_MouseMove); // - // ZoomBox + // label1 // - this.ZoomBox.Location = new System.Drawing.Point(196, 16); - this.ZoomBox.Name = "ZoomBox"; - this.ZoomBox.Size = new System.Drawing.Size(64, 64); - this.ZoomBox.TabIndex = 6; - this.ZoomBox.TabStop = false; + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(6, 16); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(152, 13); + this.label1.TabIndex = 7; + this.label1.Text = "Hover over item to view details"; + // + // Value4Label + // + this.Value4Label.AutoSize = true; + this.Value4Label.Location = new System.Drawing.Point(176, 120); + this.Value4Label.Name = "Value4Label"; + this.Value4Label.Size = new System.Drawing.Size(43, 13); + this.Value4Label.TabIndex = 8; + this.Value4Label.Text = "Value 4"; + // + // Value5Label + // + this.Value5Label.AutoSize = true; + this.Value5Label.Location = new System.Drawing.Point(176, 148); + this.Value5Label.Name = "Value5Label"; + this.Value5Label.Size = new System.Drawing.Size(43, 13); + this.Value5Label.TabIndex = 9; + this.Value5Label.Text = "Value 5"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(6, 31); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(163, 13); + this.label2.TabIndex = 10; + this.label2.Text = "Right-click to remember selection"; // // NESPPU // @@ -449,6 +495,7 @@ this.Text = "NES PPU Viewer"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.NESPPU_FormClosed); this.Load += new System.EventHandler(this.NESPPU_Load); + this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.NESPPU_MouseClick); this.PatternGroup.ResumeLayout(false); this.PatternGroup.PerformLayout(); this.PalettesGroup.ResumeLayout(false); @@ -506,5 +553,9 @@ private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label Value3Label; private System.Windows.Forms.PictureBox ZoomBox; + private System.Windows.Forms.Label Value5Label; + private System.Windows.Forms.Label Value4Label; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; } } \ No newline at end of file diff --git a/BizHawk.MultiClient/NEStools/NESPPU.cs b/BizHawk.MultiClient/NEStools/NESPPU.cs index 7766e7e365..7a6fd6f480 100644 --- a/BizHawk.MultiClient/NEStools/NESPPU.cs +++ b/BizHawk.MultiClient/NEStools/NESPPU.cs @@ -22,6 +22,7 @@ namespace BizHawk.MultiClient //Sprite viewer //Nametable viewer + Bitmap ZoomBoxDefaultImage = new Bitmap(64, 64); int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired int defaultHeight; NES Nes; @@ -163,7 +164,6 @@ namespace BizHawk.MultiClient { if (!this.IsHandleCreated || this.IsDisposed) return; if (!(Global.Emulator is NES)) return; - //NES.PPU ppu = (Global.Emulator as NES).ppu; Nes.ppu.PPUViewCallback = Callback; } @@ -181,7 +181,9 @@ namespace BizHawk.MultiClient ValueLabel.Text = ""; Value2Label.Text = ""; Value3Label.Text = ""; - ZoomBox.Image = new Bitmap(64, 64); + Value4Label.Text = ""; + Value5Label.Text = ""; + ZoomBox.Image = ZoomBoxDefaultImage; } private void PaletteView_MouseLeave(object sender, EventArgs e) @@ -243,17 +245,21 @@ namespace BizHawk.MultiClient private void PatternView_Click(object sender, MouseEventArgs e) { - if (e.X < PatternView.Width / 2) + if (e.Button == MouseButtons.Left) { - PatternView.Pal0++; - if (PatternView.Pal0 > 7) PatternView.Pal0 = 0; + if (e.X < PatternView.Width / 2) + { + PatternView.Pal0++; + if (PatternView.Pal0 > 7) PatternView.Pal0 = 0; + } + else + { + PatternView.Pal1++; + if (PatternView.Pal1 > 7) PatternView.Pal1 = 0; + } + UpdateTableLabels(); } - else - { - PatternView.Pal1++; - if (PatternView.Pal1 > 7) PatternView.Pal1 = 0; - } - UpdateTableLabels(); + HandleDefaultImage(e); } private void UpdateTableLabels() @@ -459,5 +465,28 @@ namespace BizHawk.MultiClient ZoomBox.Image = Section(SpriteView.sprites, new Rectangle(new Point((e.X / 8) * 8, (e.Y / 8) * 8), new Size(8, 8))); } + + private void PaletteView_MouseClick(object sender, MouseEventArgs e) + { + HandleDefaultImage(e); + } + + private void SpriteView_MouseClick(object sender, MouseEventArgs e) + { + HandleDefaultImage(e); + } + + private void HandleDefaultImage(MouseEventArgs e) + { + if (e.Button == MouseButtons.Right) + { + ZoomBoxDefaultImage = ZoomBox.Image as Bitmap; + } + } + + private void NESPPU_MouseClick(object sender, MouseEventArgs e) + { + ZoomBox.Image = new Bitmap(64, 64); + } } }