SDL 2.24.0 support

This commit is contained in:
Er2
2022-08-20 10:44:34 +03:00
parent 1afe5a56da
commit 0b4b1db9fe
2 changed files with 11 additions and 1 deletions
+4
View File
@@ -68,6 +68,10 @@ public:
GAMEPAD_TYPE_AMAZON_LUNA,
GAMEPAD_TYPE_STADIA,
GAMEPAD_TYPE_VIRTUAL,
GAMEPAD_TYPE_NVIDIA_SHIELD,
GAMEPAD_TYPE_JOYCON_LEFT,
GAMEPAD_TYPE_JOYCON_RIGHT,
GAMEPAD_TYPE_JOYCON_PAIR,
GAMEPAD_TYPE_MAX_ENUM
};
+7 -1
View File
@@ -260,6 +260,12 @@ Joystick::GamepadType Joystick::getGamepadType() const
#if SDL_VERSION_ATLEAST(2, 0, 16)
case SDL_CONTROLLER_TYPE_AMAZON_LUNA: return GAMEPAD_TYPE_AMAZON_LUNA;
case SDL_CONTROLLER_TYPE_GOOGLE_STADIA: return GAMEPAD_TYPE_STADIA;
#endif
#if SDL_VERSION_ATLEAST(2, 24, 0)
case SDL_CONTROLLER_TYPE_NVIDIA_SHIELD: return GAMEPAD_TYPE_NVIDIA_SHIELD;
case SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_LEFT: return GAMEPAD_TYPE_JOYCON_LEFT;
case SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT: return GAMEPAD_TYPE_JOYCON_RIGHT;
case SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_PAIR: return GAMEPAD_TYPE_JOYCON_PAIR;
#endif
}
#endif
@@ -509,7 +515,7 @@ bool Joystick::setVibration(float left, float right, float duration)
Uint32 length = SDL_HAPTIC_INFINITY;
if (duration >= 0.0f)
{
float maxduration = std::numeric_limits<Uint32>::max() / 1000.0f;
float maxduration = std::numeric_limits<Uint32>::max() / 1000;
length = Uint32(std::min(duration, maxduration) * 1000);
}