X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=0a63c2e40cb9575d5c65eecd94b3d75092cc2d06;hp=b13890a1c380161681c9c8f1a387035a83cfd94f;hb=3d1fd980cdc61187c7f163f69adff7ad814f83a9;hpb=e02c111162d5d8a13715de71d93494120380ec9b diff --git a/src/screens.c b/src/screens.c index b13890a1..0a63c2e4 100644 --- a/src/screens.c +++ b/src/screens.c @@ -6581,6 +6581,8 @@ static boolean ConfigureJoystickMapButtonsAndAxes(SDL_Joystick *joystick) axis_x = LoadCustomImage("joystick/axis_x.png"); axis_y = LoadCustomImage("joystick/axis_y.png"); + marker = button; /* initialize with reliable default value */ + bitmaps_initialized = TRUE; } @@ -6777,14 +6779,19 @@ static boolean ConfigureJoystickMapButtonsAndAxes(SDL_Joystick *joystick) if (event.key.keysym.sym == KSYM_BackSpace || event.key.keysym.sym == KSYM_Back) { - /* undo this step */ - if (i > 0) + if (i == 0) { - prev_step = &steps[--i]; - strcpy(mapping, prev_step->mapping); - next = TRUE; + /* leave screen */ + success = FALSE; + done = TRUE; } + /* undo this step */ + prev_step = &steps[i - 1]; + strcpy(mapping, prev_step->mapping); + i--; + next = TRUE; + break; } @@ -6801,6 +6808,7 @@ static boolean ConfigureJoystickMapButtonsAndAxes(SDL_Joystick *joystick) if (event.key.keysym.sym == KSYM_Escape) { + /* leave screen */ success = FALSE; done = TRUE; }