From dabd45997eb681ea216957834a8debf4cf9d928d Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 9 Aug 2023 11:25:37 -0700
Subject: [PATCH] Back out change supporting multiple names for binding
elements
testcontroller expects to be able to call SDL_GetGamepadStringForButton() and find that name in the binding string
We can revisit this later if it becomes important to use new names in bindings. @smcv
---
src/joystick/SDL_gamepad.c | 52 ++++++++++++++++++--------------------
1 file changed, 25 insertions(+), 27 deletions(-)
diff --git a/src/joystick/SDL_gamepad.c b/src/joystick/SDL_gamepad.c
index fdc662fb9ec2..00b6e9287362 100644
--- a/src/joystick/SDL_gamepad.c
+++ b/src/joystick/SDL_gamepad.c
@@ -1105,31 +1105,29 @@ const char *SDL_GetGamepadStringForAxis(SDL_GamepadAxis axis)
}
static const char *map_StringForGamepadButton[] = {
- "a", NULL,
- "b", NULL,
- "x", NULL,
- "y", NULL,
- "back", NULL,
- "guide", NULL,
- "start", NULL,
- "leftstick", NULL,
- "rightstick", NULL,
- "leftshoulder", NULL,
- "rightshoulder", NULL,
- "dpup", NULL,
- "dpdown", NULL,
- "dpleft", NULL,
- "dpright", NULL,
- "misc1", NULL,
- /* Keep using paddle1-4 when we generate mapping strings so that they
- * can be reused with SDL2, but accept rightpaddle1 etc. as input */
- "paddle1", "rightpaddle1",
- "paddle2", "leftpaddle1",
- "paddle3", "rightpaddle2",
- "paddle4", "leftpaddle2",
- "touchpad", NULL
+ "a",
+ "b",
+ "x",
+ "y",
+ "back",
+ "guide",
+ "start",
+ "leftstick",
+ "rightstick",
+ "leftshoulder",
+ "rightshoulder",
+ "dpup",
+ "dpdown",
+ "dpleft",
+ "dpright",
+ "misc1",
+ "paddle1",
+ "paddle2",
+ "paddle3",
+ "paddle4",
+ "touchpad"
};
-SDL_COMPILE_TIME_ASSERT(map_StringForGamepadButton, SDL_arraysize(map_StringForGamepadButton) == 2 * SDL_GAMEPAD_BUTTON_MAX);
+SDL_COMPILE_TIME_ASSERT(map_StringForGamepadButton, SDL_arraysize(map_StringForGamepadButton) == SDL_GAMEPAD_BUTTON_MAX);
/*
* convert a string to its enum equivalent
@@ -1143,8 +1141,8 @@ SDL_GamepadButton SDL_GetGamepadButtonFromString(const char *str)
}
for (i = 0; i < SDL_arraysize(map_StringForGamepadButton); ++i) {
- if (map_StringForGamepadButton[i] && SDL_strcasecmp(str, map_StringForGamepadButton[i]) == 0) {
- return (SDL_GamepadButton) (i / 2);
+ if (SDL_strcasecmp(str, map_StringForGamepadButton[i]) == 0) {
+ return (SDL_GamepadButton)i;
}
}
return SDL_GAMEPAD_BUTTON_INVALID;
@@ -1156,7 +1154,7 @@ SDL_GamepadButton SDL_GetGamepadButtonFromString(const char *str)
const char *SDL_GetGamepadStringForButton(SDL_GamepadButton button)
{
if (button > SDL_GAMEPAD_BUTTON_INVALID && button < SDL_GAMEPAD_BUTTON_MAX) {
- return map_StringForGamepadButton[button * 2];
+ return map_StringForGamepadButton[button];
}
return NULL;
}