mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-02 08:22:43 +00:00
Merge pull request #1096 from RachelBryk/save-slots
Add hotkeys to select save state slots
This commit is contained in:
commit
ae17d91992
7 changed files with 143 additions and 1 deletions
|
@ -185,16 +185,19 @@ wxMenuBar* CFrame::CreateMenu()
|
|||
emulationMenu->AppendSeparator();
|
||||
wxMenu *saveMenu = new wxMenu;
|
||||
wxMenu *loadMenu = new wxMenu;
|
||||
wxMenu *slotSelectMenu = new wxMenu;
|
||||
emulationMenu->Append(IDM_LOADSTATE, _("&Load State"), loadMenu);
|
||||
emulationMenu->Append(IDM_SAVESTATE, _("Sa&ve State"), saveMenu);
|
||||
emulationMenu->Append(IDM_SELECTSLOT, _("Select State slot"), slotSelectMenu);
|
||||
|
||||
saveMenu->Append(IDM_SAVESTATEFILE, GetMenuLabel(HK_SAVE_STATE_FILE));
|
||||
saveMenu->Append(IDM_SAVESELECTEDSLOT, GetMenuLabel(HK_SAVE_STATE_SLOT_SELECTED));
|
||||
saveMenu->Append(IDM_SAVEFIRSTSTATE, GetMenuLabel(HK_SAVE_FIRST_STATE));
|
||||
loadMenu->Append(IDM_UNDOSAVESTATE, GetMenuLabel(HK_UNDO_SAVE_STATE));
|
||||
saveMenu->AppendSeparator();
|
||||
|
||||
loadMenu->Append(IDM_LOADSTATEFILE, GetMenuLabel(HK_LOAD_STATE_FILE));
|
||||
|
||||
loadMenu->Append(IDM_LOADSELECTEDSLOT, GetMenuLabel(HK_LOAD_STATE_SLOT_SELECTED));
|
||||
loadMenu->Append(IDM_UNDOLOADSTATE, GetMenuLabel(HK_UNDO_LOAD_STATE));
|
||||
loadMenu->AppendSeparator();
|
||||
|
||||
|
@ -202,6 +205,7 @@ wxMenuBar* CFrame::CreateMenu()
|
|||
{
|
||||
loadMenu->Append(IDM_LOADSLOT1 + i - 1, GetMenuLabel(HK_LOAD_STATE_SLOT_1 + i - 1));
|
||||
saveMenu->Append(IDM_SAVESLOT1 + i - 1, GetMenuLabel(HK_SAVE_STATE_SLOT_1 + i - 1));
|
||||
slotSelectMenu->Append(IDM_SELECTSLOT1 + i - 1, GetMenuLabel(HK_SELECT_STATE_SLOT_1 + i -1));
|
||||
}
|
||||
|
||||
loadMenu->AppendSeparator();
|
||||
|
@ -477,6 +481,28 @@ wxString CFrame::GetMenuLabel(int Id)
|
|||
case HK_UNDO_LOAD_STATE: Label = _("Undo Load State"); break;
|
||||
case HK_UNDO_SAVE_STATE: Label = _("Undo Save State"); break;
|
||||
|
||||
case HK_SAVE_STATE_SLOT_SELECTED:
|
||||
Label = _("Save state to selected slot");
|
||||
break;
|
||||
|
||||
case HK_LOAD_STATE_SLOT_SELECTED:
|
||||
Label = _("load state from selected slot");
|
||||
break;
|
||||
|
||||
case HK_SELECT_STATE_SLOT_1:
|
||||
case HK_SELECT_STATE_SLOT_2:
|
||||
case HK_SELECT_STATE_SLOT_3:
|
||||
case HK_SELECT_STATE_SLOT_4:
|
||||
case HK_SELECT_STATE_SLOT_5:
|
||||
case HK_SELECT_STATE_SLOT_6:
|
||||
case HK_SELECT_STATE_SLOT_7:
|
||||
case HK_SELECT_STATE_SLOT_8:
|
||||
case HK_SELECT_STATE_SLOT_9:
|
||||
case HK_SELECT_STATE_SLOT_10:
|
||||
Label = wxString::Format(_("Select Slot %i"), Id - HK_SELECT_STATE_SLOT_1 + 1);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
Label = wxString::Format(_("Undefined %i"), Id);
|
||||
}
|
||||
|
@ -1594,6 +1620,27 @@ void CFrame::OnFrameSkip(wxCommandEvent& event)
|
|||
SConfig::GetInstance().m_FrameSkip = amount;
|
||||
}
|
||||
|
||||
void CFrame::OnSelectSlot(wxCommandEvent& event)
|
||||
{
|
||||
g_saveSlot = event.GetId() - IDM_SELECTSLOT1 + 1;
|
||||
Core::DisplayMessage(StringFromFormat("Selected slot %d", g_saveSlot), 1000);
|
||||
}
|
||||
|
||||
void CFrame::OnLoadCurrentSlot(wxCommandEvent& event)
|
||||
{
|
||||
if (Core::IsRunningAndStarted())
|
||||
{
|
||||
State::Load(g_saveSlot);
|
||||
}
|
||||
}
|
||||
|
||||
void CFrame::OnSaveCurrentSlot(wxCommandEvent& event)
|
||||
{
|
||||
if (Core::IsRunningAndStarted())
|
||||
{
|
||||
State::Save(g_saveSlot);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue