X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=0fa609aa4b8146850fe1bb10c1fba0e3ca6156fd;hb=4297b2aaab89aaec3cd55f2dd83c27a497bbd0af;hp=b3e4c81f599fe00ab070f7353b040a7fa573ff58;hpb=c2db569638939bd90635f738953f81168421a41e;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index b3e4c81f..0fa609aa 100644 --- a/src/events.c +++ b/src/events.c @@ -405,7 +405,10 @@ void ClearPlayerAction(void) // simulate key release events for still pressed keys key_joystick_mapping = 0; for (i = 0; i < MAX_PLAYERS; i++) + { stored_player[i].action = 0; + stored_player[i].snap_action = 0; + } ClearJoystickState(); ClearPlayerMouseAction(); @@ -683,6 +686,7 @@ static struct SDL_FingerID finger_id; int counter; Key key; + byte action; } touch_info[NUM_TOUCH_FINGERS]; static void HandleFingerEvent_VirtualButtons(FingerEvent *event) @@ -811,6 +815,9 @@ static void HandleFingerEvent_VirtualButtons(FingerEvent *event) { HandleKey(touch_info[i].key, KEY_RELEASED); + // undraw previous grid button when moving finger away + overlay.grid_button_action &= ~touch_info[i].action; + Error(ERR_DEBUG, "=> key == '%s', key_status == '%s' [slot %d] [2]", getKeyNameFromKey(touch_info[i].key), "KEY_RELEASED", i); } @@ -828,6 +835,7 @@ static void HandleFingerEvent_VirtualButtons(FingerEvent *event) touch_info[i].finger_id = event->fingerId; touch_info[i].counter = Counter(); touch_info[i].key = key; + touch_info[i].action = grid_button_action; } else { @@ -843,6 +851,7 @@ static void HandleFingerEvent_VirtualButtons(FingerEvent *event) touch_info[i].finger_id = 0; touch_info[i].counter = 0; touch_info[i].key = 0; + touch_info[i].action = JOY_NO_ACTION; } } } @@ -1938,13 +1947,13 @@ boolean HandleKeysDebug(Key key, int key_status) SetVideoFrameDelay(GameFrameDelay); if (GameFrameDelay > ONE_SECOND_DELAY) - Error(ERR_DEBUG, "frame delay == %d ms", GameFrameDelay); + Error(ERR_INFO, "frame delay == %d ms", GameFrameDelay); else if (GameFrameDelay != 0) - Error(ERR_DEBUG, "frame delay == %d ms (max. %d fps / %d %%)", + Error(ERR_INFO, "frame delay == %d ms (max. %d fps / %d %%)", GameFrameDelay, ONE_SECOND_DELAY / GameFrameDelay, GAME_FRAME_DELAY * 100 / GameFrameDelay); else - Error(ERR_DEBUG, "frame delay == 0 ms (maximum speed)"); + Error(ERR_INFO, "frame delay == 0 ms (maximum speed)"); return TRUE; } @@ -1957,14 +1966,14 @@ boolean HandleKeysDebug(Key key, int key_status) { options.debug = !options.debug; - Error(ERR_DEBUG, "debug mode %s", + Error(ERR_INFO, "debug mode %s", (options.debug ? "enabled" : "disabled")); return TRUE; } else if (key == KSYM_v) { - Error(ERR_DEBUG, "currently using game engine version %d", + Error(ERR_INFO, "currently using game engine version %d", game.engine_version); return TRUE;