mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-12-06 07:12:28 +01:00
Overlays/SaveStates: Add multi-slot support to controller menu
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
This commit is contained in:
parent
0bf9ee9fa5
commit
e48ba283d8
|
|
@ -35,18 +35,31 @@ namespace rsx
|
||||||
return page_navigation::exit;
|
return page_navigation::exit;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!suspend_mode && boot_current_game_savestate(true, 1)) {
|
for (u32 save_index = 1; !suspend_mode && save_index <= 4; save_index++)
|
||||||
std::unique_ptr<overlay_element> reload_state = std::make_unique<home_menu_entry>(
|
|
||||||
get_localized_string(localized_string_id::HOME_MENU_RELOAD_SAVESTATE));
|
|
||||||
|
|
||||||
add_item(reload_state, [](pad_button btn) -> page_navigation
|
|
||||||
{
|
{
|
||||||
if (btn != pad_button::cross) return page_navigation::stay;
|
if (boot_current_game_savestate(true, save_index))
|
||||||
rsx_log.notice("User selected reload savestate in home menu");
|
{
|
||||||
Emu.CallFromMainThread([]() { boot_current_game_savestate(true, 1); });
|
const localized_string_id str_id = static_cast<localized_string_id>(static_cast<usz>(localized_string_id::HOME_MENU_RELOAD_SAVESTATE) + (save_index - 1));
|
||||||
|
std::unique_ptr<overlay_element> reload_state = std::make_unique<home_menu_entry>(get_localized_string(str_id));
|
||||||
|
|
||||||
|
add_item(reload_state, [save_index](pad_button btn) -> page_navigation
|
||||||
|
{
|
||||||
|
if (btn != pad_button::cross)
|
||||||
|
{
|
||||||
|
return page_navigation::stay;
|
||||||
|
}
|
||||||
|
|
||||||
|
rsx_log.notice("User selected reload savestate(%u) in home menu", save_index);
|
||||||
|
Emu.CallFromMainThread([save_index]() { boot_current_game_savestate(false, save_index); });
|
||||||
return page_navigation::exit;
|
return page_navigation::exit;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
apply_layout();
|
apply_layout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -274,6 +274,9 @@ enum class localized_string_id
|
||||||
HOME_MENU_SAVESTATE_SAVE,
|
HOME_MENU_SAVESTATE_SAVE,
|
||||||
HOME_MENU_SAVESTATE_AND_EXIT,
|
HOME_MENU_SAVESTATE_AND_EXIT,
|
||||||
HOME_MENU_RELOAD_SAVESTATE,
|
HOME_MENU_RELOAD_SAVESTATE,
|
||||||
|
HOME_MENU_RELOAD_SECOND_SAVESTATE,
|
||||||
|
HOME_MENU_RELOAD_THIRD_SAVESTATE,
|
||||||
|
HOME_MENU_RELOAD_FOURTH_SAVESTATE,
|
||||||
HOME_MENU_RECORDING,
|
HOME_MENU_RECORDING,
|
||||||
HOME_MENU_TROPHIES,
|
HOME_MENU_TROPHIES,
|
||||||
HOME_MENU_TROPHY_LIST_TITLE,
|
HOME_MENU_TROPHY_LIST_TITLE,
|
||||||
|
|
|
||||||
|
|
@ -295,6 +295,9 @@ private:
|
||||||
case localized_string_id::HOME_MENU_SAVESTATE_SAVE: return tr("Save Emulation State");
|
case localized_string_id::HOME_MENU_SAVESTATE_SAVE: return tr("Save Emulation State");
|
||||||
case localized_string_id::HOME_MENU_SAVESTATE_AND_EXIT: return tr("Save Emulation State And Exit");
|
case localized_string_id::HOME_MENU_SAVESTATE_AND_EXIT: return tr("Save Emulation State And Exit");
|
||||||
case localized_string_id::HOME_MENU_RELOAD_SAVESTATE: return tr("Reload Last Emulation State");
|
case localized_string_id::HOME_MENU_RELOAD_SAVESTATE: return tr("Reload Last Emulation State");
|
||||||
|
case localized_string_id::HOME_MENU_RELOAD_SECOND_SAVESTATE: return tr("Reload Second-To-Last Emulation State");
|
||||||
|
case localized_string_id::HOME_MENU_RELOAD_THIRD_SAVESTATE: return tr("Reload Third-To-Last Emulation State");
|
||||||
|
case localized_string_id::HOME_MENU_RELOAD_FOURTH_SAVESTATE: return tr("Reload Fourth-To-Last Emulation State");
|
||||||
case localized_string_id::HOME_MENU_RECORDING: return tr("Start/Stop Recording");
|
case localized_string_id::HOME_MENU_RECORDING: return tr("Start/Stop Recording");
|
||||||
case localized_string_id::HOME_MENU_TROPHIES: return tr("Trophies");
|
case localized_string_id::HOME_MENU_TROPHIES: return tr("Trophies");
|
||||||
case localized_string_id::HOME_MENU_TROPHY_LIST_TITLE: return tr("Trophy Progress: %0").arg(std::forward<Args>(args)...);
|
case localized_string_id::HOME_MENU_TROPHY_LIST_TITLE: return tr("Trophy Progress: %0").arg(std::forward<Args>(args)...);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue