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:
parent
e4ba668d31
commit
e121498c4c
|
@ -281,6 +281,7 @@
|
||||||
public int TASWndy = -1;
|
public int TASWndy = -1;
|
||||||
public int TASWidth = -1;
|
public int TASWidth = -1;
|
||||||
public int TASHeight = -1;
|
public int TASHeight = -1;
|
||||||
|
public bool TASUpdatePads = true;
|
||||||
|
|
||||||
// NES Game Genie Encoder/Decoder
|
// NES Game Genie Encoder/Decoder
|
||||||
public bool NESGGAutoload = false;
|
public bool NESGGAutoload = false;
|
||||||
|
|
|
@ -947,6 +947,7 @@ namespace BizHawk.MultiClient
|
||||||
NESNameTableViewer1.Restart();
|
NESNameTableViewer1.Restart();
|
||||||
NESDebug1.Restart();
|
NESDebug1.Restart();
|
||||||
TI83KeyPad1.Restart();
|
TI83KeyPad1.Restart();
|
||||||
|
TAStudio1.Restart();
|
||||||
if (Global.Config.LoadCheatFileByGame)
|
if (Global.Config.LoadCheatFileByGame)
|
||||||
{
|
{
|
||||||
if (Cheats1.AttemptLoadCheatFile())
|
if (Cheats1.AttemptLoadCheatFile())
|
||||||
|
|
|
@ -48,8 +48,8 @@
|
||||||
this.insertFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.insertFrameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.saveWindowPositionToolStripMenuItem = 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.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.restoreWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStrip1 = new ToolStripEx();
|
this.toolStrip1 = new ToolStripEx();
|
||||||
this.RewindToBeginning = new System.Windows.Forms.ToolStripButton();
|
this.RewindToBeginning = new System.Windows.Forms.ToolStripButton();
|
||||||
this.RewindButton = new System.Windows.Forms.ToolStripButton();
|
this.RewindButton = new System.Windows.Forms.ToolStripButton();
|
||||||
|
@ -68,6 +68,8 @@
|
||||||
this.TASView = new BizHawk.VirtualListView();
|
this.TASView = new BizHawk.VirtualListView();
|
||||||
this.Frame = new System.Windows.Forms.ColumnHeader();
|
this.Frame = new System.Windows.Forms.ColumnHeader();
|
||||||
this.Log = 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.menuStrip1.SuspendLayout();
|
||||||
this.toolStrip1.SuspendLayout();
|
this.toolStrip1.SuspendLayout();
|
||||||
this.contextMenuStrip1.SuspendLayout();
|
this.contextMenuStrip1.SuspendLayout();
|
||||||
|
@ -201,6 +203,8 @@
|
||||||
this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.saveWindowPositionToolStripMenuItem,
|
this.saveWindowPositionToolStripMenuItem,
|
||||||
this.autoloadToolStripMenuItem,
|
this.autoloadToolStripMenuItem,
|
||||||
|
this.updatePadsOnMovePlaybackToolStripMenuItem,
|
||||||
|
this.toolStripSeparator4,
|
||||||
this.restoreWindowToolStripMenuItem});
|
this.restoreWindowToolStripMenuItem});
|
||||||
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(58, 20);
|
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(58, 20);
|
||||||
|
@ -210,24 +214,24 @@
|
||||||
// saveWindowPositionToolStripMenuItem
|
// saveWindowPositionToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.saveWindowPositionToolStripMenuItem.Name = "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.Text = "Save Window Position";
|
||||||
this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
|
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
|
// autoloadToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.autoloadToolStripMenuItem.Name = "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.Text = "Autoload";
|
||||||
this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click);
|
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
|
// toolStrip1
|
||||||
//
|
//
|
||||||
this.toolStrip1.ClickThrough = true;
|
this.toolStrip1.ClickThrough = true;
|
||||||
|
@ -395,6 +399,18 @@
|
||||||
this.Log.Text = "Log";
|
this.Log.Text = "Log";
|
||||||
this.Log.Width = 201;
|
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
|
// TAStudio
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
@ -460,5 +476,7 @@
|
||||||
private System.Windows.Forms.GroupBox ControllerBox;
|
private System.Windows.Forms.GroupBox ControllerBox;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
|
||||||
private System.Windows.Forms.ToolStripButton StopButton;
|
private System.Windows.Forms.ToolStripButton StopButton;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem updatePadsOnMovePlaybackToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -55,33 +55,33 @@ namespace BizHawk.MultiClient
|
||||||
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY)
|
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
string str = Global.MainForm.UserMovie.GetInputFrame(Global.Emulator.Frame);
|
string str = Global.MainForm.UserMovie.GetInputFrame(Global.Emulator.Frame);
|
||||||
|
if (Global.Config.TASUpdatePads)
|
||||||
switch (Global.Emulator.SystemId)
|
|
||||||
{
|
{
|
||||||
case "NES":
|
switch (Global.Emulator.SystemId)
|
||||||
Pads[0].SetButtons(str.Substring(3, 8));
|
{
|
||||||
Pads[1].SetButtons(str.Substring(12, 8));
|
case "NES":
|
||||||
Pads[2].SetButtons(str[1].ToString());
|
Pads[0].SetButtons(str.Substring(3, 8));
|
||||||
break;
|
Pads[1].SetButtons(str.Substring(12, 8));
|
||||||
case "SMS":
|
Pads[2].SetButtons(str[1].ToString());
|
||||||
case "GG":
|
break;
|
||||||
case "SG":
|
case "SMS":
|
||||||
Pads[0].SetButtons(str.Substring(0, 6));
|
case "GG":
|
||||||
Pads[1].SetButtons(str.Substring(7, 6));
|
case "SG":
|
||||||
Pads[2].SetButtons(str.Substring(14, 2));
|
Pads[0].SetButtons(str.Substring(0, 6));
|
||||||
break;
|
Pads[1].SetButtons(str.Substring(7, 6));
|
||||||
case "PCE":
|
Pads[2].SetButtons(str.Substring(14, 2));
|
||||||
case "SGX":
|
break;
|
||||||
Pads[0].SetButtons(str.Substring(3, 8));
|
case "PCE":
|
||||||
Pads[1].SetButtons(str.Substring(12, 8));
|
case "SGX":
|
||||||
Pads[2].SetButtons(str.Substring(21, 8));
|
Pads[0].SetButtons(str.Substring(3, 8));
|
||||||
Pads[3].SetButtons(str.Substring(30, 8));
|
Pads[1].SetButtons(str.Substring(12, 8));
|
||||||
break;
|
Pads[2].SetButtons(str.Substring(21, 8));
|
||||||
default:
|
Pads[3].SetButtons(str.Substring(30, 8));
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ namespace BizHawk.MultiClient
|
||||||
TASView.ensureVisible(Global.Emulator.Frame);
|
TASView.ensureVisible(Global.Emulator.Frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TAStudio_Load(object sender, EventArgs e)
|
public void LoadTAStudio()
|
||||||
{
|
{
|
||||||
//TODO: don't engage until new/open project
|
//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()
|
private void LoadConfigSettings()
|
||||||
{
|
{
|
||||||
defaultWidth = Size.Width; //Save these first so that the user can restore to its original size
|
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()
|
public void Restart()
|
||||||
{
|
{
|
||||||
TASView.Clear();
|
TASView.Clear();
|
||||||
TASView.Update();
|
ControllerBox.Controls.Clear();
|
||||||
ClearPads();
|
ClearPads();
|
||||||
DisplayList();
|
Pads.Clear();
|
||||||
|
LoadTAStudio();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
@ -243,6 +249,7 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
saveWindowPositionToolStripMenuItem.Checked = Global.Config.TAStudioSaveWindowPosition;
|
saveWindowPositionToolStripMenuItem.Checked = Global.Config.TAStudioSaveWindowPosition;
|
||||||
autoloadToolStripMenuItem.Checked = Global.Config.AutoloadTAStudio;
|
autoloadToolStripMenuItem.Checked = Global.Config.AutoloadTAStudio;
|
||||||
|
updatePadsOnMovePlaybackToolStripMenuItem.Checked = Global.Config.TASUpdatePads;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveWindowPositionToolStripMenuItem_Click(object sender, EventArgs e)
|
private void saveWindowPositionToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
@ -330,5 +337,10 @@ namespace BizHawk.MultiClient
|
||||||
if (Global.MainForm.ReadOnly)
|
if (Global.MainForm.ReadOnly)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updatePadsOnMovePlaybackToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Global.Config.TASUpdatePads ^= true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,14 +96,20 @@ namespace BizHawk.MultiClient
|
||||||
public override void SetButtons(string buttons)
|
public override void SetButtons(string buttons)
|
||||||
{
|
{
|
||||||
if (buttons.Length < 1) return;
|
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)
|
private void Buttons_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (Global.Emulator.SystemId != "NES") return;
|
if (Global.Emulator.SystemId != "NES") return;
|
||||||
else if (sender == B2)
|
else if (sender == B2)
|
||||||
|
{
|
||||||
Global.StickyXORAdapter.SetSticky("Reset", B2.Checked);
|
Global.StickyXORAdapter.SetSticky("Reset", B2.Checked);
|
||||||
|
if (B2.Checked == true)
|
||||||
|
B2.BackColor = Color.Pink;
|
||||||
|
else
|
||||||
|
B2.BackColor = SystemColors.Control;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Clear()
|
public override void Clear()
|
||||||
|
|
|
@ -104,9 +104,21 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
if (Global.Emulator.SystemId != "SMS") return;
|
if (Global.Emulator.SystemId != "SMS") return;
|
||||||
else if (sender == B1)
|
else if (sender == B1)
|
||||||
|
{
|
||||||
Global.StickyXORAdapter.SetSticky("Pause", B1.Checked);
|
Global.StickyXORAdapter.SetSticky("Pause", B1.Checked);
|
||||||
|
if (B1.Checked == true)
|
||||||
|
B1.BackColor = Color.Pink;
|
||||||
|
else
|
||||||
|
B1.BackColor = SystemColors.Control;
|
||||||
|
}
|
||||||
else if (sender == B2)
|
else if (sender == B2)
|
||||||
|
{
|
||||||
Global.StickyXORAdapter.SetSticky("Reset", B2.Checked);
|
Global.StickyXORAdapter.SetSticky("Reset", B2.Checked);
|
||||||
|
if (B2.Checked == true)
|
||||||
|
B2.BackColor = Color.Pink;
|
||||||
|
else
|
||||||
|
B2.BackColor = SystemColors.Control;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Clear()
|
public override void Clear()
|
||||||
|
|
Loading…
Reference in New Issue