hedgewars/uConsole.pas
changeset 4046 cfdbddc4b385
parent 4003 ca0600ab38bf
child 4143 eb7981f34800
equal deleted inserted replaced
4045:e3a2a39a8277 4046:cfdbddc4b385
    88 procedure WriteToConsole(s: shortstring);
    88 procedure WriteToConsole(s: shortstring);
    89 var Len: LongInt;
    89 var Len: LongInt;
    90     done: boolean;
    90     done: boolean;
    91 begin
    91 begin
    92 {$IFNDEF NOCONSOLE}
    92 {$IFNDEF NOCONSOLE}
    93     {$IFDEF DEBUGFILE}AddFileLog('Console write: ' + s);{$ENDIF}
    93 {$IFDEF DEBUGFILE}AddFileLog('Console write: ' + s);{$ENDIF}
    94     Write(s);
    94 Write(s);
    95     done:= false;
    95 done:= false;
    96 
    96 
    97     while not done do
    97 while not done do
    98     begin
    98     begin
    99         Len:= cLineWidth - Length(ConsoleLines[CurrLine].s);
    99     Len:= cLineWidth - Length(ConsoleLines[CurrLine].s);
   100         SetLine(ConsoleLines[CurrLine], ConsoleLines[CurrLine].s + copy(s, 1, Len));
   100     SetLine(ConsoleLines[CurrLine], ConsoleLines[CurrLine].s + copy(s, 1, Len));
   101         Delete(s, 1, Len);
   101     Delete(s, 1, Len);
   102         if byte(ConsoleLines[CurrLine].s[0]) = cLineWidth then
   102     if byte(ConsoleLines[CurrLine].s[0]) = cLineWidth then
   103         begin
   103         begin
   104             inc(CurrLine);
   104         inc(CurrLine);
   105             if CurrLine = cLinesCount then CurrLine:= 0;
   105         if CurrLine = cLinesCount then CurrLine:= 0;
   106             PByte(@ConsoleLines[CurrLine].s)^:= 0
   106         PByte(@ConsoleLines[CurrLine].s)^:= 0
   107         end;
   107         end;
   108         done:= (Length(s) = 0);
   108     done:= (Length(s) = 0);
   109     end;
   109     end;
   110 {$ENDIF}
   110 {$ENDIF}
   111 end;
   111 end;
   112 
   112 
   113 procedure WriteLnToConsole(s: shortstring);
   113 procedure WriteLnToConsole(s: shortstring);
   114 begin
   114 begin
   115 {$IFNDEF NOCONSOLE}
   115 {$IFNDEF NOCONSOLE}
   116     WriteToConsole(s);
   116 WriteToConsole(s);
   117     WriteLn;
   117 WriteLn;
   118     inc(CurrLine);
   118 inc(CurrLine);
   119     if CurrLine = cLinesCount then
   119 if CurrLine = cLinesCount then
   120         CurrLine:= 0;
   120     CurrLine:= 0;
   121     PByte(@ConsoleLines[CurrLine].s)^:= 0
   121 PByte(@ConsoleLines[CurrLine].s)^:= 0
   122 {$ENDIF}
   122 {$ENDIF}
   123 end;
   123 end;
   124 
   124 
   125 procedure ParseCommand(CmdStr: shortstring; TrustedSource: boolean);
   125 procedure ParseCommand(CmdStr: shortstring; TrustedSource: boolean);
   126 var ii: LongInt;
   126 var ii: LongInt;