From: Holger Schemel Date: Sun, 3 Dec 2023 17:38:25 +0000 (+0100) Subject: minor code cleanup X-Git-Tag: 4.3.8.0~15 X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=commitdiff_plain;h=3da081ff7b11fa1f6af0abde72219622df5eb28a minor code cleanup --- diff --git a/src/tools.c b/src/tools.c index c1b367a6..26532a75 100644 --- a/src/tools.c +++ b/src/tools.c @@ -4793,6 +4793,12 @@ static int RequestHandleEvents(unsigned int req_state, int draw_buffer_game) static void DoRequestBefore(void) { + boolean game_ended = (game_status == GAME_MODE_PLAYING && checkGameEnded()); + + // when showing request dialog after game ended, deactivate game panel + if (game_ended) + game.panel.active = FALSE; + if (game_status == GAME_MODE_PLAYING) BlitScreenToBitmap(backbuffer); @@ -4896,12 +4902,10 @@ static void DrawRequestDoorText(char *text) static int RequestDoor(char *text, unsigned int req_state) { - int draw_buffer_last = GetDrawtoField(); unsigned int old_door_state = GetDoorState(); + int draw_buffer_last = GetDrawtoField(); int result; - DoRequestBefore(); - if (old_door_state & DOOR_OPEN_1) { CloseDoor(DOOR_CLOSE_1); @@ -4941,8 +4945,6 @@ static int RequestDoor(char *text, unsigned int req_state) OpenDoor(DOOR_OPEN_1 | DOOR_COPY_BACK); } - DoRequestAfter(); - return result; } @@ -4951,8 +4953,6 @@ static int RequestEnvelope(char *text, unsigned int req_state) int draw_buffer_last = GetDrawtoField(); int result; - DoRequestBefore(); - DrawEnvelopeRequest(text, req_state); ShowEnvelopeRequest(text, req_state, ACTION_OPENING); @@ -4963,30 +4963,27 @@ static int RequestEnvelope(char *text, unsigned int req_state) ShowEnvelopeRequest(text, req_state, ACTION_CLOSING); - DoRequestAfter(); - return result; } int Request(char *text, unsigned int req_state) { - boolean game_ended = (game_status == GAME_MODE_PLAYING && checkGameEnded()); boolean overlay_enabled = GetOverlayEnabled(); int result; - // when showing request dialog after game ended, deactivate game panel - if (game_ended) - game.panel.active = FALSE; - game.request_active = TRUE; SetOverlayEnabled(FALSE); + DoRequestBefore(); + if (global.use_envelope_request) result = RequestEnvelope(text, req_state); else result = RequestDoor(text, req_state); + DoRequestAfter(); + SetOverlayEnabled(overlay_enabled); game.request_active = FALSE;