diff --git a/Readme.txt b/Readme.txt index ad31c2123b..722281a73f 100644 --- a/Readme.txt +++ b/Readme.txt @@ -29,8 +29,8 @@ Usage: Dolphin [-h] [-d] [-l] [-e ] [-b] [-V ] [-A ] -l, --logger Opens the logger -e, --exec= Loads the specified file (DOL, ELF, WAD, GCM, ISO) -b, --batch Exit Dolphin with emulator - -V, --video_plugin= Specify a video plugin - -A, --audio_plugin= Specify an audio plugin + -V, --video_backend= Specify a video plugin + -A, --audio_emulation= Specify low level (LLE) or high level (HLE) audio emulation [Libraries] Cg: Cg Shading API (http://developer.nvidia.com/object/cg_toolkit.html) @@ -40,10 +40,10 @@ Cg: Cg Shading API (http://developer.nvidia.com/object/cg_toolkit.html) Plugin_DSP_HLE: High Level DSP Emulation Plugin_DSP_LLE: Low Level DSP Emulation -[Video Plugins] -Plugin_VideoDX9: Render with Direct3D 9 -Plugin_VideoDX11: Render with Direct3D 11 -Plugin_VideoOGL: Render with OpenGL + Cg Shader Language +[Video Backends] +Direct3D9: Render with Direct3D 9 +Direct3D11: Render with Direct3D 11 +OpenGL: Render with OpenGL + Cg Shader Language [Sys Files] totaldb.dsy: Database of symbols (for devs only) diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt index 93e2bf9f3f..90181a85eb 100644 --- a/Source/Core/Core/CMakeLists.txt +++ b/Source/Core/Core/CMakeLists.txt @@ -6,13 +6,13 @@ set(SRCS Src/ActionReplay.cpp Src/CoreParameter.cpp Src/CoreRerecording.cpp Src/CoreTiming.cpp + Src/DSPEmulator.cpp Src/GeckoCodeConfig.cpp Src/GeckoCode.cpp Src/LuaInterface.cpp Src/MemTools.cpp Src/OnFrame.cpp Src/PatchEngine.cpp - Src/PluginDSP.cpp Src/State.cpp Src/stdafx.cpp Src/Tracer.cpp diff --git a/Source/Core/Core/Core.vcproj b/Source/Core/Core/Core.vcproj index b7448218ac..4c70d7fdb5 100644 --- a/Source/Core/Core/Core.vcproj +++ b/Source/Core/Core/Core.vcproj @@ -1974,11 +1974,11 @@ > - + @@ -584,7 +584,7 @@ - + diff --git a/Source/Core/Core/Core.vcxproj.filters b/Source/Core/Core/Core.vcxproj.filters index 5152694b15..baf582ef43 100644 --- a/Source/Core/Core/Core.vcxproj.filters +++ b/Source/Core/Core/Core.vcxproj.filters @@ -10,7 +10,7 @@ - + @@ -539,7 +539,7 @@ - + @@ -1119,4 +1119,4 @@ {1c21a3e1-b791-4a23-b0d5-ed2b2c34007f} - \ No newline at end of file + diff --git a/Source/Core/Core/Src/ConfigManager.cpp b/Source/Core/Core/Src/ConfigManager.cpp index 20e0ba02ba..0e14310140 100644 --- a/Source/Core/Core/Src/ConfigManager.cpp +++ b/Source/Core/Core/Src/ConfigManager.cpp @@ -182,9 +182,8 @@ void SConfig::SaveSettings() ini.Set("Core", "FrameLimit", m_Framelimit); ini.Set("Core", "UseFPS", b_UseFPS); - // Plugins - // TODO: change key name, it's no longer a plugin - ini.Set("Core", "GFXPlugin", m_LocalCoreStartupParameter.m_strVideoPlugin); + // GFX Backend + ini.Set("Core", "GFXBackend", m_LocalCoreStartupParameter.m_strVideoBackend); ini.Save(File::GetUserPath(F_DOLPHINCONFIG_IDX)); m_SYSCONF->Save(); @@ -313,9 +312,8 @@ void SConfig::LoadSettings() ini.Get("Core", "FrameLimit", &m_Framelimit, 1); // auto frame limit by default ini.Get("Core", "UseFPS", &b_UseFPS, false); // use vps as default - // Plugins - // TODO: change key name, it's no longer a plugin - ini.Get("Core", "GFXPlugin", &m_LocalCoreStartupParameter.m_strVideoPlugin, ""); + // GFX Backend + ini.Get("Core", "GFXBackend", &m_LocalCoreStartupParameter.m_strVideoBackend, ""); } m_SYSCONF = new SysConf(); diff --git a/Source/Core/Core/Src/ConfigManager.h b/Source/Core/Core/Src/ConfigManager.h index 1823c8491c..6c1f5417f7 100644 --- a/Source/Core/Core/Src/ConfigManager.h +++ b/Source/Core/Core/Src/ConfigManager.h @@ -34,10 +34,6 @@ struct SConfig : NonCopyable bool m_WiiAutoReconnect[4]; bool m_WiiAutoUnpair; - // hard coded default plugins ... - std::string m_DefaultGFXPlugin; - std::string m_DefaultDSPPlugin; - // name of the last used filename std::string m_LastFilename; diff --git a/Source/Core/Core/Src/Core.cpp b/Source/Core/Core/Src/Core.cpp index d7dd5eb635..532564fa16 100644 --- a/Source/Core/Core/Src/Core.cpp +++ b/Source/Core/Core/Src/Core.cpp @@ -54,7 +54,7 @@ #include "PowerPC/PowerPC.h" #include "PowerPC/JitCommon/JitBase.h" -#include "PluginDSP.h" +#include "DSPEmulator.h" #include "ConfigManager.h" #include "VideoBackendBase.h" @@ -314,7 +314,7 @@ void EmuThread() g_video_backend->Initialize(); g_pWindowHandle = _CoreParameter.hMainWindow; - DSP::GetPlugin()->Initialize(g_pWindowHandle, _CoreParameter.bWii, _CoreParameter.bDSPThread); + DSP::GetDSPEmulator()->Initialize(g_pWindowHandle, _CoreParameter.bWii, _CoreParameter.bDSPThread); Pad::Initialize(g_pWindowHandle); @@ -411,7 +411,7 @@ void EmuThread() // Stop audio thread - Actually this does nothing on HLE plugin. // But stops the DSP Interpreter on LLE plugin. - DSP::GetPlugin()->DSP_StopSoundStream(); + DSP::GetDSPEmulator()->DSP_StopSoundStream(); // We must set up this flag before executing HW::Shutdown() g_bHwInit = false; @@ -653,7 +653,7 @@ void Callback_DSPLog(const TCHAR* _szMessage, int _v) // WARNING - THIS MAY BE EXECUTED FROM DSP THREAD void Callback_DSPInterrupt() { - DSP::GenerateDSPInterruptFromPlugin(DSP::INT_DSP); + DSP::GenerateDSPInterruptFromDSPEmu(DSP::INT_DSP); } diff --git a/Source/Core/Core/Src/CoreParameter.h b/Source/Core/Core/Src/CoreParameter.h index b915836cf3..d4faad3a67 100644 --- a/Source/Core/Core/Src/CoreParameter.h +++ b/Source/Core/Core/Src/CoreParameter.h @@ -128,9 +128,9 @@ struct SCoreStartupParameter }; EBootType m_BootType; - // files - std::string m_strVideoPlugin; + std::string m_strVideoBackend; + // files std::string m_strFilename; std::string m_strBootROM; std::string m_strSRAM; diff --git a/Source/Core/Core/Src/PluginDSP.cpp b/Source/Core/Core/Src/DSPEmulator.cpp similarity index 92% rename from Source/Core/Core/Src/PluginDSP.cpp rename to Source/Core/Core/Src/DSPEmulator.cpp index 33a98a18fb..2f1c7649a7 100644 --- a/Source/Core/Core/Src/PluginDSP.cpp +++ b/Source/Core/Core/Src/DSPEmulator.cpp @@ -15,12 +15,12 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ -#include "PluginDSP.h" +#include "DSPEmulator.h" #include "HW/DSPLLE/DSPLLE.h" #include "HW/DSPHLE/DSPHLE.h" -PluginDSP *CreateDSPPlugin(bool HLE) +DSPEmulator *CreateDSPEmulator(bool HLE) { ac_Config.Load(); diff --git a/Source/Core/Core/Src/PluginDSP.h b/Source/Core/Core/Src/DSPEmulator.h similarity index 94% rename from Source/Core/Core/Src/PluginDSP.h rename to Source/Core/Core/Src/DSPEmulator.h index 45975f0831..8d2a108e18 100644 --- a/Source/Core/Core/Src/PluginDSP.h +++ b/Source/Core/Core/Src/DSPEmulator.h @@ -21,10 +21,10 @@ #include "ChunkFile.h" -class PluginDSP +class DSPEmulator { public: - virtual ~PluginDSP() {} + virtual ~DSPEmulator() {} virtual bool IsLLE() = 0; @@ -45,6 +45,6 @@ public: virtual void DSP_ClearAudioBuffer(bool mute) = 0; }; -PluginDSP *CreateDSPPlugin(bool LLE); +DSPEmulator *CreateDSPEmulator(bool LLE); #endif // _PLUGINDSP_H_ diff --git a/Source/Core/Core/Src/HW/CPU.cpp b/Source/Core/Core/Src/HW/CPU.cpp index 75a76010b6..1b10bdd766 100644 --- a/Source/Core/Core/Src/HW/CPU.cpp +++ b/Source/Core/Core/Src/HW/CPU.cpp @@ -18,7 +18,7 @@ #include "Common.h" #include "Thread.h" -#include "../PluginDSP.h" +#include "../DSPEmulator.h" #include "../PowerPC/PowerPC.h" #include "../Host.h" #include "../Core.h" @@ -118,14 +118,14 @@ void CCPU::EnableStepping(const bool _bStepping) { PowerPC::Pause(); g_video_backend->EmuStateChange(EMUSTATE_CHANGE_PAUSE); - DSP::GetPlugin()->DSP_ClearAudioBuffer(true); + DSP::GetDSPEmulator()->DSP_ClearAudioBuffer(true); } else { PowerPC::Start(); m_StepEvent.Set(); g_video_backend->EmuStateChange(EMUSTATE_CHANGE_PLAY); - DSP::GetPlugin()->DSP_ClearAudioBuffer(false); + DSP::GetDSPEmulator()->DSP_ClearAudioBuffer(false); } } diff --git a/Source/Core/Core/Src/HW/DSP.cpp b/Source/Core/Core/Src/HW/DSP.cpp index bfe04c5bdf..21475551d8 100644 --- a/Source/Core/Core/Src/HW/DSP.cpp +++ b/Source/Core/Core/Src/HW/DSP.cpp @@ -46,7 +46,7 @@ #include "AudioInterface.h" #include "../PowerPC/PowerPC.h" #include "../ConfigManager.h" -#include "../PluginDSP.h" +#include "../DSPEmulator.h" namespace DSP { @@ -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; @@ -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); } @@ -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) { @@ -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) @@ -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 @@ -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: @@ -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 @@ -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 @@ -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 @@ -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)); @@ -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); } } @@ -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) { diff --git a/Source/Core/Core/Src/HW/DSP.h b/Source/Core/Core/Src/HW/DSP.h index 843c2b16d9..63a8ab6a2d 100644 --- a/Source/Core/Core/Src/HW/DSP.h +++ b/Source/Core/Core/Src/HW/DSP.h @@ -20,7 +20,7 @@ #include "Common.h" class PointerWrap; -class PluginDSP; +class DSPEmulator; namespace DSP { @@ -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); @@ -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); diff --git a/Source/Core/Core/Src/HW/DSPHLE/DSPHLE.h b/Source/Core/Core/Src/HW/DSPHLE/DSPHLE.h index cab228ac1d..f54cfec783 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/DSPHLE.h +++ b/Source/Core/Core/Src/HW/DSPHLE/DSPHLE.h @@ -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(); diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp index 4ba77f3add..40359d4f7d 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp @@ -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); } } diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp index 9309225140..aeaa602c56 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp @@ -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); } } diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_CARD.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_CARD.cpp index 31afa26c9f..442d77ab85 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_CARD.cpp +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_CARD.cpp @@ -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); } } diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_GBA.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_GBA.cpp index 140c13c999..b82c7ac0b2 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_GBA.cpp +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_GBA.cpp @@ -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); } } diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_Zelda.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_Zelda.cpp index fae869b8f4..0cd3ec652e 100644 --- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_Zelda.cpp +++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_Zelda.cpp @@ -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 } @@ -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); } } @@ -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) @@ -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"); @@ -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; @@ -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); } } diff --git a/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp b/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp index c22c7df4e0..8bea8393e8 100644 --- a/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp +++ b/Source/Core/Core/Src/HW/DSPLLE/DSPHost.cpp @@ -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) diff --git a/Source/Core/Core/Src/HW/DSPLLE/DSPLLE.h b/Source/Core/Core/Src/HW/DSPLLE/DSPLLE.h index 76cd9decb2..b40b9a7c98 100644 --- a/Source/Core/Core/Src/HW/DSPLLE/DSPLLE.h +++ b/Source/Core/Core/Src/HW/DSPLLE/DSPLLE.h @@ -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(); diff --git a/Source/Core/Core/Src/HW/SystemTimers.cpp b/Source/Core/Core/Src/HW/SystemTimers.cpp index 35817b3895..702a96eb62 100644 --- a/Source/Core/Core/Src/HW/SystemTimers.cpp +++ b/Source/Core/Core/Src/HW/SystemTimers.cpp @@ -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" @@ -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 @@ -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. diff --git a/Source/Core/Core/Src/LuaInterface.cpp b/Source/Core/Core/Src/LuaInterface.cpp index f0b4b30475..14e8a9a773 100644 --- a/Source/Core/Core/Src/LuaInterface.cpp +++ b/Source/Core/Core/Src/LuaInterface.cpp @@ -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" { @@ -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; } diff --git a/Source/Core/Core/Src/SConscript b/Source/Core/Core/Src/SConscript index 20a221757f..c44fbf174c 100644 --- a/Source/Core/Core/Src/SConscript +++ b/Source/Core/Core/Src/SConscript @@ -15,7 +15,7 @@ files = [ "OnFrame.cpp", "MemTools.cpp", "PatchEngine.cpp", - "PluginDSP.cpp", + "DSPEmulator.cpp", "LuaInterface.cpp", "State.cpp", "Tracer.cpp", diff --git a/Source/Core/DolphinWX/Src/ConfigMain.cpp b/Source/Core/DolphinWX/Src/ConfigMain.cpp index db73394506..5ef4e19f4a 100644 --- a/Source/Core/DolphinWX/Src/ConfigMain.cpp +++ b/Source/Core/DolphinWX/Src/ConfigMain.cpp @@ -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); @@ -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); @@ -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&) diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp index dc48955716..71f05873e0 100644 --- a/Source/Core/DolphinWX/Src/Frame.cpp +++ b/Source/Core/DolphinWX/Src/Frame.cpp @@ -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) diff --git a/Source/Core/DolphinWX/Src/Frame.h b/Source/Core/DolphinWX/Src/Frame.h index a6ca045cf8..76e682842b 100644 --- a/Source/Core/DolphinWX/Src/Frame.h +++ b/Source/Core/DolphinWX/Src/Frame.h @@ -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: @@ -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 @@ -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); diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp index 72c2742da3..3ae336fcf5 100644 --- a/Source/Core/DolphinWX/Src/FrameTools.cpp +++ b/Source/Core/DolphinWX/Src/FrameTools.cpp @@ -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 @@ -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); @@ -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); @@ -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); @@ -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); @@ -1088,13 +1088,13 @@ 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); @@ -1102,7 +1102,7 @@ void CFrame::OnPluginDSP(wxCommandEvent& WXUNUSED (event)) 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; @@ -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; @@ -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(); diff --git a/Source/Core/DolphinWX/Src/Main.cpp b/Source/Core/DolphinWX/Src/Main.cpp index b0211226bb..595fc9a4a5 100644 --- a/Source/Core/DolphinWX/Src/Main.cpp +++ b/Source/Core/DolphinWX/Src/Main.cpp @@ -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[] = @@ -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 }, { @@ -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 @@ -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); diff --git a/Source/Core/DolphinWX/Src/MainNoGUI.cpp b/Source/Core/DolphinWX/Src/MainNoGUI.cpp index 69fd158209..444a0e642f 100644 --- a/Source/Core/DolphinWX/Src/MainNoGUI.cpp +++ b/Source/Core/DolphinWX/Src/MainNoGUI.cpp @@ -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 diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp index 16fa8a2f9f..e6fa8ae741 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/Render.cpp @@ -503,6 +503,7 @@ Renderer::~Renderer() if(s_bAVIDumping) { AVIDump::Stop(); + s_bLastFrameDumped = false; s_bAVIDumping = false; } #else diff --git a/Source/Plugins/Plugin_VideoOGL/Src/main.cpp b/Source/Plugins/Plugin_VideoOGL/Src/main.cpp index c7ab974ba5..0059d07794 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/main.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/main.cpp @@ -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))