# HG changeset patch
# User sheepluva
# Date 1418332960 -3600
# Node ID e0d7d499c851e59380da2153c7321c6f9603c98e
# Parent  0da243c01bdee4fb3fd4c4f5385281373da38b44
make camera in wrap mode a bit smarter

diff -r 0da243c01bde -r e0d7d499c851 hedgewars/uWorld.pas
--- a/hedgewars/uWorld.pas	Thu Dec 11 20:46:45 2014 +0100
+++ b/hedgewars/uWorld.pas	Thu Dec 11 22:22:40 2014 +0100
@@ -1867,12 +1867,17 @@
         end
     else
         begin
-        if abs(prevPoint.X - WorldDx - hwRound(FollowGear^.X)) > LongInt(rightX) - leftX - 100 then
+        if (WorldEdge = weWrap) then
+            cameraJump:= LongInt(playWidth) div 2 + 50
+        else
+            cameraJump:= LongInt(rightX) - leftX - 100;
+
+        if abs(prevPoint.X - WorldDx - hwRound(FollowGear^.X)) > cameraJump then
             begin
-            if (prevPoint.X - WorldDx) * 2 < LongInt((rightX + leftX)) then
-                cameraJump:= LongInt(rightX) - leftX
-                else
-                cameraJump:= LongInt(leftX) - rightX;
+            if prevPoint.X - WorldDx < LongInt(playWidth div 2) then
+                cameraJump:= LongInt(playWidth)
+            else
+                cameraJump:= -LongInt(playWidth);
             WorldDx:= WorldDx - cameraJump;
             end;