while (NextValidEvent(&event))
{
+ int game_status_last = game_status;
+
switch (event.type)
{
case EVENT_BUTTONPRESS:
break;
}
+ // always handle events within delay period if game status has changed
+ if (game_status != game_status_last)
+ ResetDelayCounter(&event_frame_delay);
+
// do not handle events for longer than standard frame delay period
if (DelayReached(&event_frame_delay, event_frame_delay_value))
break;
if (key_status == KEY_PRESSED)
SetOverlayEnabled(!GetOverlayEnabled());
}
- else
+ else if (!textinput_status)
{
// for any other "real" key event, disable virtual buttons
SetOverlayEnabled(FALSE);
switch (key)
{
case KSYM_Escape:
- RequestQuitGame(setup.ask_on_escape);
+ RequestQuitGame(TRUE);
break;
default: