mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-10 23:01:50 +00:00
Add option to disable SDL joystick support.
This also adds some extra sanity checks to avoid crashes when the joystick isn't initialized.
This commit is contained in:
parent
5151dff03c
commit
9bf0f9bbfc
2 changed files with 11 additions and 3 deletions
|
@ -159,6 +159,11 @@ else()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
option( NO_SDL_JOYSTICK "Disable SDL joystick support (Not applicable to Windows)" OFF )
|
||||||
|
if ( NO_SDL_JOYSTICK )
|
||||||
|
add_definitions( -DNO_SDL_JOYSTICK=1 )
|
||||||
|
endif ( NO_SDL_JOYSTICK )
|
||||||
|
|
||||||
if( NO_GTK )
|
if( NO_GTK )
|
||||||
add_definitions( -DNO_GTK )
|
add_definitions( -DNO_GTK )
|
||||||
elseif( DYN_GTK )
|
elseif( DYN_GTK )
|
||||||
|
|
|
@ -300,8 +300,10 @@ static SDLInputJoystickManager *JoystickManager;
|
||||||
|
|
||||||
void I_StartupJoysticks()
|
void I_StartupJoysticks()
|
||||||
{
|
{
|
||||||
|
#ifndef NO_SDL_JOYSTICK
|
||||||
if(SDL_InitSubSystem(SDL_INIT_JOYSTICK) >= 0)
|
if(SDL_InitSubSystem(SDL_INIT_JOYSTICK) >= 0)
|
||||||
JoystickManager = new SDLInputJoystickManager();
|
JoystickManager = new SDLInputJoystickManager();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
void I_ShutdownInput()
|
void I_ShutdownInput()
|
||||||
{
|
{
|
||||||
|
@ -316,7 +318,8 @@ void I_GetJoysticks(TArray<IJoystickConfig *> &sticks)
|
||||||
{
|
{
|
||||||
sticks.Clear();
|
sticks.Clear();
|
||||||
|
|
||||||
JoystickManager->GetDevices(sticks);
|
if (JoystickManager)
|
||||||
|
JoystickManager->GetDevices(sticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
void I_GetAxes(float axes[NUM_JOYAXIS])
|
void I_GetAxes(float axes[NUM_JOYAXIS])
|
||||||
|
@ -325,7 +328,7 @@ void I_GetAxes(float axes[NUM_JOYAXIS])
|
||||||
{
|
{
|
||||||
axes[i] = 0;
|
axes[i] = 0;
|
||||||
}
|
}
|
||||||
if (use_joystick)
|
if (use_joystick && JoystickManager)
|
||||||
{
|
{
|
||||||
JoystickManager->AddAxes(axes);
|
JoystickManager->AddAxes(axes);
|
||||||
}
|
}
|
||||||
|
@ -333,7 +336,7 @@ void I_GetAxes(float axes[NUM_JOYAXIS])
|
||||||
|
|
||||||
void I_ProcessJoysticks()
|
void I_ProcessJoysticks()
|
||||||
{
|
{
|
||||||
if (use_joystick)
|
if (use_joystick && JoystickManager)
|
||||||
JoystickManager->ProcessInput();
|
JoystickManager->ProcessInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue