Fix cursor teleporting to center after leaving game with video recording
authorWuzzy <Wuzzy2@mail.ru>
Tue, 17 Jul 2018 12:55:07 +0200 (2018-07-17)
changeset 13498 424944a835a7
parent 13497 3bb07c847886
child 13499 b5f8864a38d3
Fix cursor teleporting to center after leaving game with video recording
ChangeLog.txt
hedgewars/uCursor.pas
--- a/ChangeLog.txt	Tue Jul 17 12:50:55 2018 +0200
+++ b/ChangeLog.txt	Tue Jul 17 12:55:07 2018 +0200
@@ -8,6 +8,7 @@
  * Fix extreme amounts of droplets when shooting with minigun into ocean world edge
  * Fix hog being unable to walk after using sniper rifle without firing both shots
  * Fix video recorder not working when game audio was disabled
+ * Fix cursor teleporting to center after leaving game with a video recording
  * Fix teleport tooltip claiming it doesn't end turn in hog placing phase with inf. attack
 
 Highlander:
--- 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;