Finish renaming quicksave slot 0 to 10 (resolves #3112)

This commit is contained in:
YoshiRulz 2023-01-03 05:37:02 +10:00
parent 7f33a8836d
commit 007d862c58
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
11 changed files with 68 additions and 75 deletions

View File

@ -5,6 +5,10 @@ namespace BizHawk.Client.Common
{ {
public sealed class SaveStateApi : ISaveStateApi public sealed class SaveStateApi : ISaveStateApi
{ {
private const string ERR_MSG_NOT_A_SLOT = "saveslots are 1 through 10";
private const string ERR_MSG_USE_SLOT_10 = "pass 10 for slot 10, not 0";
private readonly IMainFormForApi _mainForm; private readonly IMainFormForApi _mainForm;
private readonly Action<string> LogCallback; private readonly Action<string> LogCallback;
@ -28,14 +32,26 @@ namespace BizHawk.Client.Common
public void LoadSlot(int slotNum, bool suppressOSD) public void LoadSlot(int slotNum, bool suppressOSD)
{ {
if (slotNum is >= 0 and <= 9) _mainForm.LoadQuickSave(slotNum, suppressOSD: suppressOSD); if (slotNum is < 0 or > 10) throw new ArgumentOutOfRangeException(paramName: nameof(slotNum), message: ERR_MSG_NOT_A_SLOT);
if (slotNum is 0)
{
LogCallback(ERR_MSG_USE_SLOT_10);
slotNum = 10;
}
_mainForm.LoadQuickSave(slotNum, suppressOSD: suppressOSD);
} }
public void Save(string path, bool suppressOSD) => _mainForm.SaveState(path, path, true, suppressOSD); public void Save(string path, bool suppressOSD) => _mainForm.SaveState(path, path, true, suppressOSD);
public void SaveSlot(int slotNum, bool suppressOSD) public void SaveSlot(int slotNum, bool suppressOSD)
{ {
if (slotNum is >= 0 and <= 9) _mainForm.SaveQuickSave(slotNum, suppressOSD: suppressOSD, fromLua: true); if (slotNum is < 0 or > 10) throw new ArgumentOutOfRangeException(paramName: nameof(slotNum), message: ERR_MSG_NOT_A_SLOT);
if (slotNum is 0)
{
LogCallback(ERR_MSG_USE_SLOT_10);
slotNum = 10;
}
_mainForm.SaveQuickSave(slotNum, suppressOSD: suppressOSD, fromLua: true);
} }
} }
} }

View File

@ -1,4 +1,5 @@
using System.IO; using System;
using System.IO;
using BizHawk.Common; using BizHawk.Common;
using BizHawk.Emulation.Common; using BizHawk.Emulation.Common;
@ -22,21 +23,21 @@ namespace BizHawk.Client.Common
return; return;
} }
for (int i = 0; i < 10; i++) for (int i = 1; i <= 10; i++)
{ {
if (movie is ITasMovie tasMovie) if (movie is ITasMovie tasMovie)
{ {
_slots[(i + 1) % 10] = i < tasMovie.Branches.Count; _slots[i - 1] = (i - 1) < tasMovie.Branches.Count;
} }
else else
{ {
var file = new FileInfo($"{saveStatePrefix}.QuickSave{i}.State"); var file = new FileInfo($"{saveStatePrefix}.QuickSave{i % 10}.State");
if (file.Directory != null && file.Directory.Exists == false) if (file.Directory != null && file.Directory.Exists == false)
{ {
file.Directory.Create(); file.Directory.Create();
} }
_slots[i] = file.Exists; _slots[i - 1] = file.Exists;
} }
} }
} }
@ -54,7 +55,7 @@ namespace BizHawk.Client.Common
} }
Update(emulator, movie, savestatePrefix); Update(emulator, movie, savestatePrefix);
return _slots[slot]; return _slots[slot - 1];
} }
public void ClearRedoList() public void ClearRedoList()
@ -67,10 +68,11 @@ namespace BizHawk.Client.Common
public void ToggleRedo(IMovie movie, int slot) public void ToggleRedo(IMovie movie, int slot)
{ {
if (0.RangeTo(9).Contains(slot) && !(movie is ITasMovie)) _redo[slot] ^= true; if (slot is >= 1 and <= 10 && movie is not ITasMovie) _redo[slot - 1] ^= true;
} }
public bool IsRedo(IMovie movie, int slot) => 0.RangeTo(9).Contains(slot) && !(movie is ITasMovie) && _redo[slot]; public bool IsRedo(IMovie movie, int slot)
=> slot is >= 1 and <= 10 && movie is not ITasMovie && _redo[slot - 1];
public void SwapBackupSavestate(IMovie movie, string path, int currentSlot) public void SwapBackupSavestate(IMovie movie, string path, int currentSlot)
{ {

View File

@ -74,7 +74,7 @@ namespace BizHawk.Client.Common
Bind("Save States", "Save State 7", "Shift+F7"); Bind("Save States", "Save State 7", "Shift+F7");
Bind("Save States", "Save State 8", "Shift+F8"); Bind("Save States", "Save State 8", "Shift+F8");
Bind("Save States", "Save State 9", "Shift+F9"); Bind("Save States", "Save State 9", "Shift+F9");
Bind("Save States", "Save State 0", "Shift+F10"); Bind("Save States", "Save State 10", "Shift+F10");
Bind("Save States", "Load State 1", "F1"); Bind("Save States", "Load State 1", "F1");
Bind("Save States", "Load State 2", "F2"); Bind("Save States", "Load State 2", "F2");
Bind("Save States", "Load State 3", "F3"); Bind("Save States", "Load State 3", "F3");
@ -84,7 +84,7 @@ namespace BizHawk.Client.Common
Bind("Save States", "Load State 7", "F7"); Bind("Save States", "Load State 7", "F7");
Bind("Save States", "Load State 8", "F8"); Bind("Save States", "Load State 8", "F8");
Bind("Save States", "Load State 9", "F9"); Bind("Save States", "Load State 9", "F9");
Bind("Save States", "Load State 0", "F10"); Bind("Save States", "Load State 10", "F10");
Bind("Save States", "Select State 1", "Number1"); Bind("Save States", "Select State 1", "Number1");
Bind("Save States", "Select State 2", "Number2"); Bind("Save States", "Select State 2", "Number2");
Bind("Save States", "Select State 3", "Number3"); Bind("Save States", "Select State 3", "Number3");
@ -94,7 +94,7 @@ namespace BizHawk.Client.Common
Bind("Save States", "Select State 7", "Number7"); Bind("Save States", "Select State 7", "Number7");
Bind("Save States", "Select State 8", "Number8"); Bind("Save States", "Select State 8", "Number8");
Bind("Save States", "Select State 9", "Number9"); Bind("Save States", "Select State 9", "Number9");
Bind("Save States", "Select State 0", "Number0"); Bind("Save States", "Select State 10", "Number0");
Bind("Save States", "Quick Load", "P"); Bind("Save States", "Quick Load", "P");
Bind("Save States", "Quick Save", "I"); Bind("Save States", "Quick Save", "I");
Bind("Save States", "Save Named State"); Bind("Save States", "Save Named State");

View File

@ -523,7 +523,7 @@ namespace BizHawk.Client.EmuHawk
// //
// SaveState0MenuItem // SaveState0MenuItem
// //
this.SaveState0MenuItem.Text = "0"; this.SaveState0MenuItem.Text = "10";
this.SaveState0MenuItem.Click += new System.EventHandler(this.QuickSavestateMenuItem_Click); this.SaveState0MenuItem.Click += new System.EventHandler(this.QuickSavestateMenuItem_Click);
// //
// SaveNamedStateMenuItem // SaveNamedStateMenuItem
@ -604,7 +604,7 @@ namespace BizHawk.Client.EmuHawk
// //
// LoadState0MenuItem // LoadState0MenuItem
// //
this.LoadState0MenuItem.Text = "0"; this.LoadState0MenuItem.Text = "10";
this.LoadState0MenuItem.Click += new System.EventHandler(this.QuickLoadstateMenuItem_Click); this.LoadState0MenuItem.Click += new System.EventHandler(this.QuickLoadstateMenuItem_Click);
// //
// LoadNamedStateMenuItem // LoadNamedStateMenuItem
@ -640,7 +640,7 @@ namespace BizHawk.Client.EmuHawk
// //
// SelectSlot0MenuItem // SelectSlot0MenuItem
// //
this.SelectSlot0MenuItem.Text = "Select Slot 0"; this.SelectSlot0MenuItem.Text = "Select Slot 10";
this.SelectSlot0MenuItem.Click += new System.EventHandler(this.SelectSlotMenuItems_Click); this.SelectSlot0MenuItem.Click += new System.EventHandler(this.SelectSlotMenuItems_Click);
// //
// SelectSlot1MenuItem // SelectSlot1MenuItem
@ -2149,7 +2149,7 @@ namespace BizHawk.Client.EmuHawk
// Slot0StatusButton // Slot0StatusButton
// //
this.Slot0StatusButton.Text = "0"; this.Slot0StatusButton.Text = "0";
this.Slot0StatusButton.ToolTipText = "Save slot 0"; this.Slot0StatusButton.ToolTipText = "Save slot 10";
this.Slot0StatusButton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.SlotStatusButtons_MouseUp); this.Slot0StatusButton.MouseUp += new System.Windows.Forms.MouseEventHandler(this.SlotStatusButtons_MouseUp);
// //
// CheatStatusButton // CheatStatusButton

View File

@ -133,7 +133,7 @@ namespace BizHawk.Client.EmuHawk
SetSlotFont(SaveState7MenuItem, 7); SetSlotFont(SaveState7MenuItem, 7);
SetSlotFont(SaveState8MenuItem, 8); SetSlotFont(SaveState8MenuItem, 8);
SetSlotFont(SaveState9MenuItem, 9); SetSlotFont(SaveState9MenuItem, 9);
SetSlotFont(SaveState0MenuItem, 0); SetSlotFont(SaveState0MenuItem, 10);
AutosaveLastSlotMenuItem.Checked = Config.AutoSaveLastSaveSlot; AutosaveLastSlotMenuItem.Checked = Config.AutoSaveLastSaveSlot;
@ -146,7 +146,7 @@ namespace BizHawk.Client.EmuHawk
SaveState7MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 7"]; SaveState7MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 7"];
SaveState8MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 8"]; SaveState8MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 8"];
SaveState9MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 9"]; SaveState9MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 9"];
SaveState0MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 0"]; SaveState0MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save State 10"];
SaveNamedStateMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save Named State"]; SaveNamedStateMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Save Named State"];
} }
@ -161,7 +161,7 @@ namespace BizHawk.Client.EmuHawk
LoadState7MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 7"]; LoadState7MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 7"];
LoadState8MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 8"]; LoadState8MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 8"];
LoadState9MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 9"]; LoadState9MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 9"];
LoadState0MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 0"]; LoadState0MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load State 10"];
LoadNamedStateMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load Named State"]; LoadNamedStateMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Load Named State"];
AutoloadLastSlotMenuItem.Checked = Config.AutoLoadLastSaveSlot; AutoloadLastSlotMenuItem.Checked = Config.AutoLoadLastSaveSlot;
@ -175,7 +175,7 @@ namespace BizHawk.Client.EmuHawk
LoadState7MenuItem.Enabled = HasSlot(7); LoadState7MenuItem.Enabled = HasSlot(7);
LoadState8MenuItem.Enabled = HasSlot(8); LoadState8MenuItem.Enabled = HasSlot(8);
LoadState9MenuItem.Enabled = HasSlot(9); LoadState9MenuItem.Enabled = HasSlot(9);
LoadState0MenuItem.Enabled = HasSlot(0); LoadState0MenuItem.Enabled = HasSlot(10);
} }
private void SaveSlotSubMenu_DropDownOpened(object sender, EventArgs e) private void SaveSlotSubMenu_DropDownOpened(object sender, EventArgs e)
@ -189,7 +189,7 @@ namespace BizHawk.Client.EmuHawk
SelectSlot7MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 7"]; SelectSlot7MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 7"];
SelectSlot8MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 8"]; SelectSlot8MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 8"];
SelectSlot9MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 9"]; SelectSlot9MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 9"];
SelectSlot0MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 0"]; SelectSlot0MenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Select State 10"];
PreviousSlotMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Previous Slot"]; PreviousSlotMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Previous Slot"];
NextSlotMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Next Slot"]; NextSlotMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Next Slot"];
SaveToCurrentSlotMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Quick Save"]; SaveToCurrentSlotMenuItem.ShortcutKeyDisplayString = Config.HotkeyBindings["Quick Save"];
@ -204,7 +204,7 @@ namespace BizHawk.Client.EmuHawk
SelectSlot7MenuItem.Checked = Config.SaveSlot == 7; SelectSlot7MenuItem.Checked = Config.SaveSlot == 7;
SelectSlot8MenuItem.Checked = Config.SaveSlot == 8; SelectSlot8MenuItem.Checked = Config.SaveSlot == 8;
SelectSlot9MenuItem.Checked = Config.SaveSlot == 9; SelectSlot9MenuItem.Checked = Config.SaveSlot == 9;
SelectSlot0MenuItem.Checked = Config.SaveSlot == 0; SelectSlot0MenuItem.Checked = Config.SaveSlot is 10;
} }
private void SaveRamSubMenu_DropDownOpened(object sender, EventArgs e) private void SaveRamSubMenu_DropDownOpened(object sender, EventArgs e)
@ -381,7 +381,7 @@ namespace BizHawk.Client.EmuHawk
else if (sender == SelectSlot7MenuItem) Config.SaveSlot = 7; else if (sender == SelectSlot7MenuItem) Config.SaveSlot = 7;
else if (sender == SelectSlot8MenuItem) Config.SaveSlot = 8; else if (sender == SelectSlot8MenuItem) Config.SaveSlot = 8;
else if (sender == SelectSlot9MenuItem) Config.SaveSlot = 9; else if (sender == SelectSlot9MenuItem) Config.SaveSlot = 9;
else if (sender == SelectSlot0MenuItem) Config.SaveSlot = 0; else if (sender == SelectSlot0MenuItem) Config.SaveSlot = 10;
UpdateStatusSlots(); UpdateStatusSlots();
SaveSlotSelectedMessage(); SaveSlotSelectedMessage();
@ -2358,7 +2358,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
var file = new FileInfo($"{SaveStatePrefix()}.QuickSave{Config.SaveSlot}.State.bak"); var file = new FileInfo($"{SaveStatePrefix()}.QuickSave{Config.SaveSlot % 10}.State.bak");
if (file.Exists) if (file.Exists)
{ {
@ -2477,7 +2477,7 @@ namespace BizHawk.Client.EmuHawk
private void UndoSavestateContextMenuItem_Click(object sender, EventArgs e) private void UndoSavestateContextMenuItem_Click(object sender, EventArgs e)
{ {
_stateSlots.SwapBackupSavestate(MovieSession.Movie, $"{SaveStatePrefix()}.QuickSave{Config.SaveSlot}.State", Config.SaveSlot); _stateSlots.SwapBackupSavestate(MovieSession.Movie, $"{SaveStatePrefix()}.QuickSave{Config.SaveSlot % 10}.State", Config.SaveSlot);
AddOnScreenMessage($"Save slot {Config.SaveSlot} restored."); AddOnScreenMessage($"Save slot {Config.SaveSlot} restored.");
} }
@ -2509,7 +2509,7 @@ namespace BizHawk.Client.EmuHawk
private void SlotStatusButtons_MouseUp(object sender, MouseEventArgs e) private void SlotStatusButtons_MouseUp(object sender, MouseEventArgs e)
{ {
int slot = 0; var slot = 10;
if (sender == Slot1StatusButton) slot = 1; if (sender == Slot1StatusButton) slot = 1;
if (sender == Slot2StatusButton) slot = 2; if (sender == Slot2StatusButton) slot = 2;
if (sender == Slot3StatusButton) slot = 3; if (sender == Slot3StatusButton) slot = 3;
@ -2519,7 +2519,7 @@ namespace BizHawk.Client.EmuHawk
if (sender == Slot7StatusButton) slot = 7; if (sender == Slot7StatusButton) slot = 7;
if (sender == Slot8StatusButton) slot = 8; if (sender == Slot8StatusButton) slot = 8;
if (sender == Slot9StatusButton) slot = 9; if (sender == Slot9StatusButton) slot = 9;
if (sender == Slot0StatusButton) slot = 0; if (sender == Slot0StatusButton) slot = 10;
if (e.Button is MouseButtons.Right) SaveQuickSave(slot); if (e.Button is MouseButtons.Right) SaveQuickSave(slot);
else if (e.Button is MouseButtons.Left && HasSlot(slot)) LoadQuickSave(slot); else if (e.Button is MouseButtons.Left && HasSlot(slot)) LoadQuickSave(slot);

View File

@ -160,9 +160,6 @@ namespace BizHawk.Client.EmuHawk
break; break;
// Save States // Save States
case "Save State 0":
SelectAndSaveToSlot(0);
break;
case "Save State 1": case "Save State 1":
SelectAndSaveToSlot(1); SelectAndSaveToSlot(1);
break; break;
@ -190,8 +187,8 @@ namespace BizHawk.Client.EmuHawk
case "Save State 9": case "Save State 9":
SelectAndSaveToSlot(9); SelectAndSaveToSlot(9);
break; break;
case "Load State 0": case "Save State 10":
SelectAndLoadFromSlot(0); SelectAndSaveToSlot(10);
break; break;
case "Load State 1": case "Load State 1":
SelectAndLoadFromSlot(1); SelectAndLoadFromSlot(1);
@ -220,10 +217,10 @@ namespace BizHawk.Client.EmuHawk
case "Load State 9": case "Load State 9":
SelectAndLoadFromSlot(9); SelectAndLoadFromSlot(9);
break; break;
case "Load State 10":
case "Select State 0": SelectAndLoadFromSlot(10);
SelectSlot(0);
break; break;
case "Select State 1": case "Select State 1":
SelectSlot(1); SelectSlot(1);
break; break;
@ -251,6 +248,9 @@ namespace BizHawk.Client.EmuHawk
case "Select State 9": case "Select State 9":
SelectSlot(9); SelectSlot(9);
break; break;
case "Select State 10":
SelectSlot(10);
break;
case "Save Named State": case "Save Named State":
SaveStateAs(); SaveStateAs();
break; break;

View File

@ -2626,7 +2626,7 @@ namespace BizHawk.Client.EmuHawk
Slot7StatusButton.ForeColor = SlotForeColor(7); Slot7StatusButton.ForeColor = SlotForeColor(7);
Slot8StatusButton.ForeColor = SlotForeColor(8); Slot8StatusButton.ForeColor = SlotForeColor(8);
Slot9StatusButton.ForeColor = SlotForeColor(9); Slot9StatusButton.ForeColor = SlotForeColor(9);
Slot0StatusButton.ForeColor = SlotForeColor(0); Slot0StatusButton.ForeColor = SlotForeColor(10);
Slot1StatusButton.BackColor = SlotBackColor(1); Slot1StatusButton.BackColor = SlotBackColor(1);
Slot2StatusButton.BackColor = SlotBackColor(2); Slot2StatusButton.BackColor = SlotBackColor(2);
@ -2637,7 +2637,7 @@ namespace BizHawk.Client.EmuHawk
Slot7StatusButton.BackColor = SlotBackColor(7); Slot7StatusButton.BackColor = SlotBackColor(7);
Slot8StatusButton.BackColor = SlotBackColor(8); Slot8StatusButton.BackColor = SlotBackColor(8);
Slot9StatusButton.BackColor = SlotBackColor(9); Slot9StatusButton.BackColor = SlotBackColor(9);
Slot0StatusButton.BackColor = SlotBackColor(0); Slot0StatusButton.BackColor = SlotBackColor(10);
SaveSlotsStatusLabel.Visible = SaveSlotsStatusLabel.Visible =
Slot1StatusButton.Visible = Slot1StatusButton.Visible =
@ -4254,7 +4254,7 @@ namespace BizHawk.Client.EmuHawk
{ {
return; return;
} }
var quickSlotName = $"QuickSave{slot}"; var quickSlotName = $"QuickSave{slot % 10}";
EmuClient.OnBeforeQuickLoad(this, quickSlotName, out var handled); EmuClient.OnBeforeQuickLoad(this, quickSlotName, out var handled);
if (handled) if (handled)
{ {
@ -4321,7 +4321,7 @@ namespace BizHawk.Client.EmuHawk
{ {
return; return;
} }
var quickSlotName = $"QuickSave{slot}"; var quickSlotName = $"QuickSave{slot % 10}";
EmuClient.OnBeforeQuickSave(this, quickSlotName, out var handled); EmuClient.OnBeforeQuickSave(this, quickSlotName, out var handled);
if (handled) if (handled)
{ {
@ -4476,19 +4476,8 @@ namespace BizHawk.Client.EmuHawk
var handled = Master.PreviousSlot(); var handled = Master.PreviousSlot();
if (handled) return; if (handled) return;
} }
if (Config.SaveSlot == 0) Config.SaveSlot++;
{ if (Config.SaveSlot < 1) Config.SaveSlot = 10;
Config.SaveSlot = 9; // Wrap to end of slot list
}
else if (Config.SaveSlot > 9)
{
Config.SaveSlot = 9; // Meh, just in case
}
else
{
Config.SaveSlot--;
}
SaveSlotSelectedMessage(); SaveSlotSelectedMessage();
UpdateStatusSlots(); UpdateStatusSlots();
} }
@ -4501,19 +4490,8 @@ namespace BizHawk.Client.EmuHawk
var handled = Master.NextSlot(); var handled = Master.NextSlot();
if (handled) return; if (handled) return;
} }
if (Config.SaveSlot >= 9)
{
Config.SaveSlot = 0; // Wrap to beginning of slot list
}
else if (Config.SaveSlot < 0)
{
Config.SaveSlot = 0; // Meh, just in case
}
else
{
Config.SaveSlot++; Config.SaveSlot++;
} if (Config.SaveSlot > 10) Config.SaveSlot = 1;
SaveSlotSelectedMessage(); SaveSlotSelectedMessage();
UpdateStatusSlots(); UpdateStatusSlots();
} }

View File

@ -168,6 +168,7 @@ namespace BizHawk.Client.EmuHawk
initialConfig = ConfigService.Load<Config>(configPath); initialConfig = ConfigService.Load<Config>(configPath);
} }
initialConfig.ResolveDefaults(); initialConfig.ResolveDefaults();
if (initialConfig.SaveSlot is 0) initialConfig.SaveSlot = 10; //TODO remove after a while
// initialConfig should really be globalConfig as it's mutable // initialConfig should really be globalConfig as it's mutable
FFmpegService.FFmpegPath = Path.Combine(PathUtils.DataDirectoryPath, "dll", OSTC.IsUnixHost ? "ffmpeg" : "ffmpeg.exe"); FFmpegService.FFmpegPath = Path.Combine(PathUtils.DataDirectoryPath, "dll", OSTC.IsUnixHost ? "ffmpeg" : "ffmpeg.exe");

View File

@ -958,7 +958,7 @@ namespace BizHawk.Client.EmuHawk
"Slot 7", "Slot 7",
"Slot 8", "Slot 8",
"Slot 9", "Slot 9",
"Slot 0"}); "Slot 10"});
this.StartFromSlotBox.Location = new System.Drawing.Point(71, 25); this.StartFromSlotBox.Location = new System.Drawing.Point(71, 25);
this.StartFromSlotBox.Name = "StartFromSlotBox"; this.StartFromSlotBox.Name = "StartFromSlotBox";
this.StartFromSlotBox.Size = new System.Drawing.Size(75, 21); this.StartFromSlotBox.Size = new System.Drawing.Size(75, 21);

View File

@ -153,7 +153,7 @@ namespace BizHawk.Client.EmuHawk
.ToDictionary(tkey => tkey.ButtonName, tvalue => tvalue.Probability); .ToDictionary(tkey => tkey.ButtonName, tvalue => tvalue.Probability);
private int SelectedSlot private int SelectedSlot
=> (1 + StartFromSlotBox.SelectedIndex) % 10; => 1 + StartFromSlotBox.SelectedIndex;
private long Attempts private long Attempts
{ {

View File

@ -31,18 +31,14 @@ namespace BizHawk.Client.EmuHawk
} }
public void SaveQuickSave(int slot) public void SaveQuickSave(int slot)
{ => BookMarkControl.UpdateBranchExternal(slot - 1);
BookMarkControl.UpdateBranchExternal(slot is 0 ? 9 : slot - 1);
}
public void LoadQuickSave(int slot) public void LoadQuickSave(int slot)
{ => BookMarkControl.LoadBranchExternal(slot - 1);
BookMarkControl.LoadBranchExternal(slot is 0 ? 9 : slot - 1);
}
public bool SelectSlot(int slot) public bool SelectSlot(int slot)
{ {
BookMarkControl.SelectBranchExternal(slot is 0 ? 9 : slot - 1); BookMarkControl.SelectBranchExternal(slot - 1);
return false; return false;
} }