summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2009-01-23 21:28:55 +0000
committerhrydgard <hrydgard@gmail.com>2009-01-23 21:28:55 +0000
commit70bc8167f8af6aa053b9335209c80f554d8fb597 (patch)
tree275f4138c1f0441be64ec0676d01fc365f8ffcb3 /Source/Core
parent7ecf884f9ae9b3cb8632b858999bf45d97211523 (diff)
Warp back to 1983!!! (rev 1983, that is, not the year :P)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1997 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Common/Src/Common.h1
-rw-r--r--Source/Core/Common/Src/Plugin.cpp24
-rw-r--r--Source/Core/Common/Src/Plugin.h48
-rw-r--r--Source/Core/Common/Src/PluginPAD.h22
-rw-r--r--Source/Core/Common/Src/PluginVideo.cpp8
-rw-r--r--Source/Core/Common/Src/PluginVideo.h27
-rw-r--r--Source/Core/Core/Core.vcproj4
-rw-r--r--Source/Core/Core/Src/Core.cpp15
-rw-r--r--Source/Core/Core/Src/HW/SI.cpp5
-rw-r--r--Source/Core/Core/Src/HW/SI_DeviceGCController.cpp5
-rw-r--r--Source/Core/Core/Src/PluginManager.cpp158
-rw-r--r--Source/Core/Core/Src/PluginManager.h11
-rw-r--r--Source/Core/Core/Src/SConscript2
-rw-r--r--Source/Core/DebuggerWX/DebuggerWX.vcproj4
-rw-r--r--Source/Core/DiscIO/Src/BannerLoader.cpp4
-rw-r--r--Source/Core/DiscIO/Src/BannerLoaderWii.cpp5
-rw-r--r--Source/Core/DolphinWX/Src/ConfigMain.cpp51
-rw-r--r--Source/Core/DolphinWX/Src/Frame.cpp6
-rw-r--r--Source/Core/DolphinWX/Src/FrameTools.cpp12
-rw-r--r--Source/Core/InputCommon/InputCommon.vcproj22
-rw-r--r--Source/Core/InputCommon/Src/InputManager.cpp94
-rw-r--r--Source/Core/InputCommon/Src/InputManager.h43
-rw-r--r--Source/Core/InputCommon/Src/SConscript1
23 files changed, 168 insertions, 404 deletions
diff --git a/Source/Core/Common/Src/Common.h b/Source/Core/Common/Src/Common.h
index 712006c1d2..7df31f7cb7 100644
--- a/Source/Core/Common/Src/Common.h
+++ b/Source/Core/Common/Src/Common.h
@@ -38,7 +38,6 @@
#include "../../../PluginSpecs/CommonTypes.h"
#define HAVE_WIIUSE 1
- #define HAVE_SDL 1
#define HAVE_WX 1
#else
#include "CommonTypes.h"
diff --git a/Source/Core/Common/Src/Plugin.cpp b/Source/Core/Common/Src/Plugin.cpp
index dd67c76b3b..15bd184bcf 100644
--- a/Source/Core/Common/Src/Plugin.cpp
+++ b/Source/Core/Common/Src/Plugin.cpp
@@ -37,10 +37,8 @@ CPlugin::~CPlugin()
CPlugin::CPlugin(const char* _szName) : valid(false)
{
- if (m_hInstLib.Load(_szName))
- {
+ if (m_hInstLib.Load(_szName)) {
- // Create pointers to the DLL functions
m_GetDllInfo = reinterpret_cast<TGetDllInfo>
(m_hInstLib.Get("GetDllInfo"));
m_DllConfig = reinterpret_cast<TDllConfig>
@@ -58,28 +56,24 @@ CPlugin::CPlugin(const char* _szName) : valid(false)
}
if (m_GetDllInfo != 0 &&
- m_DllConfig != 0 &&
- m_DllDebugger != 0 &&
- m_SetDllGlobals != 0 &&
- m_Initialize != 0 &&
- m_Shutdown != 0 &&
- m_DoState != 0)
+ m_DllConfig != 0 &&
+ m_DllDebugger != 0 &&
+ m_SetDllGlobals != 0 &&
+ m_Initialize != 0 &&
+ m_Shutdown != 0 &&
+ m_DoState != 0)
valid = true;
- // Save the filename for this plugin
- Filename = _szName;
}
-void *CPlugin::LoadSymbol(const char *sym)
-{
+void *CPlugin::LoadSymbol(const char *sym) {
return m_hInstLib.Get(sym);
}
// ______________________________________________________________________________________
// GetInfo: Get DLL info
-bool CPlugin::GetInfo(PLUGIN_INFO& _pluginInfo)
-{
+bool CPlugin::GetInfo(PLUGIN_INFO& _pluginInfo) {
if (m_GetDllInfo != 0)
{
m_GetDllInfo(&_pluginInfo);
diff --git a/Source/Core/Common/Src/Plugin.h b/Source/Core/Common/Src/Plugin.h
index 553b2419ed..0be36eeb24 100644
--- a/Source/Core/Common/Src/Plugin.h
+++ b/Source/Core/Common/Src/Plugin.h
@@ -36,37 +36,35 @@ class CPlugin
{
public:
- CPlugin(const char* _szName);
- ~CPlugin();
+ CPlugin(const char* _szName);
+ ~CPlugin();
- virtual bool IsValid() {return valid;};
- virtual std::string GetFilename() {return Filename;};
+ virtual bool IsValid() {return valid;};
- bool GetInfo(PLUGIN_INFO& _pluginInfo);
- void SetGlobals(PLUGIN_GLOBALS* _PluginGlobals);
- void *LoadSymbol(const char *sym);
+ bool GetInfo(PLUGIN_INFO& _pluginInfo);
+ void SetGlobals(PLUGIN_GLOBALS* _PluginGlobals);
+ void *LoadSymbol(const char *sym);
- void Config(HWND _hwnd);
- void About(HWND _hwnd);
- void Debug(HWND _hwnd, bool Show);
- void DoState(unsigned char **ptr, int mode);
- void Initialize(void *init);
- void Shutdown();
+ void Config(HWND _hwnd);
+ void About(HWND _hwnd);
+ void Debug(HWND _hwnd, bool Show);
+ void DoState(unsigned char **ptr, int mode);
+ void Initialize(void *init);
+ void Shutdown();
private:
- DynamicLibrary m_hInstLib;
- bool valid;
- std::string Filename;
-
- // Functions
- TGetDllInfo m_GetDllInfo;
- TDllConfig m_DllConfig;
- TDllDebugger m_DllDebugger;
- TSetDllGlobals m_SetDllGlobals;
- TInitialize m_Initialize;
- TShutdown m_Shutdown;
- TDoState m_DoState;
+ DynamicLibrary m_hInstLib;
+ bool valid;
+
+ // Functions
+ TGetDllInfo m_GetDllInfo;
+ TDllConfig m_DllConfig;
+ TDllDebugger m_DllDebugger;
+ TSetDllGlobals m_SetDllGlobals;
+ TInitialize m_Initialize;
+ TShutdown m_Shutdown;
+ TDoState m_DoState;
};
} // end of namespace Common
diff --git a/Source/Core/Common/Src/PluginPAD.h b/Source/Core/Common/Src/PluginPAD.h
index fa779ac069..755c581011 100644
--- a/Source/Core/Common/Src/PluginPAD.h
+++ b/Source/Core/Common/Src/PluginPAD.h
@@ -4,27 +4,25 @@
#include "pluginspecs_pad.h"
#include "Plugin.h"
-namespace Common
-{
+namespace Common {
typedef void (__cdecl* TPAD_GetStatus)(u8, SPADStatus*);
typedef void (__cdecl* TPAD_Input)(u16, u8);
typedef void (__cdecl* TPAD_Rumble)(u8, unsigned int, unsigned int);
typedef unsigned int (__cdecl* TPAD_GetAttachedPads)();
- class PluginPAD : public CPlugin
- {
+ class PluginPAD : public CPlugin {
public:
- PluginPAD(const char *_Filename);
- ~PluginPAD();
- virtual bool IsValid() {return validPAD;};
+ PluginPAD(const char *_Filename);
+ ~PluginPAD();
+ virtual bool IsValid() {return validPAD;};
- TPAD_GetStatus PAD_GetStatus;
- TPAD_Input PAD_Input;
- TPAD_Rumble PAD_Rumble;
- TPAD_GetAttachedPads PAD_GetAttachedPads;
+ TPAD_GetStatus PAD_GetStatus;
+ TPAD_Input PAD_Input;
+ TPAD_Rumble PAD_Rumble;
+ TPAD_GetAttachedPads PAD_GetAttachedPads;
private:
- bool validPAD;
+ bool validPAD;
};
}
diff --git a/Source/Core/Common/Src/PluginVideo.cpp b/Source/Core/Common/Src/PluginVideo.cpp
index 9b9f3db06c..b3330a42ed 100644
--- a/Source/Core/Common/Src/PluginVideo.cpp
+++ b/Source/Core/Common/Src/PluginVideo.cpp
@@ -1,11 +1,7 @@
#include "PluginVideo.h"
-namespace Common
-{
- PluginVideo::PluginVideo(const char *_Filename) :
- CPlugin(_Filename),
- validVideo(false)
- {
+namespace Common {
+ PluginVideo::PluginVideo(const char *_Filename) : CPlugin(_Filename), validVideo(false) {
Video_Prepare = reinterpret_cast<TVideo_Prepare>
(LoadSymbol("Video_Prepare"));
diff --git a/Source/Core/Common/Src/PluginVideo.h b/Source/Core/Common/Src/PluginVideo.h
index bb3f16f691..f679191177 100644
--- a/Source/Core/Common/Src/PluginVideo.h
+++ b/Source/Core/Common/Src/PluginVideo.h
@@ -13,23 +13,22 @@ namespace Common {
typedef void (__cdecl* TVideo_AddMessage)(const char* pstr, unsigned int milliseconds);
typedef void (__cdecl* TVideo_Stop)();
- class PluginVideo : public CPlugin
- {
- public:
- PluginVideo(const char *_Filename);
- ~PluginVideo();
- virtual bool IsValid() {return validVideo;};
+ class PluginVideo : public CPlugin {
+ public:
+ PluginVideo(const char *_Filename);
+ ~PluginVideo();
+ virtual bool IsValid() {return validVideo;};
- TVideo_Prepare Video_Prepare;
- TVideo_SendFifoData Video_SendFifoData;
- TVideo_UpdateXFB Video_UpdateXFB;
- TVideo_Screenshot Video_Screenshot;
- TVideo_EnterLoop Video_EnterLoop;
- TVideo_AddMessage Video_AddMessage;
- TVideo_Stop Video_Stop;
+ TVideo_Prepare Video_Prepare;
+ TVideo_SendFifoData Video_SendFifoData;
+ TVideo_UpdateXFB Video_UpdateXFB;
+ TVideo_Screenshot Video_Screenshot;
+ TVideo_EnterLoop Video_EnterLoop;
+ TVideo_AddMessage Video_AddMessage;
+ TVideo_Stop Video_Stop;
private:
- bool validVideo;
+ bool validVideo;
};
}
diff --git a/Source/Core/Core/Core.vcproj b/Source/Core/Core/Core.vcproj
index fca0197913..af0d405876 100644
--- a/Source/Core/Core/Core.vcproj
+++ b/Source/Core/Core/Core.vcproj
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9,00"
+ Version="9.00"
Name="Core"
ProjectGUID="{F0B874CB-4476-4199-9315-8343D05AE684}"
RootNamespace="Core"
@@ -191,7 +191,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="true"
EnableFiberSafeOptimizations="false"
- AdditionalIncludeDirectories="..\..\..\Externals\SDL\Include;.\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib"
+ AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
StringPooling="true"
RuntimeLibrary="0"
diff --git a/Source/Core/Core/Src/Core.cpp b/Source/Core/Core/Src/Core.cpp
index 52cf700460..a3c2985c8a 100644
--- a/Source/Core/Core/Src/Core.cpp
+++ b/Source/Core/Core/Src/Core.cpp
@@ -155,6 +155,8 @@ bool GetRealWiimote()
// -----------------
bool Init()
{
+ //Console::Open();
+
if (g_pThread != NULL)
{
PanicAlert("ERROR: Emu Thread already running. Report this bug.");
@@ -345,18 +347,7 @@ THREAD_RETURN EmuThread(void *pArg)
PADInitialize.pLog = Callback_PADLog;
PADInitialize.padNumber = i;
// Check if we should init the plugin
- if(Plugins.OkayToInitPlugin(i))
- {
- Plugins.GetPad(i)->Initialize(&PADInitialize);
-
- // Check if joypad open failed, in that case try again
- if(PADInitialize.padNumber == -1)
- {
- Plugins.GetPad(i)->Shutdown();
- Plugins.FreePad();
- Plugins.GetPad(i)->Initialize(&PADInitialize);
- }
- }
+ if(Plugins.OkayToInitPlugin(i)) Plugins.GetPAD(i)->Initialize((void *)&PADInitialize);
}
// Load and Init WiimotePlugin - only if we are booting in wii mode
diff --git a/Source/Core/Core/Src/HW/SI.cpp b/Source/Core/Core/Src/HW/SI.cpp
index e0355d30de..88bfbd59a9 100644
--- a/Source/Core/Core/Src/HW/SI.cpp
+++ b/Source/Core/Core/Src/HW/SI.cpp
@@ -254,8 +254,9 @@ void Init()
g_Channel[i].m_InHi.Hex = 0;
g_Channel[i].m_InLo.Hex = 0;
- // Access the pap
- Common::PluginPAD* pad = CPluginManager::GetInstance().GetPad(i);
+ // Access the pad and check the MAXPADS limit
+ Common::PluginPAD* pad = CPluginManager::GetInstance().GetPAD((i >= MAXPADS) ? (MAXPADS - 1): i);
+ //Common::PluginPAD* pad = CPluginManager::GetInstance().GetPAD(i);
// Check if this pad is attached for the current plugin
if (pad != NULL && (pad->PAD_GetAttachedPads() & (1 << i)))
diff --git a/Source/Core/Core/Src/HW/SI_DeviceGCController.cpp b/Source/Core/Core/Src/HW/SI_DeviceGCController.cpp
index a9bab50773..f133bb247a 100644
--- a/Source/Core/Core/Src/HW/SI_DeviceGCController.cpp
+++ b/Source/Core/Core/Src/HW/SI_DeviceGCController.cpp
@@ -120,7 +120,8 @@ CSIDevice_GCController::GetData(u32& _Hi, u32& _Low)
SPADStatus PadStatus;
memset(&PadStatus, 0 ,sizeof(PadStatus));
Common::PluginPAD* pad =
- CPluginManager::GetInstance().GetPad(ISIDevice::m_iDeviceNumber);
+ //CPluginManager::GetInstance().GetPAD(ISIDevice::m_iDeviceNumber);
+ CPluginManager::GetInstance().GetPAD((ISIDevice::m_iDeviceNumber >= MAXPADS) ? (MAXPADS - 1): ISIDevice::m_iDeviceNumber);
pad->PAD_GetStatus(ISIDevice::m_iDeviceNumber, &PadStatus);
_Hi = (u32)((u8)PadStatus.stickY);
@@ -147,7 +148,7 @@ CSIDevice_GCController::GetData(u32& _Hi, u32& _Low)
void
CSIDevice_GCController::SendCommand(u32 _Cmd)
{
- Common::PluginPAD* pad = CPluginManager::GetInstance().GetPad(0);
+ Common::PluginPAD* pad = CPluginManager::GetInstance().GetPAD(0);
UCommand command(_Cmd);
switch(command.Command)
diff --git a/Source/Core/Core/Src/PluginManager.cpp b/Source/Core/Core/Src/PluginManager.cpp
index b4b0ce0257..b6d8159a4e 100644
--- a/Source/Core/Core/Src/PluginManager.cpp
+++ b/Source/Core/Core/Src/PluginManager.cpp
@@ -34,8 +34,6 @@
#include "ConsoleWindow.h"
CPluginManager CPluginManager::m_Instance;
-
-//#define INPUTCOMMON
//////////////////////////////////////////////
@@ -46,26 +44,14 @@ CPluginManager::CPluginManager() :
m_params(SConfig::GetInstance().m_LocalCoreStartupParameter)
{
m_PluginGlobals = new PLUGIN_GLOBALS;
-
-
m_PluginGlobals->eventHandler = EventHandler::GetInstance();
m_PluginGlobals->config = (void *)&SConfig::GetInstance();
m_PluginGlobals->messageLogger = NULL;
- #ifdef INPUTCOMMON
- m_InputManager = new InputManager();
- m_PluginGlobals->inputManager = m_InputManager;
- #endif
}
-/* Function: FreeLibrary()
- Called from: In an attempt to avoid the crash that occurs when the use LoadLibrary() and
- FreeLibrary() often (every game a game is stopped and started) these functions will only
- be used when
- 1. Dolphin is started
- 2. A plugin is changed
- 3. Dolphin is closed
- it will not be used when we Start and Stop games. */
+// Function: FreeLibrary()
+// Called from: This will be called when Dolphin is closed, not when we Stop a game
CPluginManager::~CPluginManager()
{
Console::Print("Delete CPluginManager\n");
@@ -122,7 +108,7 @@ bool CPluginManager::InitPlugins()
for (int i = 0; i < MAXPADS; i++)
{
if (! m_params.m_strPadPlugin[i].empty())
- GetPad(i);
+ GetPAD(i);
if (m_pad[i] != NULL)
pad = true;
}
@@ -162,8 +148,8 @@ void CPluginManager::ShutdownPlugins()
{
//Console::Print("Shutdown: %i\n", i);
m_pad[i]->Shutdown();
- //delete m_pad[i];
- }
+ }
+ //delete m_pad[i];
//m_pad[i] = NULL;
}
@@ -171,10 +157,10 @@ void CPluginManager::ShutdownPlugins()
if (m_wiimote[i]) m_wiimote[i]->Shutdown();
if (m_video)
- m_video->Shutdown();
+ m_video->Shutdown();
if (m_dsp)
- m_dsp->Shutdown();
+ m_dsp->Shutdown();
}
//////////////////////////////////////////
@@ -182,34 +168,31 @@ void CPluginManager::ShutdownPlugins()
//////////////////////////////////////////////////////////////////////////////////////////
// Supporting functions
// ¯¯¯¯¯¯¯¯¯¯¯¯
-// Called from: Get__() functions in this file only (not from anywhere else)
-void *CPluginManager::LoadPlugin(const char *_rFilename, int Number)//, PLUGIN_TYPE type)
+
+
+void *CPluginManager::LoadPlugin(const char *_rFilename)//, PLUGIN_TYPE type)
{
CPluginInfo info(_rFilename);
PLUGIN_TYPE type = info.GetPluginInfo().Type;
- //std::string Filename = info.GetPluginInfo().Filename;
- std::string Filename = _rFilename;
- Common::CPlugin *plugin = NULL;
-
+ Common::CPlugin *plugin = NULL;
switch (type)
{
case PLUGIN_TYPE_VIDEO:
plugin = new Common::PluginVideo(_rFilename);
break;
- case PLUGIN_TYPE_DSP:
- plugin = new Common::PluginDSP(_rFilename);
+ case PLUGIN_TYPE_PAD:
+ plugin = new Common::PluginPAD(_rFilename);
break;
- case PLUGIN_TYPE_PAD:
- plugin = new Common::PluginPAD(_rFilename);
+ case PLUGIN_TYPE_DSP:
+ plugin = new Common::PluginDSP(_rFilename);
break;
case PLUGIN_TYPE_WIIMOTE:
plugin = new Common::PluginWiimote(_rFilename);
break;
-
- default:
+ default:
PanicAlert("Trying to load unsupported type %d", type);
}
@@ -229,13 +212,15 @@ void *CPluginManager::LoadPlugin(const char *_rFilename, int Number)//, PLUGIN_T
// -------------
int CPluginManager::OkayToInitPlugin(int Plugin)
{
+ //Console::Print("OkayToInitShutdown: %i", Plugin);
// Compare it to the earlier plugins
for(int i = 0; i < Plugin; i++)
if (m_params.m_strPadPlugin[Plugin] == m_params.m_strPadPlugin[i])
+ {
+ //Console::Print("(%i %i) %s\n", Plugin, i, g_CoreStartupParameter.m_strPadPlugin[Plugin].c_str());
return i;
-
- // No there is no duplicate plugin
- return -1;
+ }
+ return -1;
}
@@ -286,67 +271,52 @@ void CPluginManager::ScanForPlugins()
//////////////////////////////////////////////////////////////////////////////////////////
-/* Create or return the already created plugin pointers. This will be called often for the
- Pad and Wiimote from the SI_.cpp files. */
+// Create or return the already created plugin pointers
// ¯¯¯¯¯¯¯¯¯¯¯¯
-Common::PluginPAD *CPluginManager::GetPad(int controller)
+Common::PluginPAD *CPluginManager::GetPAD(int controller)
{
- if (m_pad[controller] != NULL)
- if (m_pad[controller]->GetFilename() == m_params.m_strPadPlugin[controller])
- return m_pad[controller];
-
- // Else do this
- if(OkayToInitPlugin(controller) == -1)
+ if (m_pad[controller] == NULL)
{
- m_pad[controller] = (Common::PluginPAD*)LoadPlugin(m_params.m_strPadPlugin[controller].c_str(), controller);
- Console::Print("LoadPlugin: %i\n", controller);
+ if(OkayToInitPlugin(controller) == -1)
+ {
+ m_pad[controller] = (Common::PluginPAD*)LoadPlugin(m_params.m_strPadPlugin[controller].c_str());
+ Console::Print("LoadPlugin: %i\n", controller);
+ }
+ else
+ {
+ Console::Print("Pointed: %i to %i\n", controller, OkayToInitPlugin(controller));
+ m_pad[controller] = m_pad[OkayToInitPlugin(controller)];
+ }
}
- else
- {
- Console::Print("Pointed: %i to %i\n", controller, OkayToInitPlugin(controller));
- m_pad[controller] = m_pad[OkayToInitPlugin(controller)];
- }
- return m_pad[controller];
+
+ //Console::Print("Returned: %i\n", controller);
+ return m_pad[controller];
}
Common::PluginWiimote *CPluginManager::GetWiimote(int controller)
{
- if (m_pad[controller] != NULL)
- if (m_wiimote[controller]->GetFilename() == m_params.m_strWiimotePlugin[controller])
- return m_wiimote[controller];
+ if (m_wiimote[controller] == NULL)
+ m_wiimote[controller] = (Common::PluginWiimote*)LoadPlugin
+ (m_params.m_strWiimotePlugin[controller].c_str());
- // Else load a new plugin
- m_wiimote[controller] = (Common::PluginWiimote*)LoadPlugin(m_params.m_strWiimotePlugin[controller].c_str());
return m_wiimote[controller];
}
Common::PluginDSP *CPluginManager::GetDSP()
{
- if (m_dsp != NULL)
- if (m_dsp->GetFilename() == m_params.m_strDSPPlugin)
- return m_dsp;
- // Else load a new plugin
+ if (m_dsp == NULL)
m_dsp = (Common::PluginDSP*)LoadPlugin(m_params.m_strDSPPlugin.c_str());
+
return m_dsp;
}
-Common::PluginVideo *CPluginManager::GetVideo()
-{
- if (m_video != NULL)
- if (m_video->GetFilename() == m_params.m_strVideoPlugin)
- return m_video;
+Common::PluginVideo *CPluginManager::GetVideo() {
- // Else load a new plugin
+ if (m_video == NULL)
m_video = (Common::PluginVideo*)LoadPlugin(m_params.m_strVideoPlugin.c_str());
+
return m_video;
}
-Common::PluginPAD *CPluginManager::FreePad()
-{
- delete m_pad[0];
- m_pad[0] = NULL; m_pad[1] = NULL; m_pad[2] = NULL; m_pad[3] = NULL;
- m_pad[0] = (Common::PluginPAD*)LoadPlugin(m_params.m_strPadPlugin[0].c_str(), 0);
- return m_pad[0];
-}
///////////////////////////////////////////
@@ -355,33 +325,15 @@ Common::PluginPAD *CPluginManager::FreePad()
// ¯¯¯¯¯¯¯¯¯¯¯¯
// ----------------------------------------
-// Open config window. Input: _rFilename = Plugin filename , Type = Plugin type
+// Open config window. _rFilename = plugin filename , ret = the dll slot number
// -------------
-void CPluginManager::OpenConfig(void* _Parent, const char *_rFilename, PLUGIN_TYPE Type)
+void CPluginManager::OpenConfig(void* _Parent, const char *_rFilename)
{
- #ifdef INPUTCOMMON
- m_InputManager->Init();
- #endif
-
- switch(Type)
- {
- case PLUGIN_TYPE_VIDEO:
- GetVideo()->Config((HWND)_Parent);
- break;
- case PLUGIN_TYPE_DSP:
- GetDSP()->Config((HWND)_Parent);
- break;
- case PLUGIN_TYPE_PAD:
- GetPad(0)->Config((HWND)_Parent);
- break;
- case PLUGIN_TYPE_WIIMOTE:
- GetWiimote(0)->Config((HWND)_Parent);
- break;
- }
- #ifdef INPUTCOMMON
- m_InputManager->Shutdown();
- #endif
+ Common::CPlugin *plugin = new Common::CPlugin(_rFilename);
+ plugin->SetGlobals(m_PluginGlobals);
+ plugin->Config((HWND)_Parent);
+ delete plugin;
}
// ----------------------------------------
@@ -389,14 +341,10 @@ void CPluginManager::OpenConfig(void* _Parent, const char *_rFilename, PLUGIN_TY
// -------------
void CPluginManager::OpenDebug(void* _Parent, const char *_rFilename, PLUGIN_TYPE Type, bool Show)
{
- switch(Type)
- {
- case PLUGIN_TYPE_VIDEO:
+ if (Type == PLUGIN_TYPE_VIDEO) {
GetVideo()->Debug((HWND)_Parent, Show);
- break;
- case PLUGIN_TYPE_DSP:
+ } else if (Type == PLUGIN_TYPE_DSP) {
GetDSP()->Debug((HWND)_Parent, Show);
- break;
}
}
diff --git a/Source/Core/Core/Src/PluginManager.h b/Source/Core/Core/Src/PluginManager.h
index 0348f25e5b..f71c92cce0 100644
--- a/Source/Core/Core/Src/PluginManager.h
+++ b/Source/Core/Core/Src/PluginManager.h
@@ -25,7 +25,6 @@
#include "PluginWiimote.h"
#include "EventHandler.h"
#include "CoreParameter.h"
-#include "InputManager.h"
class CPluginInfo
{
@@ -47,23 +46,20 @@ class CPluginManager
{
public:
static CPluginManager& GetInstance() {return(m_Instance);}
- Common::PluginPAD *GetPad(int controller);
+ Common::PluginPAD *GetPAD(int controller);
Common::PluginWiimote *GetWiimote(int controller);
Common::PluginDSP *GetDSP();
Common::PluginVideo *GetVideo();
- Common::PluginPAD *FreePad();
bool InitPlugins();
void ShutdownPlugins();
int OkayToInitPlugin(int Plugin);
void ScanForPlugins();
- void OpenConfig(void* _Parent, const char *_rFilename, PLUGIN_TYPE Type);
+ void OpenConfig(void* _Parent, const char *_rFilename);
void OpenDebug(void* _Parent, const char *_rFilename, PLUGIN_TYPE Type, bool Show);
const CPluginInfos& GetPluginInfos() {return(m_PluginInfos);}
PLUGIN_GLOBALS* GetGlobals();
-
private:
-
static CPluginManager m_Instance;
bool m_Initialized;
@@ -74,11 +70,10 @@ private:
Common::PluginWiimote *m_wiimote[4];
Common::PluginDSP *m_dsp;
- InputManager *m_InputManager;
SCoreStartupParameter& m_params;
CPluginManager();
~CPluginManager();
- void *LoadPlugin(const char *_rFilename, int Number = 0);
+ void *LoadPlugin(const char *_rFilename);
};
diff --git a/Source/Core/Core/Src/SConscript b/Source/Core/Core/Src/SConscript
index 45a289b431..9838f39e16 100644
--- a/Source/Core/Core/Src/SConscript
+++ b/Source/Core/Core/Src/SConscript
@@ -15,7 +15,7 @@ files = ["Console.cpp",
"PatchEngine.cpp",
"State.cpp",
"Tracer.cpp",
- "PluginManager.cpp",
+ 'PluginManager.cpp',
"VolumeHandler.cpp",
"Boot/Boot.cpp",
"Boot/Boot_BIOSEmu.cpp",
diff --git a/Source/Core/DebuggerWX/DebuggerWX.vcproj b/Source/Core/DebuggerWX/DebuggerWX.vcproj
index e1e6379768..f71ee20ce3 100644
--- a/Source/Core/DebuggerWX/DebuggerWX.vcproj
+++ b/Source/Core/DebuggerWX/DebuggerWX.vcproj
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9,00"
+ Version="9.00"
Name="DebuggerWX"
ProjectGUID="{4D3CD4C5-412B-4B49-9B1B-A68A2A129C77}"
RootNamespace="DebuggerWX"
@@ -179,7 +179,7 @@
<Tool
Name="VCCLCompilerTool"
WholeProgramOptimization="false"
- AdditionalIncludeDirectories="..\..\..\Externals\SDL\Include;..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
+ AdditionalIncludeDirectories="..\Common\Src;..\Core\Src;..\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\wxWidgets\Include;..\..\..\Externals\wxWidgets\Include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;__WXMSW__;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0"
BufferSecurityCheck="false"
diff --git a/Source/Core/DiscIO/Src/BannerLoader.cpp b/Source/Core/DiscIO/Src/BannerLoader.cpp
index 611c05a5eb..a45a286c4d 100644
--- a/Source/Core/DiscIO/Src/BannerLoader.cpp
+++ b/Source/Core/DiscIO/Src/BannerLoader.cpp
@@ -170,8 +170,8 @@ bool IBannerLoader::CopyUnicodeToString( std::string& _rDestination, const u16*
}
}
#else
- // FIXME completly broken on not windows!!!!!
- // _rDestination = _src;
+ // not implement other than windows
+ _rDestination = _src;
returnCode = true;
#endif
return returnCode;
diff --git a/Source/Core/DiscIO/Src/BannerLoaderWii.cpp b/Source/Core/DiscIO/Src/BannerLoaderWii.cpp
index 1357ef3d9a..1cd8b9ff24 100644
--- a/Source/Core/DiscIO/Src/BannerLoaderWii.cpp
+++ b/Source/Core/DiscIO/Src/BannerLoaderWii.cpp
@@ -126,8 +126,6 @@ CBannerLoaderWii::GetName(std::string& _rName, DiscIO::IVolume::ECountry languag
// find Banner type
SWiiBanner* pBanner = (SWiiBanner*)m_pBannerFile;
-#ifdef _WIN32 // FIXME this should NOT be windows specific!!!
-
if (DiscIO::IVolume::COUNTRY_JAP == language)
{
return CopyUnicodeToString(_rName, pBanner->m_Comment[0]);
@@ -138,9 +136,6 @@ CBannerLoaderWii::GetName(std::string& _rName, DiscIO::IVolume::ECountry languag
_rName = StupidWideCharToString(pBanner->m_Comment[0], WII_BANNER_COMMENT_SIZE);
return true;
}
-#else
- _rName = StupidWideCharToString(pBanner->m_Comment[0], WII_BANNER_COMMENT_SIZE);
-#endif
return true;
}
diff --git a/Source/Core/DolphinWX/Src/ConfigMain.cpp b/Source/Core/DolphinWX/Src/ConfigMain.cpp
index bd039df4d6..cbe147539e 100644
--- a/Source/Core/DolphinWX/Src/ConfigMain.cpp
+++ b/Source/Core/DolphinWX/Src/ConfigMain.cpp
@@ -22,7 +22,6 @@
#include <vector>
#include "Core.h" // Core
-#include "ConsoleWindow.h" // Core
#include "Globals.h" // Local
#include "ConfigMain.h"
@@ -682,23 +681,18 @@ void CConfigMain::DVDRootChanged(wxFileDirPickerEvent& WXUNUSED (event))
{
SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDVDRoot = DVDRoot->GetPath().ToAscii();
}
-// ==========================
-
-
-
-// =======================================================
-// Plugins settings
-// -------------
-// Update plugin filenames
void CConfigMain::OnSelectionChanged(wxCommandEvent& WXUNUSED (event))
{
GetFilename(GraphicSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin);
GetFilename(DSPSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin);
+
for (int i = 0; i < MAXPADS; i++)
- GetFilename(PADSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin[i]);
+ GetFilename(PADSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin[i]);
+
for (int i = 0; i < MAXWIIMOTES; i++)
GetFilename(WiimoteSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin[i]);
+
}
void CConfigMain::OnConfig(wxCommandEvent& event)
@@ -722,25 +716,15 @@ void CConfigMain::OnConfig(wxCommandEvent& event)
break;
}
}
+// ==========================
-void CConfigMain::CallConfig(wxChoice* _pChoice)
-{
- int Index = _pChoice->GetSelection();
- Console::Print("CallConfig: %i\n", Index);
-
- if (Index >= 0)
- {
- const CPluginInfo* pInfo = static_cast<CPluginInfo*>(_pChoice->GetClientData(Index));
- if (pInfo != NULL)
- CPluginManager::GetInstance().OpenConfig((HWND) this->GetHandle(), pInfo->GetFileName().c_str(), pInfo->GetPluginInfo().Type);
- }
-}
+// =======================================================
+// Plugins settings
+// -------------
void CConfigMain::FillChoiceBox(wxChoice* _pChoice, int _PluginType, const std::string& _SelectFilename)
{
- Console::Print("FillChoiceBox\n");
-
_pChoice->Clear();
int Index = -1;
@@ -766,16 +750,31 @@ void CConfigMain::FillChoiceBox(wxChoice* _pChoice, int _PluginType, const std::
_pChoice->Select(Index);
}
+void CConfigMain::CallConfig(wxChoice* _pChoice)
+{
+ int Index = _pChoice->GetSelection();
+
+ if (Index >= 0)
+ {
+ const CPluginInfo* pInfo = static_cast<CPluginInfo*>(_pChoice->GetClientData(Index));
+
+ if (pInfo != NULL)
+ CPluginManager::GetInstance().OpenConfig((HWND) this->GetHandle(), pInfo->GetFileName().c_str());
+ }
+}
+
bool CConfigMain::GetFilename(wxChoice* _pChoice, std::string& _rFilename)
-{
+{
_rFilename.clear();
+
int Index = _pChoice->GetSelection();
+ printf("%i\n", Index);
if (Index >= 0)
{
const CPluginInfo* pInfo = static_cast<CPluginInfo*>(_pChoice->GetClientData(Index));
_rFilename = pInfo->GetFileName();
- Console::Print("GetFilename: %i %s\n", Index, _rFilename.c_str());
+ printf("%s\n", _rFilename.c_str());
return(true);
}
diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp
index e4a55b99a4..af08c306c1 100644
--- a/Source/Core/DolphinWX/Src/Frame.cpp
+++ b/Source/Core/DolphinWX/Src/Frame.cpp
@@ -435,7 +435,7 @@ void CFrame::OnKeyDown(wxKeyEvent& event)
else
{
if(Core::GetState() != Core::CORE_UNINITIALIZED)
- CPluginManager::GetInstance().GetPad(0)->PAD_Input(event.GetKeyCode(), 1); // 1 = Down
+ CPluginManager::GetInstance().GetPAD(0)->PAD_Input(event.GetKeyCode(), 1); // 1 = Down
event.Skip();
}
}
@@ -443,7 +443,7 @@ void CFrame::OnKeyDown(wxKeyEvent& event)
void CFrame::OnKeyUp(wxKeyEvent& event)
{
if(Core::GetState() != Core::CORE_UNINITIALIZED)
- CPluginManager::GetInstance().GetPad(0)->PAD_Input(event.GetKeyCode(), 0); // 0 = Up
+ CPluginManager::GetInstance().GetPAD(0)->PAD_Input(event.GetKeyCode(), 0); // 0 = Up
event.Skip();
}
@@ -453,7 +453,7 @@ void CFrame::OnKeyUp(wxKeyEvent& event)
double GetDoubleTime()
{
wxDateTime datetime = wxDateTime::UNow(); // Get timestamp
- u64 TmpSeconds = Common::Timer::GetTimeSinceJan1970(); // Get continuous timestamp
+ u64 TmpSeconds = Common::Timer::GetTimeSinceJan1970(); // Get continous timestamp
/* Remove a few years. We only really want enough seconds to make sure that we are
detecting actual actions, perhaps 60 seconds is enough really, but I leave a
diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp
index ef5eb3e6f8..d25dafc9e8 100644
--- a/Source/Core/DolphinWX/Src/FrameTools.cpp
+++ b/Source/Core/DolphinWX/Src/FrameTools.cpp
@@ -539,8 +539,7 @@ void CFrame::OnPluginGFX(wxCommandEvent& WXUNUSED (event))
{
CPluginManager::GetInstance().OpenConfig(
GetHandle(),
- SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin.c_str(),
- PLUGIN_TYPE_VIDEO
+ SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin.c_str()
);
}
@@ -549,8 +548,7 @@ void CFrame::OnPluginDSP(wxCommandEvent& WXUNUSED (event))
{
CPluginManager::GetInstance().OpenConfig(
GetHandle(),
- SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str(),
- PLUGIN_TYPE_DSP
+ SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin.c_str()
);
}
@@ -558,16 +556,14 @@ void CFrame::OnPluginPAD(wxCommandEvent& WXUNUSED (event))
{
CPluginManager::GetInstance().OpenConfig(
GetHandle(),
- SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin[0].c_str(),
- PLUGIN_TYPE_PAD
+ SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin[0].c_str()
);
}
void CFrame::OnPluginWiimote(wxCommandEvent& WXUNUSED (event))
{
CPluginManager::GetInstance().OpenConfig(
GetHandle(),
- SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin[0].c_str(),
- PLUGIN_TYPE_WIIMOTE
+ SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin[0].c_str()
);
}
diff --git a/Source/Core/InputCommon/InputCommon.vcproj b/Source/Core/InputCommon/InputCommon.vcproj
index 932f84b920..7176f2bdd3 100644
--- a/Source/Core/InputCommon/InputCommon.vcproj
+++ b/Source/Core/InputCommon/InputCommon.vcproj
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9,00"
+ Version="9.00"
Name="InputCommon"
ProjectGUID="{C7E5D50A-2916-464B-86A7-E10B3CC88ADA}"
RootNamespace="VideoCommon"
@@ -44,7 +44,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc;&quot;$(SolutionDir)..\Externals\SDL\Include&quot;"
+ AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -109,7 +109,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc;&quot;$(SolutionDir)..\Externals\SDL\Include&quot;"
+ AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_LIB;__WXMSW__;wxUSE_BASE=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -175,7 +175,7 @@
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc;..\..\..\Externals\SDL\Include"
+ AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="0"
@@ -245,7 +245,7 @@
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="false"
- AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc;&quot;$(SolutionDir)..\Externals\SDL\Include&quot;"
+ AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0"
BufferSecurityCheck="false"
@@ -307,7 +307,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc;&quot;$(SolutionDir)..\Externals\SDL\Include&quot;"
+ AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
RuntimeLibrary="0"
BufferSecurityCheck="false"
@@ -370,7 +370,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc;&quot;$(SolutionDir)..\Externals\SDL\Include&quot;"
+ AdditionalIncludeDirectories="../../Core/Common/Src;../../PluginSpecs;..\..\..\Externals\wxWidgets\include;..\..\..\Externals\wxWidgets\lib\vc_lib\msw;..\..\..\Externals\wxWidgets\include\msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;__WXMSW__;wxUSE_BASE=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="0"
BufferSecurityCheck="false"
@@ -432,14 +432,6 @@
>
</File>
<File
- RelativePath=".\Src\InputManager.cpp"
- >
- </File>
- <File
- RelativePath=".\Src\InputManager.h"
- >
- </File>
- <File
RelativePath=".\Src\SConscript"
>
</File>
diff --git a/Source/Core/InputCommon/Src/InputManager.cpp b/Source/Core/InputCommon/Src/InputManager.cpp
deleted file mode 100644
index e9fc976251..0000000000
--- a/Source/Core/InputCommon/Src/InputManager.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-#include "InputManager.h"
-
-bool InputManager::Init() {
-
- if (! SDLInit())
- return false;
-
- ScanDevices();
- return true;
-}
-
-bool InputManager::Shutdown() {
- SDLShutdown();
- sdlInit = false;
-
- return true;
-}
-
-bool InputManager::SDLInit() {
-#ifdef HAVE_SDL
- // Move also joystick opening code here.
- if (! sdlInit) {
- /* SDL 1.3 use DirectInput instead of the old Microsoft Multimeda API,
- and with this we need the SDL_INIT_VIDEO flag as well */
- if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK) < 0) {
- PanicAlert("Could not initialize SDL! (%s)\n", SDL_GetError());
- } else {
- sdlInit = true;
- }
- }
- return sdlInit;
-#endif
-
- return true;
-}
-void InputManager::SDLShutdown() {
- for(int i = 0; i < numjoy; i++ ) {
- if (SDL_JoystickOpened(m_joyinfo[i].ID))
- SDL_JoystickClose(m_joyinfo[i].joy);
- }
- SDL_Quit();
-}
-
-int InputManager::ScanDevices() {
-
- int res = SDLScanDevices();
- return res;
-}
-
-int InputManager::SDLScanDevices() {
-#if defined HAVE_SDL && HAVE_SDL
- numjoy = SDL_NumJoysticks();
-
- if(numjoy == 0) {
- PanicAlert("No Joystick detected!\n");
- return 0;
- }
-
- if(m_joyinfo)
- delete [] m_joyinfo;
-
- m_joyinfo = new ControllerInfo[numjoy];
-
-#ifdef _DEBUG
- fprintf(pFile, "Scanning for devices\n");
- fprintf(pFile, "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\n");
-#endif
-
- for(int i = 0; i < numjoy; i++ ) {
- m_joyinfo[i].joy = SDL_JoystickOpen(i);
- m_joyinfo[i].ID = i;
- m_joyinfo[i].NumAxes = SDL_JoystickNumAxes(m_joyinfo[i].joy);
- m_joyinfo[i].NumButtons = SDL_JoystickNumButtons(m_joyinfo[i].joy);
- m_joyinfo[i].NumBalls = SDL_JoystickNumBalls(m_joyinfo[i].joy);
- m_joyinfo[i].NumHats = SDL_JoystickNumHats(m_joyinfo[i].joy);
- m_joyinfo[i].Name = SDL_JoystickName(i);
-
- printf("ID: %d\n", i);
- printf("Name: %s\n", m_joyinfo[i].Name);
- printf("Buttons: %d\n", m_joyinfo[i].NumButtons);
- printf("Axises: %d\n", m_joyinfo[i].NumAxes);
- printf("Hats: %d\n", m_joyinfo[i].NumHats);
- printf("Balls: %d\n\n", m_joyinfo[i].NumBalls);
-
- // Close if opened
- if(SDL_JoystickOpened(i))
- SDL_JoystickClose(m_joyinfo[i].joy);
- }
-
- return numjoy;
-#else
- return 0;
-#endif
-}
diff --git a/Source/Core/InputCommon/Src/InputManager.h b/Source/Core/InputCommon/Src/InputManager.h
deleted file mode 100644
index 88ec46dec4..0000000000
--- a/Source/Core/InputCommon/Src/InputManager.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef INPUTMANAGER_H
-#define INPUTMANAGER_H
-#include "Common.h"
-
-#if defined HAVE_SDL && HAVE_SDL
-#include <SDL.h>
-
-
-struct ControllerInfo { // CONNECTED WINDOWS DEVICES INFO
- int NumAxes; // Amount of Axes
- int NumButtons; // Amount of Buttons
- int NumBalls; // Amount of Balls
- int NumHats; // Amount of Hats (POV)
- const char *Name; // Joypad/stickname
- int ID; // SDL joystick device ID
- SDL_Joystick *joy; // SDL joystick device
-};
-#endif
-
-class InputManager {
-
-public:
- bool Init();
- bool Shutdown();
-
- InputManager(): sdlInit(false) {}
- ~InputManager() {
- if(m_joyinfo)
- delete [] m_joyinfo;
- }
-
-private:
- bool sdlInit;
- int ScanDevices();
-
- // sdl specific
- bool SDLInit();
- void SDLShutdown();
- int SDLScanDevices();
- ControllerInfo *m_joyinfo;
- int numjoy;
-};
-#endif
diff --git a/Source/Core/InputCommon/Src/SConscript b/Source/Core/InputCommon/Src/SConscript
index e5eeff99b5..e5fe35e802 100644
--- a/Source/Core/InputCommon/Src/SConscript
+++ b/Source/Core/InputCommon/Src/SConscript
@@ -5,7 +5,6 @@ Import('env')
files = [
'EventHandler.cpp',
'InputCommon.cpp',
- "InputManager.cpp",
]
env_inputcommon = env.Clone()