hedgewars/uFLNetProtocol.pas
branchqmlfrontend
changeset 11418 091149424aa4
parent 11416 78d6b99ddcb0
child 11419 8a5cc31483c6
equal deleted inserted replaced
11417:4815e406a760 11418:091149424aa4
    16 end;
    16 end;
    17 
    17 
    18 procedure handler_BANLIST(var p: TCmdParam);
    18 procedure handler_BANLIST(var p: TCmdParam);
    19 begin
    19 begin
    20 end;
    20 end;
    21  
    21 
    22 procedure handler_BANLIST_s(var s: TCmdParamS);
    22 procedure handler_BANLIST_s(var s: TCmdParamS);
    23 begin
    23 begin
    24 end;
    24 end;
    25 
    25 
    26 procedure handler_BYE(var p: TCmdParamSL);
    26 procedure handler_BYE(var p: TCmdParamSL);
    36 end;
    36 end;
    37 
    37 
    38 procedure handler_CLIENT_FLAGS(var p: TCmdParamS);
    38 procedure handler_CLIENT_FLAGS(var p: TCmdParamS);
    39 begin
    39 begin
    40 end;
    40 end;
    41  
    41 
    42 procedure handler_CLIENT_FLAGS_s(var s: TCmdParamS);
    42 procedure handler_CLIENT_FLAGS_s(var s: TCmdParamS);
    43 begin
    43 begin
    44 end;
    44 end;
    45 
    45 
    46 procedure handler_CONNECTED(var p: TCmdParami);
    46 procedure handler_CONNECTED(var p: TCmdParami);
    51 end;
    51 end;
    52 
    52 
    53 procedure handler_EM(var p: TCmdParam);
    53 procedure handler_EM(var p: TCmdParam);
    54 begin
    54 begin
    55 end;
    55 end;
    56  
    56 
    57 procedure handler_EM_s(var s: TCmdParamS);
    57 procedure handler_EM_s(var s: TCmdParamS);
    58 begin
    58 begin
    59 end;
    59 end;
    60 
    60 
    61 procedure handler_ERROR(var p: TCmdParamL);
    61 procedure handler_ERROR(var p: TCmdParamL);
    63 end;
    63 end;
    64 
    64 
    65 procedure handler_HH_NUM(var p: TCmdParam);
    65 procedure handler_HH_NUM(var p: TCmdParam);
    66 begin
    66 begin
    67 end;
    67 end;
    68  
    68 
    69 procedure handler_HH_NUM_s(var s: TCmdParamS);
    69 procedure handler_HH_NUM_s(var s: TCmdParamS);
    70 begin
    70 begin
    71 end;
    71 end;
    72 
    72 
    73 procedure handler_INFO(var p: TCmdParam);
    73 procedure handler_INFO(var p: TCmdParam);
    74 begin
    74 begin
    75 end;
    75 end;
    76  
    76 
    77 procedure handler_INFO_s(var s: TCmdParamS);
    77 procedure handler_INFO_s(var s: TCmdParamS);
    78 begin
    78 begin
    79 end;
    79 end;
    80 
    80 
    81 procedure handler_JOINED(var p: TCmdParam);
    81 procedure handler_JOINED(var p: TCmdParam);
    82 begin
    82 begin
    83 end;
    83 end;
    84  
    84 
    85 procedure handler_JOINED_s(var s: TCmdParamS);
    85 procedure handler_JOINED_s(var s: TCmdParamS);
    86 begin
    86 begin
    87 end;
    87 end;
    88 
    88 
    89 procedure handler_JOINING(var p: TCmdParamS);
    89 procedure handler_JOINING(var p: TCmdParamS);
    95 end;
    95 end;
    96 
    96 
    97 procedure handler_LEFT(var p: TCmdParamS);
    97 procedure handler_LEFT(var p: TCmdParamS);
    98 begin
    98 begin
    99 end;
    99 end;
   100  
   100 
   101 procedure handler_LEFT_s(var s: TCmdParamS);
   101 procedure handler_LEFT_s(var s: TCmdParamS);
   102 begin
   102 begin
   103 end;
   103 end;
   104 
   104 
   105 procedure handler_LOBBY_JOINED(var p: TCmdParam);
   105 procedure handler_LOBBY_JOINED(var p: TCmdParam);
   106 begin
   106 begin
   107 end;
   107 end;
   108  
   108 
   109 procedure handler_LOBBY_JOINED_s(var s: TCmdParamS);
   109 procedure handler_LOBBY_JOINED_s(var s: TCmdParamS);
   110 begin
   110 begin
   111     sendUI(mtAddLobbyClient, @s.str1[1], length(s.str1));
   111     sendUI(mtAddLobbyClient, @s.str1[1], length(s.str1));
   112 end;
   112 end;
   113 
   113 
   125 
   125 
   126 procedure handler_PING(var p: TCmdParam);
   126 procedure handler_PING(var p: TCmdParam);
   127 begin
   127 begin
   128     sendNet('PONG')
   128     sendNet('PONG')
   129 end;
   129 end;
   130  
   130 
   131 procedure handler_PING_s(var s: TCmdParamS);
   131 procedure handler_PING_s(var s: TCmdParamS);
   132 begin
   132 begin
   133 end;
   133 end;
   134 
   134 
   135 procedure handler_PROTO(var p: TCmdParami);
   135 procedure handler_PROTO(var p: TCmdParami);
   136 begin
   136 begin
   137 end;
   137 end;
   138 
   138 
       
   139 type TRoomAction = (raUnknown, raAdd, raUpdate, raRemove);
       
   140 const raRoomInfoLength: array[TRoomAction] of integer = (1, 9, 10, 1);
       
   141 const raRoomAction: array[TRoomAction] of TMessageType = (mtAddRoom, mtAddRoom, mtUpdateRoom, mtRemoveRoom);
       
   142 var roomInfo: string;
       
   143     roomLinesCount: integer;
       
   144     roomAction: TRoomAction;
       
   145 
       
   146 procedure handler_ROOM(var p: TCmdParam);
       
   147 begin
       
   148     roomInfo:= '';
       
   149     roomLinesCount:= 0;
       
   150     roomAction:= raUnknown
       
   151 end;
       
   152 
       
   153 procedure handler_ROOM_s(var s: TCmdParamS);
       
   154 begin
       
   155     if roomAction = raUnknown then
       
   156     begin
       
   157         if s.str1 = 'ADD' then
       
   158             roomAction:= raAdd
       
   159         else
       
   160             if s.str1 = 'UPD' then
       
   161                 roomAction:= raUpdate
       
   162             else
       
   163                 if s.str1 = 'DEL' then
       
   164                     roomAction:= raRemove
       
   165     end
       
   166     else begin
       
   167         roomInfo:= roomInfo + s.str1 + #10;
       
   168         inc(roomLinesCount);
       
   169 
       
   170         if roomLinesCount = raRoomInfoLength[roomAction] then
       
   171         begin
       
   172             sendUI(raRoomAction[roomAction], @roomInfo[1], length(roomInfo));
       
   173             roomLinesCount:= 0;
       
   174             roomInfo:= ''
       
   175         end;
       
   176     end;
       
   177 end;
       
   178 
   139 procedure handler_ROOMS(var p: TCmdParam);
   179 procedure handler_ROOMS(var p: TCmdParam);
   140 begin
   180 begin
   141 end;
   181     roomInfo:= '';
   142  
   182     roomLinesCount:= 0
       
   183 end;
       
   184 
   143 procedure handler_ROOMS_s(var s: TCmdParamS);
   185 procedure handler_ROOMS_s(var s: TCmdParamS);
   144 begin
   186 begin
       
   187     roomInfo:= roomInfo + s.str1 + #10;
       
   188 
       
   189     if roomLinesCount = 8 then
       
   190     begin
       
   191         sendUI(mtAddRoom, @roomInfo[1], length(roomInfo));
       
   192         roomLinesCount:= 0;
       
   193         roomInfo:= ''
       
   194     end else inc(roomLinesCount);
   145 end;
   195 end;
   146 
   196 
   147 procedure handler_ROUND_FINISHED(var p: TCmdParam);
   197 procedure handler_ROUND_FINISHED(var p: TCmdParam);
   148 begin
   198 begin
   149 end;
   199 end;
   169 end;
   219 end;
   170 
   220 
   171 procedure handler_TEAM_COLOR(var p: TCmdParam);
   221 procedure handler_TEAM_COLOR(var p: TCmdParam);
   172 begin
   222 begin
   173 end;
   223 end;
   174  
   224 
   175 procedure handler_TEAM_COLOR_s(var s: TCmdParamS);
   225 procedure handler_TEAM_COLOR_s(var s: TCmdParamS);
   176 begin
   226 begin
   177 end;
   227 end;
   178 
   228 
   179 procedure handler_WARNING(var p: TCmdParamL);
   229 procedure handler_WARNING(var p: TCmdParamL);
   190     PHandler(@handler_JOINED), PHandler(@handler_JOINED_s),
   240     PHandler(@handler_JOINED), PHandler(@handler_JOINED_s),
   191     PHandler(@handler_JOINING), PHandler(@handler_KICKED), PHandler(@handler_LEFT),
   241     PHandler(@handler_JOINING), PHandler(@handler_KICKED), PHandler(@handler_LEFT),
   192     PHandler(@handler_LEFT_s), PHandler(@handler_LOBBY_JOINED),
   242     PHandler(@handler_LEFT_s), PHandler(@handler_LOBBY_JOINED),
   193     PHandler(@handler_LOBBY_JOINED_s), PHandler(@handler_LOBBY_LEFT),
   243     PHandler(@handler_LOBBY_JOINED_s), PHandler(@handler_LOBBY_LEFT),
   194     PHandler(@handler_NICK), PHandler(@handler_NOTICE), PHandler(@handler_PING),
   244     PHandler(@handler_NICK), PHandler(@handler_NOTICE), PHandler(@handler_PING),
   195     PHandler(@handler_PING_s), PHandler(@handler_PROTO), PHandler(@handler_ROOMS),
   245     PHandler(@handler_PING_s), PHandler(@handler_PROTO), PHandler(@handler_ROOM),
   196     PHandler(@handler_ROOMS_s), PHandler(@handler_ROUND_FINISHED),
   246     PHandler(@handler_ROOM_s), PHandler(@handler_ROOMS), PHandler(@handler_ROOMS_s),
   197     PHandler(@handler_RUN_GAME), PHandler(@handler_SERVER_AUTH),
   247     PHandler(@handler_ROUND_FINISHED), PHandler(@handler_RUN_GAME),
   198     PHandler(@handler_SERVER_MESSAGE), PHandler(@handler_SERVER_VARS),
   248     PHandler(@handler_SERVER_AUTH), PHandler(@handler_SERVER_MESSAGE),
   199     PHandler(@handler_TEAM_ACCEPTED), PHandler(@handler_TEAM_COLOR),
   249     PHandler(@handler_SERVER_VARS), PHandler(@handler_TEAM_ACCEPTED),
   200     PHandler(@handler_TEAM_COLOR_s), PHandler(@handler_WARNING));
   250     PHandler(@handler_TEAM_COLOR), PHandler(@handler_TEAM_COLOR_s),
       
   251     PHandler(@handler_WARNING));
   201 
   252 
   202 procedure passNetData(p: pointer); cdecl;
   253 procedure passNetData(p: pointer); cdecl;
   203 begin
   254 begin
   204     handlers[TCmdData(p^).cmd.cmd](TCmdData(p^))
   255     handlers[TCmdData(p^).cmd.cmd](TCmdData(p^))
   205 end;
   256 end;