commit b36697d511a7fef9bb1cc5b8b0c2c36fb38e87c8
Author: Michael Day <contact@michaelcday.com>
AuthorDate: Mon Aug 7 21:54:14 2023 -0400
Commit: Turo Lamminen <turol@users.noreply.github.com>
CommitDate: Wed Aug 23 11:42:50 2023 +0300
Show more descriptive gamepad axis name
---
src/setup/txt_joyaxis.c | 39 +++++++++++++++++++++++++++++++--------
1 file changed, 31 insertions(+), 8 deletions(-)
diff --git a/src/setup/txt_joyaxis.c b/src/setup/txt_joyaxis.c
index 3e4a1858..59bc85aa 100644
--- a/src/setup/txt_joyaxis.c
+++ b/src/setup/txt_joyaxis.c
@@ -486,20 +486,43 @@ static void TXT_JoystickAxisDrawer(TXT_UNCAST_ARG(joystick_axis))
}
}
+static void GetAxisDescription(int axis, char *buf, size_t buf_len)
+{
+ switch (axis)
+ {
+ case SDL_CONTROLLER_AXIS_INVALID:
+ M_StringCopy(buf, "(none)", sizeof(buf));
+ break;
+
+ case SDL_CONTROLLER_AXIS_LEFTX:
+ M_StringCopy(buf, "Left X", sizeof(buf));
+ break;
+
+ case SDL_CONTROLLER_AXIS_LEFTY:
+ M_StringCopy(buf, "Left Y", sizeof(buf));
+ break;
+
+ case SDL_CONTROLLER_AXIS_RIGHTX:
+ M_StringCopy(buf, "Right X", sizeof(buf));
+ break;
+
+ case SDL_CONTROLLER_AXIS_RIGHTY:
+ M_StringCopy(buf, "Right Y", sizeof(buf));
+ break;
+
+ default:
+ M_StringCopy(buf, "(unknown)", sizeof(buf));
+ break;
+ }
+}
+
static void TXT_GamepadAxisDrawer(TXT_UNCAST_ARG(joystick_axis))
{
TXT_CAST_ARG(txt_joystick_axis_t, joystick_axis);
char buf[JOYSTICK_AXIS_WIDTH + 1];
int i;
- if (*joystick_axis->axis < 0)
- {
- M_StringCopy(buf, "(none)", sizeof(buf));
- }
- else
- {
- M_snprintf(buf, sizeof(buf), "AXIS #%i", *joystick_axis->axis);
- }
+ GetAxisDescription(*joystick_axis->axis, buf, sizeof(buf));
TXT_SetWidgetBG(joystick_axis);
TXT_FGColor(TXT_COLOR_BRIGHT_WHITE);