NES - Implement ability to record hard resets

This commit is contained in:
adelikat 2012-11-06 02:32:33 +00:00
parent 089379711a
commit 53520540ea
2 changed files with 26 additions and 3 deletions

View File

@ -121,7 +121,7 @@ namespace BizHawk.MultiClient
{"Atari 2600 Basic Controller", new Dictionary<string, string>() {{"Reset", "r"}, {"Select", "s"}}},
{"Gameboy Controller", new Dictionary<string, string>() {{"Power", "P"}}},
{"Genesis 3-Button Controller", new Dictionary<string, string>() {}},
{"NES Controller", new Dictionary<string, string>() {{"Reset", "r"}}},
{"NES Controller", new Dictionary<string, string>() {{"Reset", "r"}, {"Power", "P"}}},
{"SNES Controller", new Dictionary<string, string>() {{"Power", "P"}, {"Reset", "r"}}},
{"PC Engine Controller", new Dictionary<string, string>() {}},
{"SMS Controller", new Dictionary<string, string>() {{"Pause", "p"}, {"Reset", "r"}}},

View File

@ -426,7 +426,18 @@ namespace BizHawk.MultiClient
}
if (ControlType == "NES Controller")
{
input.Append(IsBasePressed("Reset") ? Global.COMMANDS[ControlType]["Reset"] : ".");
if (IsBasePressed("Power"))
{
input.Append(Global.COMMANDS[ControlType]["Power"]);
}
else if (IsBasePressed("Reset"))
{
input.Append(Global.COMMANDS[ControlType]["Reset"]);
}
else
{
input.Append('.');
}
}
if (ControlType == "Gameboy Controller")
{
@ -673,7 +684,19 @@ namespace BizHawk.MultiClient
int start = 3;
if (ControlType == "NES Controller")
{
if (mnemonic.Length < 2) return;
if (mnemonic.Length < 2)
{
return;
}
else if (mnemonic[1] == 'P')
{
Force("Power", true);
}
else if (mnemonic[1] != '.' && mnemonic[1] != '0')
{
Force("Reset", true);
}
Force("Reset", mnemonic[1] != '.' && mnemonic[1] != '0' && mnemonic[1] != 'l');
}
if (ControlType == "Gameboy Controller")