Fix compilation with SDL2. (based on a patch from matthewharveys)

Fixes issue 5971.
This commit is contained in:
Jordan Woyak 2013-02-05 21:07:09 -06:00
parent af9b9c8f45
commit ef9d7fb789
1 changed files with 11 additions and 8 deletions

View File

@ -18,6 +18,15 @@ namespace ciface
namespace SDL
{
std::string GetJoystickName(int index)
{
#if SDL_VERSION_ATLEAST(2, 0, 0)
return SDL_JoystickNameForIndex(index);
#else
return SDL_JoystickName(index);
#endif
}
void Init( std::vector<ControllerInterface::Device*>& devices )
{
// this is used to number the joysticks
@ -32,7 +41,7 @@ void Init( std::vector<ControllerInterface::Device*>& devices )
SDL_Joystick* dev = SDL_JoystickOpen(i);
if (dev)
{
Joystick* js = new Joystick(dev, i, name_counts[SDL_JoystickName(i)]++);
Joystick* js = new Joystick(dev, i, name_counts[GetJoystickName(i)]++);
// only add if it has some inputs/outputs
if (js->Inputs().size() || js->Outputs().size())
devices.push_back( js );
@ -325,13 +334,7 @@ bool Joystick::UpdateOutput()
std::string Joystick::GetName() const
{
return StripSpaces(
#if SDL_VERSION_ATLEAST(2, 0, 0)
SDL_JoystickNameForIndex(m_sdl_index)
#else
SDL_JoystickName(m_sdl_index)
#endif
);
return StripSpaces(GetJoystickName(m_sdl_index));
}
std::string Joystick::GetSource() const