From fc0ec832aeef983d87d1837df08a3b815d346cbf Mon Sep 17 00:00:00 2001 From: "phillip.grimsrud" Date: Mon, 28 May 2012 00:44:27 +0000 Subject: [PATCH] These changes are for TAStudio upgrades. If I've broken other stuff please yell at me. 1. Hooked up Fast Forward, Fast Forward to End 2. Made a placeholder for Turbo Fast Forward. 3. Fixed rewind to not stomp on the previous frame with new input. 4. Fixed rewind to stop at the beginning of the movie instead of freaking out. 5. TAStudio now shows data from the most recent frame. 6. CommitFrame is called even if not recording so played back frames also show up in TAStudio. 7. Play mode only stops at the end of the movie if you tell it to. Your emulator normally continues to play with no input after the end of the movie. 8. TAStudio is now updated after a rewind (even though the rewind doesn't play a new frame). 9. Split the tools update into before and after updates. 10. Going into read-only mode adjusts the movie mode. 11. Implemented New, Open, Save, and Save As for TAStudio. 12. Fixed an issue where frames past the end of the log would default to the input from the last frame of the log. 13. Fixed a problem where you couldn't rewind to frame 0. 14. Fixed a scrolling issue in the TAStudio list view. 15. Fixed an issue with the TAStudio virtual NES controller not matching up with the log. 16. Fixed an issue where the NES reset button would get held in when rewinding. 17. Added/Modified a couple of button graphics. --- .../BizHawk.MultiClient.csproj | 1 + BizHawk.MultiClient/MainForm.Movie.cs | 4 +- BizHawk.MultiClient/MainForm.cs | 79 +- .../Properties/Resources.Designer.cs | 9 +- BizHawk.MultiClient/Properties/Resources.resx | 5 +- BizHawk.MultiClient/RecordMovie.cs | 13 +- BizHawk.MultiClient/Rewind.cs | 21 +- BizHawk.MultiClient/Throttle.cs | 4 +- BizHawk.MultiClient/images/FastForward.png | Bin 1299 -> 546 bytes BizHawk.MultiClient/movie/InputAdapters.cs | 2 +- BizHawk.MultiClient/movie/Movie.cs | 41 +- BizHawk.MultiClient/movie/MovieSession.cs | 3 +- .../tools/TAStudio.Designer.cs | 850 +++++++++--------- BizHawk.MultiClient/tools/TAStudio.cs | 58 +- BizHawk.MultiClient/tools/VirtualPadNES.cs | 20 +- .../tools/VirtualPadNESControl.cs | 11 +- 16 files changed, 636 insertions(+), 485 deletions(-) diff --git a/BizHawk.MultiClient/BizHawk.MultiClient.csproj b/BizHawk.MultiClient/BizHawk.MultiClient.csproj index e9a8a41aa9..3dcc16209b 100644 --- a/BizHawk.MultiClient/BizHawk.MultiClient.csproj +++ b/BizHawk.MultiClient/BizHawk.MultiClient.csproj @@ -671,6 +671,7 @@ + diff --git a/BizHawk.MultiClient/MainForm.Movie.cs b/BizHawk.MultiClient/MainForm.Movie.cs index e2630204fe..bdf873460f 100644 --- a/BizHawk.MultiClient/MainForm.Movie.cs +++ b/BizHawk.MultiClient/MainForm.Movie.cs @@ -70,13 +70,13 @@ namespace BizHawk.MultiClient return false; } - private void PlayMovie() + public void PlayMovie() { PlayMovie p = new PlayMovie(); DialogResult d = p.ShowDialog(); } - private void RecordMovie() + public void RecordMovie() { RecordMovie r = new RecordMovie(); r.ShowDialog(); diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 2e86243914..d92c1a989e 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -30,6 +30,9 @@ namespace BizHawk.MultiClient public bool PressFrameAdvance = false; public bool PressRewind = false; + public bool FastForward = false; + public bool TurboFastForward = false; + public bool StopOnEnd = false; //avi/wav state IVideoWriter CurrAviWriter = null; @@ -357,7 +360,7 @@ namespace BizHawk.MultiClient void SyncThrottle() { - bool fastforward = Global.ClientControls["Fast Forward"]; + bool fastforward = Global.ClientControls["Fast Forward"] || FastForward; Global.ForceNoVsync = unthrottled || fastforward; throttle.SetCoreFps(Global.Emulator.CoreOutputComm.VsyncRate); @@ -1774,12 +1777,22 @@ namespace BizHawk.MultiClient runFrame = true; } - if (Global.Config.RewindEnabled && Global.ClientControls["Rewind"] || PressRewind) + MOVIEMODE movieMode = Global.MovieSession.Movie.Mode; + if (Global.Config.RewindEnabled && (Global.ClientControls["Rewind"] || PressRewind)) { Rewind(1); suppressCaptureRewind = true; - runFrame = true; - PressRewind = false; + if (0 == RewindBuf.Count) + { + runFrame = false; + } + else + { + runFrame = true; + } + //Save this here and restore it later, we don't want to capture input when rewinding, even in record mode + movieMode = Global.MovieSession.Movie.Mode; + Global.MovieSession.Movie.Mode = MOVIEMODE.PLAY; } bool genSound = false; @@ -1788,7 +1801,7 @@ namespace BizHawk.MultiClient //client input-related duties Global.OSD.ClearGUIText(); - UpdateTools(); + UpdateToolsBefore(); #if WINDOWS LuaConsole1.ResumeScripts(true); #endif @@ -1813,7 +1826,6 @@ namespace BizHawk.MultiClient Global.OSD.FPS = fps_string; } - if (!suppressCaptureRewind && Global.Config.RewindEnabled) CaptureRewindState(); if (!runloop_frameadvance) genSound = true; else if (!Global.Config.MuteFrameAdvance) @@ -1836,12 +1848,12 @@ namespace BizHawk.MultiClient { session.LatchInputFromPlayer(Global.MovieInputSourceAdapter); } - - //the movie session makes sure that the correct input has been read and merged to its MovieControllerAdapter; - //this has been wired to Global.MovieOutputHardpoint in RewireInputChain - session.Movie.CommitFrame(Global.Emulator.Frame, Global.MovieOutputHardpoint); } + //the movie session makes sure that the correct input has been read and merged to its MovieControllerAdapter; + //this has been wired to Global.MovieOutputHardpoint in RewireInputChain + session.Movie.CommitFrame(Global.Emulator.Frame, Global.MovieOutputHardpoint); + if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE || Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED) { session.LatchInputFromPlayer(Global.MovieInputSourceAdapter); @@ -1849,8 +1861,9 @@ namespace BizHawk.MultiClient if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY) { - if (Global.MovieSession.Movie.Length() == Global.Emulator.Frame) + if (Global.MovieSession.Movie.Length() == Global.Emulator.Frame && true == StopOnEnd) { + StopOnEnd = false; Global.MovieSession.Movie.SetMovieFinished(); } } @@ -1898,7 +1911,15 @@ namespace BizHawk.MultiClient } PressFrameAdvance = false; - } + UpdateToolsAfter(); + } + + if (Global.ClientControls["Rewind"] || PressRewind) + { + UpdateToolsAfter(); + Global.MovieSession.Movie.Mode = movieMode; + PressRewind = false; + } if (genSound) { @@ -1913,9 +1934,9 @@ namespace BizHawk.MultiClient } /// - /// Update all tools that are frame dependent like Ram Search + /// Update all tools that are frame dependent like Ram Search before processing /// - public void UpdateTools() + public void UpdateToolsBefore() { RamWatch1.UpdateValues(); RamSearch1.UpdateValues(); @@ -1924,10 +1945,19 @@ namespace BizHawk.MultiClient NESPPU1.UpdateValues(); PCEBGViewer1.UpdateValues(); PCEBGViewer1.Generate(); // TODO: just a makeshift. PCE core should provide callbacks. - TAStudio1.UpdateValues(); GBDebugger.UpdateValues(); } + /// + /// Update all tools that are frame dependent like Ram Search after processing + /// + public void UpdateToolsAfter() + { + //The other tool updates are earlier, TAStudio needs to be later so it can display the latest + //frame of execution in its list view. + TAStudio1.UpdateValues(); + } + private unsafe Image MakeScreenshotImage() { var video = Global.Emulator.VideoProvider; @@ -2078,8 +2108,9 @@ namespace BizHawk.MultiClient } reader.Close(); - UpdateTools(); - Global.OSD.AddMessage("Loaded state: " + name); + UpdateToolsBefore(); + UpdateToolsAfter(); + Global.OSD.AddMessage("Loaded state: " + name); } else Global.OSD.AddMessage("Loadstate error!"); @@ -2563,10 +2594,16 @@ namespace BizHawk.MultiClient public void SetReadOnly(bool read_only) { ReadOnly = read_only; - if (ReadOnly) - Global.OSD.AddMessage("Movie read-only mode"); - else - Global.OSD.AddMessage("Movie read+write mode"); + if (ReadOnly) + { + Global.MovieSession.Movie.Mode = MOVIEMODE.PLAY; + Global.OSD.AddMessage("Movie read-only mode"); + } + else + { + Global.MovieSession.Movie.Mode = MOVIEMODE.RECORD; + Global.OSD.AddMessage("Movie read+write mode"); + } } public void LoadRamWatch() diff --git a/BizHawk.MultiClient/Properties/Resources.Designer.cs b/BizHawk.MultiClient/Properties/Resources.Designer.cs index a6d637dfa4..58fac28b3c 100644 --- a/BizHawk.MultiClient/Properties/Resources.Designer.cs +++ b/BizHawk.MultiClient/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.261 +// Runtime Version:4.0.30319.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -647,6 +647,13 @@ namespace BizHawk.MultiClient.Properties { } } + internal static System.Drawing.Bitmap TurboFastForward { + get { + object obj = ResourceManager.GetObject("TurboFastForward", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap undo { get { object obj = ResourceManager.GetObject("undo", resourceCulture); diff --git a/BizHawk.MultiClient/Properties/Resources.resx b/BizHawk.MultiClient/Properties/Resources.resx index cf436b345a..ad991c9afb 100644 --- a/BizHawk.MultiClient/Properties/Resources.resx +++ b/BizHawk.MultiClient/Properties/Resources.resx @@ -816,4 +816,7 @@ ..\images\atari_controller.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + + ..\Resources\TurboFastForward.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.MultiClient/RecordMovie.cs b/BizHawk.MultiClient/RecordMovie.cs index 0ff1e63fe9..1104175a2a 100644 --- a/BizHawk.MultiClient/RecordMovie.cs +++ b/BizHawk.MultiClient/RecordMovie.cs @@ -119,18 +119,11 @@ namespace BizHawk.MultiClient private void button1_Click(object sender, EventArgs e) { - SaveFileDialog sfd = new SaveFileDialog(); - sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.MoviesPath, ""); - sfd.DefaultExt = "." + Global.Config.MovieExtension; - sfd.FileName = RecordBox.Text; - sfd.Filter = "Generic Movie Files (*." + Global.Config.MovieExtension + ")|*." + Global.Config.MovieExtension + "|" + Global.MainForm.GetMovieExtName() + "|All Files (*.*)|*.*"; + string fileName = Movie.SaveRecordingAs(); - Global.Sound.StopSound(); - var result = sfd.ShowDialog(); - Global.Sound.StartSound(); - if (result == DialogResult.OK) + if ("" != fileName) { - RecordBox.Text = sfd.FileName; + RecordBox.Text = fileName; } } diff --git a/BizHawk.MultiClient/Rewind.cs b/BizHawk.MultiClient/Rewind.cs index 2881ccdc7f..042b8ec796 100644 --- a/BizHawk.MultiClient/Rewind.cs +++ b/BizHawk.MultiClient/Rewind.cs @@ -24,6 +24,20 @@ namespace BizHawk.MultiClient Global.OSD.AddMessage("Rewind Disabled: State too large."); Global.OSD.AddMessage("See 'Arcade Card Rewind Hack' in Emulation->PC Engine options."); } + + var ms = new MemoryStream(); + var writer = new BinaryWriter(ms); + for (int i = 0; i < LastState.Length; i++) + { + if (i == 254 || i == LastState.Length - 1) + { + writer.Write((byte)(i + 1)); + writer.Write((ushort) 0); + writer.Write(LastState, 0, i + 1); + } + } + RewindBuf.Push(ms); + return; } @@ -162,7 +176,7 @@ namespace BizHawk.MultiClient { for (int i = 0; i < frames; i++) { - if (RewindBuf.Count == 0) + if (RewindBuf.Count == 0 || 0 == Global.MovieSession.Movie.Length()) return; if (LastState.Length < 0x10000) Rewind64K(); @@ -177,5 +191,10 @@ namespace BizHawk.MultiClient RewindImpossible = false; LastState = null; } + + public int RewindBufferCount() + { + return RewindBuf.Count; + } } } diff --git a/BizHawk.MultiClient/Throttle.cs b/BizHawk.MultiClient/Throttle.cs index d26a94c24d..885a75b432 100644 --- a/BizHawk.MultiClient/Throttle.cs +++ b/BizHawk.MultiClient/Throttle.cs @@ -162,7 +162,7 @@ namespace BizHawk.MultiClient public void SetCoreFps(double desired_fps) { - core_desiredfps = (ulong)(65536 * desired_fps); + core_desiredfps = (ulong)(65536 * desired_fps); int target_pct = pct; pct = -1; SetSpeedPercent(target_pct); @@ -177,7 +177,7 @@ namespace BizHawk.MultiClient float fraction = percent / 100.0f; desiredfps = (ulong)(core_desiredfps * fraction); //Console.WriteLine("throttle set desiredfps " + desiredfps); - desiredspf = 65536.0f / desiredfps; + desiredspf = 65536.0f / desiredfps; AutoFrameSkip_IgnorePreviousDelay(); } diff --git a/BizHawk.MultiClient/images/FastForward.png b/BizHawk.MultiClient/images/FastForward.png index 6301539f624b103ddc3d4a3324d9de63f1ff172f..5abc5f4c873fca69841516a18f0fe97ae8f156d4 100644 GIT binary patch delta 425 zcmV;a0apH#3Zev%83+ad001BJ|6!3KOA`PIa7bBm000ie000ie0hKEb8B`QO>?hFr0qTFt$McmXQ(GWpTLP6w|X&B#&}v6+mB!pA}~z`-QYoSRei(I`zc1F@qRwGn@nJN zVINS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8sRPg`*e;_#uMnhl(hCq7Rn`B^~Vkimn3kGI{kqj7uzq6|XlK^LdM`SSr1K%MK zW)#)%Y5)pKmbgZg1m~xflqVLYG6W=M=9TFAxrQi|8S9zqS(sZl!~zxBd%8G=Xapz! z=x3AIz+qruz~ri^GJ(y|F^7Xw%t4fKcH@MtUO_d$W`+j dHtnmJ7 private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TAStudio)); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.newProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.openProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveProjectAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.recentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.nToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.importTASFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.insertFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.clearVirtualPadsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.updatePadsOnMovePlaybackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.restoreWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStrip1 = new ToolStripEx(); - this.RewindToBeginning = new System.Windows.Forms.ToolStripButton(); - this.RewindButton = new System.Windows.Forms.ToolStripButton(); - this.PauseButton = new System.Windows.Forms.ToolStripButton(); - this.FrameAdvanceButton = new System.Windows.Forms.ToolStripButton(); - this.FastFowardToEnd = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.StopButton = new System.Windows.Forms.ToolStripButton(); - this.ReadOnlyCheckBox = new System.Windows.Forms.CheckBox(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.insertFrameToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.ControllerBox = new System.Windows.Forms.GroupBox(); - this.TASView = new BizHawk.VirtualListView(); - this.Frame = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.Log = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.ControllersContext = new System.Windows.Forms.ContextMenuStrip(this.components); - this.clearToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.menuStrip1.SuspendLayout(); - this.toolStrip1.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); - this.ControllersContext.SuspendLayout(); - this.SuspendLayout(); - // - // menuStrip1 - // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TAStudio)); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.newProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.openProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveProjectAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.recentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.nToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.clearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.importTASFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.insertFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); + this.clearVirtualPadsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.updatePadsOnMovePlaybackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.restoreWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStrip1 = new ToolStripEx(); + this.RewindToBeginning = new System.Windows.Forms.ToolStripButton(); + this.RewindButton = new System.Windows.Forms.ToolStripButton(); + this.PauseButton = new System.Windows.Forms.ToolStripButton(); + this.FrameAdvanceButton = new System.Windows.Forms.ToolStripButton(); + this.FastForward = new System.Windows.Forms.ToolStripButton(); + this.TurboFastForward = new System.Windows.Forms.ToolStripButton(); + this.FastFowardToEnd = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); + this.StopButton = new System.Windows.Forms.ToolStripButton(); + this.ReadOnlyCheckBox = new System.Windows.Forms.CheckBox(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.insertFrameToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.ControllerBox = new System.Windows.Forms.GroupBox(); + this.ControllersContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.clearToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.TASView = new BizHawk.VirtualListView(); + this.Frame = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.Log = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.menuStrip1.SuspendLayout(); + this.toolStrip1.SuspendLayout(); + this.contextMenuStrip1.SuspendLayout(); + this.ControllersContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.editToolStripMenuItem, this.settingsToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(686, 24); - this.menuStrip1.TabIndex = 0; - this.menuStrip1.Text = "menuStrip1"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(686, 24); + this.menuStrip1.TabIndex = 0; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.newProjectToolStripMenuItem, this.openProjectToolStripMenuItem, this.saveProjectToolStripMenuItem, @@ -104,376 +106,400 @@ this.importTASFileToolStripMenuItem, this.toolStripSeparator2, this.exitToolStripMenuItem}); - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); - this.fileToolStripMenuItem.Text = "&File"; - // - // newProjectToolStripMenuItem - // - this.newProjectToolStripMenuItem.Name = "newProjectToolStripMenuItem"; - this.newProjectToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); - this.newProjectToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.newProjectToolStripMenuItem.Text = "New Project"; - this.newProjectToolStripMenuItem.Click += new System.EventHandler(this.newProjectToolStripMenuItem_Click); - // - // openProjectToolStripMenuItem - // - this.openProjectToolStripMenuItem.Name = "openProjectToolStripMenuItem"; - this.openProjectToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this.openProjectToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.openProjectToolStripMenuItem.Text = "&Open Project"; - this.openProjectToolStripMenuItem.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click); - // - // saveProjectToolStripMenuItem - // - this.saveProjectToolStripMenuItem.Name = "saveProjectToolStripMenuItem"; - this.saveProjectToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.saveProjectToolStripMenuItem.Text = "&Save Project"; - this.saveProjectToolStripMenuItem.Click += new System.EventHandler(this.saveProjectToolStripMenuItem_Click); - // - // saveProjectAsToolStripMenuItem - // - this.saveProjectAsToolStripMenuItem.Name = "saveProjectAsToolStripMenuItem"; - this.saveProjectAsToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.saveProjectAsToolStripMenuItem.Text = "Save Project As"; - this.saveProjectAsToolStripMenuItem.Click += new System.EventHandler(this.saveProjectAsToolStripMenuItem_Click); - // - // recentToolStripMenuItem - // - this.recentToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "&File"; + // + // newProjectToolStripMenuItem + // + this.newProjectToolStripMenuItem.Name = "newProjectToolStripMenuItem"; + this.newProjectToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); + this.newProjectToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.newProjectToolStripMenuItem.Text = "New Project"; + this.newProjectToolStripMenuItem.Click += new System.EventHandler(this.newProjectToolStripMenuItem_Click); + // + // openProjectToolStripMenuItem + // + this.openProjectToolStripMenuItem.Name = "openProjectToolStripMenuItem"; + this.openProjectToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); + this.openProjectToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.openProjectToolStripMenuItem.Text = "&Open Project"; + this.openProjectToolStripMenuItem.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click); + // + // saveProjectToolStripMenuItem + // + this.saveProjectToolStripMenuItem.Name = "saveProjectToolStripMenuItem"; + this.saveProjectToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.saveProjectToolStripMenuItem.Text = "&Save Project"; + this.saveProjectToolStripMenuItem.Click += new System.EventHandler(this.saveProjectToolStripMenuItem_Click); + // + // saveProjectAsToolStripMenuItem + // + this.saveProjectAsToolStripMenuItem.Name = "saveProjectAsToolStripMenuItem"; + this.saveProjectAsToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.saveProjectAsToolStripMenuItem.Text = "Save Project As"; + this.saveProjectAsToolStripMenuItem.Click += new System.EventHandler(this.saveProjectAsToolStripMenuItem_Click); + // + // recentToolStripMenuItem + // + this.recentToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.nToolStripMenuItem, this.toolStripSeparator3, this.clearToolStripMenuItem}); - this.recentToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Recent; - this.recentToolStripMenuItem.Name = "recentToolStripMenuItem"; - this.recentToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.recentToolStripMenuItem.Text = "Recent"; - // - // nToolStripMenuItem - // - this.nToolStripMenuItem.Name = "nToolStripMenuItem"; - this.nToolStripMenuItem.Size = new System.Drawing.Size(103, 22); - this.nToolStripMenuItem.Text = "None"; - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(100, 6); - // - // clearToolStripMenuItem - // - this.clearToolStripMenuItem.Name = "clearToolStripMenuItem"; - this.clearToolStripMenuItem.Size = new System.Drawing.Size(103, 22); - this.clearToolStripMenuItem.Text = "Clear"; - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(183, 6); - // - // importTASFileToolStripMenuItem - // - this.importTASFileToolStripMenuItem.Name = "importTASFileToolStripMenuItem"; - this.importTASFileToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.importTASFileToolStripMenuItem.Text = "Import TAS file"; - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(183, 6); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); - this.exitToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.exitToolStripMenuItem.Text = "E&xit"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // - // editToolStripMenuItem - // - this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.recentToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Recent; + this.recentToolStripMenuItem.Name = "recentToolStripMenuItem"; + this.recentToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.recentToolStripMenuItem.Text = "Recent"; + // + // nToolStripMenuItem + // + this.nToolStripMenuItem.Name = "nToolStripMenuItem"; + this.nToolStripMenuItem.Size = new System.Drawing.Size(103, 22); + this.nToolStripMenuItem.Text = "None"; + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(100, 6); + // + // clearToolStripMenuItem + // + this.clearToolStripMenuItem.Name = "clearToolStripMenuItem"; + this.clearToolStripMenuItem.Size = new System.Drawing.Size(103, 22); + this.clearToolStripMenuItem.Text = "Clear"; + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(183, 6); + // + // importTASFileToolStripMenuItem + // + this.importTASFileToolStripMenuItem.Name = "importTASFileToolStripMenuItem"; + this.importTASFileToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.importTASFileToolStripMenuItem.Text = "Import TAS file"; + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(183, 6); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4))); + this.exitToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.exitToolStripMenuItem.Text = "E&xit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // editToolStripMenuItem + // + this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.insertFrameToolStripMenuItem, this.toolStripSeparator7, this.clearVirtualPadsToolStripMenuItem}); - this.editToolStripMenuItem.Name = "editToolStripMenuItem"; - this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); - this.editToolStripMenuItem.Text = "&Edit"; - this.editToolStripMenuItem.DropDownOpened += new System.EventHandler(this.editToolStripMenuItem_DropDownOpened); - // - // insertFrameToolStripMenuItem - // - this.insertFrameToolStripMenuItem.Name = "insertFrameToolStripMenuItem"; - this.insertFrameToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); - this.insertFrameToolStripMenuItem.Size = new System.Drawing.Size(191, 22); - this.insertFrameToolStripMenuItem.Text = "Insert Frame"; - this.insertFrameToolStripMenuItem.Click += new System.EventHandler(this.insertFrameToolStripMenuItem_Click); - // - // toolStripSeparator7 - // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(188, 6); - // - // clearVirtualPadsToolStripMenuItem - // - this.clearVirtualPadsToolStripMenuItem.Name = "clearVirtualPadsToolStripMenuItem"; - this.clearVirtualPadsToolStripMenuItem.Size = new System.Drawing.Size(191, 22); - this.clearVirtualPadsToolStripMenuItem.Text = "&Clear Controller Holds"; - this.clearVirtualPadsToolStripMenuItem.Click += new System.EventHandler(this.clearVirtualPadsToolStripMenuItem_Click); - // - // settingsToolStripMenuItem - // - this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.editToolStripMenuItem.Name = "editToolStripMenuItem"; + this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); + this.editToolStripMenuItem.Text = "&Edit"; + this.editToolStripMenuItem.DropDownOpened += new System.EventHandler(this.editToolStripMenuItem_DropDownOpened); + // + // insertFrameToolStripMenuItem + // + this.insertFrameToolStripMenuItem.Name = "insertFrameToolStripMenuItem"; + this.insertFrameToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); + this.insertFrameToolStripMenuItem.Size = new System.Drawing.Size(191, 22); + this.insertFrameToolStripMenuItem.Text = "Insert Frame"; + this.insertFrameToolStripMenuItem.Click += new System.EventHandler(this.insertFrameToolStripMenuItem_Click); + // + // toolStripSeparator7 + // + this.toolStripSeparator7.Name = "toolStripSeparator7"; + this.toolStripSeparator7.Size = new System.Drawing.Size(188, 6); + // + // clearVirtualPadsToolStripMenuItem + // + this.clearVirtualPadsToolStripMenuItem.Name = "clearVirtualPadsToolStripMenuItem"; + this.clearVirtualPadsToolStripMenuItem.Size = new System.Drawing.Size(191, 22); + this.clearVirtualPadsToolStripMenuItem.Text = "&Clear Controller Holds"; + this.clearVirtualPadsToolStripMenuItem.Click += new System.EventHandler(this.clearVirtualPadsToolStripMenuItem_Click); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.saveWindowPositionToolStripMenuItem, this.autoloadToolStripMenuItem, this.updatePadsOnMovePlaybackToolStripMenuItem, this.toolStripSeparator4, this.restoreWindowToolStripMenuItem}); - this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; - this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); - this.settingsToolStripMenuItem.Text = "&Settings"; - this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.settingsToolStripMenuItem_DropDownOpened); - // - // saveWindowPositionToolStripMenuItem - // - this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem"; - this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position"; - this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click); - // - // autoloadToolStripMenuItem - // - this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem"; - this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.autoloadToolStripMenuItem.Text = "Autoload"; - this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click); - // - // updatePadsOnMovePlaybackToolStripMenuItem - // - this.updatePadsOnMovePlaybackToolStripMenuItem.Name = "updatePadsOnMovePlaybackToolStripMenuItem"; - this.updatePadsOnMovePlaybackToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.updatePadsOnMovePlaybackToolStripMenuItem.Text = "Update Pads on Move playback"; - this.updatePadsOnMovePlaybackToolStripMenuItem.Click += new System.EventHandler(this.updatePadsOnMovePlaybackToolStripMenuItem_Click); - // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(237, 6); - // - // restoreWindowToolStripMenuItem - // - this.restoreWindowToolStripMenuItem.Name = "restoreWindowToolStripMenuItem"; - this.restoreWindowToolStripMenuItem.Size = new System.Drawing.Size(240, 22); - this.restoreWindowToolStripMenuItem.Text = "Restore Default Settings"; - this.restoreWindowToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowToolStripMenuItem_Click); - // - // toolStrip1 - // - this.toolStrip1.ClickThrough = true; - this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None; - this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20); + this.settingsToolStripMenuItem.Text = "&Settings"; + this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.settingsToolStripMenuItem_DropDownOpened); + // + // saveWindowPositionToolStripMenuItem + // + this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem"; + this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(240, 22); + this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position"; + this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click); + // + // autoloadToolStripMenuItem + // + this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem"; + this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(240, 22); + this.autoloadToolStripMenuItem.Text = "Autoload"; + this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click); + // + // updatePadsOnMovePlaybackToolStripMenuItem + // + this.updatePadsOnMovePlaybackToolStripMenuItem.Name = "updatePadsOnMovePlaybackToolStripMenuItem"; + this.updatePadsOnMovePlaybackToolStripMenuItem.Size = new System.Drawing.Size(240, 22); + this.updatePadsOnMovePlaybackToolStripMenuItem.Text = "Update Pads on Move playback"; + this.updatePadsOnMovePlaybackToolStripMenuItem.Click += new System.EventHandler(this.updatePadsOnMovePlaybackToolStripMenuItem_Click); + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + this.toolStripSeparator4.Size = new System.Drawing.Size(237, 6); + // + // restoreWindowToolStripMenuItem + // + this.restoreWindowToolStripMenuItem.Name = "restoreWindowToolStripMenuItem"; + this.restoreWindowToolStripMenuItem.Size = new System.Drawing.Size(240, 22); + this.restoreWindowToolStripMenuItem.Text = "Restore Default Settings"; + this.restoreWindowToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowToolStripMenuItem_Click); + // + // toolStrip1 + // + this.toolStrip1.ClickThrough = true; + this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None; + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.RewindToBeginning, this.RewindButton, this.PauseButton, this.FrameAdvanceButton, + this.FastForward, + this.TurboFastForward, this.FastFowardToEnd, this.toolStripSeparator6, this.StopButton}); - this.toolStrip1.Location = new System.Drawing.Point(37, 27); - this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.Size = new System.Drawing.Size(156, 25); - this.toolStrip1.TabIndex = 0; - // - // RewindToBeginning - // - this.RewindToBeginning.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.RewindToBeginning.Image = global::BizHawk.MultiClient.Properties.Resources.BackMore; - this.RewindToBeginning.ImageTransparentColor = System.Drawing.Color.Magenta; - this.RewindToBeginning.Name = "RewindToBeginning"; - this.RewindToBeginning.Size = new System.Drawing.Size(23, 22); - this.RewindToBeginning.Text = "<<"; - this.RewindToBeginning.ToolTipText = "Rewind to Beginning"; - this.RewindToBeginning.Click += new System.EventHandler(this.RewindToBeginning_Click); - // - // RewindButton - // - this.RewindButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.RewindButton.Image = global::BizHawk.MultiClient.Properties.Resources.Back; - this.RewindButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.RewindButton.Name = "RewindButton"; - this.RewindButton.Size = new System.Drawing.Size(23, 22); - this.RewindButton.Text = "<"; - this.RewindButton.ToolTipText = "Rewind"; - this.RewindButton.Click += new System.EventHandler(this.RewindButton_Click); - // - // PauseButton - // - this.PauseButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.PauseButton.Image = global::BizHawk.MultiClient.Properties.Resources.Pause; - this.PauseButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.PauseButton.Name = "PauseButton"; - this.PauseButton.Size = new System.Drawing.Size(23, 22); - this.PauseButton.Text = "Pause Button"; - this.PauseButton.ToolTipText = "Pause"; - this.PauseButton.Click += new System.EventHandler(this.PauseButton_Click); - // - // FrameAdvanceButton - // - this.FrameAdvanceButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.FrameAdvanceButton.Image = global::BizHawk.MultiClient.Properties.Resources.Forward; - this.FrameAdvanceButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.FrameAdvanceButton.Name = "FrameAdvanceButton"; - this.FrameAdvanceButton.Size = new System.Drawing.Size(23, 22); - this.FrameAdvanceButton.Text = ">"; - this.FrameAdvanceButton.ToolTipText = "Frame Advance"; - this.FrameAdvanceButton.Click += new System.EventHandler(this.FrameAdvanceButton_Click); - // - // FastFowardToEnd - // - this.FastFowardToEnd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.FastFowardToEnd.Enabled = false; - this.FastFowardToEnd.Image = global::BizHawk.MultiClient.Properties.Resources.ForwardMore; - this.FastFowardToEnd.ImageTransparentColor = System.Drawing.Color.Magenta; - this.FastFowardToEnd.Name = "FastFowardToEnd"; - this.FastFowardToEnd.Size = new System.Drawing.Size(23, 22); - this.FastFowardToEnd.Text = ">>"; - this.FastFowardToEnd.ToolTipText = "Fast Foward To End"; - this.FastFowardToEnd.Click += new System.EventHandler(this.FastForwardToEnd_Click); - // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); - // - // StopButton - // - this.StopButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.StopButton.Image = global::BizHawk.MultiClient.Properties.Resources.Stop; - this.StopButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.StopButton.Name = "StopButton"; - this.StopButton.Size = new System.Drawing.Size(23, 22); - this.StopButton.Text = "Stop Movie"; - this.StopButton.Click += new System.EventHandler(this.StopButton_Click); - // - // ReadOnlyCheckBox - // - this.ReadOnlyCheckBox.Appearance = System.Windows.Forms.Appearance.Button; - this.ReadOnlyCheckBox.AutoSize = true; - this.ReadOnlyCheckBox.BackColor = System.Drawing.SystemColors.Control; - this.ReadOnlyCheckBox.Image = global::BizHawk.MultiClient.Properties.Resources.ReadOnly; - this.ReadOnlyCheckBox.ImageAlign = System.Drawing.ContentAlignment.BottomRight; - this.ReadOnlyCheckBox.Location = new System.Drawing.Point(12, 27); - this.ReadOnlyCheckBox.Name = "ReadOnlyCheckBox"; - this.ReadOnlyCheckBox.Size = new System.Drawing.Size(22, 22); - this.ReadOnlyCheckBox.TabIndex = 3; - this.toolTip1.SetToolTip(this.ReadOnlyCheckBox, "Read-only"); - this.ReadOnlyCheckBox.UseVisualStyleBackColor = false; - this.ReadOnlyCheckBox.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStrip1.Location = new System.Drawing.Point(37, 27); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.Size = new System.Drawing.Size(202, 25); + this.toolStrip1.TabIndex = 0; + // + // RewindToBeginning + // + this.RewindToBeginning.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.RewindToBeginning.Image = global::BizHawk.MultiClient.Properties.Resources.BackMore; + this.RewindToBeginning.ImageTransparentColor = System.Drawing.Color.Magenta; + this.RewindToBeginning.Name = "RewindToBeginning"; + this.RewindToBeginning.Size = new System.Drawing.Size(23, 22); + this.RewindToBeginning.Text = "<<"; + this.RewindToBeginning.ToolTipText = "Rewind to Beginning"; + this.RewindToBeginning.Click += new System.EventHandler(this.RewindToBeginning_Click); + // + // RewindButton + // + this.RewindButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.RewindButton.Image = global::BizHawk.MultiClient.Properties.Resources.Back; + this.RewindButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.RewindButton.Name = "RewindButton"; + this.RewindButton.Size = new System.Drawing.Size(23, 22); + this.RewindButton.Text = "<"; + this.RewindButton.ToolTipText = "Rewind"; + this.RewindButton.Click += new System.EventHandler(this.RewindButton_Click); + // + // PauseButton + // + this.PauseButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.PauseButton.Image = global::BizHawk.MultiClient.Properties.Resources.Pause; + this.PauseButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.PauseButton.Name = "PauseButton"; + this.PauseButton.Size = new System.Drawing.Size(23, 22); + this.PauseButton.Text = "Pause Button"; + this.PauseButton.ToolTipText = "Pause"; + this.PauseButton.Click += new System.EventHandler(this.PauseButton_Click); + // + // FrameAdvanceButton + // + this.FrameAdvanceButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.FrameAdvanceButton.Image = global::BizHawk.MultiClient.Properties.Resources.Forward; + this.FrameAdvanceButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.FrameAdvanceButton.Name = "FrameAdvanceButton"; + this.FrameAdvanceButton.Size = new System.Drawing.Size(23, 22); + this.FrameAdvanceButton.Text = ">"; + this.FrameAdvanceButton.ToolTipText = "Frame Advance"; + this.FrameAdvanceButton.Click += new System.EventHandler(this.FrameAdvanceButton_Click); + // + // FastForward + // + this.FastForward.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.FastForward.Image = global::BizHawk.MultiClient.Properties.Resources.FastForward; + this.FastForward.ImageTransparentColor = System.Drawing.Color.Magenta; + this.FastForward.Name = "FastForward"; + this.FastForward.Size = new System.Drawing.Size(23, 22); + this.FastForward.Text = ">>"; + this.FastForward.ToolTipText = "Fast Forward"; + this.FastForward.Click += new System.EventHandler(this.FastForward_Click); + // + // TurboFastForward + // + this.TurboFastForward.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.TurboFastForward.Enabled = false; + this.TurboFastForward.Image = global::BizHawk.MultiClient.Properties.Resources.TurboFastForward; + this.TurboFastForward.ImageTransparentColor = System.Drawing.Color.Magenta; + this.TurboFastForward.Name = "TurboFastForward"; + this.TurboFastForward.Size = new System.Drawing.Size(23, 22); + this.TurboFastForward.Text = ">>>"; + this.TurboFastForward.ToolTipText = "Turbo Fast Forward"; + this.TurboFastForward.Click += new System.EventHandler(this.TurboFastForward_Click); + // + // FastFowardToEnd + // + this.FastFowardToEnd.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.FastFowardToEnd.Image = global::BizHawk.MultiClient.Properties.Resources.ForwardMore; + this.FastFowardToEnd.ImageTransparentColor = System.Drawing.Color.Magenta; + this.FastFowardToEnd.Name = "FastFowardToEnd"; + this.FastFowardToEnd.Size = new System.Drawing.Size(23, 22); + this.FastFowardToEnd.Text = ">>"; + this.FastFowardToEnd.ToolTipText = "Fast Foward To End"; + this.FastFowardToEnd.Click += new System.EventHandler(this.FastForwardToEnd_Click); + // + // toolStripSeparator6 + // + this.toolStripSeparator6.Name = "toolStripSeparator6"; + this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25); + // + // StopButton + // + this.StopButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.StopButton.Image = global::BizHawk.MultiClient.Properties.Resources.Stop; + this.StopButton.ImageTransparentColor = System.Drawing.Color.Magenta; + this.StopButton.Name = "StopButton"; + this.StopButton.Size = new System.Drawing.Size(23, 22); + this.StopButton.Text = "Stop Movie"; + this.StopButton.Click += new System.EventHandler(this.StopButton_Click); + // + // ReadOnlyCheckBox + // + this.ReadOnlyCheckBox.Appearance = System.Windows.Forms.Appearance.Button; + this.ReadOnlyCheckBox.AutoSize = true; + this.ReadOnlyCheckBox.BackColor = System.Drawing.SystemColors.Control; + this.ReadOnlyCheckBox.Image = global::BizHawk.MultiClient.Properties.Resources.ReadOnly; + this.ReadOnlyCheckBox.ImageAlign = System.Drawing.ContentAlignment.BottomRight; + this.ReadOnlyCheckBox.Location = new System.Drawing.Point(12, 27); + this.ReadOnlyCheckBox.Name = "ReadOnlyCheckBox"; + this.ReadOnlyCheckBox.Size = new System.Drawing.Size(22, 22); + this.ReadOnlyCheckBox.TabIndex = 3; + this.toolTip1.SetToolTip(this.ReadOnlyCheckBox, "Read-only"); + this.ReadOnlyCheckBox.UseVisualStyleBackColor = false; + this.ReadOnlyCheckBox.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); + // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.insertFrameToolStripMenuItem1, this.toolStripSeparator5, this.selectAllToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(140, 54); - // - // insertFrameToolStripMenuItem1 - // - this.insertFrameToolStripMenuItem1.Name = "insertFrameToolStripMenuItem1"; - this.insertFrameToolStripMenuItem1.Size = new System.Drawing.Size(139, 22); - this.insertFrameToolStripMenuItem1.Text = "Insert Frame"; - // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(136, 6); - // - // selectAllToolStripMenuItem - // - this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem"; - this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(139, 22); - this.selectAllToolStripMenuItem.Text = "Select All"; - // - // ControllerBox - // - this.ControllerBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.ControllerBox.ContextMenuStrip = this.ControllersContext; - this.ControllerBox.Location = new System.Drawing.Point(300, 55); - this.ControllerBox.Name = "ControllerBox"; - this.ControllerBox.Size = new System.Drawing.Size(367, 197); - this.ControllerBox.TabIndex = 4; - this.ControllerBox.TabStop = false; - this.ControllerBox.Text = "Controllers"; - // - // TASView - // - this.TASView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.TASView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(140, 54); + // + // insertFrameToolStripMenuItem1 + // + this.insertFrameToolStripMenuItem1.Name = "insertFrameToolStripMenuItem1"; + this.insertFrameToolStripMenuItem1.Size = new System.Drawing.Size(139, 22); + this.insertFrameToolStripMenuItem1.Text = "Insert Frame"; + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(136, 6); + // + // selectAllToolStripMenuItem + // + this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem"; + this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(139, 22); + this.selectAllToolStripMenuItem.Text = "Select All"; + // + // ControllerBox + // + this.ControllerBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ControllerBox.ContextMenuStrip = this.ControllersContext; + this.ControllerBox.Location = new System.Drawing.Point(300, 55); + this.ControllerBox.Name = "ControllerBox"; + this.ControllerBox.Size = new System.Drawing.Size(367, 197); + this.ControllerBox.TabIndex = 4; + this.ControllerBox.TabStop = false; + this.ControllerBox.Text = "Controllers"; + // + // ControllersContext + // + this.ControllersContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clearToolStripMenuItem1}); + this.ControllersContext.Name = "ControllersContext"; + this.ControllersContext.Size = new System.Drawing.Size(136, 26); + // + // clearToolStripMenuItem1 + // + this.clearToolStripMenuItem1.Name = "clearToolStripMenuItem1"; + this.clearToolStripMenuItem1.Size = new System.Drawing.Size(135, 22); + this.clearToolStripMenuItem1.Text = "&Clear Holds"; + this.clearToolStripMenuItem1.Click += new System.EventHandler(this.clearToolStripMenuItem1_Click); + // + // TASView + // + this.TASView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TASView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.Frame, this.Log}); - this.TASView.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.TASView.FullRowSelect = true; - this.TASView.GridLines = true; - this.TASView.ItemCount = 0; - this.TASView.Location = new System.Drawing.Point(12, 55); - this.TASView.Name = "TASView"; - this.TASView.selectedItem = -1; - this.TASView.Size = new System.Drawing.Size(282, 452); - this.TASView.TabIndex = 1; - this.TASView.UseCompatibleStateImageBehavior = false; - this.TASView.View = System.Windows.Forms.View.Details; - // - // Frame - // - this.Frame.Text = "Frame"; - // - // Log - // - this.Log.Text = "Log"; - this.Log.Width = 201; - // - // ControllersContext - // - this.ControllersContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.clearToolStripMenuItem1}); - this.ControllersContext.Name = "ControllersContext"; - this.ControllersContext.Size = new System.Drawing.Size(153, 48); - // - // clearToolStripMenuItem1 - // - this.clearToolStripMenuItem1.Name = "clearToolStripMenuItem1"; - this.clearToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); - this.clearToolStripMenuItem1.Text = "&Clear Holds"; - this.clearToolStripMenuItem1.Click += new System.EventHandler(this.clearToolStripMenuItem1_Click); - // - // TAStudio - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(686, 519); - this.Controls.Add(this.toolStrip1); - this.Controls.Add(this.menuStrip1); - this.Controls.Add(this.ReadOnlyCheckBox); - this.Controls.Add(this.TASView); - this.Controls.Add(this.ControllerBox); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MainMenuStrip = this.menuStrip1; - this.MinimumSize = new System.Drawing.Size(437, 148); - this.Name = "TAStudio"; - this.Text = "TAStudio"; - this.Load += new System.EventHandler(this.TAStudio_Load); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); - this.toolStrip1.ResumeLayout(false); - this.toolStrip1.PerformLayout(); - this.contextMenuStrip1.ResumeLayout(false); - this.ControllersContext.ResumeLayout(false); - this.ResumeLayout(false); - this.PerformLayout(); + this.TASView.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TASView.FullRowSelect = true; + this.TASView.GridLines = true; + this.TASView.ItemCount = 0; + this.TASView.Location = new System.Drawing.Point(12, 55); + this.TASView.Name = "TASView"; + this.TASView.selectedItem = -1; + this.TASView.Size = new System.Drawing.Size(282, 452); + this.TASView.TabIndex = 1; + this.TASView.UseCompatibleStateImageBehavior = false; + this.TASView.View = System.Windows.Forms.View.Details; + // + // Frame + // + this.Frame.Text = "Frame"; + // + // Log + // + this.Log.Text = "Log"; + this.Log.Width = 201; + // + // TAStudio + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(686, 519); + this.Controls.Add(this.toolStrip1); + this.Controls.Add(this.menuStrip1); + this.Controls.Add(this.ReadOnlyCheckBox); + this.Controls.Add(this.TASView); + this.Controls.Add(this.ControllerBox); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MainMenuStrip = this.menuStrip1; + this.MinimumSize = new System.Drawing.Size(437, 148); + this.Name = "TAStudio"; + this.Text = "TAStudio"; + this.Load += new System.EventHandler(this.TAStudio_Load); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.contextMenuStrip1.ResumeLayout(false); + this.ControllersContext.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -523,5 +549,7 @@ private System.Windows.Forms.ToolStripMenuItem clearVirtualPadsToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip ControllersContext; private System.Windows.Forms.ToolStripMenuItem clearToolStripMenuItem1; + private System.Windows.Forms.ToolStripButton FastForward; + private System.Windows.Forms.ToolStripButton TurboFastForward; } } \ No newline at end of file diff --git a/BizHawk.MultiClient/tools/TAStudio.cs b/BizHawk.MultiClient/tools/TAStudio.cs index 3c6e24ba1c..8f1e5d042d 100644 --- a/BizHawk.MultiClient/tools/TAStudio.cs +++ b/BizHawk.MultiClient/tools/TAStudio.cs @@ -23,6 +23,7 @@ namespace BizHawk.MultiClient //PCE virtualpad //Dynamic virtualpad system based on platform //ensureVisible when recording + //Allow hotkeys when TAStudio has focus int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired int defaultHeight; @@ -102,7 +103,7 @@ namespace BizHawk.MultiClient private void TASView_QueryItemBkColor(int index, int column, ref Color color) { - if (index == Global.Emulator.Frame) + if (index < Global.MainForm.RewindBufferCount()) color = Color.LightGreen; else if (Global.MovieSession.Movie.GetInputFrame(index)[1] == 'L') color = Color.Pink; @@ -120,7 +121,7 @@ namespace BizHawk.MultiClient private void DisplayList() { TASView.ItemCount = Global.MovieSession.Movie.Length(); - TASView.ensureVisible(Global.Emulator.Frame); + TASView.ensureVisible(Global.Emulator.Frame-1); } public void Restart() @@ -335,10 +336,6 @@ namespace BizHawk.MultiClient } } - private void toolStripButton1_Click(object sender, EventArgs e) - { - Global.MainForm.PlayMovieFromBeginning(); - } private void RewindToBeginning_Click(object sender, EventArgs e) { @@ -348,8 +345,15 @@ namespace BizHawk.MultiClient private void FastForwardToEnd_Click(object sender, EventArgs e) { - - } + Global.MainForm.StopOnEnd ^= true; + this.FastFowardToEnd.Checked ^= true; + Global.MainForm.FastForward = this.FastFowardToEnd.Checked; + if (true == this.FastFowardToEnd.Checked) + { + this.FastForward.Checked = false; + this.TurboFastForward.Checked = false; + } + } private void editToolStripMenuItem_DropDownOpened(object sender, EventArgs e) { @@ -376,22 +380,28 @@ namespace BizHawk.MultiClient private void newProjectToolStripMenuItem_Click(object sender, EventArgs e) { - - } + Global.MainForm.RecordMovie(); + } private void openProjectToolStripMenuItem_Click(object sender, EventArgs e) { - - } + Global.MainForm.PlayMovie(); + } private void saveProjectToolStripMenuItem_Click(object sender, EventArgs e) { - + Global.MovieSession.Movie.WriteMovie(); } private void saveProjectAsToolStripMenuItem_Click(object sender, EventArgs e) { + string fileName = Movie.SaveRecordingAs(); + if ("" != fileName) + { + Global.MovieSession.Movie.UpdateFileName(fileName); + Global.MovieSession.Movie.WriteMovie(); + } } private void ClearVirtualPadHolds() @@ -412,5 +422,27 @@ namespace BizHawk.MultiClient { ClearVirtualPadHolds(); } + + private void FastForward_Click(object sender, EventArgs e) + { + this.FastForward.Checked ^= true; + Global.MainForm.FastForward = this.FastForward.Checked; + if (true == this.FastForward.Checked) + { + this.TurboFastForward.Checked = false; + this.FastFowardToEnd.Checked = false; + } + } + + private void TurboFastForward_Click(object sender, EventArgs e) + { + Global.MainForm.TurboFastForward ^= true; + this.TurboFastForward.Checked ^= true; + if (true == this.TurboFastForward.Checked) + { + this.FastForward.Checked = false; + this.FastFowardToEnd.Checked = false; + } + } } } diff --git a/BizHawk.MultiClient/tools/VirtualPadNES.cs b/BizHawk.MultiClient/tools/VirtualPadNES.cs index bf7cf9055f..ef88677e46 100644 --- a/BizHawk.MultiClient/tools/VirtualPadNES.cs +++ b/BizHawk.MultiClient/tools/VirtualPadNES.cs @@ -171,16 +171,16 @@ namespace BizHawk.MultiClient public override void SetButtons(string buttons) { if (buttons.Length < 8) return; - if (buttons[0] == '.') PR.Checked = false; else PR.Checked = true; - if (buttons[1] == '.') PL.Checked = false; else PL.Checked = true; - if (buttons[2] == '.') PD.Checked = false; else PD.Checked = true; - if (buttons[3] == '.') PU.Checked = false; else PU.Checked = true; - - if (buttons[4] == '.') B2.Checked = false; else B2.Checked = true; - if (buttons[5] == '.') B1.Checked = false; else B1.Checked = true; - if (buttons[6] == '.') B4.Checked = false; else B4.Checked = true; - if (buttons[7] == '.') B3.Checked = false; else B3.Checked = true; - } + if (buttons[0] == '.') PU.Checked = false; else PU.Checked = true; + if (buttons[1] == '.') PD.Checked = false; else PD.Checked = true; + if (buttons[2] == '.') PL.Checked = false; else PL.Checked = true; + if (buttons[3] == '.') PR.Checked = false; else PR.Checked = true; + + if (buttons[4] == '.') B1.Checked = false; else B1.Checked = true; + if (buttons[5] == '.') B2.Checked = false; else B2.Checked = true; + if (buttons[6] == '.') B3.Checked = false; else B3.Checked = true; + if (buttons[7] == '.') B4.Checked = false; else B4.Checked = true; + } private void Buttons_CheckedChanged(object sender, EventArgs e) { diff --git a/BizHawk.MultiClient/tools/VirtualPadNESControl.cs b/BizHawk.MultiClient/tools/VirtualPadNESControl.cs index 5b51d075fa..4250ba0f41 100644 --- a/BizHawk.MultiClient/tools/VirtualPadNESControl.cs +++ b/BizHawk.MultiClient/tools/VirtualPadNESControl.cs @@ -88,7 +88,7 @@ namespace BizHawk.MultiClient public override string GetMnemonic() { StringBuilder input = new StringBuilder(""); - input.Append(B2.Checked ? "1" : "."); + input.Append(B2.Checked ? "r" : "."); input.Append("|"); return input.ToString(); } @@ -96,7 +96,14 @@ namespace BizHawk.MultiClient public override void SetButtons(string buttons) { if (buttons.Length < 1) return; - if (buttons[0] == '.' || buttons[0] == '0') B2.Checked = false; else B2.Checked = true; + if (buttons[0] == '.' || buttons[0] == 'l') + { + B2.Checked = false; + } + else + { + B2.Checked = true; + } } private void Buttons_CheckedChanged(object sender, EventArgs e)