diff -r 99a921e292f4 -r aa7aefec5c1b hedgewars/uIO.pas --- a/hedgewars/uIO.pas Mon Oct 13 18:37:59 2008 +0000 +++ b/hedgewars/uIO.pas Mon Oct 13 19:04:27 2008 +0000 @@ -37,7 +37,7 @@ var hiTicks: Word = 0; implementation -uses uConsole, uConsts, uWorld, uMisc, uLand, uChat; +uses uConsole, uConsts, uWorld, uMisc, uLand, uChat, uTeams; const isPonged: boolean = false; type PCmd = ^TCmd; @@ -64,7 +64,7 @@ FillChar(Result^, sizeof(TCmd), 0); Result^.Time:= Time; Result^.str:= str; -dec(Result^.len, 2); // cut timestamp +if Result^.cmd <> 'F' then dec(Result^.len, 2); // cut timestamp if headcmd = nil then begin headcmd:= Result; @@ -216,7 +216,10 @@ begin tmpflag:= true; -while (headcmd <> nil) and ((GameTicks = headcmd^.Time) or (headcmd^.cmd = 's')) do +while (headcmd <> nil) + and ((GameTicks = headcmd^.Time) + or (headcmd^.cmd = 's') + or (headcmd^.cmd = 'F')) do begin case headcmd^.cmd of '+': ; // do nothing - it's just empty packet @@ -239,6 +242,7 @@ AddChatString(s); WriteLnToConsole(s) end; + 'F': TeamGone(copy(headcmd^.str, 2, Pred(headcmd^.len))); 'N': begin tmpflag:= false; {$IFDEF DEBUGFILE}AddFileLog('got cmd "N": time '+inttostr(headcmd^.Time)){$ENDIF}