# HG changeset patch
# User Stepan777 <stepik-777@mail.ru>
# Date 1341855930 -14400
# Node ID aa29a2f16cc79087420ef8e61e7163fcc3b6d808
# Parent  48b79b3ca592c710d0918ab749544a3a4683ac53
fix bug with desynced camera positions

diff -r 48b79b3ca592 -r aa29a2f16cc7 hedgewars/hwengine.pas
--- a/hedgewars/hwengine.pas	Mon Jul 09 17:03:57 2012 +0400
+++ b/hedgewars/hwengine.pas	Mon Jul 09 21:45:30 2012 +0400
@@ -82,15 +82,15 @@
             end;
         gsConfirm, gsGame:
             begin
-            DrawWorld(Lag); // never place between ProcessKbd and DoGameTick - bugs due to /put cmd and isCursorVisible
             DoGameTick(Lag);
             ProcessVisualGears(Lag);
+            DrawWorld(Lag);
             end;
         gsChat:
             begin
-            DrawWorld(Lag);
             DoGameTick(Lag);
             ProcessVisualGears(Lag);
+            DrawWorld(Lag);
             end;
         gsExit:
             begin
diff -r 48b79b3ca592 -r aa29a2f16cc7 hedgewars/uVideoRec.pas
--- a/hedgewars/uVideoRec.pas	Mon Jul 09 17:03:57 2012 +0400
+++ b/hedgewars/uVideoRec.pas	Mon Jul 09 21:45:30 2012 +0400
@@ -213,7 +213,7 @@
 begin
     LoadNextCameraPosition:= GameTicks;
     // we need to skip or duplicate frames to match target framerate
-    while Int64(curTime)*cVideoFramerateNum < Int64(numFrames)*cVideoFramerateDen*1000 do
+    while Int64(curTime)*cVideoFramerateNum <= Int64(numFrames)*cVideoFramerateDen*1000 do
     begin
     {$IOCHECKS OFF}
         if eof(cameraFile) then