summaryrefslogtreecommitdiff
path: root/test/controllermap.c
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2020-11-07 02:22:15 -0800
committerSam Lantinga <slouken@libsdl.org>2020-11-07 02:22:15 -0800
commitcf563fc0604ff10d323ee144f33c6675038d7747 (patch)
tree7c39863d45e2c433ce72c3be4089c83cdbddc6bb /test/controllermap.c
parent436a82edfdf7631554ba26df13d50373ffef8d3f (diff)
downloadsdl-cf563fc0604ff10d323ee144f33c6675038d7747.tar.gz
Be explicit about mapping the new game controller paddle buttons
Diffstat (limited to 'test/controllermap.c')
-rw-r--r--test/controllermap.c32
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);