# HG changeset patch # User unc0rr # Date 1210278634 0 # Node ID e59614bffc3f46b8e631a34bd1c6a5ce887386c8 # Parent 1d0022336fbb147306df21db3a886dae850730c4 Fix handling '/skip' command during net game diff -r 1d0022336fbb -r e59614bffc3f hedgewars/CCHandlers.inc --- a/hedgewars/CCHandlers.inc Thu May 08 18:38:52 2008 +0000 +++ b/hedgewars/CCHandlers.inc Thu May 08 20:30:34 2008 +0000 @@ -371,7 +371,7 @@ begin if not CurrentTeam^.ExtDriven then SendIPC(','); uStats.Skipped; -TurnTimeLeft:= 0 +skipFlag:= true end; procedure chSetMap(var s: shortstring); diff -r 1d0022336fbb -r e59614bffc3f hedgewars/uConsole.pas --- a/hedgewars/uConsole.pas Thu May 08 18:38:52 2008 +0000 +++ b/hedgewars/uConsole.pas Thu May 08 20:30:34 2008 +0000 @@ -36,7 +36,7 @@ implementation {$J+} uses uMisc, uStore, Types, uConsts, uGears, uTeams, uIO, uKeys, uWorld, uLand, - uRandom, uAmmos, uTriggers, GL, uStats; + uRandom, uAmmos, uTriggers, GL, uStats, uGame; const cLineWidth: LongInt = 0; cLinesCount = 256; diff -r 1d0022336fbb -r e59614bffc3f hedgewars/uGame.pas --- a/hedgewars/uGame.pas Thu May 08 18:38:52 2008 +0000 +++ b/hedgewars/uGame.pas Thu May 08 20:30:34 2008 +0000 @@ -23,6 +23,8 @@ procedure DoGameTick(Lag: LongInt); +var skipFlag: boolean = false; + //////////////////// implementation //////////////////// @@ -51,6 +53,7 @@ i:= 1; while (GameState <> gsExit) and (i <= Lag) do begin + skipFlag:= false; if not CurrentTeam^.ExtDriven then begin if CurrentHedgehog^.BotLevel <> 0 then ProcessBot; @@ -75,6 +78,7 @@ end else ProcessGears end; + if skipFlag then TurnTimeLeft:= 0; inc(i) end end; diff -r 1d0022336fbb -r e59614bffc3f hedgewars/uGears.pas --- a/hedgewars/uGears.pas Thu May 08 18:38:52 2008 +0000 +++ b/hedgewars/uGears.pas Thu May 08 20:30:34 2008 +0000 @@ -451,11 +451,11 @@ end; if (not CurrentTeam^.ExtDriven) and - ((GameTicks and $FFFF) = $FFFF) then - begin - SendIPCTimeInc; - inc(hiTicks) // we do not recieve a message for this - end; + ((GameTicks and $FFFF) = $FFFF) then + begin + SendIPCTimeInc; + inc(hiTicks) // we do not recieve a message for this + end; inc(GameTicks) end;