X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=6dcf54967fb329fe977934382ff90a55ed10c140;hb=1651b494b33800344452c3e88fa54412063393ab;hp=8c8b7d5ac8515121bc647aec0ecb59b71c14924e;hpb=aaa6bf53eceb4c7801966a017dcc8a57c2fdface;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index 8c8b7d5a..6dcf5496 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -320,8 +320,9 @@ void InitGfxOtherSettings(void) gfx.cursor_mode_override = CURSOR_UNDEFINED; gfx.cursor_mode_final = gfx.cursor_mode; - gfx.mouse_x = 0; - gfx.mouse_y = 0; + // prevent initially displaying custom mouse cursor in upper left corner + gfx.mouse_x = POS_OFFSCREEN; + gfx.mouse_y = POS_OFFSCREEN; } void InitTileCursorInfo(void) @@ -570,6 +571,7 @@ void InitVideoBuffer(int width, int height, int depth, boolean fullscreen) video.window_scaling_available = WINDOW_SCALING_STATUS; + video.frame_counter = 0; video.frame_delay = 0; video.frame_delay_value = GAME_FRAME_DELAY; @@ -1665,6 +1667,11 @@ void PeekEvent(Event *event) SDL_PeepEvents(event, 1, SDL_PEEKEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT); } +void PumpEvents(void) +{ + SDL_PumpEvents(); +} + void CheckQuitEvent(void) { if (SDL_QuitRequested()) @@ -1685,7 +1692,7 @@ KeyMod HandleKeyModState(Key key, int key_status) { KeyMod new_modifier = KMOD_None; - switch(key) + switch (key) { case KSYM_Shift_L: new_modifier = KMOD_Shift_L;