TAStudio - fix updating of nes control pad, add menu item "Update Pads on Movie Playback", different color for control pad button background when pressed

This commit is contained in:
andres.delikat 2011-07-30 17:59:18 +00:00
parent e4ba668d31
commit e121498c4c
6 changed files with 89 additions and 39 deletions

View File

@ -281,6 +281,7 @@
public int TASWndy = -1;
public int TASWidth = -1;
public int TASHeight = -1;
public bool TASUpdatePads = true;
// NES Game Genie Encoder/Decoder
public bool NESGGAutoload = false;

View File

@ -947,6 +947,7 @@ namespace BizHawk.MultiClient
NESNameTableViewer1.Restart();
NESDebug1.Restart();
TI83KeyPad1.Restart();
TAStudio1.Restart();
if (Global.Config.LoadCheatFileByGame)
{
if (Cheats1.AttemptLoadCheatFile())

View File

@ -48,8 +48,8 @@
this.insertFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.restoreWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
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();
@ -68,6 +68,8 @@
this.TASView = new BizHawk.VirtualListView();
this.Frame = new System.Windows.Forms.ColumnHeader();
this.Log = new System.Windows.Forms.ColumnHeader();
this.updatePadsOnMovePlaybackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.menuStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
@ -201,6 +203,8 @@
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(58, 20);
@ -210,24 +214,24 @@
// saveWindowPositionToolStripMenuItem
//
this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem";
this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(203, 22);
this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(235, 22);
this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position";
this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
//
// restoreWindowToolStripMenuItem
//
this.restoreWindowToolStripMenuItem.Name = "restoreWindowToolStripMenuItem";
this.restoreWindowToolStripMenuItem.Size = new System.Drawing.Size(203, 22);
this.restoreWindowToolStripMenuItem.Text = "Restore Default Settings";
this.restoreWindowToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowToolStripMenuItem_Click);
//
// autoloadToolStripMenuItem
//
this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem";
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(203, 22);
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(235, 22);
this.autoloadToolStripMenuItem.Text = "Autoload";
this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click);
//
// restoreWindowToolStripMenuItem
//
this.restoreWindowToolStripMenuItem.Name = "restoreWindowToolStripMenuItem";
this.restoreWindowToolStripMenuItem.Size = new System.Drawing.Size(235, 22);
this.restoreWindowToolStripMenuItem.Text = "Restore Default Settings";
this.restoreWindowToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowToolStripMenuItem_Click);
//
// toolStrip1
//
this.toolStrip1.ClickThrough = true;
@ -395,6 +399,18 @@
this.Log.Text = "Log";
this.Log.Width = 201;
//
// updatePadsOnMovePlaybackToolStripMenuItem
//
this.updatePadsOnMovePlaybackToolStripMenuItem.Name = "updatePadsOnMovePlaybackToolStripMenuItem";
this.updatePadsOnMovePlaybackToolStripMenuItem.Size = new System.Drawing.Size(235, 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(232, 6);
//
// TAStudio
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -460,5 +476,7 @@
private System.Windows.Forms.GroupBox ControllerBox;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripButton StopButton;
private System.Windows.Forms.ToolStripMenuItem updatePadsOnMovePlaybackToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
}
}

View File

@ -55,7 +55,8 @@ namespace BizHawk.MultiClient
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY)
{
string str = Global.MainForm.UserMovie.GetInputFrame(Global.Emulator.Frame);
if (Global.Config.TASUpdatePads)
{
switch (Global.Emulator.SystemId)
{
case "NES":
@ -80,8 +81,7 @@ namespace BizHawk.MultiClient
default:
break;
}
}
}
}
@ -119,7 +119,7 @@ namespace BizHawk.MultiClient
TASView.ensureVisible(Global.Emulator.Frame);
}
private void TAStudio_Load(object sender, EventArgs e)
public void LoadTAStudio()
{
//TODO: don't engage until new/open project
//
@ -195,6 +195,11 @@ namespace BizHawk.MultiClient
}
}
private void TAStudio_Load(object sender, EventArgs e)
{
LoadTAStudio();
}
private void LoadConfigSettings()
{
defaultWidth = Size.Width; //Save these first so that the user can restore to its original size
@ -229,9 +234,10 @@ namespace BizHawk.MultiClient
public void Restart()
{
TASView.Clear();
TASView.Update();
ControllerBox.Controls.Clear();
ClearPads();
DisplayList();
Pads.Clear();
LoadTAStudio();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
@ -243,6 +249,7 @@ namespace BizHawk.MultiClient
{
saveWindowPositionToolStripMenuItem.Checked = Global.Config.TAStudioSaveWindowPosition;
autoloadToolStripMenuItem.Checked = Global.Config.AutoloadTAStudio;
updatePadsOnMovePlaybackToolStripMenuItem.Checked = Global.Config.TASUpdatePads;
}
private void saveWindowPositionToolStripMenuItem_Click(object sender, EventArgs e)
@ -330,5 +337,10 @@ namespace BizHawk.MultiClient
if (Global.MainForm.ReadOnly)
return;
}
private void updatePadsOnMovePlaybackToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.TASUpdatePads ^= true;
}
}
}

View File

@ -96,14 +96,20 @@ namespace BizHawk.MultiClient
public override void SetButtons(string buttons)
{
if (buttons.Length < 1) return;
if (buttons[0] == '.') B2.Checked = false; else B2.Checked = true;
if (buttons[0] == '.' || buttons[0] == '0') B2.Checked = false; else B2.Checked = true;
}
private void Buttons_CheckedChanged(object sender, EventArgs e)
{
if (Global.Emulator.SystemId != "NES") return;
else if (sender == B2)
{
Global.StickyXORAdapter.SetSticky("Reset", B2.Checked);
if (B2.Checked == true)
B2.BackColor = Color.Pink;
else
B2.BackColor = SystemColors.Control;
}
}
public override void Clear()

View File

@ -104,9 +104,21 @@ namespace BizHawk.MultiClient
{
if (Global.Emulator.SystemId != "SMS") return;
else if (sender == B1)
{
Global.StickyXORAdapter.SetSticky("Pause", B1.Checked);
if (B1.Checked == true)
B1.BackColor = Color.Pink;
else
B1.BackColor = SystemColors.Control;
}
else if (sender == B2)
{
Global.StickyXORAdapter.SetSticky("Reset", B2.Checked);
if (B2.Checked == true)
B2.BackColor = Color.Pink;
else
B2.BackColor = SystemColors.Control;
}
}
public override void Clear()