X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=68fb40c6e12dc3c2c27433c0955fb5ea7a4e086a;hb=e5804efb99033c96d71c37ce89f60e1ee23b7004;hp=aff7972a58dc70b9f1e6ed620c77e2b6cacd2c48;hpb=44307678912a3b7b5a3222b4929976b8e229546b;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index aff7972a..68fb40c6 100644 --- a/src/game.c +++ b/src/game.c @@ -5051,6 +5051,7 @@ void GameEnd(void) if (setup.auto_play_next_level) { scores.continue_playing = TRUE; + scores.next_level_nr = level_nr; LoadLevel(level_nr); @@ -15691,6 +15692,7 @@ void RequestQuitGameExt(boolean skip_request, boolean quick_quit, char *message) { // prevent short reactivation of overlay buttons while closing door SetOverlayActive(FALSE); + UnmapGameButtons(); // door may still be open due to skipped or envelope style request CloseDoor(score_info_tape_play ? DOOR_CLOSE_ALL : DOOR_CLOSE_1); @@ -16298,6 +16300,11 @@ void CreateGameButtons(void) int y = (is_touch_button ? pos->y : GDI_ACTIVE_POS(pos->y)); int id = i; + // do not use touch buttons if touch controls are disabled + if (is_touch_button && + strEqual(setup.touch.control_type, TOUCH_CONTROL_OFF)) + continue; + if (gfx->bitmap == NULL) { game_gadget[id] = NULL;