X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=af239591b40067a32c8fdd39cb0a1ae5ac229f6c;hp=3bc4a77fef5b9cd1d2f569ab1e059b42fd73a32d;hb=67f3bfab902e53e0dc24a01eb6c0e4d274030a47;hpb=242a824bccbe43d9a4d6f1405943c59a86ffd262 diff --git a/src/tools.c b/src/tools.c index 3bc4a77f..af239591 100644 --- a/src/tools.c +++ b/src/tools.c @@ -4196,6 +4196,7 @@ void DrawPlayerField(int x, int y) void WaitForEventToContinue(void) { + boolean first_wait = TRUE; boolean still_wait = TRUE; if (program.headless) @@ -4208,6 +4209,7 @@ void WaitForEventToContinue(void) button_status = MB_RELEASED; ClearEventQueue(); + ClearPlayerAction(); while (still_wait) { @@ -4217,17 +4219,22 @@ void WaitForEventToContinue(void) { switch (event.type) { - case EVENT_BUTTONRELEASE: + case EVENT_BUTTONPRESS: + case EVENT_FINGERPRESS: + first_wait = FALSE; + break; + + case EVENT_BUTTONRELEASE: + case EVENT_FINGERRELEASE: + still_wait = first_wait; + break; + case EVENT_KEYPRESS: case SDL_CONTROLLERBUTTONDOWN: case SDL_JOYBUTTONDOWN: still_wait = FALSE; break; - case EVENT_KEYRELEASE: - ClearPlayerAction(); - break; - default: HandleOtherEvents(&event); break; @@ -4238,7 +4245,8 @@ void WaitForEventToContinue(void) still_wait = FALSE; } - BackToFront(); + if (!PendingEvent()) + BackToFront(); } }