X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=a6a08d72aaaccce1b8dcc035c76d287af54d81d8;hp=2c30df83c7fcdfcadf99faf69565b9e00cd0cb28;hb=8f8fae700807f82bb4cb322d38215d99b1e3b483;hpb=7bcc6aa833d64b21f78793dd00ed4c1356b98d05 diff --git a/src/tools.c b/src/tools.c index 2c30df83..a6a08d72 100644 --- a/src/tools.c +++ b/src/tools.c @@ -1337,6 +1337,9 @@ static void RedrawGlobalBorderIfNeeded(void) #if ONLY_REDRAW_GLOBAL_BORDER_IF_NEEDED if (CheckIfGlobalBorderRedrawIsNeeded()) +#else + // determine and store new global border bitmap for current game status + global_border_bitmap = getGlobalBorderBitmapFromStatus(game_status); #endif { // redraw global screen border (or clear, if defined to be empty) @@ -4205,6 +4208,7 @@ void WaitForEventToContinue(void) button_status = MB_RELEASED; ClearEventQueue(); + ClearPlayerAction(); while (still_wait) { @@ -4221,10 +4225,6 @@ void WaitForEventToContinue(void) still_wait = FALSE; break; - case EVENT_KEYRELEASE: - ClearPlayerAction(); - break; - default: HandleOtherEvents(&event); break; @@ -4447,6 +4447,7 @@ static int RequestHandleEvents(unsigned int req_state) break; } + case EVENT_FINGERRELEASE: case EVENT_KEYRELEASE: ClearPlayerAction(); break; @@ -9078,10 +9079,10 @@ static void CheckSaveEngineSnapshot_MM(boolean element_clicked, } } -void CheckSingleStepMode_EM(byte action[MAX_PLAYERS], int frame, - boolean any_player_moving, - boolean any_player_snapping, - boolean any_player_dropping) +boolean CheckSingleStepMode_EM(byte action[MAX_PLAYERS], int frame, + boolean any_player_moving, + boolean any_player_snapping, + boolean any_player_dropping) { if (tape.single_step && tape.recording && !tape.pausing) if (frame == 7 && !any_player_dropping) @@ -9089,6 +9090,8 @@ void CheckSingleStepMode_EM(byte action[MAX_PLAYERS], int frame, CheckSaveEngineSnapshot_EM(action, frame, any_player_moving, any_player_snapping, any_player_dropping); + + return tape.pausing; } void CheckSingleStepMode_SP(boolean murphy_is_waiting,