diff options
author | Sam Lantinga <slouken@libsdl.org> | 2020-11-07 02:22:15 -0800 |
---|---|---|
committer | Sam Lantinga <slouken@libsdl.org> | 2020-11-07 02:22:15 -0800 |
commit | cf563fc0604ff10d323ee144f33c6675038d7747 (patch) | |
tree | 7c39863d45e2c433ce72c3be4089c83cdbddc6bb /test/controllermap.c | |
parent | 436a82edfdf7631554ba26df13d50373ffef8d3f (diff) | |
download | sdl-cf563fc0604ff10d323ee144f33c6675038d7747.tar.gz |
Be explicit about mapping the new game controller paddle buttons
Diffstat (limited to 'test/controllermap.c')
-rw-r--r-- | test/controllermap.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/test/controllermap.c b/test/controllermap.c index 4642e5931..e5774c4d0 100644 --- a/test/controllermap.c +++ b/test/controllermap.c @@ -59,7 +59,7 @@ static struct { 342, 132, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_X */ { 389, 101, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_Y */ { 174, 132, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_BACK */ - { 233, 132, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_GUIDE */ + { 232, 128, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_GUIDE */ { 289, 132, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_START */ { 75, 154, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_LEFTSTICK */ { 305, 230, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_RIGHTSTICK */ @@ -69,10 +69,11 @@ static struct { 154, 249, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_DPAD_DOWN */ { 116, 217, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_DPAD_LEFT */ { 186, 217, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_DPAD_RIGHT */ - { 158, 0, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_AUX1 */ - { 208, 0, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_AUX2 */ - { 258, 0, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_AUX3 */ - { 308, 0, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_AUX4 */ + { 232, 174, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_MISC1 */ + { 132, 135, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_PADDLE1 */ + { 330, 135, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_PADDLE2 */ + { 132, 175, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_PADDLE3 */ + { 330, 175, 0.0, MARKER_BUTTON }, /* SDL_CONTROLLER_BUTTON_PADDLE4 */ { 74, 153, 270.0, MARKER_AXIS }, /* SDL_CONTROLLER_BINDING_AXIS_LEFTX_NEGATIVE */ { 74, 153, 90.0, MARKER_AXIS }, /* SDL_CONTROLLER_BINDING_AXIS_LEFTX_POSITIVE */ { 74, 153, 0.0, MARKER_AXIS }, /* SDL_CONTROLLER_BINDING_AXIS_LEFTY_NEGATIVE */ @@ -111,10 +112,11 @@ static int s_arrBindingOrder[BINDING_COUNT] = { SDL_CONTROLLER_BUTTON_BACK, SDL_CONTROLLER_BUTTON_GUIDE, SDL_CONTROLLER_BUTTON_START, - SDL_CONTROLLER_BUTTON_AUX1, - SDL_CONTROLLER_BUTTON_AUX2, - SDL_CONTROLLER_BUTTON_AUX3, - SDL_CONTROLLER_BUTTON_AUX4, + SDL_CONTROLLER_BUTTON_MISC1, + SDL_CONTROLLER_BUTTON_PADDLE1, + SDL_CONTROLLER_BUTTON_PADDLE2, + SDL_CONTROLLER_BUTTON_PADDLE3, + SDL_CONTROLLER_BUTTON_PADDLE4, }; typedef struct @@ -364,7 +366,7 @@ static void WatchJoystick(SDL_Joystick * joystick) { SDL_Renderer *screen = NULL; - SDL_Texture *background, *button, *axis, *marker; + SDL_Texture *background_front, *background_back, *button, *axis, *marker; const char *name = NULL; SDL_Event event; SDL_Rect dst; @@ -378,7 +380,8 @@ WatchJoystick(SDL_Joystick * joystick) return; } - background = LoadTexture(screen, "controllermap.bmp", SDL_FALSE); + background_front = LoadTexture(screen, "controllermap.bmp", SDL_FALSE); + background_back = LoadTexture(screen, "controllermap_back.bmp", SDL_FALSE); button = LoadTexture(screen, "button.bmp", SDL_TRUE); axis = LoadTexture(screen, "axis.bmp", SDL_TRUE); SDL_RaiseWindow(window); @@ -445,7 +448,12 @@ WatchJoystick(SDL_Joystick * joystick) SDL_SetRenderDrawColor(screen, 0xFF, 0xFF, 0xFF, SDL_ALPHA_OPAQUE); SDL_RenderClear(screen); - SDL_RenderCopy(screen, background, NULL, NULL); + if (s_arrBindingOrder[s_iCurrentBinding] >= SDL_CONTROLLER_BUTTON_PADDLE1 && + s_arrBindingOrder[s_iCurrentBinding] <= SDL_CONTROLLER_BUTTON_PADDLE4) { + SDL_RenderCopy(screen, background_back, NULL, NULL); + } else { + SDL_RenderCopy(screen, background_front, NULL, NULL); + } SDL_SetTextureAlphaMod(marker, alpha); SDL_SetTextureColorMod(marker, 10, 255, 21); SDL_RenderCopyEx(screen, marker, NULL, &dst, s_arrBindingDisplay[iElement].angle, NULL, SDL_FLIP_NONE); |