mirror of https://github.com/PCSX2/pcsx2.git
gsdump: add a settings button; add safety checks for user missing braincells
This commit is contained in:
parent
d5b312866d
commit
6c73256196
|
@ -68,6 +68,7 @@ Dialogs::GSDumpDialog::GSDumpDialog(wxWindow* parent)
|
|||
, m_step(new wxButton(this, ID_RUN_STEP, _("Step"), wxDefaultPosition, wxSize(150, 50)))
|
||||
, m_selection(new wxButton(this, ID_RUN_CURSOR, _("Run to Selection"), wxDefaultPosition, wxSize(150, 50)))
|
||||
, m_vsync(new wxButton(this, ID_RUN_VSYNC, _("Go to next VSync"), wxDefaultPosition, wxSize(150, 50)))
|
||||
, m_settings(new wxButton(this, ID_SETTINGS, _("Open GS Settings"), wxDefaultPosition, wxSize(150, 50)))
|
||||
, m_thread(std::make_unique<GSThread>(this))
|
||||
, m_run(new wxButton(this, ID_RUN_DUMP, _("Run"), wxDefaultPosition, wxSize(150, 100)))
|
||||
{
|
||||
|
@ -95,6 +96,7 @@ Dialogs::GSDumpDialog::GSDumpDialog(wxWindow* parent)
|
|||
dbg_actions->Add(m_step, StdExpand());
|
||||
dbg_actions->Add(m_selection, StdExpand());
|
||||
dbg_actions->Add(m_vsync, StdExpand());
|
||||
dbg_actions->Add(m_settings, StdExpand());
|
||||
gif->Add(new wxStaticText(this, wxID_ANY, _("Packet Content")));
|
||||
gif->Add(m_gif_packet, StdExpand());
|
||||
|
||||
|
@ -135,6 +137,7 @@ Dialogs::GSDumpDialog::GSDumpDialog(wxWindow* parent)
|
|||
Bind(wxEVT_BUTTON, &Dialogs::GSDumpDialog::StepPacket, this, ID_RUN_STEP);
|
||||
Bind(wxEVT_BUTTON, &Dialogs::GSDumpDialog::ToCursor, this, ID_RUN_CURSOR);
|
||||
Bind(wxEVT_BUTTON, &Dialogs::GSDumpDialog::ToVSync, this, ID_RUN_VSYNC);
|
||||
Bind(wxEVT_BUTTON, &Dialogs::GSDumpDialog::OpenSettings, this, ID_SETTINGS);
|
||||
Bind(wxEVT_TREE_SEL_CHANGED, &Dialogs::GSDumpDialog::ParsePacket, this, ID_SEL_PACKET);
|
||||
Bind(wxEVT_CHECKBOX, &Dialogs::GSDumpDialog::CheckDebug, this, ID_DEBUG_MODE);
|
||||
Bind(EVT_CLOSE_DUMP, &Dialogs::GSDumpDialog::CloseDump, this);
|
||||
|
@ -270,6 +273,11 @@ void Dialogs::GSDumpDialog::ToVSync(wxCommandEvent& event)
|
|||
}
|
||||
}
|
||||
|
||||
void Dialogs::GSDumpDialog::OpenSettings(wxCommandEvent& event)
|
||||
{
|
||||
GetCorePlugins().Configure(PluginId_GS);
|
||||
}
|
||||
|
||||
void Dialogs::GSDumpDialog::ToStart(wxCommandEvent& event)
|
||||
{
|
||||
m_gif_list->SelectItem(m_gif_items[0]);
|
||||
|
|
|
@ -161,6 +161,7 @@ namespace Dialogs
|
|||
wxButton* m_step;
|
||||
wxButton* m_selection;
|
||||
wxButton* m_vsync;
|
||||
wxButton* m_settings;
|
||||
wxButton* m_run;
|
||||
long m_focused_dump;
|
||||
wxFileSystemWatcher m_fs_watcher;
|
||||
|
@ -172,6 +173,7 @@ namespace Dialogs
|
|||
void StepPacket(wxCommandEvent& event);
|
||||
void ToCursor(wxCommandEvent& event);
|
||||
void ToVSync(wxCommandEvent& event);
|
||||
void OpenSettings(wxCommandEvent& event);
|
||||
void ParsePacket(wxTreeEvent& event);
|
||||
void CheckDebug(wxCommandEvent& event);
|
||||
void PathChanged(wxFileSystemWatcherEvent& event);
|
||||
|
@ -184,7 +186,8 @@ namespace Dialogs
|
|||
ID_RUN_CURSOR,
|
||||
ID_RUN_VSYNC,
|
||||
ID_SEL_PACKET,
|
||||
ID_DEBUG_MODE
|
||||
ID_DEBUG_MODE,
|
||||
ID_SETTINGS
|
||||
};
|
||||
enum GSType : u8
|
||||
{
|
||||
|
|
|
@ -165,6 +165,11 @@ void MainEmuFrame::Menu_ResetAllSettings_Click(wxCommandEvent& event)
|
|||
// (anything else) - Standard swap, no reset. (hotswap!)
|
||||
wxWindowID SwapOrReset_Iso(wxWindow* owner, IScopedCoreThread& core_control, const wxString& isoFilename, const wxString& descpart1)
|
||||
{
|
||||
if (GSDump::isRunning)
|
||||
{
|
||||
wxMessageBox("Please close the GS debugger first before playing a game", _("GS Debugger"), wxICON_ERROR);
|
||||
return wxID_CANCEL;
|
||||
}
|
||||
wxWindowID result = wxID_CANCEL;
|
||||
|
||||
if ((g_Conf->CdvdSource == CDVD_SourceType::Iso) && (isoFilename == g_Conf->CurrentIso))
|
||||
|
@ -222,6 +227,11 @@ wxWindowID SwapOrReset_Iso(wxWindow* owner, IScopedCoreThread& core_control, con
|
|||
// (anything else) - Standard swap, no reset. (hotswap!)
|
||||
wxWindowID SwapOrReset_Disc(wxWindow* owner, IScopedCoreThread& core, const wxString driveLetter)
|
||||
{
|
||||
if (GSDump::isRunning)
|
||||
{
|
||||
wxMessageBox("Please close the GS debugger first before playing a game", _("GS Debugger"), wxICON_ERROR);
|
||||
return wxID_CANCEL;
|
||||
}
|
||||
wxWindowID result = wxID_CANCEL;
|
||||
|
||||
if ((g_Conf->CdvdSource == CDVD_SourceType::Disc) && (driveLetter == g_Conf->Folders.RunDisc.GetPath()))
|
||||
|
@ -270,6 +280,11 @@ wxWindowID SwapOrReset_Disc(wxWindow* owner, IScopedCoreThread& core, const wxSt
|
|||
|
||||
wxWindowID SwapOrReset_CdvdSrc(wxWindow* owner, CDVD_SourceType newsrc)
|
||||
{
|
||||
if (GSDump::isRunning)
|
||||
{
|
||||
wxMessageBox("Please close the GS debugger first before playing a game", _("GS Debugger"), wxICON_ERROR);
|
||||
return wxID_CANCEL;
|
||||
}
|
||||
if (newsrc == g_Conf->CdvdSource)
|
||||
return wxID_CANCEL;
|
||||
wxWindowID result = wxID_CANCEL;
|
||||
|
@ -406,6 +421,11 @@ bool MainEmuFrame::_DoSelectELFBrowser()
|
|||
|
||||
void MainEmuFrame::_DoBootCdvd()
|
||||
{
|
||||
if (GSDump::isRunning)
|
||||
{
|
||||
wxMessageBox("Please close the GS debugger first before playing a game", _("GS Debugger"), wxICON_ERROR);
|
||||
return;
|
||||
}
|
||||
ScopedCoreThreadPause paused_core;
|
||||
|
||||
if (g_Conf->CdvdSource == CDVD_SourceType::Iso)
|
||||
|
@ -823,6 +843,11 @@ void MainEmuFrame::Menu_SysShutdown_Click(wxCommandEvent& event)
|
|||
|
||||
void MainEmuFrame::Menu_ConfigPlugin_Click(wxCommandEvent& event)
|
||||
{
|
||||
if (GSDump::isRunning)
|
||||
{
|
||||
wxMessageBox("Please open the settings window from the main GS Debugger window", _("GS Debugger"), wxICON_ERROR);
|
||||
return;
|
||||
}
|
||||
const int eventId = event.GetId() - MenuId_PluginBase_Settings;
|
||||
|
||||
PluginsEnum_t pid = (PluginsEnum_t)(eventId / PluginMenuId_Interval);
|
||||
|
|
Loading…
Reference in New Issue