From d3b84c6c5cd639ad0d1904bae9f7cd6d388cb7e5 Mon Sep 17 00:00:00 2001 From: adelikat Date: Sun, 13 Apr 2014 19:44:08 +0000 Subject: [PATCH] SMS VDP Viewer - icon, autoload, misc tool settings --- BizHawk.Client.Common/config/Config.cs | 4 + .../BizHawk.Client.EmuHawk.csproj | 1 + BizHawk.Client.EmuHawk/MainForm.cs | 9 +- .../Properties/Resources.Designer.cs | 12 +- .../Properties/Resources.resx | 3 + BizHawk.Client.EmuHawk/images/sms-icon.ico | Bin 0 -> 5430 bytes BizHawk.Client.EmuHawk/images/sms-icon.png | Bin 0 -> 402 bytes .../tools/SMS/VDPViewer.Designer.cs | 143 +++++++++++++++--- BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs | 60 +++++++- .../tools/SMS/VDPViewer.resx | 99 ++++++++++++ 10 files changed, 300 insertions(+), 31 deletions(-) create mode 100644 BizHawk.Client.EmuHawk/images/sms-icon.ico create mode 100644 BizHawk.Client.EmuHawk/images/sms-icon.png diff --git a/BizHawk.Client.Common/config/Config.cs b/BizHawk.Client.Common/config/Config.cs index 2f97752263..fc6d618128 100644 --- a/BizHawk.Client.Common/config/Config.cs +++ b/BizHawk.Client.Common/config/Config.cs @@ -345,6 +345,10 @@ namespace BizHawk.Client.Common #endregion + // SMS VDP Viewer Settings + public ToolDialogSettings SmsVdpSettings = new ToolDialogSettings(); + public bool SmsVdpAutoLoad = false; + // NESPPU Settings public ToolDialogSettings NesPPUSettings = new ToolDialogSettings(); public bool AutoLoadNESPPU = false; diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj index 95c3d9922a..0c1e57ac5c 100644 --- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj +++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj @@ -1323,6 +1323,7 @@ + diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index d166e1c024..6056658d6e 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -6,7 +6,6 @@ using System.Linq; using System.Text; using System.Threading; using System.Windows.Forms; - using BizHawk.Client.Common; using BizHawk.Common; using BizHawk.Emulation.Common; @@ -16,6 +15,7 @@ using BizHawk.Emulation.Cores.Nintendo.GBA; using BizHawk.Emulation.Cores.Nintendo.NES; using BizHawk.Emulation.Cores.Nintendo.SNES; using BizHawk.Emulation.Cores.PCEngine; +using BizHawk.Emulation.Cores.Sega.MasterSystem; using BizHawk.Emulation.DiscSystem; namespace BizHawk.Client.EmuHawk @@ -339,6 +339,11 @@ namespace BizHawk.Client.EmuHawk OpenLuaConsole(); } + if (Global.Config.SmsVdpAutoLoad && Global.Emulator is SMS) + { + GlobalWin.Tools.Load(); + } + if (Global.Config.PCEBGViewerAutoload && Global.Emulator is PCEngine) { GlobalWin.Tools.Load(); @@ -3078,7 +3083,7 @@ namespace BizHawk.Client.EmuHawk private void SMSVDPViewerToolStripMenuItem_Click(object sender, EventArgs e) { - GlobalWin.Tools.Load(); + GlobalWin.Tools.Load(); } private void codeDataLoggerToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/BizHawk.Client.EmuHawk/Properties/Resources.Designer.cs b/BizHawk.Client.EmuHawk/Properties/Resources.Designer.cs index b65fbce312..f91de35d3c 100644 --- a/BizHawk.Client.EmuHawk/Properties/Resources.Designer.cs +++ b/BizHawk.Client.EmuHawk/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.18408 +// Runtime Version:4.0.30319.18444 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -1019,6 +1019,16 @@ namespace BizHawk.Client.EmuHawk.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap sms_icon { + get { + object obj = ResourceManager.GetObject("sms_icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/BizHawk.Client.EmuHawk/Properties/Resources.resx b/BizHawk.Client.EmuHawk/Properties/Resources.resx index c9616c1fc6..d502093a2e 100644 --- a/BizHawk.Client.EmuHawk/Properties/Resources.resx +++ b/BizHawk.Client.EmuHawk/Properties/Resources.resx @@ -897,4 +897,7 @@ ..\images\checkbox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\images\sms-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/BizHawk.Client.EmuHawk/images/sms-icon.ico b/BizHawk.Client.EmuHawk/images/sms-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1dbd36690f766e98e500d7751a54498c15b06aef GIT binary patch literal 5430 zcmeHL>rY#C7(NmcKM1?XDAz)1OIv75X=w|kv=j=o&~m>FaFemg7;G>cxQn9TP!^5O zE$)L(x3JCK;u4m5`C#Ve7pF1V+#C$Di7_#L^lx~4-&4*J*rv;-n-@;<{p3L5!()8m40h0YChj~)?x1isJ52;E;gmK0c0 zV4(t0QBiml;3$|^t5HFtNrPIQisYntBqc_Wu2Lc`Ed{Bm$%G^*l}XsLsRKQo?MO;W z5TEN<(~S1EMkFLC5FZ~WLZMg%McgXH#l<2vcBMG-`C>>pU%YS*s~f{;Y6xL?XaGaI z`mt+!FRDVN2v_=187xMy+=nv12hlOnA~*)GClArlbWPwGmM@P%TT?As8miG;7e-@k zh~}5Unq#~T9E-$X5%eJ|Geg9t^@EV0*Qt@AO&9giYUeacPX+73P?0v0KCBJ%OIWrn z8Zj|XqO`<|MAC-!nUDGW{`y~`w@f`$r0c(v^FMufKiXUB@XYF3tZlAAOMMut>q2O% zsX%S04Am914}lU?lolcA_rmXUquA?$*X=}Mz8&uTTogEM$ah%b%(cK_%SLXF2{wxf z)@&mz=1gRp3@{t@GIXS?r2m8P8*^`9u={7cy7L#9^QPhP+=9w93B7F!X2&!P)*FAy z|JqPL<>p1Gyolfv&x2HJ<;8{Y7Zsq`lOM^|70J~#mn-MV>sJLX!R>HhaO-X~)c%N^ zycw~EI@dmnf})!+=rqu0s6}K@uW8jPq^2av`LAoOgUg-+53TPhaKKA&=jDoUk*4|d z+k9PRO^pWJOa9vQG-$YP)09xABvOwjAa2#~_5Y~(KRtI67OD?xc9vK-Tsxd&jyVh2 zl%rHP#!MZu3>mVX+?$*~@4K}3ciMl}TA56Fldo|v#*;spO_{R(*REd1{=H+gt{Pc- zt+@WRE8pVk-?<^;~1I)+2uBl|4aO*PaYLx zICkWa=rim!ffDLNLMeF;qeSdS7kq`(lLb!d83)vJo-F$DA|2R+xQ@0DY{7GVUD&p@ z3;n&F)Tbete`@l3oICrG4Az0UCHzqg8v4(y4+lh_tP1+cKZ;RV<`d_#fABtV4BH2K zv1fD$qa!;-d@^zTAH_fW!_9}5|D~@kK+0cw2jN93odho)w zZtU#u!t;Hd7@%6x(t8W<0oTCY>Y%N$3SVCQ3>Uum80SBqkab`978ZFIl4|nr92fI0 zT`wu{e^mf?IY#)i!C!FjIzI`*6L+Bjf2ZKj5-Ni9ox(@oF#dxFD5nR4(-a4r{wa8D z$tcK46k*e^M2RB}RvHVfDR7z;BJ9RE`5B3~IouAXeGEMIbp&riV?_?Ciw&su=}{lB zh`-mC80DB<1z+QSAn~6)_BQs7_F&)cZtNZD!kaI5;*Fv8Xs>gjsQ5b8)V~g2=`1RO z=TTlhfre5O=JSj5U+KnM!y9Q{2lnh(i_w8rJY8i+pz;<%HPdkWW?*#Qge8CGw)yKC z-QYDAgXcE~EqBCx{+3EBsz{r$fwl!`3EM?(=ARF5ZVFmRQz?I*%NRc}yZ{@UyvR4l q!%2H)&y0m#9}AmqrTpyNd>Zb%et7P``T(gY;a(CMA@`D==kYfMPozKq literal 0 HcmV?d00001 diff --git a/BizHawk.Client.EmuHawk/images/sms-icon.png b/BizHawk.Client.EmuHawk/images/sms-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd629ac5545414c2d874e3defe52f70eeb8e7683 GIT binary patch literal 402 zcmV;D0d4+?P)I8$Wtu2o=N!OMHiz212FfT1rLYK3%R;?Y!6|)*6_g=;wh+);U;!EG z=sav*>jKm@4K{zu-}_RYcjYpUTN*AWW}&tlc#uQraNz+Pa{~&?Dfo$0zTg1%Hg=I{ zYN*EM@D_=A3Y*Or7=|ev4iCwgiqGKr@#)V&WMK)ESO_T!w@-!0_%;v@kE7lGfHI=M wB&O3a{2S%qpqRfF^A5mg6FHsKi?}}kKRX+v2 /// Required designer variable. @@ -28,42 +28,69 @@ /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SmsVDPViewer)); this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.bmpViewTiles = new BizHawk.Client.EmuHawk.BmpView(); this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.bmpViewPalette = new BizHawk.Client.EmuHawk.BmpView(); this.groupBox3 = new System.Windows.Forms.GroupBox(); this.bmpViewBG = new BizHawk.Client.EmuHawk.BmpView(); - this.bmpViewPalette = new BizHawk.Client.EmuHawk.BmpView(); - this.bmpViewTiles = new BizHawk.Client.EmuHawk.BmpView(); this.label1 = new System.Windows.Forms.Label(); + this.menuStrip1 = new MenuStripEx(); + this.FileSubMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.CloseMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.OptionsSubMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.AutoloadMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.SaveWindowPositionMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.AlwaysOnTopMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.FloatingWindowMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); + this.menuStrip1.SuspendLayout(); this.SuspendLayout(); // // groupBox1 // this.groupBox1.Controls.Add(this.bmpViewTiles); - this.groupBox1.Location = new System.Drawing.Point(12, 12); + this.groupBox1.Location = new System.Drawing.Point(12, 24); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(268, 153); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Tiles"; // + // bmpViewTiles + // + this.bmpViewTiles.Location = new System.Drawing.Point(6, 19); + this.bmpViewTiles.Name = "bmpViewTiles"; + this.bmpViewTiles.Size = new System.Drawing.Size(256, 128); + this.bmpViewTiles.TabIndex = 0; + this.bmpViewTiles.Text = "bmpViewTiles"; + // // groupBox2 // this.groupBox2.Controls.Add(this.bmpViewPalette); - this.groupBox2.Location = new System.Drawing.Point(12, 171); + this.groupBox2.Location = new System.Drawing.Point(12, 183); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(268, 57); this.groupBox2.TabIndex = 2; this.groupBox2.TabStop = false; this.groupBox2.Text = "Palettes"; // + // bmpViewPalette + // + this.bmpViewPalette.Location = new System.Drawing.Point(6, 19); + this.bmpViewPalette.Name = "bmpViewPalette"; + this.bmpViewPalette.Size = new System.Drawing.Size(256, 32); + this.bmpViewPalette.TabIndex = 3; + this.bmpViewPalette.Text = "bmpViewPalette"; + this.bmpViewPalette.MouseClick += new System.Windows.Forms.MouseEventHandler(this.bmpViewPalette_MouseClick); + // // groupBox3 // this.groupBox3.Controls.Add(this.bmpViewBG); - this.groupBox3.Location = new System.Drawing.Point(286, 12); + this.groupBox3.Location = new System.Drawing.Point(286, 24); this.groupBox3.Name = "groupBox3"; this.groupBox3.Size = new System.Drawing.Size(268, 281); this.groupBox3.TabIndex = 3; @@ -78,48 +105,106 @@ this.bmpViewBG.TabIndex = 0; this.bmpViewBG.Text = "bmpViewBG"; // - // bmpViewPalette - // - this.bmpViewPalette.Location = new System.Drawing.Point(6, 19); - this.bmpViewPalette.Name = "bmpViewPalette"; - this.bmpViewPalette.Size = new System.Drawing.Size(256, 32); - this.bmpViewPalette.TabIndex = 3; - this.bmpViewPalette.Text = "bmpViewPalette"; - this.bmpViewPalette.MouseClick += new System.Windows.Forms.MouseEventHandler(this.bmpViewPalette_MouseClick); - // - // bmpViewTiles - // - this.bmpViewTiles.Location = new System.Drawing.Point(6, 19); - this.bmpViewTiles.Name = "bmpViewTiles"; - this.bmpViewTiles.Size = new System.Drawing.Size(256, 128); - this.bmpViewTiles.TabIndex = 0; - this.bmpViewTiles.Text = "bmpViewTiles"; - // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 304); + this.label1.Location = new System.Drawing.Point(12, 316); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(294, 13); this.label1.TabIndex = 4; this.label1.Text = "CTRL + C copies the pane under the mouse to the clipboard."; // + // menuStrip1 + // + this.menuStrip1.ClickThrough = true; + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.FileSubMenu, + this.OptionsSubMenu}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(572, 24); + this.menuStrip1.TabIndex = 5; + this.menuStrip1.Text = "menuStrip1"; + // + // FileSubMenu + // + this.FileSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.CloseMenuItem}); + this.FileSubMenu.Name = "FileSubMenu"; + this.FileSubMenu.Size = new System.Drawing.Size(37, 20); + this.FileSubMenu.Text = "&File"; + // + // CloseMenuItem + // + this.CloseMenuItem.Name = "CloseMenuItem"; + this.CloseMenuItem.ShortcutKeyDisplayString = "Alt+F4"; + this.CloseMenuItem.Size = new System.Drawing.Size(145, 22); + this.CloseMenuItem.Text = "&Close"; + this.CloseMenuItem.Click += new System.EventHandler(this.CloseMenuItem_Click); + // + // OptionsSubMenu + // + this.OptionsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.AutoloadMenuItem, + this.SaveWindowPositionMenuItem, + this.AlwaysOnTopMenuItem, + this.FloatingWindowMenuItem}); + this.OptionsSubMenu.Name = "OptionsSubMenu"; + this.OptionsSubMenu.Size = new System.Drawing.Size(61, 20); + this.OptionsSubMenu.Text = "&Options"; + this.OptionsSubMenu.DropDownOpened += new System.EventHandler(this.OptionsSubMenu_DropDownOpened); + // + // AutoloadMenuItem + // + this.AutoloadMenuItem.Name = "AutoloadMenuItem"; + this.AutoloadMenuItem.Size = new System.Drawing.Size(191, 22); + this.AutoloadMenuItem.Text = "&Autoload"; + this.AutoloadMenuItem.Click += new System.EventHandler(this.AutoloadMenuItem_Click); + // + // SaveWindowPositionMenuItem + // + this.SaveWindowPositionMenuItem.Name = "SaveWindowPositionMenuItem"; + this.SaveWindowPositionMenuItem.Size = new System.Drawing.Size(191, 22); + this.SaveWindowPositionMenuItem.Text = "Save Window Position"; + this.SaveWindowPositionMenuItem.Click += new System.EventHandler(this.SaveWindowPositionMenuItem_Click); + // + // AlwaysOnTopMenuItem + // + this.AlwaysOnTopMenuItem.Name = "AlwaysOnTopMenuItem"; + this.AlwaysOnTopMenuItem.Size = new System.Drawing.Size(191, 22); + this.AlwaysOnTopMenuItem.Text = "Always On Top"; + this.AlwaysOnTopMenuItem.Click += new System.EventHandler(this.AlwaysOnTopMenuItem_Click); + // + // FloatingWindowMenuItem + // + this.FloatingWindowMenuItem.Name = "FloatingWindowMenuItem"; + this.FloatingWindowMenuItem.Size = new System.Drawing.Size(191, 22); + this.FloatingWindowMenuItem.Text = "Floating Window"; + this.FloatingWindowMenuItem.Click += new System.EventHandler(this.FloatingWindowMenuItem_Click); + // // VDPViewer // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(572, 326); + this.ClientSize = new System.Drawing.Size(572, 335); this.Controls.Add(this.label1); this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); + this.Controls.Add(this.menuStrip1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.KeyPreview = true; + this.MainMenuStrip = this.menuStrip1; this.Name = "VDPViewer"; this.Text = "VDP Viewer"; + this.Load += new System.EventHandler(this.VDPViewer_Load); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.VDPViewer_KeyDown); this.groupBox1.ResumeLayout(false); this.groupBox2.ResumeLayout(false); this.groupBox3.ResumeLayout(false); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -134,5 +219,13 @@ private System.Windows.Forms.GroupBox groupBox3; private BmpView bmpViewBG; private System.Windows.Forms.Label label1; + private MenuStripEx menuStrip1; + private System.Windows.Forms.ToolStripMenuItem FileSubMenu; + private System.Windows.Forms.ToolStripMenuItem CloseMenuItem; + private System.Windows.Forms.ToolStripMenuItem OptionsSubMenu; + private System.Windows.Forms.ToolStripMenuItem AutoloadMenuItem; + private System.Windows.Forms.ToolStripMenuItem SaveWindowPositionMenuItem; + private System.Windows.Forms.ToolStripMenuItem AlwaysOnTopMenuItem; + private System.Windows.Forms.ToolStripMenuItem FloatingWindowMenuItem; } } \ No newline at end of file diff --git a/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs b/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs index ebaf8f0573..3e76a69d9d 100644 --- a/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs +++ b/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs @@ -13,12 +13,12 @@ using System.Drawing.Imaging; namespace BizHawk.Client.EmuHawk { - public partial class VDPViewer : Form, IToolForm + public partial class SmsVDPViewer : Form, IToolForm { private VDP vdp; int palindex = 0; - public VDPViewer() + public SmsVDPViewer() { InitializeComponent(); @@ -29,7 +29,6 @@ namespace BizHawk.Client.EmuHawk Restart(); } - unsafe static void Draw8x8(byte* src, int* dest, int pitch, int* pal) { int inc = pitch - 8; @@ -158,6 +157,7 @@ namespace BizHawk.Client.EmuHawk Close(); return; } + vdp = (Global.Emulator as SMS).Vdp; UpdateValues(); } @@ -206,5 +206,59 @@ namespace BizHawk.Client.EmuHawk } } } + + private void RefreshFloatingWindowControl() + { + Owner = Global.Config.SmsVdpSettings.FloatingWindow ? null : GlobalWin.MainForm; + } + + protected override void OnShown(EventArgs e) + { + RefreshFloatingWindowControl(); + base.OnShown(e); + } + + private void CloseMenuItem_Click(object sender, EventArgs e) + { + Close(); + } + + private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e) + { + AutoloadMenuItem.Checked = Global.Config.SmsVdpAutoLoad; + SaveWindowPositionMenuItem.Checked = Global.Config.SmsVdpSettings.SaveWindowPosition; + AlwaysOnTopMenuItem.Checked = Global.Config.SmsVdpSettings.TopMost; + FloatingWindowMenuItem.Checked = Global.Config.SmsVdpSettings.FloatingWindow; + } + + private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e) + { + Global.Config.SmsVdpSettings.SaveWindowPosition ^= true; + } + + private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e) + { + TopMost = Global.Config.SmsVdpSettings.TopMost ^= true; + } + + private void FloatingWindowMenuItem_Click(object sender, EventArgs e) + { + Global.Config.SmsVdpSettings.FloatingWindow ^= true; + RefreshFloatingWindowControl(); + } + + private void VDPViewer_Load(object sender, EventArgs e) + { + TopMost = Global.Config.SmsVdpSettings.TopMost; + if (Global.Config.SmsVdpSettings.UseWindowPosition) + { + Location = Global.Config.SmsVdpSettings.WindowPosition; + } + } + + private void AutoloadMenuItem_Click(object sender, EventArgs e) + { + Global.Config.SmsVdpAutoLoad ^= true; + } } } diff --git a/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.resx b/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.resx index 29dcb1b3a3..fef79c9ad8 100644 --- a/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.resx +++ b/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.resx @@ -117,4 +117,103 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + + + + + AAABAAIAICAAAAEAIACoEAAAJgAAABAQAAABACAAaAQAAM4QAAAoAAAAIAAAAEAAAAABACAAAAAAAIAQ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wIC + Av8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wIC + Av8CAgL/AgIC/wAAAAACAgL/JCMg/yMjH/8iIh7/GxoX/xoZF/8aGRf/ISAd/x8fHP8eHhv/Hh4a/x0d + Gv9saGH/amVf/xoaGP8aGRf/YVxW/19aVP8YGBb/FxcV/xcXFf8WFhT/FhUU/xUVE/8TExH/FRUT/xUV + E/8VFRP/FRUT/xUVE/8VFRP/AgIC/wICAv+/vrL/V1RM/1VTS/9/fHP/fHlw/3l2bf9NS0T/TEpD/0pI + Qf9IRkD/RUM9/wwNDP8MDQz/amVf/z49N/8MDAz/DAwM/19aVP8PDw3/WlVQ/1hTTv9WUUz/VFBL/0xK + Rf8xMCv/MTAr/zEwK/8xMCv/MTAr/xUVE/8CAgL/AgIC/0lIQP8qKSX/Kikl/2hidP9oYnT/aGJ0/ycm + Iv8lJCH/JCMg/yQkIP8jIx//IiEe/yEgHf8hIB3/IB8c/x8fHP8eHhv/HR0a/w8PDf8PDw3/Dw8N/w4O + DP8NDQv/REI+/xkYFv8YGBb/GBgW/xgYFv8YGBb/FRUT/wICAv8CAgL/Q1Lt/ycv1f8nL9X/Jy/V/ycv + 1f8nL9X/Jy/V/ycv1f8nL9X/Jy/V/ycv1f8nL9X/Jy/V/ycv1f8nL9X/Jy/V/ycv1f8nL9X/Jy/V/ycv + 1f8nL9X/Jy/V/ycv1f8nL9X/Jy/V/ycv1f8nL9X/Jy/V/ycv1f8hJ8//AgIC/wICAv+pnpH/X1hR/15X + UP9dVk//WFJM/1dRS/9VT0n/UEtF/05JRP9MR0L/SUQ//0hDPv9DQDv/QT45/z47Nv88ODT/Ozgz/zo2 + Mv84NTH/NjMv/zUyLv8zMCz/Mi8s/zEuK/8vLSn/Liwo/y0rJ/8tKyf/LSsn/yYkIf8CAgL/AgIC/6me + kf9fWFH/XldQ/11WT/9YUkz/V1FL/1VPSf9QS0X/TklE/0xHQv9JRD//SEM+/0NAO/9BPjn/Pjs2/ysz + 1v90aeP/hHjl/y031/89Pdv/ICzU/ycy1f8tNdf/KDHW/y8tKf8uLCj/LSsn/y0rJ/8tKyf/JiQh/wIC + Av8CAgL/hXxw/0lEPv9LRj//S0ZA/0lEPv9IQz3/RkE8/0M/Ov9BPTj/Pjs2/zw5NP87ODP/OTYy/zg1 + Mf81Mi7/KDHW/01Hxv87NTX/dG+C/1NQ3v8wN9j/aGJ0/2VdZP86P9r/KCYj/yclIv8nJSL/JSMg/yQi + IP8eHBr/AgIC/wICAv9gWVH/OTQw/z05NP89OjX/Pjo1/zs3M/87NzP/OTUx/zg0MP82My//NTIu/zMw + LP8xLiv/Ly0p/y4rKP8rM9b/dGnj/4R45f8tN9f/PT3b/yAs1P8nMtX/LTXX/ygx1v8kIR//IyEe/yEf + Hf8dHBn/GxoY/xUUE/8CAgL/AgIC/2BZUf85NDD/PTk0/z06Nf8+OjX/Ozcz/zs3M/85NTH/ODQw/zYz + L/81Mi7/MzAs/zEuK/8vLSn/Liso/ysz1v90aeP/hHjl/y031/89Pdv/ICzU/ycy1f8tNdf/KDHW/yQh + H/8jIR7/IR8d/x0cGf8bGhj/FRQT/wICAv8CAgL/tbKn/y8sKP8xLir/MzAs/zMwLP8xLiv/MC0q/y4r + KP8tKyf/LSsn/yspJv8qKCX/KCYj/yclIv8lJCH/KzPW/y031/8tN9f/PT3b/z092/8gLNT/JzLV/y01 + 1/8oMdb/Hhwa/x0bGf8bGRf/GRgW/xcWFP8tLCn/AgIC/wICAv/R0M3/kY6G/ygmIv8qJyT/KCYj/9HO + yv/Qzcj/r6ym/6yoo/+dmZP/paGb/52alP8iIB7/ISAd/yAfHP8mLtX/Rkvd/0xR3f8nL9X/LDPW/yIq + 1f8eKNT/HSbT/ygt1f8YFxX/FxYV/xcWFP8VFBP/T01I/0A/O/8CAgL/AgIC/9TT0f+gnpj/nJmT/ygm + Iv8nJSL/JiQh/yUjIf8lIyH/JiMh/yMiH/8iIB7/ISAd/yEfHf8gHhz/Hx4c/yEgHf8gHxz/Hx4b/x4d + Gv8eHRr/HRwZ/x0cGf8cGxj/GxoX/xcWFP8WFRT/FhUT/1xZVP9jX1n/SkdD/wICAv8CAgL/19bU/6im + of+npKD/oqCa/yclIv8nJSL/JiQh/yUjIP8lIyD/JCIf/yIgHv8iIB7/IR8d/x8dG/8iIB7/Ji7V/0ZL + 3f9MUd3/Jy/V/ywz1v8iKtX/HijU/x0m0/8oLdX/FxYU/xYVE/9pZmD/bmtj/25qY/9RT0n/AgIC/wIC + Av/X1tT/qKah/6mnov+npKD/o6Gd/0hDPv9IQz7/R0I9/0ZCPf9EQDv/REA7/0I/Ov9BPTn/QDw4/z46 + Nv89OTX/IiEe/yEgHf8gHxz/Hx4b/x4dGv8eHRr/HRwZ/zIvLP8wLSr/dnNs/3FuZ/9yb2f/cG1l/1NQ + S/8CAgL/AgIC/9XU0v+ysKv/srCr/7Kwq/+npKD/SEM+/0hDPv9IQz7/R0I9/0ZCPf9EQDv/REA7/0I/ + Ov9BPTn/QDw4/yMiHv9STEf/UEtF/01IQ/9LRkH/SkVA/0hDPv9GQTz/HRwZ/zIvLP92c23/h4N8/4OA + eP+DgHj/tK+l/wICAv8CAgL/1dTS/7Kwq/+ysKv/srCr/6ekoP9IQz7/SEM+/0hDPv9HQj3/RkI9/0RA + O/9EQDv/Qj86/0E9Of9APDj/IyIe/1JMR/9QS0X/TUhD/0tGQf9KRUD/SEM+/0ZBPP8dHBn/Mi8s/3Zz + bf+Hg3z/g4B4/4OAeP+0r6X/AgIC/wICAv/V1NL/3dza/7Kwq/+ysKv/p6Sg/0hDPv9IQz7/SEM+/0dC + Pf9GQj3/REA7/0RAO/9CPzr/QT05/0A8OP8jIh7/UkxH/1BLRf9NSEP/S0ZB/0pFQP9IQz7/RkE8/x0c + Gf8yLyz/dnNt/4eDfP+DgHj/xsW+/7Svpf8CAgL/AAAAAAICAv8CAgL/2NfV/9jX1f/X1tT/f3dt/393 + bf9/d23/f3dt/310a/97c2r/enJp/3hwZ/91bmX/c2tj/yQjH/8jIh7/IiEe/yIhHv8hIB3/IB8c/x8e + G/8eHRr/Hh0a/1pUTf/Av7b/vr2z/7y6r/8CAgL/AgIC/wAAAAAAAAAAAAAAAAAAAAACAgL/AgIC/wIC + Av8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wIC + Av8CAgL/AgIC/wICAv8CAgL/AgIC/wICAv8CAgL/AgIC/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////////4AA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAIAAAAHgAAAH////////////////////////////////KAAAABAAAAAgAAAAAQAgAAAA + AABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/NiwV/zInEv89Mhv/OjAZ/zow + Gf8yJxH/QjUf/zEnEf88MRz/NiwW/zYsFv80KxX/OjAZ/zowGf8AAAD/AAAA/1ZMX/82NIb/Vkxf/25h + SP9uYUj/bmFI/25hSP9uYUj/VEkw/05BKP9OQCf/Ukcv/25hSP9QQiv/AAAA/wAAAP85Osf/OTrH/zk6 + x/85Osf/OTrH/zk6x/85Osf/OTrH/zk6x/85Osf/OTrH/zk6x/85Osf/OTrH/wAAAP8AAAD/sKOP/5CD + av+Qgmn/joBn/4x+Zf+KfGL/X1E5/z9B0/9cUon/QETd/0lIvP9GRq//U0Qs/1BCK/8AAAD/AAAA/7Cj + j/+QgWn/jX9m/4p8Yf+Hd13/g3NZ/1tNNP9HStv/S0/X/ztA2P8rNtr/LzjY/1NELP9QQiv/AAAA/wAA + AP9gVDv/sKOP/7Cjj/+wo4//sKOP/7Cjj/9bTTT/Vkgv/1ZIL/9WSC//Vkgv/1ZIL/9WSC//UEIr/wAA + AP8AAAD/WEox/01AJ/+Gc1r/hnNa/4ZzWv+Gc1r/WEw0/0tP1/9LT9f/S0/X/0tP1/9LT9f/PjMc/1hJ + MP8AAAD/AAAA/01AJ/9NQCf/oJR//6CUf/+glH//oJR//2ZVPv84LRf/NisV/zQpE/80JxP/MiYR/01A + J/+glH//AAAA/wAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACAAQAA//8AAP//AAD//wAA + + \ No newline at end of file