hedgewars/uFLNetProtocol.pas
branchqmlfrontend
changeset 11454 2bf0491d5e88
parent 11449 91f8c6ff5bab
child 11455 0c75fa9ce340
equal deleted inserted replaced
11453:42a9dd7b724c 11454:2bf0491d5e88
   267         sendUI(mtRoomChatLine, @s[1], length(s))
   267         sendUI(mtRoomChatLine, @s[1], length(s))
   268     else
   268     else
   269         sendUI(mtLobbyChatLine, @s[1], length(s));
   269         sendUI(mtLobbyChatLine, @s[1], length(s));
   270 end;
   270 end;
   271 
   271 
       
   272 var flags: array[TClientFlag] of LongInt;
       
   273     isFlagsLine: boolean;
   272 procedure handler_CLIENT_FLAGS(var p: TCmdParamS);
   274 procedure handler_CLIENT_FLAGS(var p: TCmdParamS);
   273 begin
   275 var f: TClientFlag;
       
   276 begin
       
   277     for f:= Low(TClientFlag) to High(TClientFlag) do
       
   278         flags[f]:= 0;
       
   279 
       
   280     isFlagsLine:= true;
   274 end;
   281 end;
   275 
   282 
   276 procedure handler_CLIENT_FLAGS_s(var s: TCmdParamS);
   283 procedure handler_CLIENT_FLAGS_s(var s: TCmdParamS);
   277 begin
   284 var isRemoval: boolean;
       
   285     flagValue, i: LongInt;
       
   286 begin
       
   287     if isFlagsLine then
       
   288     begin
       
   289         if s.str[1] = '+' then flagValue:= 1 else flagValue:= -1;
       
   290         for i:= 2 to Length(s.str1) do
       
   291             case s.str[1] of
       
   292                 'r': flags[cfReady]:= flagValue;
       
   293                 'u': flags[cfRegistered]:= flagValue;
       
   294                 'i': flags[cfInRoom]:= flagValue;
       
   295                 'c': flags[cfContributor]:= flagValue;
       
   296                 'g': flags[cfInGame]:= flagValue;
       
   297                 'h': flags[cfRoomAdmin]:= flagValue;
       
   298                 'a': flags[cfServerAdmin]:= flagValue;
       
   299             end;
       
   300 
       
   301         isFlagsLine:= false;
       
   302     end else
       
   303     begin
       
   304 
       
   305     end
   278 end;
   306 end;
   279 
   307 
   280 procedure handler_CONNECTED(var p: TCmdParami);
   308 procedure handler_CONNECTED(var p: TCmdParami);
   281 begin
   309 begin
   282     sendUI(mtConnected, nil, 0);
   310     sendUI(mtConnected, nil, 0);
   283     writeln('Server features version ', p.param1);
   311     //writeln('Server features version ', p.param1);
   284     sendNet('PROTO' + #10 + '51');
   312     sendNet('PROTO' + #10 + '51');
   285     sendNet('NICK' + #10 + 'qmlfrontend');
   313     sendNet('NICK' + #10 + 'qmlfrontend');
   286 end;
   314 end;
   287 
   315 
   288 procedure handler_EM(var p: TCmdParam);
   316 procedure handler_EM(var p: TCmdParam);