Hokeys - hotkeys for obj and bg toggles for snes (in a SNES tab)

This commit is contained in:
adelikat 2012-09-15 16:43:16 +00:00
parent cfe73b292d
commit 77d0ff8ac8
5 changed files with 1029 additions and 627 deletions

View File

@ -377,10 +377,10 @@ namespace BizHawk.MultiClient
public bool SNES_ShowBG2_1 = true;
public bool SNES_ShowBG3_1 = true;
public bool SNES_ShowBG4_1 = true;
public bool SNES_ShowOBJ_0 = true;
public bool SNES_ShowOBJ_1 = true;
public bool SNES_ShowOBJ_2 = true;
public bool SNES_ShowOBJ_3 = true;
public bool SNES_ShowOBJ1 = true;
public bool SNES_ShowOBJ2 = true;
public bool SNES_ShowOBJ3 = true;
public bool SNES_ShowOBJ4 = true;
// PCE Graphics settings
public bool PCEDispBG1 = true;
@ -546,6 +546,14 @@ namespace BizHawk.MultiClient
public string DecreaseWindowSize = "Alt+DownArrow";
public string AutoholdBinding = "";
public string AutoholdClear = "";
public string ToggleSNESBG1Binding = "";
public string ToggleSNESBG2Binding = "";
public string ToggleSNESBG3Binding = "";
public string ToggleSNESBG4Binding = "";
public string ToggleSNESOBJ1Binding = "";
public string ToggleSNESOBJ2Binding = "";
public string ToggleSNESOBJ3Binding = "";
public string ToggleSNESOBJ4Binding = "";
// NES Sound settings
public bool NESEnableSquare1 = true;

View File

@ -4,6 +4,7 @@ using System.IO;
using System.Windows.Forms;
using BizHawk.Emulation.Consoles.Calculator;
using System.Drawing.Imaging;
using BizHawk.Emulation.Consoles.Nintendo.SNES;
namespace BizHawk.MultiClient
{
@ -1668,52 +1669,180 @@ namespace BizHawk.MultiClient
LoadSNESGraphicsDebugger();
}
private void SNES_ToggleBG1()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowBG1_1 = Global.Config.SNES_ShowBG1_0 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowBG1_1)
{
Global.OSD.AddMessage("BG 1 Layer On");
}
else
{
Global.OSD.AddMessage("BG 1 Layer Off");
}
}
}
private void SNES_ToggleBG2()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowBG2_1 = Global.Config.SNES_ShowBG2_0 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowBG2_1)
{
Global.OSD.AddMessage("BG 2 Layer On");
}
else
{
Global.OSD.AddMessage("BG 2 Layer Off");
}
}
}
private void SNES_ToggleBG3()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowBG3_1 = Global.Config.SNES_ShowBG3_0 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowBG3_1)
{
Global.OSD.AddMessage("BG 3 Layer On");
}
else
{
Global.OSD.AddMessage("BG 3 Layer Off");
}
}
}
private void SNES_ToggleBG4()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowBG4_1 = Global.Config.SNES_ShowBG4_0 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowBG4_1)
{
Global.OSD.AddMessage("BG 4 Layer On");
}
else
{
Global.OSD.AddMessage("BG 4 Layer Off");
}
}
}
private void SNES_ToggleOBJ1()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowOBJ1 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowOBJ1)
{
Global.OSD.AddMessage("OBJ 1 Layer On");
}
else
{
Global.OSD.AddMessage("OBJ 1 Layer Off");
}
}
}
private void SNES_ToggleOBJ2()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowOBJ2 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowOBJ2)
{
Global.OSD.AddMessage("OBJ 2 Layer On");
}
else
{
Global.OSD.AddMessage("OBJ 2 Layer Off");
}
}
}
private void SNES_ToggleOBJ3()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowOBJ3 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowOBJ3)
{
Global.OSD.AddMessage("OBJ 3 Layer On");
}
else
{
Global.OSD.AddMessage("OBJ 3 Layer Off");
}
}
}
private void SNES_ToggleOBJ4()
{
if (Global.Emulator is LibsnesCore)
{
Global.Config.SNES_ShowOBJ4 ^= true;
SyncCoreInputComm();
if (Global.Config.SNES_ShowOBJ4)
{
Global.OSD.AddMessage("OBJ 4 Layer On");
}
else
{
Global.OSD.AddMessage("OBJ 4 Layer Off");
}
}
}
private void bG1ToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.SNES_ShowBG1_1 = Global.Config.SNES_ShowBG1_0 ^= true;
SyncCoreInputComm();
SNES_ToggleBG1();
}
private void bG1ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
Global.Config.SNES_ShowBG2_1 = Global.Config.SNES_ShowBG2_0 ^= true;
SyncCoreInputComm();
SNES_ToggleBG2();
}
private void bG2ToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.SNES_ShowBG3_1 = Global.Config.SNES_ShowBG3_0 ^= true;
SyncCoreInputComm();
SNES_ToggleBG3();
}
private void bG3ToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.SNES_ShowBG4_1 = Global.Config.SNES_ShowBG4_0 ^= true;
SyncCoreInputComm();
SNES_ToggleBG4();
}
private void oBJ0ToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.SNES_ShowOBJ_0 ^= true;
SyncCoreInputComm();
SNES_ToggleOBJ1();
}
private void oBJ1ToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.SNES_ShowOBJ_1 ^= true;
SyncCoreInputComm();
SNES_ToggleOBJ2();
}
private void oBJ2ToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.SNES_ShowOBJ_2 ^= true;
SyncCoreInputComm();
SNES_ToggleOBJ3();
}
private void oBJ3ToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.SNES_ShowOBJ_3 ^= true;
SyncCoreInputComm();
SNES_ToggleOBJ4();
}
private void displayToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
@ -1723,10 +1852,10 @@ namespace BizHawk.MultiClient
bG2ToolStripMenuItem.Checked = Global.Config.SNES_ShowBG3_1;
bG3ToolStripMenuItem.Checked = Global.Config.SNES_ShowBG4_1;
oBJ0ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ_0;
oBJ1ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ_1;
oBJ2ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ_2;
oBJ3ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ_3;
oBJ0ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ1;
oBJ1ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ2;
oBJ2ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ3;
oBJ3ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ4;
}
}
}

View File

@ -353,10 +353,10 @@ namespace BizHawk.MultiClient
Global.CoreInputComm.SNES_ShowBG3_1 = Global.Config.SNES_ShowBG3_1;
Global.CoreInputComm.SNES_ShowBG4_0 = Global.Config.SNES_ShowBG4_0;
Global.CoreInputComm.SNES_ShowBG4_1 = Global.Config.SNES_ShowBG4_1;
Global.CoreInputComm.SNES_ShowOBJ_0 = Global.Config.SNES_ShowOBJ_0;
Global.CoreInputComm.SNES_ShowOBJ_1 = Global.Config.SNES_ShowOBJ_1;
Global.CoreInputComm.SNES_ShowOBJ_2 = Global.Config.SNES_ShowOBJ_2;
Global.CoreInputComm.SNES_ShowOBJ_3 = Global.Config.SNES_ShowOBJ_3;
Global.CoreInputComm.SNES_ShowOBJ_0 = Global.Config.SNES_ShowOBJ1;
Global.CoreInputComm.SNES_ShowOBJ_1 = Global.Config.SNES_ShowOBJ2;
Global.CoreInputComm.SNES_ShowOBJ_2 = Global.Config.SNES_ShowOBJ3;
Global.CoreInputComm.SNES_ShowOBJ_3 = Global.Config.SNES_ShowOBJ4;
}
void SyncPresentationMode()
@ -583,12 +583,24 @@ namespace BizHawk.MultiClient
"Lua Console", "Cheats", "Open ROM", "Close ROM", "Display FPS", "Display FrameCounter", "Display LagCounter", "Display Input", "Toggle Read Only",
"Play Movie", "Record Movie", "Stop Movie", "Play Beginning", "Volume Up", "Volume Down", "Toggle MultiTrack", "Record All", "Record None", "Increment Player",
"Soft Reset", "Decrement Player", "Record AVI/WAV", "Stop AVI/WAV", "Toggle Menu", "Increase Speed", "Decrease Speed", "Toggle Background Input",
"Autohold", "Clear Autohold"}
"Autohold", "Clear Autohold", "SNES Toggle BG 1", "SNES Toggle BG 2", "SNES Toggle BG 3", "SNES Toggle BG 4", "SNES Toggle OBJ 1", "SNES Toggle OBJ 2", "SNES Toggle OBJ 3",
"SNES Toggle OBJ 4" }
};
private void InitControls()
{
var controls = new Controller(ClientControlsDef);
controls.BindMulti("SNES Toggle BG 1", Global.Config.ToggleSNESBG1Binding);
controls.BindMulti("SNES Toggle BG 2", Global.Config.ToggleSNESBG2Binding);
controls.BindMulti("SNES Toggle BG 3", Global.Config.ToggleSNESBG3Binding);
controls.BindMulti("SNES Toggle BG 4", Global.Config.ToggleSNESBG4Binding);
controls.BindMulti("SNES Toggle OBJ 1", Global.Config.ToggleSNESOBJ1Binding);
controls.BindMulti("SNES Toggle OBJ 2", Global.Config.ToggleSNESOBJ2Binding);
controls.BindMulti("SNES Toggle OBJ 3", Global.Config.ToggleSNESOBJ3Binding);
controls.BindMulti("SNES Toggle OBJ 4", Global.Config.ToggleSNESOBJ4Binding);
controls.BindMulti("IncreaseWindowSize", Global.Config.IncreaseWindowSize);
controls.BindMulti("DecreaseWindowSize", Global.Config.DecreaseWindowSize);
controls.BindMulti("Fast Forward", Global.Config.FastForwardBinding);
@ -1743,6 +1755,32 @@ namespace BizHawk.MultiClient
{
default:
return false;
case "SNES Toggle BG 1":
SNES_ToggleBG1();
break;
case "SNES Toggle BG 2":
SNES_ToggleBG2();
break;
case "SNES Toggle BG 3":
SNES_ToggleBG3();
break;
case "SNES Toggle BG 4":
SNES_ToggleBG4();
break;
case "SNES Toggle OBJ 1":
SNES_ToggleOBJ1();
break;
case "SNES Toggle OBJ 2":
SNES_ToggleOBJ2();
break;
case "SNES Toggle OBJ 3":
SNES_ToggleOBJ3();
break;
case "SNES Toggle OBJ 4":
SNES_ToggleOBJ4();
break;
case "Clear Autohold":
ClearAutohold();
break;

File diff suppressed because it is too large Load Diff

View File

@ -101,6 +101,14 @@ namespace BizHawk.MultiClient.tools
IDW_ToggleBGInput.SetBindings(Global.Config.ToggleBackgroundInput);
IDW_Autohold.SetBindings(Global.Config.AutoholdBinding);
IDW_ClearAutohold.SetBindings(Global.Config.AutoholdClear);
IDW_SNES_ToggleBG1.SetBindings(Global.Config.ToggleSNESBG1Binding);
IDW_SNES_ToggleBG2.SetBindings(Global.Config.ToggleSNESBG2Binding);
IDW_SNES_ToggleBG3.SetBindings(Global.Config.ToggleSNESBG3Binding);
IDW_SNES_ToggleBG4.SetBindings(Global.Config.ToggleSNESBG4Binding);
IDW_SNES_ToggleOBJ1.SetBindings(Global.Config.ToggleSNESOBJ1Binding);
IDW_SNES_ToggleOBJ2.SetBindings(Global.Config.ToggleSNESOBJ2Binding);
IDW_SNES_ToggleOBJ3.SetBindings(Global.Config.ToggleSNESOBJ3Binding);
IDW_SNES_ToggleOBJ4.SetBindings(Global.Config.ToggleSNESOBJ4Binding);
}
private void button2_Click(object sender, EventArgs e)
{
@ -212,6 +220,15 @@ namespace BizHawk.MultiClient.tools
Global.Config.AutoholdBinding = IDW_Autohold.Text;
Global.Config.AutoholdClear = IDW_ClearAutohold.Text;
Global.Config.ToggleSNESBG1Binding = IDW_SNES_ToggleBG1.Text;
Global.Config.ToggleSNESBG2Binding = IDW_SNES_ToggleBG2.Text;
Global.Config.ToggleSNESBG3Binding = IDW_SNES_ToggleBG3.Text;
Global.Config.ToggleSNESBG4Binding = IDW_SNES_ToggleBG4.Text;
Global.Config.ToggleSNESOBJ1Binding = IDW_SNES_ToggleOBJ1.Text;
Global.Config.ToggleSNESOBJ2Binding = IDW_SNES_ToggleOBJ2.Text;
Global.Config.ToggleSNESOBJ3Binding = IDW_SNES_ToggleOBJ3.Text;
Global.Config.ToggleSNESOBJ4Binding = IDW_SNES_ToggleOBJ4.Text;
this.DialogResult = DialogResult.OK;
this.Close();
}