Clean up of new Plugin, get it compiling in Linux/OSX, Linux side, you need to add the Xlib portion to SConscript
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5258 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
ca3f4a6494
commit
d2cee0a869
|
@ -77,6 +77,7 @@ dirs = [
|
|||
'Source/Plugins/Plugin_DSP_HLE/Src',
|
||||
'Source/Plugins/Plugin_DSP_LLE/Src',
|
||||
'Source/Plugins/Plugin_GCPad/Src',
|
||||
'Source/Plugins/Plugin_GCPadNew/Src',
|
||||
'Source/Plugins/Plugin_Wiimote/Src',
|
||||
'Source/Core/DolphinWX/Src',
|
||||
'Source/Core/DebuggerWX/Src',
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
#define CONFIG_FILE_NAME "GCPadNew.ini"
|
||||
|
||||
#include "ControllerInterface/ControllerInterface.h"
|
||||
#include "../../../Core/Common/Src/thread.h"
|
||||
#include "../../../Core/Common/Src/FileUtil.h"
|
||||
#include "Thread.h"
|
||||
#include "FileUtil.h"
|
||||
#include "IniFile.h"
|
||||
|
||||
#include "ControllerEmu.h"
|
||||
|
|
|
@ -183,10 +183,12 @@ void GamepadPage::ClearAll( wxCommandEvent& event )
|
|||
m_plugin.controls_crit.Enter(); // enter
|
||||
|
||||
// just load an empty ini section to clear everything :P
|
||||
controller->LoadConfig( IniSection() );
|
||||
IniSection Section = IniSection();
|
||||
ControllerInterface Face = ControllerInterface();
|
||||
controller->LoadConfig( Section );
|
||||
|
||||
// no point in using the real ControllerInterface i guess
|
||||
controller->UpdateReferences( ControllerInterface() );
|
||||
controller->UpdateReferences( Face );
|
||||
|
||||
UpdateGUI();
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ void ControllerEmu::SaveConfig( IniFile::Section& sec )
|
|||
// input mode
|
||||
if ( (*ci)->control_ref->is_input )
|
||||
sec.SetValue( group+(*ci)->name+"/Mode",
|
||||
((ControllerInterface::InputReference*)((*ci)->control_ref))->mode, 0 );
|
||||
((ControllerInterface::InputReference*)((*ci)->control_ref))->mode, (unsigned int)0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include "pluginspecs_pad.h"
|
||||
#include "pluginspecs_wiimote.h"
|
||||
//#include <CommonTypes.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "ControllerInterface/ControllerInterface.h"
|
||||
#include "IniFile.h"
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#ifdef CIFACE_USE_SDL
|
||||
#include "SDL/SDL.h"
|
||||
#endif
|
||||
#include "Thread.h"
|
||||
|
||||
//#define MAX_DOUBLE_TAP_TIME 400
|
||||
//#define MAX_HOLD_DOWN_TIME 400
|
||||
|
@ -488,8 +489,9 @@ bool ControllerInterface::InputReference::Detect( const unsigned int ms, const u
|
|||
while ( (time < ms) && (detected.size() < count) )
|
||||
{
|
||||
device->UpdateInput();
|
||||
std::vector<Device::Input*>::const_iterator i = device->Inputs().begin(),
|
||||
e = device->Inputs().end();
|
||||
i = device->Inputs().begin();
|
||||
e = device->Inputs().end();
|
||||
|
||||
for ( unsigned int n=0;i != e; ++i,++n )
|
||||
{
|
||||
if ( device->GetInputState( *i ) > INPUT_DETECT_THRESHOLD )
|
||||
|
@ -501,7 +503,7 @@ bool ControllerInterface::InputReference::Detect( const unsigned int ms, const u
|
|||
else
|
||||
states[n] = false;
|
||||
}
|
||||
wxMilliSleep( 10 ); time += 10;
|
||||
Common::SleepCurrentThread( 10 ); time += 10;
|
||||
}
|
||||
|
||||
delete states;
|
||||
|
@ -513,10 +515,10 @@ bool ControllerInterface::InputReference::Detect( const unsigned int ms, const u
|
|||
if ( controls.size() > 1 )
|
||||
{
|
||||
control_qualifier.name = '|';
|
||||
std::vector<Device::Control*>::const_iterator i = controls.begin(),
|
||||
e = controls.end();
|
||||
for ( ; i!=e; ++i )
|
||||
control_qualifier.name += (*i)->GetName() + '|';
|
||||
std::vector<Device::Control*>::const_iterator c_i = controls.begin(),
|
||||
c_e = controls.end();
|
||||
for ( ; c_i != c_e; ++c_i )
|
||||
control_qualifier.name += (*c_i)->GetName() + '|';
|
||||
}
|
||||
else
|
||||
control_qualifier.FromControl( controls[0] );
|
||||
|
@ -546,7 +548,7 @@ bool ControllerInterface::OutputReference::Detect( const unsigned int ms, const
|
|||
while ( ms > ( slept += 10 ) )
|
||||
{
|
||||
device->UpdateOutput();
|
||||
wxMilliSleep( 10 );
|
||||
Common::SleepCurrentThread( 10 );
|
||||
}
|
||||
|
||||
State( 0 );
|
||||
|
|
|
@ -24,11 +24,13 @@
|
|||
#define CIFACE_USE_SDL
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_WX) && HAVE_WX
|
||||
#ifdef CIFACE_USE_REGEX
|
||||
#include <wx/regex.h>
|
||||
#endif
|
||||
#include <wx/stopwatch.h>
|
||||
#include <wx/utils.h>
|
||||
#endif
|
||||
|
||||
// idk in case i wanted to change it to double or somethin, idk what's best
|
||||
typedef float ControlState;
|
||||
|
|
|
@ -23,8 +23,8 @@ void Init( std::vector<ControllerInterface::Device*>& devices )
|
|||
// joysticks
|
||||
for( int i = 0; i < SDL_NumJoysticks(); ++i )
|
||||
{
|
||||
SDL_Joystick* dev;
|
||||
if ( dev = SDL_JoystickOpen( i ) )
|
||||
SDL_Joystick* dev = SDL_JoystickOpen( i );
|
||||
if ( dev )
|
||||
{
|
||||
Joystick* js = new Joystick( dev, i );
|
||||
// only add if it has some inputs/outputs
|
||||
|
@ -60,9 +60,9 @@ Joystick::Joystick( SDL_Joystick* const joystick, const unsigned int index ) : m
|
|||
inputs.push_back( new Axis( i, -32768 ) );
|
||||
inputs.push_back( new Axis( i, 32767 ) );
|
||||
}
|
||||
|
||||
m_haptic = SDL_HapticOpenFromJoystick( m_joystick );
|
||||
// try to get supported ff effects
|
||||
if ( m_haptic = SDL_HapticOpenFromJoystick( m_joystick ) )
|
||||
if ( m_haptic )
|
||||
{
|
||||
|
||||
//SDL_HapticSetGain( m_haptic, 1000 );
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
|
||||
#include <math.h>
|
||||
|
||||
#include "Common.h"
|
||||
#include "pluginspecs_pad.h"
|
||||
#include "pluginspecs_wiimote.h"
|
||||
|
||||
#include "ControllerInterface/ControllerInterface.h"
|
||||
#if defined(HAVE_WX) && HAVE_WX
|
||||
#include "ConfigDiag.h"
|
||||
#endif
|
||||
#include "Config.h"
|
||||
|
||||
#define CIFACE_PLUGIN_VERSION 0x0100
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ void IniSection::SetValue( const std::string& key, const std::string& val, const
|
|||
operator[](key) = val;
|
||||
else
|
||||
{
|
||||
const const_iterator f = find(key);
|
||||
iterator f = find(key);
|
||||
if ( f != end() )
|
||||
erase( f );
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ void IniFile::Clean()
|
|||
e = end();
|
||||
for ( ; i != e; )
|
||||
{
|
||||
Section::const_iterator si = i->second.begin(),
|
||||
Section::iterator si = i->second.begin(),
|
||||
se = i->second.end();
|
||||
for ( ; si != se; )
|
||||
{
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
const const_iterator f = find(key);
|
||||
iterator f = find(key);
|
||||
if ( f != end() )
|
||||
erase( f );
|
||||
}
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
# -*- python -*-
|
||||
|
||||
Import('env')
|
||||
import sys
|
||||
|
||||
name = "Plugin_GCPadNew"
|
||||
padenv = env.Clone()
|
||||
|
||||
files = [
|
||||
'Config.cpp',
|
||||
'ControllerEmu.cpp',
|
||||
'ControllerEmu/GCPad/GCPad.cpp',
|
||||
'GCPadNew.cpp',
|
||||
'ControllerInterface/ControllerInterface.cpp',
|
||||
'IniFile.cpp',
|
||||
]
|
||||
|
||||
if padenv['HAVE_SDL']:
|
||||
files += [ 'ControllerInterface/SDL/SDL.cpp' ]
|
||||
|
||||
if padenv['HAVE_WX']:
|
||||
files += [
|
||||
'ConfigDiag.cpp',
|
||||
'ConfigDiagBitmaps.cpp',
|
||||
]
|
||||
|
||||
padenv.Append(
|
||||
LIBS = [ 'inputcommon', 'common', ],
|
||||
)
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
padenv['FRAMEWORKS'] = ['CoreFoundation', 'System' ]
|
||||
|
||||
padenv.SharedLibrary(env['plugin_dir']+name, files)
|
Loading…
Reference in New Issue