progress with lua:

- added fceux and gens/snes9x pixelated fonts
- added gui.pixelFont() function for them (no resizing, so perfectly scalable)
- added background to drawText and pixelText (halo was painfully slow, so just a box)
- reordered fore and back colors for gui.text (no need to specify back every time we want to change fore). thought its back color was shadow, that is obsoleted by halo now, whose color we can't change. anyway, it's way slower than simple text functions, so they should be used mostly.
- option to toggle all scripts if none is selected. greatly reduces routine when heavily tweaking a script, and is just generally pretty.
This commit is contained in:
feos 2015-11-28 22:17:36 +03:00
parent 565f19fc83
commit 128c09e7b4
9 changed files with 214 additions and 119 deletions

View File

@ -312,6 +312,7 @@ namespace BizHawk.Client.Common
public RecentFiles RecentLua = new RecentFiles(8);
public RecentFiles RecentLuaSession = new RecentFiles(8);
public bool DisableLuaScriptsOnLoad = false;
public bool ReturnAllIfNoneSelected = true;
public bool RunLuaDuringTurbo = true;
// Watch Settings

View File

@ -1687,6 +1687,8 @@
<None Include="images\tastudio\icon_anchor_lag.png" />
<None Include="images\tastudio\icon_anchor.png" />
<None Include="images\tastudio\icon_marker.png" />
<EmbeddedResource Include="Resources\gens.ttf" />
<EmbeddedResource Include="Resources\fceux.ttf" />
<None Include="Resources\HawkInLove.png" />
<None Include="images\Circle.png" />
<None Include="images\Cross.png" />

View File

@ -63,6 +63,11 @@ namespace BizHawk.Client.EmuHawk
using (var tex = typeof(Program).Assembly.GetManifestResourceStream("BizHawk.Client.EmuHawk.Resources.courier16px_0.png"))
TheOneFont = new StringRenderer(GL, xml, tex);
using (var gens = typeof(Program).Assembly.GetManifestResourceStream("BizHawk.Client.EmuHawk.Resources.gens.ttf"))
LoadCustomFont(gens);
using (var fceux = typeof(Program).Assembly.GetManifestResourceStream("BizHawk.Client.EmuHawk.Resources.fceux.ttf"))
LoadCustomFont(fceux);
if (GL is BizHawk.Bizware.BizwareGL.Drivers.OpenTK.IGL_TK || GL is BizHawk.Bizware.BizwareGL.Drivers.SlimDX.IGL_SlimDX9)
{
var fiHq2x = new FileInfo(Path.Combine(PathManager.GetExeDirectoryAbsolute(), "Shaders/BizHawk/hq2x.cgp"));
@ -134,6 +139,11 @@ namespace BizHawk.Client.EmuHawk
/// </summary>
public System.Windows.Forms.Padding ClientExtraPadding;
/// <summary>
/// custom fonts that don't need to be installed on the user side
/// </summary>
public System.Drawing.Text.PrivateFontCollection CustomFonts = new System.Drawing.Text.PrivateFontCollection();
TextureFrugalizer VideoTextureFrugalizer;
Dictionary<string, TextureFrugalizer> LuaSurfaceFrugalizers = new Dictionary<string, TextureFrugalizer>();
RenderTargetFrugalizer[] ShaderChainFrugalizers;
@ -760,7 +770,17 @@ namespace BizHawk.Client.EmuHawk
NeedsToPaint = false; //??
}
}
private void LoadCustomFont(Stream fontstream)
{
System.IntPtr data = System.Runtime.InteropServices.Marshal.AllocCoTaskMem((int)fontstream.Length);
byte[] fontdata = new byte[fontstream.Length];
fontstream.Read(fontdata, 0, (int)fontstream.Length);
System.Runtime.InteropServices.Marshal.Copy(fontdata, 0, data, (int)fontstream.Length);
CustomFonts.AddMemoryFont(data, fontdata.Length);
fontstream.Close();
System.Runtime.InteropServices.Marshal.FreeCoTaskMem(data);
}
bool? LastVsyncSetting;

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Globalization;
using LuaInterface;
@ -23,6 +24,7 @@ namespace BizHawk.Client.EmuHawk
private Color DefaultForeground = Color.White;
private Color? DefaultBackground = null;
private Color? DefaultTextBackground = Color.FromArgb(128, 0, 0, 0);
public override string Name { get { return "gui"; } }
@ -499,12 +501,13 @@ namespace BizHawk.Client.EmuHawk
int x,
int y,
string message,
Color? color = null,
Color? forecolor = null,
Color? backcolor = null,
int? fontsize = null,
string fontfamily = null,
string fontstyle = null)
{
DrawText(x, y, message, color, fontsize, fontfamily, fontstyle);
DrawText(x, y, message, forecolor, backcolor, fontsize, fontfamily, fontstyle);
}
[LuaMethodAttributes(
@ -515,7 +518,8 @@ namespace BizHawk.Client.EmuHawk
int x,
int y,
string message,
Color? color = null,
Color? forecolor = null,
Color? backcolor = null,
int? fontsize = null,
string fontfamily = null,
string fontstyle = null)
@ -555,8 +559,57 @@ namespace BizHawk.Client.EmuHawk
}
var font = new Font(family, fontsize ?? 12, fstyle, GraphicsUnit.Pixel);
Size sizeOfText = g.MeasureString(message, font).ToSize();
Rectangle rect = new Rectangle(new Point(x, y), sizeOfText);
g.FillRectangle(GetBrush(backcolor ?? DefaultTextBackground.Value), rect);
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
g.DrawString(message, font, GetBrush(color ?? DefaultForeground), x, y);
g.DrawString(message, font, GetBrush(forecolor ?? DefaultForeground), x, y);
}
catch (Exception)
{
return;
}
}
}
[LuaMethodAttributes(
"pixelText",
"Draws the given message in the emulator screen space (like all draw functions) at the given x,y coordinates and the given color. The default color is white. A fontfamily can be specified and is monospace generic if none is specified (font family options are the same as the .NET FontFamily class. The fontsize default is 12. The default font style. Font style options are regular, bold, italic, strikethrough, underline"
)]
public void DrawText(
int x,
int y,
string message,
Color? forecolor = null,
Color? backcolor = null,
string fontfamily = null)
{
GlobalWin.DisplayManager.NeedsToPaint = true;
using (var g = GetGraphics())
{
try
{
var index = 0;
if (!string.IsNullOrEmpty(fontfamily))
{
switch (fontfamily)
{
case "fceux":
case "0":
index = 0;
break;
case "gens":
case "1":
index = 1;
break;
}
}
var font = new Font(GlobalWin.DisplayManager.CustomFonts.Families[index], 8, FontStyle.Regular, GraphicsUnit.Pixel);
Size sizeOfText = g.MeasureString(message, font, 0, StringFormat.GenericTypographic).ToSize();
Rectangle rect = new Rectangle(new Point(x, y), sizeOfText);
g.FillRectangle(GetBrush(backcolor ?? DefaultTextBackground.Value), rect);
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
g.DrawString(message, font, GetBrush(forecolor ?? DefaultForeground), x, y);
}
catch (Exception)
{
@ -573,8 +626,8 @@ namespace BizHawk.Client.EmuHawk
int x,
int y,
string message,
Color? background = null,
Color? forecolor = null,
Color? background = null,
string anchor = null)
{
var a = 0;

View File

@ -101,6 +101,7 @@
this.PathName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ReturnAllIfNoneSelectedMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ScriptListContextMenu.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.ConsoleContextMenu.SuspendLayout();
@ -123,14 +124,14 @@
this.ScriptContextSeparator,
this.StopAllScriptsContextItem});
this.ScriptListContextMenu.Name = "contextMenuStrip1";
this.ScriptListContextMenu.Size = new System.Drawing.Size(158, 142);
this.ScriptListContextMenu.Size = new System.Drawing.Size(169, 142);
this.ScriptListContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.ScriptListContextMenu_Opening);
//
// ToggleScriptContextItem
//
this.ToggleScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Refresh1;
this.ToggleScriptContextItem.Name = "ToggleScriptContextItem";
this.ToggleScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.ToggleScriptContextItem.Size = new System.Drawing.Size(168, 22);
this.ToggleScriptContextItem.Text = "&Toggle";
this.ToggleScriptContextItem.Click += new System.EventHandler(this.ToggleScriptMenuItem_Click);
//
@ -138,7 +139,7 @@
//
this.PauseScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Pause;
this.PauseScriptContextItem.Name = "PauseScriptContextItem";
this.PauseScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.PauseScriptContextItem.Size = new System.Drawing.Size(168, 22);
this.PauseScriptContextItem.Text = "Pause or Resume";
this.PauseScriptContextItem.Click += new System.EventHandler(this.PauseScriptMenuItem_Click);
//
@ -146,7 +147,7 @@
//
this.EditScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.CutHS;
this.EditScriptContextItem.Name = "EditScriptContextItem";
this.EditScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.EditScriptContextItem.Size = new System.Drawing.Size(168, 22);
this.EditScriptContextItem.Text = "&Edit";
this.EditScriptContextItem.Click += new System.EventHandler(this.EditScriptMenuItem_Click);
//
@ -154,7 +155,7 @@
//
this.RemoveScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Close;
this.RemoveScriptContextItem.Name = "RemoveScriptContextItem";
this.RemoveScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.RemoveScriptContextItem.Size = new System.Drawing.Size(168, 22);
this.RemoveScriptContextItem.Text = "&Remove";
this.RemoveScriptContextItem.Click += new System.EventHandler(this.RemoveScriptMenuItem_Click);
//
@ -162,20 +163,20 @@
//
this.InsertSeperatorContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.InsertSeparator;
this.InsertSeperatorContextItem.Name = "InsertSeperatorContextItem";
this.InsertSeperatorContextItem.Size = new System.Drawing.Size(157, 22);
this.InsertSeperatorContextItem.Size = new System.Drawing.Size(168, 22);
this.InsertSeperatorContextItem.Text = "Insert Seperator";
this.InsertSeperatorContextItem.Click += new System.EventHandler(this.InsertSeparatorMenuItem_Click);
//
// ScriptContextSeparator
//
this.ScriptContextSeparator.Name = "ScriptContextSeparator";
this.ScriptContextSeparator.Size = new System.Drawing.Size(154, 6);
this.ScriptContextSeparator.Size = new System.Drawing.Size(165, 6);
//
// StopAllScriptsContextItem
//
this.StopAllScriptsContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Stop;
this.StopAllScriptsContextItem.Name = "StopAllScriptsContextItem";
this.StopAllScriptsContextItem.Size = new System.Drawing.Size(157, 22);
this.StopAllScriptsContextItem.Size = new System.Drawing.Size(168, 22);
this.StopAllScriptsContextItem.Text = "Stop All Scripts";
this.StopAllScriptsContextItem.Click += new System.EventHandler(this.StopAllScriptsMenuItem_Click);
//
@ -216,7 +217,7 @@
this.NewSessionMenuItem.Name = "NewSessionMenuItem";
this.NewSessionMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.N)));
this.NewSessionMenuItem.Size = new System.Drawing.Size(232, 22);
this.NewSessionMenuItem.Size = new System.Drawing.Size(243, 22);
this.NewSessionMenuItem.Text = "&New Session";
this.NewSessionMenuItem.Click += new System.EventHandler(this.NewSessionMenuItem_Click);
//
@ -226,7 +227,7 @@
this.OpenSessionMenuItem.Name = "OpenSessionMenuItem";
this.OpenSessionMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.O)));
this.OpenSessionMenuItem.Size = new System.Drawing.Size(232, 22);
this.OpenSessionMenuItem.Size = new System.Drawing.Size(243, 22);
this.OpenSessionMenuItem.Text = "&Open Session...";
this.OpenSessionMenuItem.Click += new System.EventHandler(this.OpenSessionMenuItem_Click);
//
@ -235,7 +236,7 @@
this.SaveSessionMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.SaveAs;
this.SaveSessionMenuItem.Name = "SaveSessionMenuItem";
this.SaveSessionMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this.SaveSessionMenuItem.Size = new System.Drawing.Size(232, 22);
this.SaveSessionMenuItem.Size = new System.Drawing.Size(243, 22);
this.SaveSessionMenuItem.Text = "&Save Session";
this.SaveSessionMenuItem.Click += new System.EventHandler(this.SaveSessionMenuItem_Click);
//
@ -244,21 +245,21 @@
this.SaveSessionAsMenuItem.Name = "SaveSessionAsMenuItem";
this.SaveSessionAsMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.S)));
this.SaveSessionAsMenuItem.Size = new System.Drawing.Size(232, 22);
this.SaveSessionAsMenuItem.Size = new System.Drawing.Size(243, 22);
this.SaveSessionAsMenuItem.Text = "Save Session &As...";
this.SaveSessionAsMenuItem.Click += new System.EventHandler(this.SaveSessionAsMenuItem_Click);
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(229, 6);
this.toolStripSeparator9.Size = new System.Drawing.Size(240, 6);
//
// RecentSessionsSubMenu
//
this.RecentSessionsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripSeparator8});
this.RecentSessionsSubMenu.Name = "RecentSessionsSubMenu";
this.RecentSessionsSubMenu.Size = new System.Drawing.Size(232, 22);
this.RecentSessionsSubMenu.Size = new System.Drawing.Size(243, 22);
this.RecentSessionsSubMenu.Text = "Recent Sessions";
this.RecentSessionsSubMenu.DropDownOpened += new System.EventHandler(this.RecentSessionsSubMenu_DropDownOpened);
//
@ -273,7 +274,7 @@
this.toolStripSeparator3});
this.RecentScriptsSubMenu.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Recent;
this.RecentScriptsSubMenu.Name = "RecentScriptsSubMenu";
this.RecentScriptsSubMenu.Size = new System.Drawing.Size(232, 22);
this.RecentScriptsSubMenu.Size = new System.Drawing.Size(243, 22);
this.RecentScriptsSubMenu.Text = "Recent Scripts";
this.RecentScriptsSubMenu.DropDownOpened += new System.EventHandler(this.RecentScriptsSubMenu_DropDownOpened);
//
@ -285,13 +286,13 @@
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(229, 6);
this.toolStripSeparator1.Size = new System.Drawing.Size(240, 6);
//
// ExitMenuItem
//
this.ExitMenuItem.Name = "ExitMenuItem";
this.ExitMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
this.ExitMenuItem.Size = new System.Drawing.Size(232, 22);
this.ExitMenuItem.Size = new System.Drawing.Size(243, 22);
this.ExitMenuItem.Text = "E&xit";
this.ExitMenuItem.Click += new System.EventHandler(this.ExitMenuItem_Click);
//
@ -324,7 +325,7 @@
this.NewScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.NewFile;
this.NewScriptMenuItem.Name = "NewScriptMenuItem";
this.NewScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
this.NewScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.NewScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.NewScriptMenuItem.Text = "New Script";
this.NewScriptMenuItem.Click += new System.EventHandler(this.NewScriptMenuItem_Click);
//
@ -333,7 +334,7 @@
this.OpenScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.OpenFile;
this.OpenScriptMenuItem.Name = "OpenScriptMenuItem";
this.OpenScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this.OpenScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.OpenScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.OpenScriptMenuItem.Text = "&Open Script...";
this.OpenScriptMenuItem.Click += new System.EventHandler(this.OpenScriptMenuItem_Click);
//
@ -342,7 +343,7 @@
this.RefreshScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Refresh1;
this.RefreshScriptMenuItem.Name = "RefreshScriptMenuItem";
this.RefreshScriptMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F5;
this.RefreshScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.RefreshScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.RefreshScriptMenuItem.Text = "&Re&fresh";
this.RefreshScriptMenuItem.Click += new System.EventHandler(this.RefreshScriptMenuItem_Click);
//
@ -351,7 +352,7 @@
this.ToggleScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.checkbox;
this.ToggleScriptMenuItem.Name = "ToggleScriptMenuItem";
this.ToggleScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.T)));
this.ToggleScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.ToggleScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.ToggleScriptMenuItem.Text = "&Toggle";
this.ToggleScriptMenuItem.Click += new System.EventHandler(this.ToggleScriptMenuItem_Click);
//
@ -359,7 +360,7 @@
//
this.PauseScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Pause;
this.PauseScriptMenuItem.Name = "PauseScriptMenuItem";
this.PauseScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.PauseScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.PauseScriptMenuItem.Text = "Pause or Resume";
this.PauseScriptMenuItem.Click += new System.EventHandler(this.PauseScriptMenuItem_Click);
//
@ -368,7 +369,7 @@
this.EditScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.CutHS;
this.EditScriptMenuItem.Name = "EditScriptMenuItem";
this.EditScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E)));
this.EditScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.EditScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.EditScriptMenuItem.Text = "&Edit Script";
this.EditScriptMenuItem.Click += new System.EventHandler(this.EditScriptMenuItem_Click);
//
@ -377,28 +378,28 @@
this.RemoveScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Delete;
this.RemoveScriptMenuItem.Name = "RemoveScriptMenuItem";
this.RemoveScriptMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
this.RemoveScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.RemoveScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.RemoveScriptMenuItem.Text = "&Remove Script";
this.RemoveScriptMenuItem.Click += new System.EventHandler(this.RemoveScriptMenuItem_Click);
//
// DuplicateScriptMenuItem
//
this.DuplicateScriptMenuItem.Name = "DuplicateScriptMenuItem";
this.DuplicateScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.DuplicateScriptMenuItem.Size = new System.Drawing.Size(223, 22);
this.DuplicateScriptMenuItem.Text = "&Duplicate Script";
this.DuplicateScriptMenuItem.Click += new System.EventHandler(this.DuplicateScriptMenuItem_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
this.toolStripSeparator7.Size = new System.Drawing.Size(209, 6);
this.toolStripSeparator7.Size = new System.Drawing.Size(220, 6);
//
// InsertSeparatorMenuItem
//
this.InsertSeparatorMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.InsertSeparator;
this.InsertSeparatorMenuItem.Name = "InsertSeparatorMenuItem";
this.InsertSeparatorMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I)));
this.InsertSeparatorMenuItem.Size = new System.Drawing.Size(212, 22);
this.InsertSeparatorMenuItem.Size = new System.Drawing.Size(223, 22);
this.InsertSeparatorMenuItem.Text = "Insert Separator";
this.InsertSeparatorMenuItem.Click += new System.EventHandler(this.InsertSeparatorMenuItem_Click);
//
@ -407,7 +408,7 @@
this.MoveUpMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveUp;
this.MoveUpMenuItem.Name = "MoveUpMenuItem";
this.MoveUpMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U)));
this.MoveUpMenuItem.Size = new System.Drawing.Size(212, 22);
this.MoveUpMenuItem.Size = new System.Drawing.Size(223, 22);
this.MoveUpMenuItem.Text = "Move &Up";
this.MoveUpMenuItem.Click += new System.EventHandler(this.MoveUpMenuItem_Click);
//
@ -416,7 +417,7 @@
this.MoveDownMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveDown;
this.MoveDownMenuItem.Name = "MoveDownMenuItem";
this.MoveDownMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
this.MoveDownMenuItem.Size = new System.Drawing.Size(212, 22);
this.MoveDownMenuItem.Size = new System.Drawing.Size(223, 22);
this.MoveDownMenuItem.Text = "Move &Down";
this.MoveDownMenuItem.Click += new System.EventHandler(this.MoveDownMenuItem_Click);
//
@ -424,20 +425,20 @@
//
this.SelectAllMenuItem.Name = "SelectAllMenuItem";
this.SelectAllMenuItem.ShortcutKeyDisplayString = "Ctrl+A";
this.SelectAllMenuItem.Size = new System.Drawing.Size(212, 22);
this.SelectAllMenuItem.Size = new System.Drawing.Size(223, 22);
this.SelectAllMenuItem.Text = "Select &All";
this.SelectAllMenuItem.Click += new System.EventHandler(this.SelectAllMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(209, 6);
this.toolStripSeparator6.Size = new System.Drawing.Size(220, 6);
//
// StopAllScriptsMenuItem
//
this.StopAllScriptsMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Stop;
this.StopAllScriptsMenuItem.Name = "StopAllScriptsMenuItem";
this.StopAllScriptsMenuItem.Size = new System.Drawing.Size(212, 22);
this.StopAllScriptsMenuItem.Size = new System.Drawing.Size(223, 22);
this.StopAllScriptsMenuItem.Text = "Stop All Scripts";
this.StopAllScriptsMenuItem.Click += new System.EventHandler(this.StopAllScriptsMenuItem_Click);
//
@ -445,14 +446,15 @@
//
this.RegisteredFunctionsMenuItem.Name = "RegisteredFunctionsMenuItem";
this.RegisteredFunctionsMenuItem.ShortcutKeyDisplayString = "F12";
this.RegisteredFunctionsMenuItem.Size = new System.Drawing.Size(212, 22);
this.RegisteredFunctionsMenuItem.Size = new System.Drawing.Size(223, 22);
this.RegisteredFunctionsMenuItem.Text = "&Registered Functions...";
this.RegisteredFunctionsMenuItem.Click += new System.EventHandler(this.RegisteredFunctionsMenuItem_Click);
//
// SettingsSubMenu
//
this.SettingsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.DisableScriptsOnLoadMenuItem});
this.DisableScriptsOnLoadMenuItem,
this.ReturnAllIfNoneSelectedMenuItem});
this.SettingsSubMenu.Name = "SettingsSubMenu";
this.SettingsSubMenu.Size = new System.Drawing.Size(58, 20);
this.SettingsSubMenu.Text = "&Settings";
@ -461,7 +463,7 @@
// DisableScriptsOnLoadMenuItem
//
this.DisableScriptsOnLoadMenuItem.Name = "DisableScriptsOnLoadMenuItem";
this.DisableScriptsOnLoadMenuItem.Size = new System.Drawing.Size(184, 22);
this.DisableScriptsOnLoadMenuItem.Size = new System.Drawing.Size(213, 22);
this.DisableScriptsOnLoadMenuItem.Text = "Disable Scripts on Load";
this.DisableScriptsOnLoadMenuItem.Click += new System.EventHandler(this.DisableScriptsOnLoadMenuItem_Click);
//
@ -478,14 +480,14 @@
//
this.FunctionsListMenuItem.Name = "FunctionsListMenuItem";
this.FunctionsListMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F1;
this.FunctionsListMenuItem.Size = new System.Drawing.Size(189, 22);
this.FunctionsListMenuItem.Size = new System.Drawing.Size(200, 22);
this.FunctionsListMenuItem.Text = "&Lua Functions List";
this.FunctionsListMenuItem.Click += new System.EventHandler(this.FunctionsListMenuItem_Click);
//
// OnlineDocsMenuItem
//
this.OnlineDocsMenuItem.Name = "OnlineDocsMenuItem";
this.OnlineDocsMenuItem.Size = new System.Drawing.Size(189, 22);
this.OnlineDocsMenuItem.Size = new System.Drawing.Size(200, 22);
this.OnlineDocsMenuItem.Text = "Documentation online...";
this.OnlineDocsMenuItem.Click += new System.EventHandler(this.OnlineDocsMenuItem_Click);
//
@ -510,20 +512,20 @@
this.ClearConsoleContextItem,
this.RegisteredFunctionsContextItem});
this.ConsoleContextMenu.Name = "contextMenuStrip2";
this.ConsoleContextMenu.Size = new System.Drawing.Size(176, 48);
this.ConsoleContextMenu.Size = new System.Drawing.Size(187, 48);
this.ConsoleContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.ConsoleContextMenu_Opening);
//
// ClearConsoleContextItem
//
this.ClearConsoleContextItem.Name = "ClearConsoleContextItem";
this.ClearConsoleContextItem.Size = new System.Drawing.Size(175, 22);
this.ClearConsoleContextItem.Size = new System.Drawing.Size(186, 22);
this.ClearConsoleContextItem.Text = "&Clear";
this.ClearConsoleContextItem.Click += new System.EventHandler(this.ClearConsoleContextItem_Click);
//
// RegisteredFunctionsContextItem
//
this.RegisteredFunctionsContextItem.Name = "RegisteredFunctionsContextItem";
this.RegisteredFunctionsContextItem.Size = new System.Drawing.Size(175, 22);
this.RegisteredFunctionsContextItem.Size = new System.Drawing.Size(186, 22);
this.RegisteredFunctionsContextItem.Text = "&Registered Functions";
this.RegisteredFunctionsContextItem.Click += new System.EventHandler(this.RegisteredFunctionsMenuItem_Click);
//
@ -789,6 +791,13 @@
this.splitContainer1.SplitterDistance = 280;
this.splitContainer1.TabIndex = 7;
//
// ReturnAllIfNoneSelectedMenuItem
//
this.ReturnAllIfNoneSelectedMenuItem.Name = "ReturnAllIfNoneSelectedMenuItem";
this.ReturnAllIfNoneSelectedMenuItem.Size = new System.Drawing.Size(213, 22);
this.ReturnAllIfNoneSelectedMenuItem.Text = "Return All if None Selected";
this.ReturnAllIfNoneSelectedMenuItem.Click += new System.EventHandler(this.ReturnAllIfNoneSelectedMenuItem_Click);
//
// LuaConsole
//
this.AllowDrop = true;
@ -899,5 +908,6 @@
private System.Windows.Forms.TextBox InputBox;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ImageList imageList1;
private System.Windows.Forms.ToolStripMenuItem ReturnAllIfNoneSelectedMenuItem;
}
}

View File

@ -734,7 +734,8 @@ namespace BizHawk.Client.EmuHawk
private void ToggleScriptMenuItem_Click(object sender, EventArgs e)
{
foreach (var item in SelectedFiles)
var files = !SelectedFiles.Any() && Global.Config.ReturnAllIfNoneSelected ? _luaList : SelectedFiles;
foreach (var item in files)
{
item.Toggle();
@ -950,6 +951,7 @@ namespace BizHawk.Client.EmuHawk
private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e)
{
DisableScriptsOnLoadMenuItem.Checked = Global.Config.DisableLuaScriptsOnLoad;
ReturnAllIfNoneSelectedMenuItem.Checked = Global.Config.ReturnAllIfNoneSelected;
}
private void DisableScriptsOnLoadMenuItem_Click(object sender, EventArgs e)
@ -957,6 +959,11 @@ namespace BizHawk.Client.EmuHawk
Global.Config.DisableLuaScriptsOnLoad ^= true;
}
private void ReturnAllIfNoneSelectedMenuItem_Click(object sender, EventArgs e)
{
Global.Config.ReturnAllIfNoneSelected ^= true;
}
#endregion
#region Help

View File

@ -133,17 +133,18 @@
<data name="OpenScriptToolbarItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd
HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX
0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc
hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv
S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt
5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg
g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I
k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC
TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p
AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0
BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr
UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG
CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5
F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS
rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt
NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp
59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W
AAAAAElFTkSuQmCC
</value>
</data>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@ -153,69 +154,70 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB6
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACK
DgAAAk1TRnQBSQFMAgEBAwEAASABAAEgAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABEAMAAQEBAAEgBgABECoAAo8BmAHlAbIBtAHSAf8BuwG+AdcB/wKQAZkB5zAAAY8BmAGQAeUBsgHS
AbYB/wG7AdcBvgH/AZABmQGRAecwAAGYAZMBjwHlAdIBvgGyAf8B1wHFAbsB/wGZAZIBkAHnaAABbwF0
AaAB9QE5AUABlwH/AQUBEAGHAf8BBgEQAYcB/wEEAQ8BhwH/AQsBFQGIAf8BDgEYAYkB/wFmAWoBoQH5
IAABbwGgAXsB9QE5AZcBRQH/AQUBhwEUAf8BBgGHARUB/wEEAYcBEgH/AQsBiAEZAf8BDgGJARwB/wFm
AaEBagH5IAABoAGFAW8B9QGXAVsBOQH/AYcBMwEFAf8BhwE0AQYB/wGHATIBBAH/AYgBNwELAf8BiQE6
AQ4B/wGhAXoBZgH5XAABNAE8AZgB/wExATkBmAH/AbABsgHLAf8B2gHbAdoB/wLRAdUB/wHLAcwB0gH/
AcQBxwHOAf8BWAFeAaUB/wFKAVEBjgH5ASkBMgGPAf8YAAEmAZIBMgH/ATEBmAE9Af8BsAHLAbMB/wHb
AtoB/wHRAdUB0gH/AcsB0gHLAf8BxQHOAcQB/wFYAaUBYQH/AUoBjgFSAfkBKQGPATQB/xgAAZIBTAEm
Af8BmAFWATEB/wHLAboBsAH/AtoB2wH/AdUB0wHRAf8B0gHNAcsB/wHOAcYBxAH/AaUBcwFYAf8BjgFo
AUoB+QGPAUwBKQH/VAABPQFAAZMB/QKMAZMB4wL+Af0B/wH+Af0B9QH/AvcB8wH/Ae8C7gH/Au0B6wH/
AdkC2wH/AeMB5AHiAf8CwAHMAf8BdwF6AY0B7QFGAUwBkAH7EAABPQGTAUAB/QGMAZMBjAHjAf8B/gL/
Af4B9QH9Af8B9wHzAfYB/wLuAe8B/wHtAesB7QH/AtsB2QH/AeQB4gHjAf8BwAHMAcIB/wF3AY0BegHt
AUYBkAFQAfsQAAGTAVMBPQH9AZMBjQGMAeMB/gP/AfUB+wH+Af8B8wH1AfcB/wHuAe8B7gH/AesB7AHt
Af8B2wHZAdoB/wLiAeQB/wHMAcUBwAH/AY0BgAF3Ae0BkAFfAUYB+0wAAXIBewGeAfMBiwGMAZ0B6wX/
Af4B/Rf/Af4B/wHwAe8B8AH/Ac8B0AHWAf8BbgFxAYkB7QF2AXsBlAHvCAABcgGeAXwB8wGLAZ0BjgHr
Bf8B/Qb/AeMB8AHjAf8BnAHNAZwK/wH+Av8B7wLwAf8BzwHWAc8B/wFuAYkBcgHtAXYBlAF7Ae8IAAGe
AYQBcgHzAZ0BkQGLAesE/wH9F/8B/gP/AuMB4AH/Ac8ByQHHAf8BiQF5AW4B7QGUAYMBdgHvSAACagGp
AfkD/iX/AfAB8gHwAf8CxgHNAf8CRwGKAfkIAAFqAakBawH5EP8B3AHtAdwB/wERAXkBEQH/AYMBwQGD
Df8B8gHxAfAB/wHHAc4ByAH/AUcBigFNAfkIAAGpAYQBagH5DP8B4QHNAb4B/wG+AZIBjQH/AfcB8QHv
Af8B+wH4AfcB/wHBAZgBjwH/AeoB2gHRBf8B5QHiAeYB/wHOAcoBxwH/AYoBYgFHAflEAAGGAYkBrQHz
Ao4BpQHtCP8C9QH7Af8BbQFpAdQB/wGhAZ8B5wH/AaMBoQHmAf8BogGhAeUB/wGUAZEB4QH/AZ4BnAHm
Bf8B+QH4AfcB/wHnAeQB3gH/AWABZgGRAfUBWgFfAZwB+wGGAa0BjAHzAY4BpgGSAe0Q/wHkAfEB5AH/
AQEBdQEBAf8BEQF7AREB/wGcAc4BnAn/AfkB9wH5Af8B5gHeAecB/wFgAZEBbAH1AVoBnAFfAfsBrQGV
AYYB8wGmAZcBjgHtDP8BrgF2AVQB/wFZAgAB/wH4AfUB8gH/AfoB9wH1Af8BWQIAAf8BswF7AVoF/wHx
AfQB9QH/Ad4B5gHnAf8BkQFxAWAB9QGcAW0BWgH7QAABggGIAcoB/wHQAdIB7Qn/AvUB+gH/ATsBOAG7
Af8BZwFkAd4B/wFkAWAB2AH/AV8BWwHTAf8BUwFOAdEB/wGiAaEB6QX/AvkB+AH/AfwB+wHqAf8BowGm
Ab4B/wFDAUoBoAH/AYIBygGKAf8B0AHtAdQR/wHiAfAB4gH/AQIBdgECAf8BAAF2AQAB/wERAYQBEQH/
AZgBzAGYBf8B+QH4AfkB/wH8AeoB+gH/AaMBvgGlAf8BQwGgAU4B/wHKAZwBggH/Ae0B2wHQDf8BugGM
AWoB/wGNASIBAAL/Av4B/wP+Af8BjQEhAQAB/wG7AYkBaAX/AfIB9AH1Af8B6gH1AfwB/wG+AawBowH/
AaABZAFDAf9AAAF0AXoBwgH/AeUB5gH0Cf8C9wH7Af8BSgFHAcMB/wF1AXMB4wH/AXABbQHdAf8BawFo
AdgB/wFfAVoB0wH/AasBqQHqBf8D+QH/Af4B+wHvAf8BtAG2AcUB/wFBAUkBnwH/AXQBwgGBAf8B5QH0
AecR/wHiAfAB4gH/AQEBeAEBAf8BAAF6AQAB/wEAAXIBAAH/AREBhAERAf8B+gH8AfoB/wP5Af8B/gHv
Af4B/wG0AcUBtgH/AUEBnwFMAf8BwgGTAXQB/wH0AesB5Q3/AbkBjAFrAf8BpwE4AQsB/wH7AfkB+AH/
AfsB+gH5Af8BpwE4AQsB/wG9AYwBawX/A/QB/wHvAfoB/gH/AcUBugG0Af8BnwFiAUEB/0AAAXABdwG9
Af8C2gHvCf8C9wH7Af8BTgFLAccB/wF7AXkB6gH/AXYBdQHjAf8BcwFxAd8B/wFmAWMB2gH/Aa0BqwHr
Bf8C+gH4Af8B/QH8Ae4B/wGdAaABuwH/AUkBUQGjAf8BcAG9AXgB/wHaAe8B3hH/AeIB8AHiAf8BAgF4
AQIB/wEAAXABAAH/ASwBjgEsAf8B4gHwAeIF/wH6AfgB+gH/Af0B7gH7Af8BnQG7AaEB/wFJAaMBUgH/
Ab0BjgFwAf8B7wHjAdoN/wG3AYgBZgH/AcQBRwEkAf8C/QH8Af8B/AH6AfkB/wHGAUoBJgH/AcIBjwFw
Bf8B8gH1AfcB/wHuAfcB/QH/AbsBqAGdAf8BowFoAUkB/0AAAYcBjAGkAe8BlAGVAbIB8Qj/AvYB+wH/
AUsBRwHFAf8BegF5AesB/wF2AXUB5AH/AXQBcQHhAf8BZAFhAdsB/wGpAacB6wX/AvsB+QH/AfsB/AHu
Af8BSAFOAZQB+wGCAYMBnwHvAYcBpAGMAe8BlAGyAZkB8RD/AeIB8AHiAf8BAAFuAQAB/wEoAYcBKAH/
AecB8wHnCf8B+wH5AfsB/wH8Ae4B+QH/AUgBlAFSAfsBggGfAYYB7wGkAZIBhwHvAbIBoAGUAfEM/wHB
AZcBegH/AaQBPgEWAf8B/QH7AfoB/wH8AfoB+QH/AZMBOQEPAf8BzAGpAZQF/wH0AfcB+QH/Ae4B9QH8
Af8BlAFfAUgB+wGfAYwBggHvRAABewGBAc8J/wLzAfkB/wFJAUYBuQH/AYcBhgHWAf8BhwGFAdUB/wGH
AYUB1QH/AWUBYgHIAf8BbQFsAcwG/wH+AfwB/wLOAdcB/wE5AUEBmAH/CAABewHPAY0R/wHTAegB0wH/
ASQBhwEkAf8B4gHwAeIN/wH+AfwC/wHOAdcB0AH/ATkBmAFDAf8IAAHPAaEBeyn/AfsD/wHXAdIBzgH/
AZgBWgE5Af9IAAGMAY0BwgH5AqABvAHxJP8B/AH7AfYB/wE3AT8BlgH/AYoBiwGbAekIAAGMAcIBkAH5
AaABvAGmAfEM/wH6AfwB+gH/Ae8B9gHvEf8B/AH2AfwB/wE3AZYBQQH/AYoBmwGKAekIAAHCAZ4BjAH5
AbwBrQGgAfEk/wH1AfoB/AH/AZYBWAE3Af8BmwGRAYoB6UwAAYMBiQHMAf0CnAGpAekc/wHyAfUB+AH/
AV4BaAGTAfUBcQF4AaMB9RAAAYMBzAGOAf0BnAGqAZ0B6Rz/AfQB+AHyAf8BXgGTAWgB9QFxAaMBfwH1
EAABzAGjAYMB/QGqAaMBnAHpHP8B+ALyAf8BkwFvAV4B9QGjAYYBcQH1VAABhgGMAcgB+wGVAZcBzgH5
AtMB9wH/AfEB8AH7Af8B9gH3Av8B9wH4Af0B/wHkAecB8wH/AYMBhgGiAe8BfwGBAaEB8wGPAZABogHr
GAABhgHIAZAB+wGVAc4BoQH5AdMB9wHaAf8B8AH7AfMB/wH2Af8B9wH/AfcB/QH4Af8B5AHzAeQB/wGD
AaIBhgHvAX8BoQGCAfMBjwGiAZAB6xgAAcgBmwGGAfsBzgGwAZUB+QH3AeMB0wH/AfsB9gHwAv8B+QH2
Af8B/QH5AfcB/wHzAegB5AH/AaIBjwGDAe8BoQGMAX8B8wGiAZcBjwHrXAACmAGrAesBjQGTAdcB/wGO
AZQB3QH/AY8BlQHgAf8BjQGUAdsB/wGaAZ8B2gH/AZIBkwGeAeckAAGYAasBmgHrAY0B1wGWAf8BjgHd
AZgB/wGPAeABmQH/AY0B2wGWAf8BmgHaAaIB/wGSAZ4BlQHnJAABqwGhAZgB6wHXAagBjQH/Ad0BrAGO
Af8B4AGtAY8B/wHbAakBjQH/AdoBsgGaAf8BngGYAZIB51QAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA
AQEBAAEBBQABgBcAA/8BAAH8AT8B/AE/AfwBPwIAAfABDwHwAQ8B8AEPAgAB4AEHAeABBwHgAQcCAAHA
AQMBwAEDAcABAwIAAYABAQGAAQEBgAEBAgABgAEBAYABAQGAAQEqAAGAAQEBgAEBAYABAQIAAYABAQGA
AQEBgAEBAgABwAEDAcABAwHAAQMCAAHgAQcB4AEHAeABBwIAAfABHwHwAR8B8AEfAgAL
AwABEAMAAQEBAAEgBgABECoAAYcBdAF8AeUBsgG0AdIB/wG7Ab4B1wH/AYgBdgF+AecwAAGHAXwBdAHl
AbIB0gG2Af8BuwHXAb4B/wGIAX4BdgHnMAABjwF2AXQB5QHSAb4BsgH/AdcBxQG7Af8BkAF3AXYB52gA
AW8BagGUAfUBOgFBAZcB/wEGAREBhwH/AQcBEQGHAf8BBQEQAYcB/wEMARYBiAH/AQ8BGQGJAf8BZwFm
AZkB+SAAAW8BlAFxAfUBOgGXAUYB/wEGAYcBFQH/AQcBhwEWAf8BBQGHARMB/wEMAYgBGgH/AQ8BiQEd
Af8BZwGZAWYB+SAAAZwBfAFnAfUBlwFcAToB/wGHATQBBgH/AYcBNQEHAf8BhwEzAQUB/wGIATgBDAH/
AYkBOwEPAf8BngF0AWIB+VwAATUBPQGYAf8BMgE6AZgB/wGwAbIBywH/AdoB2wHaAf8C0QHVAf8BywHM
AdIB/wHEAccBzgH/AVkBXwGlAf8BSwFNAYgB+QEqATMBjwH/GAABJwGSATMB/wEyAZgBPgH/AbABywGz
Af8B2wLaAf8B0QHVAdIB/wHLAdIBywH/AcUBzgHEAf8BWQGlAWIB/wFLAYgBTgH5ASoBjwE1Af8YAAGS
AU0BJwH/AZgBVwEyAf8BywG6AbAB/wLaAdsB/wHVAdMB0QH/AdIBzQHLAf8BzgHGAcQB/wGlAXQBWQH/
AY0BZAFGAfkBjwFNASoB/1QAAj8BkQH9AYQBcAF1AeMC/gH9Af8B/gH9AfUB/wL3AfMB/wHvAu4B/wLt
AesB/wHZAtsB/wHjAeQB4gH/AsABzAH/AXYBaQF5Ae0BSAFLAYwB+xAAAT8BkQE/Af0BhAF1AXAB4wH/
Af4C/wH+AfUB/QH/AfcB8wH2Af8C7gHvAf8B7QHrAe0B/wLbAdkB/wHkAeIB4wH/AcABzAHCAf8BdgF5
AWkB7QFIAYwBTgH7EAABkwFRAT0B/QGKAXEBcAHjAf4D/wH1AfsB/gH/AfMB9QH3Af8B7gHvAe4B/wHr
AewB7QH/AdsB2QHaAf8C4gHkAf8BzAHFAcAB/wGHAW8BaAHtAY8BXQFFAftMAAFyAW8BkAHzAYUBdwGG
AesF/wH+Af0X/wH+Af8B8AHvAfAB/wHPAdAB1gH/AWwBYQF2Ae0BdQFrAYMB7wgAAXIBkAFwAfMBhQGG
AXkB6wX/Af0G/wHjAfAB4wH/AZwBzQGcCv8B/gL/Ae8C8AH/Ac8B1gHPAf8BbAF2AWMB7QF1AYMBawHv
CAABmgF5AWgB8wGWAXwBdgHrBP8B/Rf/Af4D/wLjAeAB/wHPAckBxwH/AYQBaQFfAe0BjwF0AWkB70gA
AWsBZgGhAfkD/iX/AfAB8gHwAf8CxgHNAf8BSAFDAYQB+QgAAWsBoQFmAfkQ/wHcAe0B3AH/ARIBegES
Af8BgwHBAYMN/wHyAfEB8AH/AccBzgHIAf8BSAGEAUkB+QgAAaUBfgFmAfkM/wHhAc0BvgH/Ab4BkgGN
Af8B9wHxAe8B/wH7AfgB9wH/AcEBmAGPAf8B6gHaAdEF/wHlAeIB5gH/Ac4BygHHAf8BiQFeAUMB+UQA
AYQBfQGeAfMBiQF7AY4B7Qj/AvUB+wH/AW4BagHUAf8BoQGfAecB/wGjAaEB5gH/AaIBoQHlAf8BlAGR
AeEB/wGeAZwB5gX/AfkB+AH3Af8B5wHkAd4B/wFgAV4BhQH1AVsBXQGYAfsBhAGeAX4B8wGJAY8BfwHt
EP8B5AHxAeQB/wECAXYBAgH/ARIBfAESAf8BnAHOAZwJ/wH5AfcB+QH/AeYB3gHnAf8BYAGFAWUB9QFb
AZgBXQH7AacBiAF7AfMBnQGCAXsB7Qz/Aa4BdwFVAf8BWgIBAf8B+AH1AfIB/wH6AfcB9QH/AVoCAQH/
AbMBfAFbBf8B8QH0AfUB/wHeAeYB5wH/AY0BaQFYAfUBmwFpAVgB+0AAAYIBiAHKAf8B0AHSAe0J/wL1
AfoB/wE8ATkBuwH/AWgBZQHeAf8BZQFhAdgB/wFgAVwB0wH/AVQBTwHRAf8BogGhAekF/wL5AfgB/wH8
AfsB6gH/AaMBpgG+Af8BRAFLAaAB/wGCAcoBigH/AdAB7QHUEf8B4gHwAeIB/wEDAXcBAwH/AQEBdwEB
Af8BEgGEARIB/wGYAcwBmAX/AfkB+AH5Af8B/AHqAfoB/wGjAb4BpQH/AUQBoAFPAf8BygGcAYIB/wHt
AdsB0A3/AboBjAFrAf8BjQEjAQEC/wL+Af8D/gH/AY0BIgEBAf8BuwGJAWkF/wHyAfQB9QH/AeoB9QH8
Af8BvgGsAaMB/wGgAWUBRAH/QAABdQF7AcIB/wHlAeYB9An/AvcB+wH/AUsBSAHDAf8BdgF0AeMB/wFx
AW4B3QH/AWwBaQHYAf8BYAFbAdMB/wGrAakB6gX/A/kB/wH+AfsB7wH/AbQBtgHFAf8BQgFKAZ8B/wF1
AcIBgQH/AeUB9AHnEf8B4gHwAeIB/wECAXkBAgH/AQEBewEBAf8BAQFzAQEB/wESAYQBEgH/AfoB/AH6
Af8D+QH/Af4B7wH+Af8BtAHFAbYB/wFCAZ8BTQH/AcIBkwF1Af8B9AHrAeUN/wG5AYwBbAH/AacBOQEM
Af8B+wH5AfgB/wH7AfoB+QH/AacBOQEMAf8BvQGMAWwF/wP0Af8B7wH6Af4B/wHFAboBtAH/AZ8BYwFC
Af9AAAFxAXgBvQH/AtoB7wn/AvcB+wH/AU8BTAHHAf8BfAF6AeoB/wF3AXYB4wH/AXQBcgHfAf8BZwFk
AdoB/wGtAasB6wX/AvoB+AH/Af0B/AHuAf8BnQGgAbsB/wFKAVIBowH/AXEBvQF5Af8B2gHvAd4R/wHi
AfAB4gH/AQMBeQEDAf8BAQFxAQEB/wEtAY4BLQH/AeIB8AHiBf8B+gH4AfoB/wH9Ae4B+wH/AZ0BuwGh
Af8BSgGjAVMB/wG9AY4BcQH/Ae8B4wHaDf8BtwGIAWcB/wHEAUgBJQH/Av0B/AH/AfwB+gH5Af8BxgFL
AScB/wHCAY8BcQX/AfIB9QH3Af8B7gH3Af0B/wG7AagBnQH/AaMBaQFKAf9AAAGEAXoBkQHvAZABhgGe
AfEI/wL2AfsB/wFMAUgBxQH/AXsBegHrAf8BdwF2AeQB/wF1AXIB4QH/AWUBYgHbAf8BqQGnAesF/wL7
AfkB/wH7AfwB7gH/AUoBTAGQAfsBfwF0AYsB7wGEAZEBegHvAZABngGKAfEQ/wHiAfAB4gH/AQEBbwEB
Af8BKQGHASkB/wHnAfMB5wn/AfsB+QH7Af8B/AHuAfkB/wFKAZABUAH7AX8BiwF3Ae8BnQGBAXgB7wGq
AY4BhQHxDP8BwQGXAXsB/wGkAT8BFwH/Af0B+wH6Af8B/AH6AfkB/wGTAToBEAH/AcwBqQGUBf8B9AH3
AfkB/wHuAfUB/AH/AZMBXQFHAfsBlwF6AXMB70QAAXwBgQHPCf8C8wH5Af8BSgFHAbkB/wGHAYYB1gH/
AYcBhQHVAf8BhwGFAdUB/wFmAWMByAH/AW4BbQHMBv8B/gH8Af8CzgHXAf8BOgFCAZgB/wgAAXwBzwGN
Ef8B0wHoAdMB/wElAYcBJQH/AeIB8AHiDf8B/gH8Av8BzgHXAdAB/wE6AZgBRAH/CAABzwGhAXwp/wH7
A/8B1wHSAc4B/wGYAVsBOgH/SAABiwGHAbgB+QGaAY4BqQHxJP8B/AH7AfYB/wE4AUABlgH/AYMBdAGC
AekIAAGLAbgBigH5AZoBqQGVAfEM/wH6AfwB+gH/Ae8B9gHvEf8B/AH2AfwB/wE4AZYBQgH/AYMBggFz
AekIAAG9AZYBhgH5AbQBmwGOAfEk/wH1AfoB/AH/AZYBWQE4Af8BkwF5AXMB6UwAAYMBhwHIAf0BlAGD
AY0B6Rz/AfIB9QH4Af8BXgFhAYcB9QFxAW4BlwH1EAABgwHIAYwB/QGUAY0BgwHpHP8B9AH4AfIB/wFe
AYcBYQH1AXEBlwF1AfUQAAHKAaEBgQH9AZ4BiQGDAekc/wH4AvIB/wGPAWcBVgH1AZ8BfAFpAfVUAAGF
AYgBwgH7AZMBjwHEAfkC0wH3Af8B8QHwAfsB/wH2AfcC/wH3AfgB/QH/AeQB5wHzAf8BgAF3AY8B7wF8
AXYBkQHzAYoBewGJAesYAAGFAcIBjAH7AZMBxAGZAfkB0wH3AdoB/wHwAfsB8wH/AfYB/wH3Af8B9wH9
AfgB/wHkAfMB5AH/AYABjwF3Ae8BfAGRAXcB8wGKAYkBewHrGAABxQGXAYIB+wHIAagBjgH5AfcB4wHT
Af8B+wH2AfAC/wH5AfYB/wH9AfkB9wH/AfMB6AHkAf8BmwF9AXQB7wGbAX4BcwHzAZgBgAF6AetcAAGQ
AYEBkgHrAY0BkwHXAf8BjgGUAd0B/wGPAZUB4AH/AY0BlAHbAf8BmgGfAdoB/wGJAXgBgQHnJAABkAGS
AYMB6wGNAdcBlgH/AY4B3QGYAf8BjwHgAZkB/wGNAdsBlgH/AZoB2gGiAf8BiQGBAXsB5yQAAaIBiAGB
AesB1wGoAY0B/wHdAawBjgH/AeABrQGPAf8B2wGpAY0B/wHaAbIBmgH/AZMBfgF3AedUAAFCAU0BPgcA
AT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAB/AE/AfwBPwH8AT8CAAHwAQ8B8AEPAfABDwIA
AeABBwHgAQcB4AEHAgABwAEDAcABAwHAAQMCAAGAAQEBgAEBAYABAQIAAYABAQGAAQEBgAEBKgABgAEB
AYABAQGAAQECAAGAAQEBgAEBAYABAQIAAcABAwHAAQMBwAEDAgAB4AEHAeABBwHgAQcCAAHwAR8B8AEf
AfABHwIACw==
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">