mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-29 22:20:48 +00:00
Savestates: Fix restart when suspend mode is off
Add a new menu button for explicit exit (mostly for debug purposes)
This commit is contained in:
parent
01ee119c59
commit
f19744ae88
@ -383,6 +383,14 @@ void gs_frame::handle_shortcut(gui::shortcuts::shortcut shortcut_key, const QKey
|
|||||||
{
|
{
|
||||||
if (!m_disable_kb_hotkeys)
|
if (!m_disable_kb_hotkeys)
|
||||||
{
|
{
|
||||||
|
if (!g_cfg.savestate.suspend_emu)
|
||||||
|
{
|
||||||
|
Emu.after_kill_callback = []()
|
||||||
|
{
|
||||||
|
Emu.Restart();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Emu.Kill(false, true);
|
Emu.Kill(false, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include "Emu/vfs_config.h"
|
#include "Emu/vfs_config.h"
|
||||||
#include "Emu/System.h"
|
#include "Emu/System.h"
|
||||||
#include "Emu/system_utils.hpp"
|
#include "Emu/system_utils.hpp"
|
||||||
|
#include "Emu/system_config.h"
|
||||||
|
|
||||||
#include "Crypto/unpkg.h"
|
#include "Crypto/unpkg.h"
|
||||||
#include "Crypto/unself.h"
|
#include "Crypto/unself.h"
|
||||||
@ -2395,6 +2396,21 @@ void main_window::CreateConnects()
|
|||||||
connect(ui->actionCreate_Savestate, &QAction::triggered, this, []()
|
connect(ui->actionCreate_Savestate, &QAction::triggered, this, []()
|
||||||
{
|
{
|
||||||
gui_log.notice("User triggered savestate creation from utilities.");
|
gui_log.notice("User triggered savestate creation from utilities.");
|
||||||
|
|
||||||
|
if (!g_cfg.savestate.suspend_emu)
|
||||||
|
{
|
||||||
|
Emu.after_kill_callback = []()
|
||||||
|
{
|
||||||
|
Emu.Restart();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
Emu.Kill(false, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(ui->actionCreate_Savestate_And_Exit, &QAction::triggered, this, []()
|
||||||
|
{
|
||||||
|
gui_log.notice("User triggered savestate creation and emulation stop from utilities.");
|
||||||
Emu.Kill(false, true);
|
Emu.Kill(false, true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -300,6 +300,7 @@
|
|||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="actionCreate_RSX_Capture"/>
|
<addaction name="actionCreate_RSX_Capture"/>
|
||||||
<addaction name="actionCreate_Savestate"/>
|
<addaction name="actionCreate_Savestate"/>
|
||||||
|
<addaction name="actionCreate_Savestate_And_Exit"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuView">
|
<widget class="QMenu" name="menuView">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@ -1192,6 +1193,14 @@
|
|||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Create Savestate</string>
|
<string>Create Savestate</string>
|
||||||
</property>
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionCreate_Savestate_And_Exit">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Stop And Create Savestate</string>
|
||||||
|
</property>
|
||||||
</action>
|
</action>
|
||||||
<action name="actionManage_Game_Patches">
|
<action name="actionManage_Game_Patches">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -962,7 +962,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
|||||||
const std::string selected_device = m_emu_settings->GetSetting(emu_settings_type::AudioDevice);
|
const std::string selected_device = m_emu_settings->GetSetting(emu_settings_type::AudioDevice);
|
||||||
int device_index = 0;
|
int device_index = 0;
|
||||||
|
|
||||||
for (const audio_device_enumerator::audio_device& dev : dev_array)
|
for (auto& dev : dev_array)
|
||||||
{
|
{
|
||||||
const QString cur_item = qstr(dev.id);
|
const QString cur_item = qstr(dev.id);
|
||||||
ui->audioDeviceBox->addItem(qstr(dev.name), cur_item);
|
ui->audioDeviceBox->addItem(qstr(dev.name), cur_item);
|
||||||
@ -2308,9 +2308,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
|||||||
m_emu_settings->EnhanceCheckBox(ui->disableVertexCache, emu_settings_type::DisableVertexCache);
|
m_emu_settings->EnhanceCheckBox(ui->disableVertexCache, emu_settings_type::DisableVertexCache);
|
||||||
SubscribeTooltip(ui->disableVertexCache, tooltips.settings.disable_vertex_cache);
|
SubscribeTooltip(ui->disableVertexCache, tooltips.settings.disable_vertex_cache);
|
||||||
|
|
||||||
m_emu_settings->EnhanceCheckBox(ui->forceHwMSAAResolve, emu_settings_type::ForceHwMSAAResolve);
|
|
||||||
SubscribeTooltip(ui->forceHwMSAAResolve, tooltips.settings.force_hw_MSAA);
|
|
||||||
|
|
||||||
// Checkboxes: core debug options
|
// Checkboxes: core debug options
|
||||||
m_emu_settings->EnhanceCheckBox(ui->alwaysStart, emu_settings_type::StartOnBoot);
|
m_emu_settings->EnhanceCheckBox(ui->alwaysStart, emu_settings_type::StartOnBoot);
|
||||||
SubscribeTooltip(ui->alwaysStart, tooltips.settings.start_on_boot);
|
SubscribeTooltip(ui->alwaysStart, tooltips.settings.start_on_boot);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user