X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fevents.c;fp=src%2Fevents.c;h=f73e48847f172907b7eaadae7134d812405f613b;hp=4a31bcd6539140624d9e8f0c25f1f7523dc40fc7;hb=e89a21e95b3cb84d1515c0fb3378ce902a48c1c8;hpb=21859f94b784d557113a6470ed8fd7bceb48ba15 diff --git a/src/events.c b/src/events.c index 4a31bcd6..f73e4884 100644 --- a/src/events.c +++ b/src/events.c @@ -36,8 +36,7 @@ static boolean cursor_inside_playfield = FALSE; static int cursor_mode_last = CURSOR_DEFAULT; -static unsigned int special_cursor_delay = 0; -static unsigned int special_cursor_delay_value = 1000; +static DelayCounter special_cursor_delay = { 1000 }; static boolean special_cursor_enabled = FALSE; static boolean stop_processing_events = FALSE; @@ -211,8 +210,7 @@ void StopProcessingEvents(void) static void HandleEvents(void) { Event event; - unsigned int event_frame_delay = 0; - unsigned int event_frame_delay_value = GAME_FRAME_DELAY; + DelayCounter event_frame_delay = { GAME_FRAME_DELAY }; ResetDelayCounter(&event_frame_delay); @@ -277,7 +275,7 @@ static void HandleEvents(void) ResetDelayCounter(&event_frame_delay); // do not handle events for longer than standard frame delay period - if (DelayReached(&event_frame_delay, event_frame_delay_value)) + if (DelayReached(&event_frame_delay)) break; // do not handle any further events if triggered by a special flag @@ -330,7 +328,7 @@ static void HandleMouseCursor(void) // when showing title screens, hide mouse pointer (if not moved) if (gfx.cursor_mode != CURSOR_NONE && - DelayReached(&special_cursor_delay, special_cursor_delay_value)) + DelayReached(&special_cursor_delay)) { SetMouseCursor(CURSOR_NONE); } @@ -347,7 +345,7 @@ static void HandleMouseCursor(void) if (gfx.cursor_mode != CURSOR_PLAYFIELD && cursor_inside_playfield && special_cursor_enabled && - DelayReached(&special_cursor_delay, special_cursor_delay_value)) + DelayReached(&special_cursor_delay)) { SetMouseCursor(CURSOR_PLAYFIELD); } @@ -2589,8 +2587,7 @@ static int HandleJoystickForAllPlayers(void) void HandleJoystick(void) { - static unsigned int joytest_delay = 0; - static unsigned int joytest_delay_value = GADGET_FRAME_DELAY; + static DelayCounter joytest_delay = { GADGET_FRAME_DELAY }; static int joytest_last = 0; int delay_value_first = GADGET_FRAME_DELAY_FIRST; int delay_value = GADGET_FRAME_DELAY; @@ -2648,7 +2645,7 @@ void HandleJoystick(void) if (dx || dy || button) SetPlayfieldMouseCursorEnabled(TRUE); - if (joytest && !button && !DelayReached(&joytest_delay, joytest_delay_value)) + if (joytest && !button && !DelayReached(&joytest_delay)) { // delay joystick/keyboard actions if axes/keys continually pressed newbutton = dx = dy = 0; @@ -2656,7 +2653,7 @@ void HandleJoystick(void) else { // first start with longer delay, then continue with shorter delay - joytest_delay_value = + joytest_delay.value = (use_delay_value_first ? delay_value_first : delay_value); }