mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-12 06:39:14 +01:00
Host: Get rid of Host_SetStartupDebuggingParameters()
This is something that should be the responsibility of the frontend booting the game. Making this part of the host 'interface' inherently requires frontends to leak internal details (much like the other UI-related functions in the interface). This also decouples more behavior from the debugger and the initialization process in the wx frontend. This also eliminates several usages of the parent menubar in the debugger code window.
This commit is contained in:
parent
651340826d
commit
7baabe99d1
@ -36,7 +36,6 @@
|
||||
#include "Core/HW/SI/SI.h"
|
||||
#include "Core/HW/Sram.h"
|
||||
#include "Core/HW/WiimoteReal/WiimoteReal.h"
|
||||
#include "Core/Host.h"
|
||||
#include "Core/Movie.h"
|
||||
#include "Core/NetPlayProto.h"
|
||||
|
||||
@ -223,9 +222,6 @@ bool BootCore(const std::string& _rFilename)
|
||||
{
|
||||
SConfig& StartUp = SConfig::GetInstance();
|
||||
|
||||
// Use custom settings for debugging mode
|
||||
Host_SetStartupDebuggingParameters();
|
||||
|
||||
StartUp.m_BootType = SConfig::BOOT_ISO;
|
||||
StartUp.m_strFilename = _rFilename;
|
||||
StartUp.m_LastFilename = _rFilename;
|
||||
|
@ -31,7 +31,6 @@ void Host_Message(int Id);
|
||||
void Host_NotifyMapLoaded();
|
||||
void Host_RefreshDSPDebuggerWindow();
|
||||
void Host_RequestRenderWindowSize(int width, int height);
|
||||
void Host_SetStartupDebuggingParameters();
|
||||
void Host_SetWiiMoteConnectionState(int _State);
|
||||
void Host_UpdateDisasmDialog();
|
||||
void Host_UpdateMainFrame();
|
||||
|
@ -115,13 +115,6 @@ void Host_RequestRenderWindowSize(int width, int height)
|
||||
{
|
||||
}
|
||||
|
||||
void Host_SetStartupDebuggingParameters()
|
||||
{
|
||||
SConfig& StartUp = SConfig::GetInstance();
|
||||
StartUp.bEnableDebugging = false;
|
||||
StartUp.bBootToPause = false;
|
||||
}
|
||||
|
||||
bool Host_UIHasFocus()
|
||||
{
|
||||
return false;
|
||||
|
@ -113,9 +113,6 @@ void Host_NotifyMapLoaded()
|
||||
void Host_UpdateDisasmDialog()
|
||||
{
|
||||
}
|
||||
void Host_SetStartupDebuggingParameters()
|
||||
{
|
||||
}
|
||||
void Host_SetWiiMoteConnectionState(int state)
|
||||
{
|
||||
}
|
||||
|
@ -481,7 +481,7 @@ void CCodeWindow::OnCPUMode(wxCommandEvent& event)
|
||||
switch (event.GetId())
|
||||
{
|
||||
case IDM_INTERPRETER:
|
||||
PowerPC::SetMode(UseInterpreter() ? PowerPC::CoreMode::Interpreter : PowerPC::CoreMode::JIT);
|
||||
PowerPC::SetMode(event.IsChecked() ? PowerPC::CoreMode::Interpreter : PowerPC::CoreMode::JIT);
|
||||
break;
|
||||
case IDM_BOOT_TO_PAUSE:
|
||||
SConfig::GetInstance().bBootToPause = event.IsChecked();
|
||||
@ -561,32 +561,6 @@ void CCodeWindow::OnJitMenu(wxCommandEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
// Shortcuts
|
||||
bool CCodeWindow::UseInterpreter()
|
||||
{
|
||||
return GetParentMenuBar()->IsChecked(IDM_INTERPRETER);
|
||||
}
|
||||
|
||||
bool CCodeWindow::BootToPause()
|
||||
{
|
||||
return GetParentMenuBar()->IsChecked(IDM_BOOT_TO_PAUSE);
|
||||
}
|
||||
|
||||
bool CCodeWindow::AutomaticStart()
|
||||
{
|
||||
return GetParentMenuBar()->IsChecked(IDM_AUTOMATIC_START);
|
||||
}
|
||||
|
||||
bool CCodeWindow::JITNoBlockCache()
|
||||
{
|
||||
return GetParentMenuBar()->IsChecked(IDM_JIT_NO_BLOCK_CACHE);
|
||||
}
|
||||
|
||||
bool CCodeWindow::JITNoBlockLinking()
|
||||
{
|
||||
return GetParentMenuBar()->IsChecked(IDM_JIT_NO_BLOCK_LINKING);
|
||||
}
|
||||
|
||||
// Update GUI
|
||||
void CCodeWindow::Repopulate(bool refresh_codeview)
|
||||
{
|
||||
|
@ -85,11 +85,6 @@ public:
|
||||
void Load();
|
||||
void Save();
|
||||
|
||||
bool UseInterpreter();
|
||||
bool BootToPause();
|
||||
bool AutomaticStart();
|
||||
bool JITNoBlockCache();
|
||||
bool JITNoBlockLinking();
|
||||
bool JumpToAddress(u32 address);
|
||||
|
||||
void Repopulate(bool refresh_codeview = true);
|
||||
|
@ -183,6 +183,9 @@ private:
|
||||
void InitializeTASDialogs();
|
||||
void InitializeCoreCallbacks();
|
||||
|
||||
void StartGame(const std::string& filename);
|
||||
void SetDebuggerStartupParameters() const;
|
||||
|
||||
// Utility
|
||||
wxWindow* GetNotebookPageFromId(wxWindowID Id);
|
||||
wxAuiNotebook* GetNotebookFromId(u32 NBId);
|
||||
@ -338,7 +341,6 @@ private:
|
||||
|
||||
void OnGameListCtrlItemActivated(wxListEvent& event);
|
||||
void OnRenderParentResize(wxSizeEvent& event);
|
||||
void StartGame(const std::string& filename);
|
||||
void OnChangeColumnsVisible(wxCommandEvent& event);
|
||||
|
||||
void OnSelectSlot(wxCommandEvent& event);
|
||||
|
@ -707,6 +707,8 @@ void CFrame::StartGame(const std::string& filename)
|
||||
|
||||
DoFullscreen(SConfig::GetInstance().bFullscreen);
|
||||
|
||||
SetDebuggerStartupParameters();
|
||||
|
||||
if (!BootManager::BootCore(filename))
|
||||
{
|
||||
DoFullscreen(false);
|
||||
@ -745,6 +747,27 @@ void CFrame::StartGame(const std::string& filename)
|
||||
}
|
||||
}
|
||||
|
||||
void CFrame::SetDebuggerStartupParameters() const
|
||||
{
|
||||
SConfig& config = SConfig::GetInstance();
|
||||
|
||||
if (m_use_debugger)
|
||||
{
|
||||
const wxMenuBar* const menu_bar = GetMenuBar();
|
||||
|
||||
config.bBootToPause = menu_bar->IsChecked(IDM_BOOT_TO_PAUSE);
|
||||
config.bAutomaticStart = menu_bar->IsChecked(IDM_AUTOMATIC_START);
|
||||
config.bJITNoBlockCache = menu_bar->IsChecked(IDM_JIT_NO_BLOCK_CACHE);
|
||||
config.bJITNoBlockLinking = menu_bar->IsChecked(IDM_JIT_NO_BLOCK_LINKING);
|
||||
config.bEnableDebugging = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
config.bBootToPause = false;
|
||||
config.bEnableDebugging = false;
|
||||
}
|
||||
}
|
||||
|
||||
void CFrame::OnBootDrive(wxCommandEvent& event)
|
||||
{
|
||||
const auto* menu = static_cast<wxMenu*>(event.GetEventObject());
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <wx/imagpng.h>
|
||||
#include <wx/intl.h>
|
||||
#include <wx/language.h>
|
||||
#include <wx/menu.h>
|
||||
#include <wx/msgdlg.h>
|
||||
#include <wx/thread.h>
|
||||
#include <wx/timer.h>
|
||||
@ -256,9 +257,9 @@ void DolphinApp::AfterInit()
|
||||
}
|
||||
// If we have selected Automatic Start, start the default ISO,
|
||||
// or if no default ISO exists, start the last loaded ISO
|
||||
else if (main_frame->m_code_window)
|
||||
else if (m_use_debugger)
|
||||
{
|
||||
if (main_frame->m_code_window->AutomaticStart())
|
||||
if (main_frame->GetMenuBar()->IsChecked(IDM_AUTOMATIC_START))
|
||||
{
|
||||
main_frame->BootGame("");
|
||||
}
|
||||
@ -456,23 +457,6 @@ void Host_RequestRenderWindowSize(int width, int height)
|
||||
main_frame->GetEventHandler()->AddPendingEvent(event);
|
||||
}
|
||||
|
||||
void Host_SetStartupDebuggingParameters()
|
||||
{
|
||||
SConfig& StartUp = SConfig::GetInstance();
|
||||
if (main_frame->m_code_window)
|
||||
{
|
||||
StartUp.bBootToPause = main_frame->m_code_window->BootToPause();
|
||||
StartUp.bAutomaticStart = main_frame->m_code_window->AutomaticStart();
|
||||
StartUp.bJITNoBlockCache = main_frame->m_code_window->JITNoBlockCache();
|
||||
StartUp.bJITNoBlockLinking = main_frame->m_code_window->JITNoBlockLinking();
|
||||
}
|
||||
else
|
||||
{
|
||||
StartUp.bBootToPause = false;
|
||||
}
|
||||
StartUp.bEnableDebugging = main_frame->m_code_window ? true : false; // RUNNING_DEBUG
|
||||
}
|
||||
|
||||
void Host_SetWiiMoteConnectionState(int _State)
|
||||
{
|
||||
static int currentState = -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user