System: Use Async HC mode disable for resuming
This commit is contained in:
parent
bbf7d9d769
commit
afe8384b6d
|
@ -1355,14 +1355,36 @@ bool System::BootSystem(SystemBootParameters parameters)
|
|||
}
|
||||
|
||||
// Check for resuming with hardcore mode.
|
||||
if (!parameters.save_state.empty() && Achievements::IsHardcoreModeActive() &&
|
||||
!Achievements::ConfirmHardcoreModeDisable(TRANSLATE("Achievements", "Resuming state")))
|
||||
if (parameters.disable_achievements_hardcore_mode)
|
||||
Achievements::DisableHardcoreMode();
|
||||
if (!parameters.save_state.empty() && Achievements::IsHardcoreModeActive())
|
||||
{
|
||||
bool cancelled;
|
||||
if (FullscreenUI::IsInitialized())
|
||||
{
|
||||
Achievements::ConfirmHardcoreModeDisableAsync(TRANSLATE("Achievements", "Resuming state"),
|
||||
[parameters = std::move(parameters)](bool approved) mutable {
|
||||
if (approved)
|
||||
{
|
||||
parameters.disable_achievements_hardcore_mode = true;
|
||||
BootSystem(std::move(parameters));
|
||||
}
|
||||
});
|
||||
cancelled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
cancelled = !Achievements::ConfirmHardcoreModeDisable(TRANSLATE("Achievements", "Resuming state"));
|
||||
}
|
||||
|
||||
if (cancelled)
|
||||
{
|
||||
s_state = State::Shutdown;
|
||||
ClearRunningGame();
|
||||
Host::OnSystemDestroyed();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Load BIOS image.
|
||||
if (!LoadBIOS(parameters.override_bios))
|
||||
|
|
|
@ -50,6 +50,7 @@ struct SystemBootParameters
|
|||
bool load_image_to_ram = false;
|
||||
bool force_software_renderer = false;
|
||||
bool fast_forward_to_first_frame = false;
|
||||
bool disable_achievements_hardcore_mode = false;
|
||||
};
|
||||
|
||||
struct SaveStateInfo
|
||||
|
|
Loading…
Reference in New Issue