# HG changeset patch # User Stepan777 # 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