56 changes: 28 additions & 28 deletions Source/Core/Core/Src/HW/DSP.cpp
Expand Up @@ -46,7 +46,7 @@
#include "AudioInterface.h"
#include "../PowerPC/PowerPC.h"
#include "../ConfigManager.h"
#include "../PluginDSP.h"
#include "../DSPEmulator.h"

namespace DSP
{
Expand Down Expand Up @@ -211,7 +211,7 @@ static ARAM_Info g_ARAM_Info;
static u16 g_AR_MODE;
static u16 g_AR_REFRESH;

PluginDSP *dsp_plugin;
DSPEmulator *dsp_emulator;

static int dsp_slice = 0;
static bool dsp_is_lle = false;
Expand All @@ -230,7 +230,7 @@ void DoState(PointerWrap &p)
p.Do(g_AR_MODE);
p.Do(g_AR_REFRESH);

dsp_plugin->DoState(p);
dsp_emulator->DoState(p);
}


Expand All @@ -247,15 +247,15 @@ void GenerateDSPInterrupt_Wrapper(u64 userdata, int cyclesLate)
GenerateDSPInterrupt((DSPInterruptType)(userdata&0xFFFF), (bool)((userdata>>16) & 1));
}

PluginDSP *GetPlugin()
DSPEmulator *GetDSPEmulator()
{
return dsp_plugin;
return dsp_emulator;
}

void Init(bool hle)
{
dsp_plugin = CreateDSPPlugin(hle);
dsp_is_lle = dsp_plugin->IsLLE();
dsp_emulator = CreateDSPEmulator(hle);
dsp_is_lle = dsp_emulator->IsLLE();

if (SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
{
Expand Down Expand Up @@ -292,9 +292,9 @@ void Shutdown()
FreeMemoryPages(g_ARAM.ptr, g_ARAM.size);
g_ARAM.ptr = NULL;

dsp_plugin->Shutdown();
delete dsp_plugin;
dsp_plugin = NULL;
dsp_emulator->Shutdown();
delete dsp_emulator;
dsp_emulator = NULL;
}

void Read16(u16& _uReturnValue, const u32 _iAddress)
Expand All @@ -304,31 +304,31 @@ void Read16(u16& _uReturnValue, const u32 _iAddress)
// DSP
case DSP_MAIL_TO_DSP_HI:
if (dsp_slice > DSP_MAIL_SLICE && dsp_is_lle) {
dsp_plugin->DSP_Update(DSP_MAIL_SLICE);
dsp_emulator->DSP_Update(DSP_MAIL_SLICE);
dsp_slice -= DSP_MAIL_SLICE;
}
_uReturnValue = dsp_plugin->DSP_ReadMailBoxHigh(true);
_uReturnValue = dsp_emulator->DSP_ReadMailBoxHigh(true);
break;

case DSP_MAIL_TO_DSP_LO:
_uReturnValue = dsp_plugin->DSP_ReadMailBoxLow(true);
_uReturnValue = dsp_emulator->DSP_ReadMailBoxLow(true);
break;

case DSP_MAIL_FROM_DSP_HI:
if (dsp_slice > DSP_MAIL_SLICE && dsp_is_lle) {
dsp_plugin->DSP_Update(DSP_MAIL_SLICE);
dsp_emulator->DSP_Update(DSP_MAIL_SLICE);
dsp_slice -= DSP_MAIL_SLICE;
}
_uReturnValue = dsp_plugin->DSP_ReadMailBoxHigh(false);
_uReturnValue = dsp_emulator->DSP_ReadMailBoxHigh(false);
break;

case DSP_MAIL_FROM_DSP_LO:
_uReturnValue = dsp_plugin->DSP_ReadMailBoxLow(false);
_uReturnValue = dsp_emulator->DSP_ReadMailBoxLow(false);
break;

case DSP_CONTROL:
_uReturnValue = (g_dspState.DSPControl.Hex & ~DSP_CONTROL_MASK) |
(dsp_plugin->DSP_ReadControlRegister() & DSP_CONTROL_MASK);
(dsp_emulator->DSP_ReadControlRegister() & DSP_CONTROL_MASK);
break;

// ARAM
Expand Down Expand Up @@ -388,11 +388,11 @@ void Write16(const u16 _Value, const u32 _Address)
{
// DSP
case DSP_MAIL_TO_DSP_HI:
dsp_plugin->DSP_WriteMailBoxHigh(true, _Value);
dsp_emulator->DSP_WriteMailBoxHigh(true, _Value);
break;

case DSP_MAIL_TO_DSP_LO:
dsp_plugin->DSP_WriteMailBoxLow(true, _Value);
dsp_emulator->DSP_WriteMailBoxLow(true, _Value);
break;

case DSP_MAIL_FROM_DSP_HI:
Expand All @@ -408,7 +408,7 @@ void Write16(const u16 _Value, const u32 _Address)
{
UDSPControl tmpControl;
tmpControl.Hex = (_Value & ~DSP_CONTROL_MASK) |
(dsp_plugin->DSP_WriteControlRegister(_Value) & DSP_CONTROL_MASK);
(dsp_emulator->DSP_WriteControlRegister(_Value) & DSP_CONTROL_MASK);

// Not really sure if this is correct, but it works...
// Kind of a hack because DSP_CONTROL_MASK should make this bit
Expand Down Expand Up @@ -533,7 +533,7 @@ void Read32(u32& _uReturnValue, const u32 _iAddress)
{
// DSP
case DSP_MAIL_TO_DSP_HI:
_uReturnValue = (dsp_plugin->DSP_ReadMailBoxHigh(true) << 16) | dsp_plugin->DSP_ReadMailBoxLow(true);
_uReturnValue = (dsp_emulator->DSP_ReadMailBoxHigh(true) << 16) | dsp_emulator->DSP_ReadMailBoxLow(true);
break;

// AI
Expand Down Expand Up @@ -569,8 +569,8 @@ void Write32(const u32 _iValue, const u32 _iAddress)
{
// DSP
case DSP_MAIL_TO_DSP_HI:
dsp_plugin->DSP_WriteMailBoxHigh(true, _iValue >> 16);
dsp_plugin->DSP_WriteMailBoxLow(true, (u16)_iValue);
dsp_emulator->DSP_WriteMailBoxHigh(true, _iValue >> 16);
dsp_emulator->DSP_WriteMailBoxLow(true, (u16)_iValue);
break;

// AI
Expand Down Expand Up @@ -626,8 +626,8 @@ void GenerateDSPInterrupt(DSPInterruptType type, bool _bSet)
UpdateInterrupts();
}

// CALLED FROM DSP PLUGIN, POSSIBLY THREADED
void GenerateDSPInterruptFromPlugin(DSPInterruptType type, bool _bSet)
// CALLED FROM DSP EMULATOR, POSSIBLY THREADED
void GenerateDSPInterruptFromDSPEmu(DSPInterruptType type, bool _bSet)
{
CoreTiming::ScheduleEvent_Threadsafe(
0, et_GenerateDSPInterrupt, type | (_bSet<<16));
Expand All @@ -637,12 +637,12 @@ void GenerateDSPInterruptFromPlugin(DSPInterruptType type, bool _bSet)
void UpdateDSPSlice(int cycles) {
if (dsp_is_lle) {
//use up the rest of the slice(if any)
dsp_plugin->DSP_Update(dsp_slice);
dsp_emulator->DSP_Update(dsp_slice);
dsp_slice %= 6;
//note the new budget
dsp_slice += cycles;
} else {
dsp_plugin->DSP_Update(cycles);
dsp_emulator->DSP_Update(cycles);
}
}

Expand All @@ -660,7 +660,7 @@ void UpdateAudioDMA()

if (g_audioDMA.BlocksLeft == 0)
{
dsp_plugin->DSP_SendAIBuffer(g_audioDMA.SourceAddress, 8*g_audioDMA.AudioDMAControl.NumBlocks);
dsp_emulator->DSP_SendAIBuffer(g_audioDMA.SourceAddress, 8*g_audioDMA.AudioDMAControl.NumBlocks);
GenerateDSPInterrupt(DSP::INT_AID);
if (g_audioDMA.AudioDMAControl.Enable)
{
Expand Down
8 changes: 4 additions & 4 deletions Source/Core/Core/Src/HW/DSP.h
Expand Up @@ -20,7 +20,7 @@

#include "Common.h"
class PointerWrap;
class PluginDSP;
class DSPEmulator;

namespace DSP
{
Expand All @@ -42,12 +42,12 @@ enum
void Init(bool hle);
void Shutdown();

PluginDSP *GetPlugin();
DSPEmulator *GetDSPEmulator();

void DoState(PointerWrap &p);

void GenerateDSPInterrupt(DSPInterruptType _DSPInterruptType, bool _bSet = true);
void GenerateDSPInterruptFromPlugin(DSPInterruptType _DSPInterruptType, bool _bSet = true);
void GenerateDSPInterruptFromDSPEmu(DSPInterruptType _DSPInterruptType, bool _bSet = true);

// Read32
void Read16(u16& _uReturnValue, const u32 _uAddress);
Expand All @@ -57,7 +57,7 @@ void Read32(u32& _uReturnValue, const u32 _uAddress);
void Write16(const u16 _uValue, const u32 _uAddress);
void Write32(const u32 _uValue, const u32 _uAddress);

// Audio/DSP Plugin Helper
// Audio/DSP Helper
u8 ReadARAM(const u32 _uAddress);
void WriteARAM(u8 value, u32 _uAddress);

Expand Down
4 changes: 2 additions & 2 deletions Source/Core/Core/Src/HW/DSPHLE/DSPHLE.h
Expand Up @@ -21,11 +21,11 @@
#include "AudioCommon.h"
#include "SoundStream.h"
#include "MailHandler.h"
#include "../../PluginDSP.h"
#include "../../DSPEmulator.h"

class IUCode;

class DSPHLE : public PluginDSP {
class DSPHLE : public DSPEmulator {
public:
DSPHLE();

Expand Down
4 changes: 2 additions & 2 deletions Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp
Expand Up @@ -255,12 +255,12 @@ void CUCode_AX::Update(int cycles)
if (NeedsResumeMail())
{
m_rMailHandler.PushMail(DSP_RESUME);
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}
// check if we have to send something
else if (!m_rMailHandler.IsEmpty())
{
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}
}

Expand Down
4 changes: 2 additions & 2 deletions Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp
Expand Up @@ -145,12 +145,12 @@ void CUCode_AXWii::Update(int cycles)
if (NeedsResumeMail())
{
m_rMailHandler.PushMail(DSP_RESUME);
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}
// check if we have to send something
else if (!m_rMailHandler.IsEmpty())
{
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}
}

Expand Down
2 changes: 1 addition & 1 deletion Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_CARD.cpp
Expand Up @@ -40,7 +40,7 @@ void CUCode_CARD::Update(int cycles)
// check if we have to sent something
if (!m_rMailHandler.IsEmpty())
{
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}
}

Expand Down
2 changes: 1 addition & 1 deletion Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_GBA.cpp
Expand Up @@ -36,7 +36,7 @@ void CUCode_GBA::Update(int cycles)
// check if we have to send something
if (!m_rMailHandler.IsEmpty())
{
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}
}

Expand Down
16 changes: 8 additions & 8 deletions Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_Zelda.cpp
Expand Up @@ -78,7 +78,7 @@ CUCode_Zelda::CUCode_Zelda(DSPHLE *dsp_hle, u32 _CRC)
else
{
m_rMailHandler.PushMail(DSP_INIT);
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
m_rMailHandler.PushMail(0xF3551111); // handshake
}

Expand Down Expand Up @@ -116,13 +116,13 @@ void CUCode_Zelda::Update(int cycles)
if (!IsLightVersion())
{
if (m_rMailHandler.GetNextMail() == DSP_FRAME_END)
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}

if (NeedsResumeMail())
{
m_rMailHandler.PushMail(DSP_RESUME);
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}
}

Expand All @@ -143,7 +143,7 @@ void CUCode_Zelda::HandleMail_LightVersion(u32 _uMail)

if (m_bSyncCmdPending)
{
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
m_CurBuffer++;

if (m_CurBuffer == m_NumBuffers)
Expand Down Expand Up @@ -206,13 +206,13 @@ void CUCode_Zelda::HandleMail_SMSVersion(u32 _uMail)
m_CurBuffer++;

m_rMailHandler.PushMail(DSP_SYNC);
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
m_rMailHandler.PushMail(0xF355FF00 | m_CurBuffer);

if (m_CurBuffer == m_NumBuffers)
{
m_rMailHandler.PushMail(DSP_FRAME_END);
// DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
// DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);

soundStream->GetMixer()->SetHLEReady(true);
DEBUG_LOG(DSPHLE, "Update the SoundThread to be in sync");
Expand Down Expand Up @@ -333,7 +333,7 @@ void CUCode_Zelda::HandleMail_NormalVersion(u32 _uMail)
m_CurBuffer++;

m_rMailHandler.PushMail(DSP_SYNC);
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
m_rMailHandler.PushMail(0xF355FF00 | m_CurBuffer);

m_CurVoice = 0;
Expand Down Expand Up @@ -561,7 +561,7 @@ void CUCode_Zelda::ExecuteList()
else
{
m_rMailHandler.PushMail(DSP_SYNC);
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
m_rMailHandler.PushMail(0xF3550000 | Sync);
}
}
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp
Expand Up @@ -54,7 +54,7 @@ bool DSPHost_Running()
void DSPHost_InterruptRequest()
{
// Fire an interrupt on the PPC ASAP.
DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP);
DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP);
}

u32 DSPHost_CodeLoaded(const u8 *ptr, int size)
Expand Down
4 changes: 2 additions & 2 deletions Source/Core/Core/Src/HW/DSPLLE/DSPLLE.h
Expand Up @@ -21,9 +21,9 @@
#include "Thread.h"
#include "SoundStream.h"
#include "DSPLLEGlobals.h" // Local
#include "../../PluginDSP.h"
#include "../../DSPEmulator.h"

class DSPLLE : public PluginDSP {
class DSPLLE : public DSPEmulator {
public:
DSPLLE();

Expand Down
8 changes: 4 additions & 4 deletions Source/Core/Core/Src/HW/SystemTimers.cpp
Expand Up @@ -70,7 +70,7 @@ IPC_HLE_PERIOD: For the Wiimote this is the call schedule:
#include "../CoreTiming.h"
#include "../ConfigManager.h"
#include "../IPC_HLE/WII_IPC_HLE.h"
#include "../PluginDSP.h"
#include "../DSPEmulator.h"
#include "Thread.h"
#include "Timer.h"
#include "VideoBackendBase.h"
Expand Down Expand Up @@ -245,7 +245,7 @@ void Init()
{
CPU_CORE_CLOCK = 729000000u;

if (!DSP::GetPlugin()->IsLLE())
if (!DSP::GetDSPEmulator()->IsLLE())
DSP_PERIOD = (int)(GetTicksPerSecond() * 0.003f);

// AyuanX: TO BE TWEAKED
Expand All @@ -261,11 +261,11 @@ void Init()
{
CPU_CORE_CLOCK = 486000000u;

if (!DSP::GetPlugin()->IsLLE())
if (!DSP::GetDSPEmulator()->IsLLE())
DSP_PERIOD = (int)(GetTicksPerSecond() * 0.005f);
}

if (DSP::GetPlugin()->IsLLE())
if (DSP::GetDSPEmulator()->IsLLE())
DSP_PERIOD = 12000; // TO BE TWEAKED

// This is the biggest question mark.
Expand Down
4 changes: 2 additions & 2 deletions Source/Core/Core/Src/LuaInterface.cpp
Expand Up @@ -32,7 +32,7 @@
#include "Host.h"
#include "PowerPC/PowerPC.h"
#include "CoreTiming.h"
#include "PluginDSP.h"
#include "DSPEmulator.h"
#include "VideoBackendBase.h"

extern "C" {
Expand Down Expand Up @@ -2959,7 +2959,7 @@ DEFINE_LUA_FUNCTION(movie_close, "")

DEFINE_LUA_FUNCTION(sound_clear, "")
{
DSP::GetPlugin()->DSP_ClearAudioBuffer(false);
DSP::GetDSPEmulator()->DSP_ClearAudioBuffer(false);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion Source/Core/Core/Src/SConscript
Expand Up @@ -15,7 +15,7 @@ files = [
"OnFrame.cpp",
"MemTools.cpp",
"PatchEngine.cpp",
"PluginDSP.cpp",
"DSPEmulator.cpp",
"LuaInterface.cpp",
"State.cpp",
"Tracer.cpp",
Expand Down
12 changes: 8 additions & 4 deletions Source/Core/DolphinWX/Src/ConfigMain.cpp
Expand Up @@ -662,8 +662,12 @@ void CConfigMain::CreateGUIControls()
// backend
wxBoxSizer* svidbackend = new wxBoxSizer(wxHORIZONTAL);
svidbackend->Add(TEXT_BOX(DisplayPage, _("Video Backend:")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
GraphicSelection = new wxChoice(DisplayPage, ID_GRAPHIC_CB, wxDefaultPosition, wxDefaultSize, 0, NULL, 0, wxDefaultValidator);
GraphicSelection = new wxChoice(DisplayPage, ID_GRAPHIC_CB,
wxDefaultPosition, wxDefaultSize, 0, NULL, 0, wxDefaultValidator);
svidbackend->Add(GraphicSelection, 0, wxALIGN_CENTER_VERTICAL, 5);
GraphicConfig = new wxButton(DisplayPage, ID_GRAPHIC_CONFIG, _("GFX Config"),
wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
svidbackend->Add(GraphicConfig, 0, wxALIGN_CENTER_VERTICAL, 5);

wxBoxSizer* sDisplaySize = new wxBoxSizer(wxHORIZONTAL);
sDisplaySize->Add(TEXT_BOX(DisplayPage, _("Window Size:")), 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
Expand All @@ -673,7 +677,7 @@ void CConfigMain::CreateGUIControls()
sDisplaySize->Add(WindowAutoSize, 0, wxALIGN_CENTER_VERTICAL, 5);

sbDisplay = new wxStaticBoxSizer(wxVERTICAL, DisplayPage, _("Emulator Display Settings"));
sbDisplay->Add(svidbackend, 0, wxLEFT, 5);
sbDisplay->Add(svidbackend, 0, wxEXPAND | wxLEFT, 5);
sbDisplay->Add(sDisplayRes, 0, wxALL, 5);
sbDisplay->Add(sDisplaySize, 0, wxALL, 5);
sbDisplay->Add(Fullscreen, 0, wxEXPAND | wxALL, 5);
Expand Down Expand Up @@ -1339,11 +1343,11 @@ void CConfigMain::ApploaderPathChanged(wxFileDirPickerEvent& WXUNUSED (event))
}


// Plugin settings
// GFX backend selection
void CConfigMain::OnSelectionChanged(wxCommandEvent& ev)
{
g_video_backend = g_available_video_backends[ev.GetInt()];
SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin = g_video_backend->GetName();
SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoBackend = g_video_backend->GetName();
}

void CConfigMain::OnConfig(wxCommandEvent&)
Expand Down
8 changes: 4 additions & 4 deletions Source/Core/DolphinWX/Src/Frame.cpp
Expand Up @@ -254,10 +254,10 @@ EVT_MENU(IDM_FRAMESTEP, CFrame::OnFrameStep)
EVT_MENU(IDM_LUA, CFrame::OnOpenLuaWindow)
EVT_MENU(IDM_SCREENSHOT, CFrame::OnScreenshot)
EVT_MENU(wxID_PREFERENCES, CFrame::OnConfigMain)
EVT_MENU(IDM_CONFIG_GFX_PLUGIN, CFrame::OnPluginGFX)
EVT_MENU(IDM_CONFIG_DSP_PLUGIN, CFrame::OnPluginDSP)
EVT_MENU(IDM_CONFIG_PAD_PLUGIN, CFrame::OnPluginPAD)
EVT_MENU(IDM_CONFIG_WIIMOTE_PLUGIN, CFrame::OnPluginWiimote)
EVT_MENU(IDM_CONFIG_GFX_PLUGIN, CFrame::OnConfigGFX)
EVT_MENU(IDM_CONFIG_DSP_PLUGIN, CFrame::OnConfigDSP)
EVT_MENU(IDM_CONFIG_PAD_PLUGIN, CFrame::OnConfigPAD)
EVT_MENU(IDM_CONFIG_WIIMOTE_PLUGIN, CFrame::OnConfigWiimote)

EVT_MENU(IDM_SAVE_PERSPECTIVE, CFrame::OnToolBar)
EVT_AUITOOLBAR_TOOL_DROPDOWN(IDM_SAVE_PERSPECTIVE, CFrame::OnDropDownToolbarItem)
Expand Down
18 changes: 9 additions & 9 deletions Source/Core/DolphinWX/Src/Frame.h
Expand Up @@ -47,7 +47,7 @@ inline wxBitmap _wxGetBitmapFromMemory(const unsigned char* data, int length)
class CGameListCtrl;
class CLogWindow;

// The CPanel class to receive MSWWindowProc messages from the video plugin.
// The CPanel class to receive MSWWindowProc messages from the video backend.
class CPanel : public wxPanel
{
public:
Expand Down Expand Up @@ -186,10 +186,10 @@ class CFrame : public CRenderFrame
Toolbar_Pause,
Toolbar_Screenshot,
Toolbar_FullScreen,
Toolbar_PluginOptions,
Toolbar_PluginGFX,
Toolbar_PluginDSP,
Toolbar_PluginPAD,
Toolbar_ConfigMain,
Toolbar_ConfigGFX,
Toolbar_ConfigDSP,
Toolbar_ConfigPAD,
Toolbar_Wiimote,
Toolbar_Help,
EToolbar_Max
Expand Down Expand Up @@ -295,10 +295,10 @@ class CFrame : public CRenderFrame
void OnFrameStep(wxCommandEvent& event);

void OnConfigMain(wxCommandEvent& event); // Options
void OnPluginGFX(wxCommandEvent& event);
void OnPluginDSP(wxCommandEvent& event);
void OnPluginPAD(wxCommandEvent& event);
void OnPluginWiimote(wxCommandEvent& event);
void OnConfigGFX(wxCommandEvent& event);
void OnConfigDSP(wxCommandEvent& event);
void OnConfigPAD(wxCommandEvent& event);
void OnConfigWiimote(wxCommandEvent& event);

void OnToggleFullscreen(wxCommandEvent& event);
void OnToggleDualCore(wxCommandEvent& event);
Expand Down
60 changes: 30 additions & 30 deletions Source/Core/DolphinWX/Src/FrameTools.cpp
Expand Up @@ -379,10 +379,10 @@ void CFrame::PopulateToolbar(wxAuiToolBar* ToolBar)
ToolBar->AddTool(IDM_TOGGLE_FULLSCREEN, _("FullScr"), m_Bitmaps[Toolbar_FullScreen], _("Toggle Fullscreen"));
ToolBar->AddTool(IDM_SCREENSHOT, _("ScrShot"), m_Bitmaps[Toolbar_FullScreen], _("Take Screenshot"));
ToolBar->AddSeparator();
ToolBar->AddTool(wxID_PREFERENCES, _("Config"), m_Bitmaps[Toolbar_PluginOptions], _("Configure..."));
ToolBar->AddTool(IDM_CONFIG_GFX_PLUGIN, _("Graphics"), m_Bitmaps[Toolbar_PluginGFX], _("Graphics settings"));
ToolBar->AddTool(IDM_CONFIG_DSP_PLUGIN, _("DSP"), m_Bitmaps[Toolbar_PluginDSP], _("DSP settings"));
ToolBar->AddTool(IDM_CONFIG_PAD_PLUGIN, _("GCPad"), m_Bitmaps[Toolbar_PluginPAD], _("Gamecube Pad settings"));
ToolBar->AddTool(wxID_PREFERENCES, _("Config"), m_Bitmaps[Toolbar_ConfigMain], _("Configure..."));
ToolBar->AddTool(IDM_CONFIG_GFX_PLUGIN, _("Graphics"), m_Bitmaps[Toolbar_ConfigGFX], _("Graphics settings"));
ToolBar->AddTool(IDM_CONFIG_DSP_PLUGIN, _("DSP"), m_Bitmaps[Toolbar_ConfigDSP], _("DSP settings"));
ToolBar->AddTool(IDM_CONFIG_PAD_PLUGIN, _("GCPad"), m_Bitmaps[Toolbar_ConfigPAD], _("Gamecube Pad settings"));
ToolBar->AddTool(IDM_CONFIG_WIIMOTE_PLUGIN, _("Wiimote"), m_Bitmaps[Toolbar_Wiimote], _("Wiimote settings"));

// after adding the buttons to the toolbar, must call Realize() to reflect
Expand Down Expand Up @@ -464,10 +464,10 @@ void CFrame::InitBitmaps()
m_Bitmaps[Toolbar_Play] = wxGetBitmapFromMemory(toolbar_play_png);
m_Bitmaps[Toolbar_Stop] = wxGetBitmapFromMemory(toolbar_stop_png);
m_Bitmaps[Toolbar_Pause] = wxGetBitmapFromMemory(toolbar_pause_png);
m_Bitmaps[Toolbar_PluginOptions]= wxGetBitmapFromMemory(toolbar_plugin_options_png);
m_Bitmaps[Toolbar_PluginGFX] = wxGetBitmapFromMemory(toolbar_plugin_gfx_png);
m_Bitmaps[Toolbar_PluginDSP] = wxGetBitmapFromMemory(toolbar_plugin_dsp_png);
m_Bitmaps[Toolbar_PluginPAD] = wxGetBitmapFromMemory(toolbar_plugin_pad_png);
m_Bitmaps[Toolbar_ConfigMain] = wxGetBitmapFromMemory(toolbar_plugin_options_png);
m_Bitmaps[Toolbar_ConfigGFX] = wxGetBitmapFromMemory(toolbar_plugin_gfx_png);
m_Bitmaps[Toolbar_ConfigDSP] = wxGetBitmapFromMemory(toolbar_plugin_dsp_png);
m_Bitmaps[Toolbar_ConfigPAD] = wxGetBitmapFromMemory(toolbar_plugin_pad_png);
m_Bitmaps[Toolbar_Wiimote] = wxGetBitmapFromMemory(toolbar_plugin_wiimote_png);
m_Bitmaps[Toolbar_Screenshot] = wxGetBitmapFromMemory(toolbar_fullscreen_png);
m_Bitmaps[Toolbar_FullScreen] = wxGetBitmapFromMemory(toolbar_fullscreen_png);
Expand All @@ -490,10 +490,10 @@ void CFrame::InitBitmaps()
m_Bitmaps[Toolbar_Play] = wxGetBitmapFromMemory(Toolbar_Play1_png);
m_Bitmaps[Toolbar_Stop] = wxGetBitmapFromMemory(Toolbar_Stop1_png);
m_Bitmaps[Toolbar_Pause] = wxGetBitmapFromMemory(Toolbar_Pause1_png);
m_Bitmaps[Toolbar_PluginOptions]= wxGetBitmapFromMemory(Toolbar_Options1_png);
m_Bitmaps[Toolbar_PluginGFX] = wxGetBitmapFromMemory(Toolbar_Gfx1_png);
m_Bitmaps[Toolbar_PluginDSP] = wxGetBitmapFromMemory(Toolbar_DSP1_png);
m_Bitmaps[Toolbar_PluginPAD] = wxGetBitmapFromMemory(Toolbar_Pad1_png);
m_Bitmaps[Toolbar_ConfigMain] = wxGetBitmapFromMemory(Toolbar_Options1_png);
m_Bitmaps[Toolbar_ConfigGFX] = wxGetBitmapFromMemory(Toolbar_Gfx1_png);
m_Bitmaps[Toolbar_ConfigDSP] = wxGetBitmapFromMemory(Toolbar_DSP1_png);
m_Bitmaps[Toolbar_ConfigPAD] = wxGetBitmapFromMemory(Toolbar_Pad1_png);
m_Bitmaps[Toolbar_Wiimote] = wxGetBitmapFromMemory(Toolbar_Wiimote1_png);
m_Bitmaps[Toolbar_Screenshot] = wxGetBitmapFromMemory(Toolbar_Fullscreen1_png);
m_Bitmaps[Toolbar_FullScreen] = wxGetBitmapFromMemory(Toolbar_Fullscreen1_png);
Expand All @@ -509,10 +509,10 @@ void CFrame::InitBitmaps()
m_Bitmaps[Toolbar_Play] = wxGetBitmapFromMemory(Toolbar_Play2_png);
m_Bitmaps[Toolbar_Stop] = wxGetBitmapFromMemory(Toolbar_Stop2_png);
m_Bitmaps[Toolbar_Pause] = wxGetBitmapFromMemory(Toolbar_Pause2_png);
m_Bitmaps[Toolbar_PluginOptions]= wxGetBitmapFromMemory(Toolbar_Options2_png);
m_Bitmaps[Toolbar_PluginGFX] = wxGetBitmapFromMemory(Toolbar_Gfx2_png);
m_Bitmaps[Toolbar_PluginDSP] = wxGetBitmapFromMemory(Toolbar_DSP2_png);
m_Bitmaps[Toolbar_PluginPAD] = wxGetBitmapFromMemory(Toolbar_Pad2_png);
m_Bitmaps[Toolbar_ConfigMain] = wxGetBitmapFromMemory(Toolbar_Options2_png);
m_Bitmaps[Toolbar_ConfigGFX] = wxGetBitmapFromMemory(Toolbar_Gfx2_png);
m_Bitmaps[Toolbar_ConfigDSP] = wxGetBitmapFromMemory(Toolbar_DSP2_png);
m_Bitmaps[Toolbar_ConfigPAD] = wxGetBitmapFromMemory(Toolbar_Pad2_png);
m_Bitmaps[Toolbar_Wiimote] = wxGetBitmapFromMemory(Toolbar_Wiimote2_png);
m_Bitmaps[Toolbar_Screenshot] = wxGetBitmapFromMemory(Toolbar_Fullscreen2_png);
m_Bitmaps[Toolbar_FullScreen] = wxGetBitmapFromMemory(Toolbar_Fullscreen2_png);
Expand All @@ -528,10 +528,10 @@ void CFrame::InitBitmaps()
m_Bitmaps[Toolbar_Play] = wxGetBitmapFromMemory(Toolbar_Play3_png);
m_Bitmaps[Toolbar_Stop] = wxGetBitmapFromMemory(Toolbar_Stop3_png);
m_Bitmaps[Toolbar_Pause] = wxGetBitmapFromMemory(Toolbar_Pause3_png);
m_Bitmaps[Toolbar_PluginOptions]= wxGetBitmapFromMemory(Toolbar_Options3_png);
m_Bitmaps[Toolbar_PluginGFX] = wxGetBitmapFromMemory(Toolbar_Gfx3_png);
m_Bitmaps[Toolbar_PluginDSP] = wxGetBitmapFromMemory(Toolbar_DSP3_png);
m_Bitmaps[Toolbar_PluginPAD] = wxGetBitmapFromMemory(Toolbar_Pad3_png);
m_Bitmaps[Toolbar_ConfigMain] = wxGetBitmapFromMemory(Toolbar_Options3_png);
m_Bitmaps[Toolbar_ConfigGFX] = wxGetBitmapFromMemory(Toolbar_Gfx3_png);
m_Bitmaps[Toolbar_ConfigDSP] = wxGetBitmapFromMemory(Toolbar_DSP3_png);
m_Bitmaps[Toolbar_ConfigPAD] = wxGetBitmapFromMemory(Toolbar_Pad3_png);
m_Bitmaps[Toolbar_Wiimote] = wxGetBitmapFromMemory(Toolbar_Wiimote3_png);
m_Bitmaps[Toolbar_Screenshot] = wxGetBitmapFromMemory(Toolbar_Fullscreen3_png);
m_Bitmaps[Toolbar_FullScreen] = wxGetBitmapFromMemory(Toolbar_Fullscreen3_png);
Expand Down Expand Up @@ -1088,21 +1088,21 @@ void CFrame::OnConfigMain(wxCommandEvent& WXUNUSED (event))
m_GameListCtrl->Update();
}

void CFrame::OnPluginGFX(wxCommandEvent& WXUNUSED (event))
void CFrame::OnConfigGFX(wxCommandEvent& WXUNUSED (event))
{
if (g_video_backend)
g_video_backend->ShowConfig(this);
}

void CFrame::OnPluginDSP(wxCommandEvent& WXUNUSED (event))
void CFrame::OnConfigDSP(wxCommandEvent& WXUNUSED (event))
{
CConfigMain ConfigMain(this);
ConfigMain.SetSelectedTab(CConfigMain::ID_AUDIOPAGE);
if (ConfigMain.ShowModal() == wxID_OK)
m_GameListCtrl->Update();
}

void CFrame::OnPluginPAD(wxCommandEvent& WXUNUSED (event))
void CFrame::OnConfigPAD(wxCommandEvent& WXUNUSED (event))
{
InputPlugin *const pad_plugin = Pad::GetPlugin();
bool was_init = false;
Expand All @@ -1117,16 +1117,16 @@ void CFrame::OnPluginPAD(wxCommandEvent& WXUNUSED (event))
Pad::Initialize(GetHandle());
#endif
}
InputConfigDialog *const m_ConfigFrame = new InputConfigDialog(this, *pad_plugin, _trans("Dolphin GCPad Configuration"));
m_ConfigFrame->ShowModal();
m_ConfigFrame->Destroy();
InputConfigDialog m_ConfigFrame(this, *pad_plugin, _trans("Dolphin GCPad Configuration"));
m_ConfigFrame.ShowModal();
m_ConfigFrame.Destroy();
if (!was_init) // if game isn't running
{
Pad::Shutdown();
}
}

void CFrame::OnPluginWiimote(wxCommandEvent& WXUNUSED (event))
void CFrame::OnConfigWiimote(wxCommandEvent& WXUNUSED (event))
{
InputPlugin *const wiimote_plugin = Wiimote::GetPlugin();
bool was_init = false;
Expand All @@ -1141,9 +1141,9 @@ void CFrame::OnPluginWiimote(wxCommandEvent& WXUNUSED (event))
Wiimote::Initialize(GetHandle());
#endif
}
WiimoteConfigDiag *const m_ConfigFrame = new WiimoteConfigDiag(this, *wiimote_plugin);
m_ConfigFrame->ShowModal();
m_ConfigFrame->Destroy();
WiimoteConfigDiag m_ConfigFrame(this, *wiimote_plugin);
m_ConfigFrame.ShowModal();
m_ConfigFrame.Destroy();
if (!was_init) // if game isn't running
{
Wiimote::Shutdown();
Expand Down
33 changes: 17 additions & 16 deletions Source/Core/DolphinWX/Src/Main.cpp
Expand Up @@ -98,11 +98,11 @@ bool DolphinApp::OnInit()
// Declarations and definitions
bool UseDebugger = false;
bool UseLogger = false;
bool selectVideoPlugin = false;
bool selectAudioPlugin = false;
bool selectVideoBackend = false;
bool selectAudioEmulation = false;

wxString videoPluginFilename;
wxString audioPluginFilename;
wxString videoBackendName;
wxString audioEmulationName;

#if wxUSE_CMDLINE_PARSER // Parse command lines
wxCmdLineEntryDesc cmdLineDesc[] =
Expand Down Expand Up @@ -130,13 +130,13 @@ bool DolphinApp::OnInit()
_("Exit Dolphin with emulator")
},
{
wxCMD_LINE_OPTION, wxS("V"), wxS("video_plugin"),
_("Specify a video plugin"),
wxCMD_LINE_OPTION, wxS("V"), wxS("video_backend"),
_("Specify a video backend"),
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
},
{
wxCMD_LINE_OPTION, wxS("A"), wxS("audio_plugin"),
_("Specify an audio plugin"),
wxCMD_LINE_OPTION, wxS("A"), wxS("audio_emulation"),
_("Specify low level (LLE) or high level (HLE) audio emulation"),
wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL
},
{
Expand All @@ -155,10 +155,11 @@ bool DolphinApp::OnInit()
UseLogger = parser.Found(wxT("logger"));
LoadFile = parser.Found(wxT("exec"), &FileToLoad);
BatchMode = parser.Found(wxT("batch"));
selectVideoPlugin = parser.Found(wxT("video_plugin"),
&videoPluginFilename);
selectAudioPlugin = parser.Found(wxT("audio_plugin"),
&audioPluginFilename);
selectVideoBackend = parser.Found(wxT("video_backend"),
&videoBackendName);
// TODO: This currently has no effect. Implement or delete.
selectAudioEmulation = parser.Found(wxT("audio_emulation"),
&audioEmulationName);
#endif // wxUSE_CMDLINE_PARSER

#if defined _DEBUG && defined _WIN32
Expand Down Expand Up @@ -287,11 +288,11 @@ bool DolphinApp::OnInit()
VideoBackend::PopulateList();
WiimoteReal::LoadSettings();

if (selectVideoPlugin && videoPluginFilename != wxEmptyString)
SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin =
std::string(videoPluginFilename.mb_str());
if (selectVideoBackend && videoBackendName != wxEmptyString)
SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoBackend =
std::string(videoBackendName.mb_str());

VideoBackend::ActivateBackend(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin);
VideoBackend::ActivateBackend(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoBackend);

// Enable the PNG image handler for screenshots
wxImage::AddHandler(new wxPNGHandler);
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinWX/Src/MainNoGUI.cpp
Expand Up @@ -297,7 +297,7 @@ int main(int argc, char* argv[])
SConfig::Init();
VideoBackend::PopulateList();
VideoBackend::ActivateBackend(SConfig::GetInstance().
m_LocalCoreStartupParameter.m_strVideoPlugin);
m_LocalCoreStartupParameter.m_strVideoBackend);
WiimoteReal::LoadSettings();

// No use running the loop when booting fails
Expand Down
1 change: 1 addition & 0 deletions Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Expand Up @@ -503,6 +503,7 @@ Renderer::~Renderer()
if(s_bAVIDumping)
{
AVIDump::Stop();
s_bLastFrameDumped = false;
s_bAVIDumping = false;
}
#else
Expand Down
5 changes: 1 addition & 4 deletions Source/Plugins/Plugin_VideoOGL/Src/main.cpp
Expand Up @@ -172,10 +172,7 @@ void VideoBackend::Initialize()
g_Config.GameIniLoad(SConfig::GetInstance().m_LocalCoreStartupParameter.m_strGameIni.c_str());

g_Config.UpdateProjectionHack();
#if defined _WIN32
// Enable support for PNG screenshots.
wxImage::AddHandler( new wxPNGHandler );
#endif

UpdateActiveConfig();

if (!OpenGL_Create(640, 480))
Expand Down