diff --git a/src/cocoa/i_joystick.cpp b/src/cocoa/i_joystick.cpp index 889c38fed..4d983176d 100644 --- a/src/cocoa/i_joystick.cpp +++ b/src/cocoa/i_joystick.cpp @@ -33,7 +33,7 @@ #include "m_joy.h" -#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 +#include #include "HID_Utilities_External.h" @@ -726,7 +726,19 @@ IOKitJoystickManager* s_joystickManager; void I_StartupJoysticks() { - s_joystickManager = new IOKitJoystickManager; + SInt32 majorVersion = 0; + SInt32 minorVersion = 0; + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + Gestalt(gestaltSystemVersionMajor, &majorVersion); + Gestalt(gestaltSystemVersionMinor, &minorVersion); +#pragma clang diagnostic pop + + if (majorVersion >= 10 && minorVersion >= 5) + { + s_joystickManager = new IOKitJoystickManager; + } } void I_ShutdownJoysticks() @@ -776,37 +788,3 @@ void I_ProcessJoysticks() s_joystickManager->Update(); } } - -#else // prior to 10.5 - -void I_StartupJoysticks() -{ -} - -void I_ShutdownJoysticks() -{ -} - -void I_GetJoysticks(TArray& sticks) -{ - sticks.Clear(); -} - -void I_GetAxes(float axes[NUM_JOYAXIS]) -{ - for (size_t i = 0; i < NUM_JOYAXIS; ++i) - { - axes[i] = 0.0f; - } -} - -IJoystickConfig *I_UpdateDeviceList() -{ - return NULL; -} - -void I_ProcessJoysticks() -{ -} - -#endif // 10.5 or higher