add Reset Speed hotkey. it's bound to Shift+Equals by default because.. well, it's kind of logical... kind of. If you have any better suggestions...

fixes #2154
This commit is contained in:
zeromus 2020-06-20 18:55:39 -04:00
parent 936b7606d0
commit fc5e325608
3 changed files with 23 additions and 8 deletions

View File

@ -137,6 +137,7 @@ namespace BizHawk.Client.Common
Bind("General", "Smaller Window", "Alt+Down"),
Bind("General", "Increase Speed", "Plus"),
Bind("General", "Decrease Speed", "Minus"),
Bind("General", "Reset Speed", "Shift+Plus"),
Bind("General", "Reboot Core", "Ctrl+R"),
Bind("General", "Toggle Sound"),
Bind("General", "Exit Program"),

View File

@ -120,6 +120,9 @@ namespace BizHawk.Client.EmuHawk
case "Increase Speed":
IncreaseSpeed();
break;
case "Reset Speed":
ResetSpeed();
break;
case "Decrease Speed":
DecreaseSpeed();
break;

View File

@ -2498,13 +2498,27 @@ namespace BizHawk.Client.EmuHawk
private static readonly int[] SpeedPercents = { 1, 3, 6, 12, 25, 50, 75, 100, 150, 200, 300, 400, 800, 1600, 3200, 6400 };
private bool CheckCanSetSpeed()
{
if (Config.ClockThrottle)
return true;
AddOnScreenMessage("Unable to change speed, please switch to clock throttle");
return false;
}
private void ResetSpeed()
{
if (!CheckCanSetSpeed())
return;
SetSpeedPercent(100);
}
private void IncreaseSpeed()
{
if (!Config.ClockThrottle)
{
AddOnScreenMessage("Unable to change speed, please switch to clock throttle");
if (!CheckCanSetSpeed())
return;
}
var oldPercent = Config.SpeedPercent;
int newPercent;
@ -2522,11 +2536,8 @@ namespace BizHawk.Client.EmuHawk
private void DecreaseSpeed()
{
if (!Config.ClockThrottle)
{
AddOnScreenMessage("Unable to change speed, please switch to clock throttle");
if (!CheckCanSetSpeed())
return;
}
var oldPercent = Config.SpeedPercent;
int newPercent;