# HG changeset patch # User Wuzzy # Date 1531824907 -7200 # Node ID 9f05872969dcde1d5de635f9f09900659b08bd30 # Parent 62a5eea4ae7aa4a81d2d437f2f8b35132faad325 Fix cursor teleporting to center after leaving game with video recording diff -r 62a5eea4ae7a -r 9f05872969dc ChangeLog.txt --- a/ChangeLog.txt Tue Jul 17 12:50:55 2018 +0200 +++ b/ChangeLog.txt Tue Jul 17 12:55:07 2018 +0200 @@ -4,6 +4,7 @@ * Restore joystick/controller functionality * Fix crash when starting game with 2 controllers or more * Fix video recorder not recording if sound was disabled + * Fix cursor teleporting to center after leaving game with a video recording * Fix insane amount of droplets appearing when shooting minigun into ocean world edge * Limit number of droplets to 50 (temporary bugfix) * Prevent creation of schemes with same name as an existing scheme diff -r 62a5eea4ae7a -r 9f05872969dc hedgewars/uCursor.pas --- a/hedgewars/uCursor.pas Tue Jul 17 12:50:55 2018 +0200 +++ b/hedgewars/uCursor.pas Tue Jul 17 12:55:07 2018 +0200 @@ -9,7 +9,7 @@ implementation -uses SDLh, uVariables; +uses SDLh, uVariables, uTypes; procedure init; begin @@ -18,6 +18,8 @@ procedure resetPosition; begin + if GameType = gmtRecord then + exit; // Move curser by 1px in case it's already centered. // The game camera in the Alpha for 0.9.23 screwed up if // the game started with the mouse already being centered. @@ -31,13 +33,14 @@ procedure updatePosition; var x, y: LongInt; begin - SDL_GetMouseState(@x, @y); + if GameType <> gmtRecord then + SDL_GetMouseState(@x, @y); if(x <> cScreenWidth div 2) or (y <> cScreenHeight div 2) then begin handlePositionUpdate(x - cScreenWidth div 2, y - cScreenHeight div 2); - if cHasFocus then + if cHasFocus and (GameType <> gmtRecord) then SDL_WarpMouse(cScreenWidth div 2, cScreenHeight div 2); end end;