diff --git a/BizHawk.MultiClient/Config.cs b/BizHawk.MultiClient/Config.cs index e5192f4e74..9e05f2dc38 100644 --- a/BizHawk.MultiClient/Config.cs +++ b/BizHawk.MultiClient/Config.cs @@ -125,12 +125,13 @@ public bool EnableBackupMovies = true; public bool HotkeyConfigAutoTab = true; public bool InputConfigAutoTab = true; - public bool ShowLogWindow = false; + public bool ShowLogWindow = false; public bool BackupSavestates = true; - public bool SaveScreenshotWithStates = true; + public bool SaveScreenshotWithStates = true; public int AutofireOn = 1; public int AutofireOff = 1; public bool AutofireLagFrames = true; + public int SaveSlot = 0; //currently selected savestate slot // Run-Control settings public int FrameProgressDelayMs = 500; //how long until a frame advance hold turns into a frame progress? diff --git a/BizHawk.MultiClient/MainForm.MenuItems.cs b/BizHawk.MultiClient/MainForm.MenuItems.cs index 401847940a..8f9aa8fe40 100644 --- a/BizHawk.MultiClient/MainForm.MenuItems.cs +++ b/BizHawk.MultiClient/MainForm.MenuItems.cs @@ -180,70 +180,70 @@ namespace BizHawk.MultiClient private void selectSlot1ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 1; + Global.Config.SaveSlot = 1; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot2ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 2; + Global.Config.SaveSlot = 2; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot3ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 3; + Global.Config.SaveSlot = 3; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot4ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 4; + Global.Config.SaveSlot = 4; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot5ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 5; + Global.Config.SaveSlot = 5; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot6ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 6; + Global.Config.SaveSlot = 6; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot7ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 7; + Global.Config.SaveSlot = 7; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot8ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 8; + Global.Config.SaveSlot = 8; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot9ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 9; + Global.Config.SaveSlot = 9; UpdateStatusSlots(); SaveSlotSelectedMessage(); } private void selectSlot10ToolStripMenuItem_Click(object sender, EventArgs e) { - SaveSlot = 0; + Global.Config.SaveSlot = 0; UpdateStatusSlots(); SaveSlotSelectedMessage(); } @@ -260,12 +260,12 @@ namespace BizHawk.MultiClient private void saveToCurrentSlotToolStripMenuItem_Click(object sender, EventArgs e) { - SaveState("QuickSave" + SaveSlot.ToString()); + SaveState("QuickSave" + Global.Config.SaveSlot.ToString()); } private void loadCurrentSlotToolStripMenuItem_Click(object sender, EventArgs e) { - LoadState("QuickSave" + SaveSlot.ToString()); + LoadState("QuickSave" + Global.Config.SaveSlot.ToString()); } private void closeROMToolStripMenuItem_Click(object sender, EventArgs e) @@ -875,20 +875,20 @@ namespace BizHawk.MultiClient else contextMenuStrip1.Items[7].Enabled = true; - string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + SaveSlot + ".State.bak"; + string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + Global.Config.SaveSlot + ".State.bak"; var file = new FileInfo(path); if (file.Exists == true) { - if (StateSlots.IsRedo(SaveSlot)) + if (StateSlots.IsRedo(Global.Config.SaveSlot)) { contextMenuStrip1.Items[13].Enabled = true; - contextMenuStrip1.Items[13].Text = "Redo Save to slot " + SaveSlot.ToString(); + contextMenuStrip1.Items[13].Text = "Redo Save to slot " + Global.Config.SaveSlot.ToString(); contextMenuStrip1.Items[13].Image = BizHawk.MultiClient.Properties.Resources.redo; } else { contextMenuStrip1.Items[13].Enabled = true; - contextMenuStrip1.Items[13].Text = "Undo Save to slot " + SaveSlot.ToString(); + contextMenuStrip1.Items[13].Text = "Undo Save to slot " + Global.Config.SaveSlot.ToString(); contextMenuStrip1.Items[13].Image = BizHawk.MultiClient.Properties.Resources.undo; } } @@ -1245,7 +1245,7 @@ namespace BizHawk.MultiClient selectSlot9ToolStripMenuItem.Checked = false; selectSlot1ToolStripMenuItem.Checked = false; - switch (SaveSlot) + switch (Global.Config.SaveSlot) { case 0: selectSlot10ToolStripMenuItem.Checked = true; @@ -1325,9 +1325,9 @@ namespace BizHawk.MultiClient private void undoSavestateToolStripMenuItem_Click(object sender, EventArgs e) { - string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + SaveSlot + ".State"; + string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + Global.Config.SaveSlot + ".State"; SwapBackupSavestate(path); - Global.RenderPanel.AddMessage("Save slot " + SaveSlot.ToString() + " restored."); + Global.RenderPanel.AddMessage("Save slot " + Global.Config.SaveSlot.ToString() + " restored."); } private void FreezeStatus_Click(object sender, EventArgs e) diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index fadb47c745..c331a6344a 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -32,9 +32,6 @@ namespace BizHawk.MultiClient //avi/wav state AviWriter CurrAviWriter = null; - //the currently selected savestate slot - private int SaveSlot = 0; - //runloop control bool exit; bool runloop_frameProgress; @@ -1210,7 +1207,7 @@ namespace BizHawk.MultiClient void OnSelectSlot(int num) { - SaveSlot = num; + Global.Config.SaveSlot = num; SaveSlotSelectedMessage(); UpdateStatusSlots(); } @@ -1325,12 +1322,12 @@ namespace BizHawk.MultiClient case "Quick Save State": if (!IsNullEmulator()) - SaveState("QuickSave" + SaveSlot.ToString()); + SaveState("QuickSave" + Global.Config.SaveSlot.ToString()); break; case "Quick Load State": if (!IsNullEmulator()) - LoadState("QuickSave" + SaveSlot.ToString()); + LoadState("QuickSave" + Global.Config.SaveSlot.ToString()); break; case "Unthrottle": @@ -1847,7 +1844,7 @@ namespace BizHawk.MultiClient private void SaveSlotSelectedMessage() { - Global.RenderPanel.AddMessage("Slot " + SaveSlot + " selected."); + Global.RenderPanel.AddMessage("Slot " + Global.Config.SaveSlot + " selected."); } private void UpdateAutoLoadRecentRom() @@ -2172,17 +2169,22 @@ namespace BizHawk.MultiClient private void PreviousSlot() { - if (SaveSlot == 0) SaveSlot = 9; //Wrap to end of slot list - else if (SaveSlot > 9) SaveSlot = 9; //Meh, just in case - else SaveSlot--; + if (Global.Config.SaveSlot == 0) + Global.Config.SaveSlot = 9; //Wrap to end of slot list + else if (Global.Config.SaveSlot > 9) + Global.Config.SaveSlot = 9; //Meh, just in case + else Global.Config.SaveSlot--; SaveSlotSelectedMessage(); UpdateStatusSlots(); } private void NextSlot() { - if (SaveSlot >= 9) SaveSlot = 0; //Wrap to beginning of slot list - else SaveSlot++; + if (Global.Config.SaveSlot >= 9) + Global.Config.SaveSlot = 0; //Wrap to beginning of slot list + else if (Global.Config.SaveSlot < 0) + Global.Config.SaveSlot = 0; //Meh, just in case + else Global.Config.SaveSlot++; SaveSlotSelectedMessage(); UpdateStatusSlots(); } @@ -2312,16 +2314,16 @@ namespace BizHawk.MultiClient StatusSlot9.BackColor = SystemColors.Control; StatusSlot10.BackColor = SystemColors.Control; - if (SaveSlot == 0) StatusSlot10.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 1) StatusSlot1.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 2) StatusSlot2.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 3) StatusSlot3.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 4) StatusSlot4.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 5) StatusSlot5.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 6) StatusSlot6.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 7) StatusSlot7.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 8) StatusSlot8.BackColor = SystemColors.ControlLightLight; - if (SaveSlot == 9) StatusSlot9.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 0) StatusSlot10.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 1) StatusSlot1.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 2) StatusSlot2.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 3) StatusSlot3.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 4) StatusSlot4.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 5) StatusSlot5.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 6) StatusSlot6.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 7) StatusSlot7.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 8) StatusSlot8.BackColor = SystemColors.ControlLightLight; + if (Global.Config.SaveSlot == 9) StatusSlot9.BackColor = SystemColors.ControlLightLight; } public void RecordAVI() @@ -2400,7 +2402,7 @@ namespace BizHawk.MultiClient temp.CopyTo(path); temp.Delete(); - StateSlots.ToggleRedo(SaveSlot); + StateSlots.ToggleRedo(Global.Config.SaveSlot); } } } \ No newline at end of file