diff --git a/BizHawk.MultiClient/NEStools/NESNameTableViewer.Designer.cs b/BizHawk.MultiClient/NEStools/NESNameTableViewer.Designer.cs
index d4ee83fcff..30d344ab99 100644
--- a/BizHawk.MultiClient/NEStools/NESNameTableViewer.Designer.cs
+++ b/BizHawk.MultiClient/NEStools/NESNameTableViewer.Designer.cs
@@ -62,10 +62,10 @@
this.screenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
- this.NameTableView = new BizHawk.MultiClient.NameTableViewer();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.screenshotAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.refreshImageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.NameTableView = new BizHawk.MultiClient.NameTableViewer();
this.groupBox1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.groupBox2.SuspendLayout();
@@ -393,6 +393,28 @@
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(190, 6);
//
+ // contextMenuStrip1
+ //
+ this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.screenshotAsToolStripMenuItem,
+ this.refreshImageToolStripMenuItem});
+ this.contextMenuStrip1.Name = "contextMenuStrip1";
+ this.contextMenuStrip1.Size = new System.Drawing.Size(157, 48);
+ //
+ // screenshotAsToolStripMenuItem
+ //
+ this.screenshotAsToolStripMenuItem.Name = "screenshotAsToolStripMenuItem";
+ this.screenshotAsToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
+ this.screenshotAsToolStripMenuItem.Text = "&Save Image...";
+ this.screenshotAsToolStripMenuItem.Click += new System.EventHandler(this.screenshotAsToolStripMenuItem_Click);
+ //
+ // refreshImageToolStripMenuItem
+ //
+ this.refreshImageToolStripMenuItem.Name = "refreshImageToolStripMenuItem";
+ this.refreshImageToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
+ this.refreshImageToolStripMenuItem.Text = "&Refresh Image";
+ this.refreshImageToolStripMenuItem.Click += new System.EventHandler(this.refreshImageToolStripMenuItem_Click);
+ //
// NameTableView
//
this.NameTableView.BackColor = System.Drawing.Color.Transparent;
@@ -404,28 +426,6 @@
this.NameTableView.MouseLeave += new System.EventHandler(this.NameTableView_MouseLeave);
this.NameTableView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.NameTableView_MouseMove);
//
- // contextMenuStrip1
- //
- this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.screenshotAsToolStripMenuItem,
- this.refreshImageToolStripMenuItem});
- this.contextMenuStrip1.Name = "contextMenuStrip1";
- this.contextMenuStrip1.Size = new System.Drawing.Size(167, 70);
- //
- // screenshotAsToolStripMenuItem
- //
- this.screenshotAsToolStripMenuItem.Name = "screenshotAsToolStripMenuItem";
- this.screenshotAsToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
- this.screenshotAsToolStripMenuItem.Text = "Screenshot As...";
- this.screenshotAsToolStripMenuItem.Click += new System.EventHandler(this.screenshotAsToolStripMenuItem_Click);
- //
- // refreshImageToolStripMenuItem
- //
- this.refreshImageToolStripMenuItem.Name = "refreshImageToolStripMenuItem";
- this.refreshImageToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
- this.refreshImageToolStripMenuItem.Text = "Refresh Image";
- this.refreshImageToolStripMenuItem.Click += new System.EventHandler(this.refreshImageToolStripMenuItem_Click);
- //
// NESNameTableViewer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
diff --git a/BizHawk.MultiClient/NEStools/NESNameTableViewer.cs b/BizHawk.MultiClient/NEStools/NESNameTableViewer.cs
index 06a19a990a..2747a4b616 100644
--- a/BizHawk.MultiClient/NEStools/NESNameTableViewer.cs
+++ b/BizHawk.MultiClient/NEStools/NESNameTableViewer.cs
@@ -256,47 +256,12 @@ namespace BizHawk.MultiClient
private void screenshotToolStripMenuItem_Click(object sender, EventArgs e)
{
- ScreenshotAs();
- }
-
- private void ScreenshotAs()
- {
- var sfd = new SaveFileDialog();
- sfd.FileName = PathManager.FilesystemSafeName(Global.Game) + "-nametable";
- sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathNESScreenshots, "NES");
- sfd.Filter = "PNG (*.png)|*.png|Bitmap (*.bmp)|*.bmp|All Files|*.*";
-
- sfd.RestoreDirectory = true;
- Global.Sound.StopSound();
- var result = sfd.ShowDialog();
- Global.Sound.StartSound();
- if (result != DialogResult.OK)
- return;
-
- var file = new FileInfo(sfd.FileName);
- Bitmap b = new Bitmap(NameTableView.Width, NameTableView.Height);
- Rectangle rect = new Rectangle(new Point(0, 0), NameTableView.Size);
- NameTableView.DrawToBitmap(b, rect);
-
- ImageFormat i;
- string extension = file.Extension.ToUpper();
- switch (extension)
- {
- default:
- case ".PNG":
- i = ImageFormat.Png;
- break;
- case ".BMP":
- i = ImageFormat.Bmp;
- break;
- }
-
- b.Save(file.FullName, i);
+ NameTableView.Screenshot();
}
private void screenshotAsToolStripMenuItem_Click(object sender, EventArgs e)
{
- ScreenshotAs();
+ NameTableView.Screenshot();
}
private void refreshImageToolStripMenuItem_Click(object sender, EventArgs e)
diff --git a/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs b/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs
index 9980d6393e..c659fc8d87 100644
--- a/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs
+++ b/BizHawk.MultiClient/NEStools/NESPPU.Designer.cs
@@ -28,6 +28,7 @@
///
private void InitializeComponent()
{
+ this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NESPPU));
this.PatternGroup = new System.Windows.Forms.GroupBox();
this.Table1PaletteLabel = new System.Windows.Forms.Label();
@@ -52,14 +53,10 @@
this.RefreshRate = new System.Windows.Forms.TrackBar();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.patternToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.autoLoadToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.saveWindowPositionToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
- this.SpriteView = new BizHawk.MultiClient.SpriteViewer();
- this.PaletteView = new BizHawk.MultiClient.PaletteViewer();
- this.PatternView = new BizHawk.MultiClient.PatternViewer();
+ this.patternToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.table0PaletteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.table1PaletteToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.Table0P0 = new System.Windows.Forms.ToolStripMenuItem();
this.Table0P1 = new System.Windows.Forms.ToolStripMenuItem();
this.Table0P2 = new System.Windows.Forms.ToolStripMenuItem();
@@ -68,6 +65,7 @@
this.Table0P5 = new System.Windows.Forms.ToolStripMenuItem();
this.Table0P6 = new System.Windows.Forms.ToolStripMenuItem();
this.Table0P7 = new System.Windows.Forms.ToolStripMenuItem();
+ this.table1PaletteToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.Table1P0 = new System.Windows.Forms.ToolStripMenuItem();
this.Table1P1 = new System.Windows.Forms.ToolStripMenuItem();
this.Table1P2 = new System.Windows.Forms.ToolStripMenuItem();
@@ -76,6 +74,24 @@
this.Table1P5 = new System.Windows.Forms.ToolStripMenuItem();
this.Table1P6 = new System.Windows.Forms.ToolStripMenuItem();
this.Table1P7 = new System.Windows.Forms.ToolStripMenuItem();
+ this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.savePaletteScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.savePatternScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.saveSpriteScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.PaletteContext = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.saveImageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.PatternContext = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.saveImageToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+ this.refreshToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
+ this.SpriteView = new BizHawk.MultiClient.SpriteViewer();
+ this.PaletteView = new BizHawk.MultiClient.PaletteViewer();
+ this.PatternView = new BizHawk.MultiClient.PatternViewer();
+ this.SpriteContext = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.saveImageToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
+ this.refreshToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.PatternGroup.SuspendLayout();
this.PalettesGroup.SuspendLayout();
this.DetailsBox.SuspendLayout();
@@ -85,6 +101,9 @@
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.RefreshRate)).BeginInit();
this.menuStrip1.SuspendLayout();
+ this.PaletteContext.SuspendLayout();
+ this.PatternContext.SuspendLayout();
+ this.SpriteContext.SuspendLayout();
this.SuspendLayout();
//
// PatternGroup
@@ -300,8 +319,9 @@
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.settingsToolStripMenuItem,
- this.patternToolStripMenuItem});
+ this.fileToolStripMenuItem,
+ this.patternToolStripMenuItem,
+ this.settingsToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(574, 24);
@@ -318,16 +338,6 @@
this.settingsToolStripMenuItem.Text = "&Settings";
this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.toolStripDropDownButton1_DropDownOpened);
//
- // patternToolStripMenuItem
- //
- this.patternToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.table0PaletteToolStripMenuItem,
- this.table1PaletteToolStripMenuItem1});
- this.patternToolStripMenuItem.Name = "patternToolStripMenuItem";
- this.patternToolStripMenuItem.Size = new System.Drawing.Size(55, 20);
- this.patternToolStripMenuItem.Text = "&Pattern";
- this.patternToolStripMenuItem.DropDownOpened += new System.EventHandler(this.toolStripDropDownButton2_DropDownOpened);
- //
// autoLoadToolStripMenuItem1
//
this.autoLoadToolStripMenuItem1.Name = "autoLoadToolStripMenuItem1";
@@ -342,41 +352,15 @@
this.saveWindowPositionToolStripMenuItem1.Text = "Save Window Position";
this.saveWindowPositionToolStripMenuItem1.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
//
- // SpriteView
+ // patternToolStripMenuItem
//
- this.SpriteView.BackColor = System.Drawing.Color.Transparent;
- this.SpriteView.Location = new System.Drawing.Point(6, 18);
- 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);
- //
- // PaletteView
- //
- this.PaletteView.BackColor = System.Drawing.Color.Transparent;
- this.PaletteView.Location = new System.Drawing.Point(6, 19);
- 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);
- //
- // PatternView
- //
- this.PatternView.BackColor = System.Drawing.Color.Transparent;
- this.PatternView.Location = new System.Drawing.Point(7, 20);
- this.PatternView.Name = "PatternView";
- this.PatternView.Size = new System.Drawing.Size(256, 128);
- this.PatternView.TabIndex = 0;
- this.PatternView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.PatternView_Click);
- this.PatternView.MouseEnter += new System.EventHandler(this.PatternView_MouseEnter);
- this.PatternView.MouseLeave += new System.EventHandler(this.PatternView_MouseLeave);
- this.PatternView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PatternView_MouseMove);
+ this.patternToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.table0PaletteToolStripMenuItem,
+ this.table1PaletteToolStripMenuItem1});
+ this.patternToolStripMenuItem.Name = "patternToolStripMenuItem";
+ this.patternToolStripMenuItem.Size = new System.Drawing.Size(55, 20);
+ this.patternToolStripMenuItem.Text = "&Pattern";
+ this.patternToolStripMenuItem.DropDownOpened += new System.EventHandler(this.toolStripDropDownButton2_DropDownOpened);
//
// table0PaletteToolStripMenuItem
//
@@ -393,6 +377,62 @@
this.table0PaletteToolStripMenuItem.Size = new System.Drawing.Size(157, 22);
this.table0PaletteToolStripMenuItem.Text = "Table 0 Palette";
//
+ // Table0P0
+ //
+ this.Table0P0.Name = "Table0P0";
+ this.Table0P0.Size = new System.Drawing.Size(91, 22);
+ this.Table0P0.Text = "0";
+ this.Table0P0.Click += new System.EventHandler(this.Palette_Click);
+ //
+ // Table0P1
+ //
+ this.Table0P1.Name = "Table0P1";
+ this.Table0P1.Size = new System.Drawing.Size(91, 22);
+ this.Table0P1.Text = "1";
+ this.Table0P1.Click += new System.EventHandler(this.Palette_Click);
+ //
+ // Table0P2
+ //
+ this.Table0P2.Name = "Table0P2";
+ this.Table0P2.Size = new System.Drawing.Size(91, 22);
+ this.Table0P2.Text = "2";
+ this.Table0P2.Click += new System.EventHandler(this.Palette_Click);
+ //
+ // Table0P3
+ //
+ this.Table0P3.Name = "Table0P3";
+ this.Table0P3.Size = new System.Drawing.Size(91, 22);
+ this.Table0P3.Text = "3";
+ this.Table0P3.Click += new System.EventHandler(this.Palette_Click);
+ //
+ // Table0P4
+ //
+ this.Table0P4.Name = "Table0P4";
+ this.Table0P4.Size = new System.Drawing.Size(91, 22);
+ this.Table0P4.Text = "4";
+ this.Table0P4.Click += new System.EventHandler(this.Palette_Click);
+ //
+ // Table0P5
+ //
+ this.Table0P5.Name = "Table0P5";
+ this.Table0P5.Size = new System.Drawing.Size(91, 22);
+ this.Table0P5.Text = "5";
+ this.Table0P5.Click += new System.EventHandler(this.Palette_Click);
+ //
+ // Table0P6
+ //
+ this.Table0P6.Name = "Table0P6";
+ this.Table0P6.Size = new System.Drawing.Size(91, 22);
+ this.Table0P6.Text = "6";
+ this.Table0P6.Click += new System.EventHandler(this.Palette_Click);
+ //
+ // Table0P7
+ //
+ this.Table0P7.Name = "Table0P7";
+ this.Table0P7.Size = new System.Drawing.Size(91, 22);
+ this.Table0P7.Text = "7";
+ this.Table0P7.Click += new System.EventHandler(this.Palette_Click);
+ //
// table1PaletteToolStripMenuItem1
//
this.table1PaletteToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -408,118 +448,210 @@
this.table1PaletteToolStripMenuItem1.Size = new System.Drawing.Size(157, 22);
this.table1PaletteToolStripMenuItem1.Text = "Table 1 Palette";
//
- // Table0P0
- //
- this.Table0P0.Name = "Table0P0";
- this.Table0P0.Size = new System.Drawing.Size(152, 22);
- this.Table0P0.Text = "0";
- this.Table0P0.Click += new System.EventHandler(this.Palette_Click);
- //
- // Table0P1
- //
- this.Table0P1.Name = "Table0P1";
- this.Table0P1.Size = new System.Drawing.Size(152, 22);
- this.Table0P1.Text = "1";
- this.Table0P1.Click += new System.EventHandler(this.Palette_Click);
- //
- // Table0P2
- //
- this.Table0P2.Name = "Table0P2";
- this.Table0P2.Size = new System.Drawing.Size(152, 22);
- this.Table0P2.Text = "2";
- this.Table0P2.Click += new System.EventHandler(this.Palette_Click);
- //
- // Table0P3
- //
- this.Table0P3.Name = "Table0P3";
- this.Table0P3.Size = new System.Drawing.Size(152, 22);
- this.Table0P3.Text = "3";
- this.Table0P3.Click += new System.EventHandler(this.Palette_Click);
- //
- // Table0P4
- //
- this.Table0P4.Name = "Table0P4";
- this.Table0P4.Size = new System.Drawing.Size(152, 22);
- this.Table0P4.Text = "4";
- this.Table0P4.Click += new System.EventHandler(this.Palette_Click);
- //
- // Table0P5
- //
- this.Table0P5.Name = "Table0P5";
- this.Table0P5.Size = new System.Drawing.Size(152, 22);
- this.Table0P5.Text = "5";
- this.Table0P5.Click += new System.EventHandler(this.Palette_Click);
- //
- // Table0P6
- //
- this.Table0P6.Name = "Table0P6";
- this.Table0P6.Size = new System.Drawing.Size(152, 22);
- this.Table0P6.Text = "6";
- this.Table0P6.Click += new System.EventHandler(this.Palette_Click);
- //
- // Table0P7
- //
- this.Table0P7.Name = "Table0P7";
- this.Table0P7.Size = new System.Drawing.Size(152, 22);
- this.Table0P7.Text = "7";
- this.Table0P7.Click += new System.EventHandler(this.Palette_Click);
- //
// Table1P0
//
this.Table1P0.Name = "Table1P0";
- this.Table1P0.Size = new System.Drawing.Size(152, 22);
+ this.Table1P0.Size = new System.Drawing.Size(91, 22);
this.Table1P0.Text = "0";
this.Table1P0.Click += new System.EventHandler(this.Palette_Click);
//
// Table1P1
//
this.Table1P1.Name = "Table1P1";
- this.Table1P1.Size = new System.Drawing.Size(152, 22);
+ this.Table1P1.Size = new System.Drawing.Size(91, 22);
this.Table1P1.Text = "1";
this.Table1P1.Click += new System.EventHandler(this.Palette_Click);
//
// Table1P2
//
this.Table1P2.Name = "Table1P2";
- this.Table1P2.Size = new System.Drawing.Size(152, 22);
+ this.Table1P2.Size = new System.Drawing.Size(91, 22);
this.Table1P2.Text = "2";
this.Table1P2.Click += new System.EventHandler(this.Palette_Click);
//
// Table1P3
//
this.Table1P3.Name = "Table1P3";
- this.Table1P3.Size = new System.Drawing.Size(152, 22);
+ this.Table1P3.Size = new System.Drawing.Size(91, 22);
this.Table1P3.Text = "3";
this.Table1P3.Click += new System.EventHandler(this.Palette_Click);
//
// Table1P4
//
this.Table1P4.Name = "Table1P4";
- this.Table1P4.Size = new System.Drawing.Size(152, 22);
+ this.Table1P4.Size = new System.Drawing.Size(91, 22);
this.Table1P4.Text = "4";
this.Table1P4.Click += new System.EventHandler(this.Palette_Click);
//
// Table1P5
//
this.Table1P5.Name = "Table1P5";
- this.Table1P5.Size = new System.Drawing.Size(152, 22);
+ this.Table1P5.Size = new System.Drawing.Size(91, 22);
this.Table1P5.Text = "5";
this.Table1P5.Click += new System.EventHandler(this.Palette_Click);
//
// Table1P6
//
this.Table1P6.Name = "Table1P6";
- this.Table1P6.Size = new System.Drawing.Size(152, 22);
+ this.Table1P6.Size = new System.Drawing.Size(91, 22);
this.Table1P6.Text = "6";
this.Table1P6.Click += new System.EventHandler(this.Palette_Click);
//
// Table1P7
//
this.Table1P7.Name = "Table1P7";
- this.Table1P7.Size = new System.Drawing.Size(152, 22);
+ this.Table1P7.Size = new System.Drawing.Size(91, 22);
this.Table1P7.Text = "7";
this.Table1P7.Click += new System.EventHandler(this.Palette_Click);
//
+ // fileToolStripMenuItem
+ //
+ this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.savePaletteScreenshotToolStripMenuItem,
+ this.savePatternScreenshotToolStripMenuItem,
+ this.saveSpriteScreenshotToolStripMenuItem,
+ this.toolStripSeparator1,
+ this.exitToolStripMenuItem});
+ this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
+ this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
+ this.fileToolStripMenuItem.Text = "&File";
+ //
+ // savePaletteScreenshotToolStripMenuItem
+ //
+ this.savePaletteScreenshotToolStripMenuItem.Name = "savePaletteScreenshotToolStripMenuItem";
+ this.savePaletteScreenshotToolStripMenuItem.Size = new System.Drawing.Size(217, 22);
+ this.savePaletteScreenshotToolStripMenuItem.Text = "Save Palette Screenshot...";
+ this.savePaletteScreenshotToolStripMenuItem.Click += new System.EventHandler(this.savePaletteScreenshotToolStripMenuItem_Click);
+ //
+ // savePatternScreenshotToolStripMenuItem
+ //
+ this.savePatternScreenshotToolStripMenuItem.Name = "savePatternScreenshotToolStripMenuItem";
+ this.savePatternScreenshotToolStripMenuItem.Size = new System.Drawing.Size(217, 22);
+ this.savePatternScreenshotToolStripMenuItem.Text = "Save Pattern Screenshot...";
+ //
+ // saveSpriteScreenshotToolStripMenuItem
+ //
+ this.saveSpriteScreenshotToolStripMenuItem.Name = "saveSpriteScreenshotToolStripMenuItem";
+ this.saveSpriteScreenshotToolStripMenuItem.Size = new System.Drawing.Size(217, 22);
+ this.saveSpriteScreenshotToolStripMenuItem.Text = "Save Sprite Screenshot...";
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ this.toolStripSeparator1.Size = new System.Drawing.Size(214, 6);
+ //
+ // exitToolStripMenuItem
+ //
+ this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
+ this.exitToolStripMenuItem.Size = new System.Drawing.Size(217, 22);
+ this.exitToolStripMenuItem.Text = "E&xit";
+ this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
+ //
+ // PaletteContext
+ //
+ this.PaletteContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.saveImageToolStripMenuItem,
+ this.refreshToolStripMenuItem});
+ this.PaletteContext.Name = "PaletteContext";
+ this.PaletteContext.Size = new System.Drawing.Size(155, 48);
+ //
+ // saveImageToolStripMenuItem
+ //
+ this.saveImageToolStripMenuItem.Name = "saveImageToolStripMenuItem";
+ this.saveImageToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
+ this.saveImageToolStripMenuItem.Text = "&Save Image...";
+ this.saveImageToolStripMenuItem.Click += new System.EventHandler(this.saveImageToolStripMenuItem_Click);
+ //
+ // refreshToolStripMenuItem
+ //
+ this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem";
+ this.refreshToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
+ this.refreshToolStripMenuItem.Text = "&Refresh";
+ this.refreshToolStripMenuItem.Click += new System.EventHandler(this.refreshToolStripMenuItem_Click);
+ //
+ // PatternContext
+ //
+ this.PatternContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.saveImageToolStripMenuItem1,
+ this.refreshToolStripMenuItem1});
+ this.PatternContext.Name = "PatternContext";
+ this.PatternContext.Size = new System.Drawing.Size(155, 48);
+ //
+ // saveImageToolStripMenuItem1
+ //
+ this.saveImageToolStripMenuItem1.Name = "saveImageToolStripMenuItem1";
+ this.saveImageToolStripMenuItem1.Size = new System.Drawing.Size(154, 22);
+ this.saveImageToolStripMenuItem1.Text = "&Save Image...";
+ this.saveImageToolStripMenuItem1.Click += new System.EventHandler(this.saveImageToolStripMenuItem1_Click);
+ //
+ // refreshToolStripMenuItem1
+ //
+ this.refreshToolStripMenuItem1.Name = "refreshToolStripMenuItem1";
+ this.refreshToolStripMenuItem1.Size = new System.Drawing.Size(154, 22);
+ this.refreshToolStripMenuItem1.Text = "&Refresh";
+ this.refreshToolStripMenuItem1.Click += new System.EventHandler(this.refreshToolStripMenuItem1_Click);
+ //
+ // SpriteView
+ //
+ this.SpriteView.BackColor = System.Drawing.Color.Transparent;
+ this.SpriteView.ContextMenuStrip = this.SpriteContext;
+ this.SpriteView.Location = new System.Drawing.Point(6, 18);
+ 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);
+ //
+ // PaletteView
+ //
+ this.PaletteView.BackColor = System.Drawing.Color.Transparent;
+ this.PaletteView.ContextMenuStrip = this.PaletteContext;
+ this.PaletteView.Location = new System.Drawing.Point(6, 19);
+ 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);
+ //
+ // PatternView
+ //
+ this.PatternView.BackColor = System.Drawing.Color.Transparent;
+ this.PatternView.ContextMenuStrip = this.PatternContext;
+ this.PatternView.Location = new System.Drawing.Point(7, 20);
+ this.PatternView.Name = "PatternView";
+ this.PatternView.Size = new System.Drawing.Size(256, 128);
+ this.PatternView.TabIndex = 0;
+ this.PatternView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.PatternView_Click);
+ this.PatternView.MouseEnter += new System.EventHandler(this.PatternView_MouseEnter);
+ this.PatternView.MouseLeave += new System.EventHandler(this.PatternView_MouseLeave);
+ this.PatternView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PatternView_MouseMove);
+ //
+ // SpriteContext
+ //
+ this.SpriteContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.saveImageToolStripMenuItem2,
+ this.refreshToolStripMenuItem2});
+ this.SpriteContext.Name = "SpriteContext";
+ this.SpriteContext.Size = new System.Drawing.Size(155, 48);
+ //
+ // saveImageToolStripMenuItem2
+ //
+ this.saveImageToolStripMenuItem2.Name = "saveImageToolStripMenuItem2";
+ this.saveImageToolStripMenuItem2.Size = new System.Drawing.Size(154, 22);
+ this.saveImageToolStripMenuItem2.Text = "&Save Image...";
+ this.saveImageToolStripMenuItem2.Click += new System.EventHandler(this.saveImageToolStripMenuItem2_Click);
+ //
+ // refreshToolStripMenuItem2
+ //
+ this.refreshToolStripMenuItem2.Name = "refreshToolStripMenuItem2";
+ this.refreshToolStripMenuItem2.Size = new System.Drawing.Size(154, 22);
+ this.refreshToolStripMenuItem2.Text = "&Refresh";
+ this.refreshToolStripMenuItem2.Click += new System.EventHandler(this.refreshToolStripMenuItem2_Click);
+ //
// NESPPU
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -555,6 +687,9 @@
((System.ComponentModel.ISupportInitialize)(this.RefreshRate)).EndInit();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
+ this.PaletteContext.ResumeLayout(false);
+ this.PatternContext.ResumeLayout(false);
+ this.SpriteContext.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -609,5 +744,20 @@
private System.Windows.Forms.ToolStripMenuItem Table1P5;
private System.Windows.Forms.ToolStripMenuItem Table1P6;
private System.Windows.Forms.ToolStripMenuItem Table1P7;
+ private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem savePaletteScreenshotToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem savePatternScreenshotToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem saveSpriteScreenshotToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
+ private System.Windows.Forms.ContextMenuStrip PaletteContext;
+ private System.Windows.Forms.ToolStripMenuItem saveImageToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem;
+ private System.Windows.Forms.ContextMenuStrip PatternContext;
+ private System.Windows.Forms.ToolStripMenuItem saveImageToolStripMenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem1;
+ private System.Windows.Forms.ContextMenuStrip SpriteContext;
+ private System.Windows.Forms.ToolStripMenuItem saveImageToolStripMenuItem2;
+ private System.Windows.Forms.ToolStripMenuItem refreshToolStripMenuItem2;
}
}
\ No newline at end of file
diff --git a/BizHawk.MultiClient/NEStools/NESPPU.cs b/BizHawk.MultiClient/NEStools/NESPPU.cs
index 00e2188ad0..fc90add116 100644
--- a/BizHawk.MultiClient/NEStools/NESPPU.cs
+++ b/BizHawk.MultiClient/NEStools/NESPPU.cs
@@ -592,5 +592,45 @@ namespace BizHawk.MultiClient
{
ZoomBox.Image = new Bitmap(64, 64);
}
+
+ private void exitToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Close();
+ }
+
+ private void savePaletteScreenshotToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ PaletteView.Screenshot();
+ }
+
+ private void saveImageToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ PaletteView.Screenshot();
+ }
+
+ private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ PaletteView.Refresh();
+ }
+
+ private void saveImageToolStripMenuItem1_Click(object sender, EventArgs e)
+ {
+ PatternView.Screenshot();
+ }
+
+ private void refreshToolStripMenuItem1_Click(object sender, EventArgs e)
+ {
+ PatternView.Refresh();
+ }
+
+ private void saveImageToolStripMenuItem2_Click(object sender, EventArgs e)
+ {
+ SpriteView.Screenshot();
+ }
+
+ private void refreshToolStripMenuItem2_Click(object sender, EventArgs e)
+ {
+ SpriteView.Refresh();
+ }
}
}
diff --git a/BizHawk.MultiClient/NEStools/NESPPU.resx b/BizHawk.MultiClient/NEStools/NESPPU.resx
index 2f58423619..c4d30097ed 100644
--- a/BizHawk.MultiClient/NEStools/NESPPU.resx
+++ b/BizHawk.MultiClient/NEStools/NESPPU.resx
@@ -117,6 +117,15 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 349, 17
+
+
+ 225, 17
+
+
+ 475, 17
+
116, 17
diff --git a/BizHawk.MultiClient/NEStools/NameTableViewer.cs b/BizHawk.MultiClient/NEStools/NameTableViewer.cs
index 5a29d56c5c..3cee0df345 100644
--- a/BizHawk.MultiClient/NEStools/NameTableViewer.cs
+++ b/BizHawk.MultiClient/NEStools/NameTableViewer.cs
@@ -5,6 +5,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
+using System.IO;
+using System.Drawing.Imaging;
namespace BizHawk.MultiClient
{
@@ -96,5 +98,40 @@ namespace BizHawk.MultiClient
break;
}
}
+
+ public void Screenshot()
+ {
+ var sfd = new SaveFileDialog();
+ sfd.FileName = PathManager.FilesystemSafeName(Global.Game) + "-Patterns";
+ sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathNESScreenshots, "NES");
+ sfd.Filter = "PNG (*.png)|*.png|Bitmap (*.bmp)|*.bmp|All Files|*.*";
+
+ sfd.RestoreDirectory = true;
+ Global.Sound.StopSound();
+ var result = sfd.ShowDialog();
+ Global.Sound.StartSound();
+ if (result != DialogResult.OK)
+ return;
+
+ var file = new FileInfo(sfd.FileName);
+ Bitmap b = new Bitmap(Width, Height);
+ Rectangle rect = new Rectangle(new Point(0, 0), Size);
+ DrawToBitmap(b, rect);
+
+ ImageFormat i;
+ string extension = file.Extension.ToUpper();
+ switch (extension)
+ {
+ default:
+ case ".PNG":
+ i = ImageFormat.Png;
+ break;
+ case ".BMP":
+ i = ImageFormat.Bmp;
+ break;
+ }
+
+ b.Save(file.FullName, i);
+ }
}
}
diff --git a/BizHawk.MultiClient/NEStools/PaletteViewer.cs b/BizHawk.MultiClient/NEStools/PaletteViewer.cs
index 80850cdf96..6a6227d436 100644
--- a/BizHawk.MultiClient/NEStools/PaletteViewer.cs
+++ b/BizHawk.MultiClient/NEStools/PaletteViewer.cs
@@ -5,6 +5,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
+using System.IO;
+using System.Drawing.Imaging;
namespace BizHawk.MultiClient
{
@@ -69,5 +71,40 @@ namespace BizHawk.MultiClient
}
return false;
}
+
+ public void Screenshot()
+ {
+ var sfd = new SaveFileDialog();
+ sfd.FileName = PathManager.FilesystemSafeName(Global.Game) + "-Palettes";
+ sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathNESScreenshots, "NES");
+ sfd.Filter = "PNG (*.png)|*.png|Bitmap (*.bmp)|*.bmp|All Files|*.*";
+
+ sfd.RestoreDirectory = true;
+ Global.Sound.StopSound();
+ var result = sfd.ShowDialog();
+ Global.Sound.StartSound();
+ if (result != DialogResult.OK)
+ return;
+
+ var file = new FileInfo(sfd.FileName);
+ Bitmap b = new Bitmap(Width, Height);
+ Rectangle rect = new Rectangle(new Point(0, 0), Size);
+ DrawToBitmap(b, rect);
+
+ ImageFormat i;
+ string extension = file.Extension.ToUpper();
+ switch (extension)
+ {
+ default:
+ case ".PNG":
+ i = ImageFormat.Png;
+ break;
+ case ".BMP":
+ i = ImageFormat.Bmp;
+ break;
+ }
+
+ b.Save(file.FullName, i);
+ }
}
}
diff --git a/BizHawk.MultiClient/NEStools/PatternViewer.cs b/BizHawk.MultiClient/NEStools/PatternViewer.cs
index 3e3a5b6949..72f1ebc066 100644
--- a/BizHawk.MultiClient/NEStools/PatternViewer.cs
+++ b/BizHawk.MultiClient/NEStools/PatternViewer.cs
@@ -5,6 +5,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
+using System.IO;
+using System.Drawing.Imaging;
namespace BizHawk.MultiClient
{
@@ -32,5 +34,40 @@ namespace BizHawk.MultiClient
{
e.Graphics.DrawImage(pattern, 1, 1);
}
+
+ public void Screenshot()
+ {
+ var sfd = new SaveFileDialog();
+ sfd.FileName = PathManager.FilesystemSafeName(Global.Game) + "-Patterns";
+ sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathNESScreenshots, "NES");
+ sfd.Filter = "PNG (*.png)|*.png|Bitmap (*.bmp)|*.bmp|All Files|*.*";
+
+ sfd.RestoreDirectory = true;
+ Global.Sound.StopSound();
+ var result = sfd.ShowDialog();
+ Global.Sound.StartSound();
+ if (result != DialogResult.OK)
+ return;
+
+ var file = new FileInfo(sfd.FileName);
+ Bitmap b = new Bitmap(Width, Height);
+ Rectangle rect = new Rectangle(new Point(0, 0), Size);
+ DrawToBitmap(b, rect);
+
+ ImageFormat i;
+ string extension = file.Extension.ToUpper();
+ switch (extension)
+ {
+ default:
+ case ".PNG":
+ i = ImageFormat.Png;
+ break;
+ case ".BMP":
+ i = ImageFormat.Bmp;
+ break;
+ }
+
+ b.Save(file.FullName, i);
+ }
}
}
diff --git a/BizHawk.MultiClient/NEStools/SpriteViewer.cs b/BizHawk.MultiClient/NEStools/SpriteViewer.cs
index 6e8d3343a3..deadd3c7f7 100644
--- a/BizHawk.MultiClient/NEStools/SpriteViewer.cs
+++ b/BizHawk.MultiClient/NEStools/SpriteViewer.cs
@@ -5,6 +5,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
+using System.IO;
+using System.Drawing.Imaging;
namespace BizHawk.MultiClient
{
@@ -38,5 +40,40 @@ namespace BizHawk.MultiClient
{
Display(e.Graphics);
}
+
+ public void Screenshot()
+ {
+ var sfd = new SaveFileDialog();
+ sfd.FileName = PathManager.FilesystemSafeName(Global.Game) + "-Sprites";
+ sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathNESScreenshots, "NES");
+ sfd.Filter = "PNG (*.png)|*.png|Bitmap (*.bmp)|*.bmp|All Files|*.*";
+
+ sfd.RestoreDirectory = true;
+ Global.Sound.StopSound();
+ var result = sfd.ShowDialog();
+ Global.Sound.StartSound();
+ if (result != DialogResult.OK)
+ return;
+
+ var file = new FileInfo(sfd.FileName);
+ Bitmap b = new Bitmap(Width, Height);
+ Rectangle rect = new Rectangle(new Point(0, 0), Size);
+ DrawToBitmap(b, rect);
+
+ ImageFormat i;
+ string extension = file.Extension.ToUpper();
+ switch (extension)
+ {
+ default:
+ case ".PNG":
+ i = ImageFormat.Png;
+ break;
+ case ".BMP":
+ i = ImageFormat.Bmp;
+ break;
+ }
+
+ b.Save(file.FullName, i);
+ }
}
}