hedgewars/uFLNetProtocol.pas
branchqmlfrontend
changeset 11442 6b04a266feee
parent 11441 908aed8525f9
child 11443 5182d44fb733
equal deleted inserted replaced
11441:908aed8525f9 11442:6b04a266feee
    16     PHandler = procedure (var t: TCmdData);
    16     PHandler = procedure (var t: TCmdData);
    17 
    17 
    18 var isInRoom: boolean;
    18 var isInRoom: boolean;
    19     myNickname: shortstring;
    19     myNickname: shortstring;
    20 
    20 
       
    21 var teamIndex: LongInt;
       
    22     tmpTeam: TTeam;
       
    23 
       
    24 const teamFields: array[0..22] of PShortstring = (
       
    25     @tmpTeam.teamName
       
    26     , @tmpTeam.grave
       
    27     , @tmpTeam.fort
       
    28     , @tmpTeam.voice
       
    29     , @tmpTeam.flag
       
    30     , @tmpTeam.owner
       
    31     , nil
       
    32     , @tmpTeam.hedgehogs[0].name
       
    33     , @tmpTeam.hedgehogs[0].hat
       
    34     , @tmpTeam.hedgehogs[1].name
       
    35     , @tmpTeam.hedgehogs[1].hat
       
    36     , @tmpTeam.hedgehogs[2].name
       
    37     , @tmpTeam.hedgehogs[2].hat
       
    38     , @tmpTeam.hedgehogs[3].name
       
    39     , @tmpTeam.hedgehogs[3].hat
       
    40     , @tmpTeam.hedgehogs[4].name
       
    41     , @tmpTeam.hedgehogs[4].hat
       
    42     , @tmpTeam.hedgehogs[5].name
       
    43     , @tmpTeam.hedgehogs[5].hat
       
    44     , @tmpTeam.hedgehogs[6].name
       
    45     , @tmpTeam.hedgehogs[6].hat
       
    46     , @tmpTeam.hedgehogs[7].name
       
    47     , @tmpTeam.hedgehogs[7].hat
       
    48     );
    21 procedure handler_ADD_TEAM(var p: TCmdParam);
    49 procedure handler_ADD_TEAM(var p: TCmdParam);
    22 begin
    50 begin
       
    51     teamIndex:= 0;
       
    52     tmpTeam.extDriven:= true;
       
    53     tmpTeam.color:= 0
    23 end;
    54 end;
    24 
    55 
    25 procedure handler_ADD_TEAM_s(var s: TCmdParamS);
    56 procedure handler_ADD_TEAM_s(var s: TCmdParamS);
    26 begin
    57 begin
       
    58     if teamIndex = 6 then
       
    59         tmpTeam.botLevel:= strToInt(s.str1)
       
    60     else if teamIndex < 23 then
       
    61         teamFields[teamIndex]^:= s.str1;
       
    62 
       
    63     if teamIndex = 22 then
       
    64         netAddTeam(tmpTeam);
       
    65 
       
    66     inc(teamIndex);
    27 end;
    67 end;
    28 
    68 
    29 procedure handler_ASKPASSWORD(var p: TCmdParamS);
    69 procedure handler_ASKPASSWORD(var p: TCmdParamS);
    30 begin
    70 begin
    31 end;
    71 end;
   249 procedure handler_ERROR(var p: TCmdParamL);
   289 procedure handler_ERROR(var p: TCmdParamL);
   250 begin
   290 begin
   251     sendUI(mtError, @p.str1[1], length(p.str1));
   291     sendUI(mtError, @p.str1[1], length(p.str1));
   252 end;
   292 end;
   253 
   293 
   254 procedure handler_HH_NUM(var p: TCmdParam);
   294 procedure handler_HH_NUM(var p: TCmdParamSS);
   255 begin
       
   256 end;
       
   257 
       
   258 procedure handler_HH_NUM_s(var s: TCmdParamS);
       
   259 begin
   295 begin
   260 end;
   296 end;
   261 
   297 
   262 procedure handler_INFO(var p: TCmdParam);
   298 procedure handler_INFO(var p: TCmdParam);
   263 begin
   299 begin
   429 
   465 
   430 procedure handler_TEAM_ACCEPTED(var p: TCmdParamS);
   466 procedure handler_TEAM_ACCEPTED(var p: TCmdParamS);
   431 begin
   467 begin
   432 end;
   468 end;
   433 
   469 
   434 procedure handler_TEAM_COLOR(var p: TCmdParam);
   470 procedure handler_TEAM_COLOR(var p: TCmdParamSS);
   435 begin
   471 begin
   436 end;
   472     netSetTeamColor(p.str1, StrToInt(p.str2));
   437 
       
   438 procedure handler_TEAM_COLOR_s(var s: TCmdParamS);
       
   439 begin
       
   440 end;
   473 end;
   441 
   474 
   442 procedure handler_WARNING(var p: TCmdParamL);
   475 procedure handler_WARNING(var p: TCmdParamL);
   443 begin
   476 begin
   444     sendUI(mtWarning, @p.str1[1], length(p.str1));
   477     sendUI(mtWarning, @p.str1[1], length(p.str1));
   455     PHandler(@handler_CFG_SCHEME_s), PHandler(@handler_CFG_SCRIPT),
   488     PHandler(@handler_CFG_SCHEME_s), PHandler(@handler_CFG_SCRIPT),
   456     PHandler(@handler_CFG_SEED), PHandler(@handler_CFG_TEMPLATE),
   489     PHandler(@handler_CFG_SEED), PHandler(@handler_CFG_TEMPLATE),
   457     PHandler(@handler_CFG_THEME), PHandler(@handler_CHAT),
   490     PHandler(@handler_CFG_THEME), PHandler(@handler_CHAT),
   458     PHandler(@handler_CLIENT_FLAGS), PHandler(@handler_CLIENT_FLAGS_s),
   491     PHandler(@handler_CLIENT_FLAGS), PHandler(@handler_CLIENT_FLAGS_s),
   459     PHandler(@handler_CONNECTED), PHandler(@handler_EM), PHandler(@handler_EM_s),
   492     PHandler(@handler_CONNECTED), PHandler(@handler_EM), PHandler(@handler_EM_s),
   460     PHandler(@handler_ERROR), PHandler(@handler_HH_NUM),
   493     PHandler(@handler_ERROR), PHandler(@handler_HH_NUM), PHandler(@handler_INFO),
   461     PHandler(@handler_HH_NUM_s), PHandler(@handler_INFO), PHandler(@handler_INFO_s),
   494     PHandler(@handler_INFO_s), PHandler(@handler_JOINED),
   462     PHandler(@handler_JOINED), PHandler(@handler_JOINED_s),
   495     PHandler(@handler_JOINED_s), PHandler(@handler_JOINING),
   463     PHandler(@handler_JOINING), PHandler(@handler_KICKED), PHandler(@handler_LEFT),
   496     PHandler(@handler_KICKED), PHandler(@handler_LEFT),
   464     PHandler(@handler_LOBBY_JOINED), PHandler(@handler_LOBBY_JOINED_s),
   497     PHandler(@handler_LOBBY_JOINED), PHandler(@handler_LOBBY_JOINED_s),
   465     PHandler(@handler_LOBBY_LEFT), PHandler(@handler_NICK),
   498     PHandler(@handler_LOBBY_LEFT), PHandler(@handler_NICK),
   466     PHandler(@handler_NOTICE), PHandler(@handler_PING), PHandler(@handler_PING_s),
   499     PHandler(@handler_NOTICE), PHandler(@handler_PING), PHandler(@handler_PING_s),
   467     PHandler(@handler_PROTO), PHandler(@handler_REMOVE_TEAM),
   500     PHandler(@handler_PROTO), PHandler(@handler_REMOVE_TEAM),
   468     PHandler(@handler_ROOMS), PHandler(@handler_ROOMS_s),
   501     PHandler(@handler_ROOMS), PHandler(@handler_ROOMS_s),
   470     PHandler(@handler_ROOM_DEL), PHandler(@handler_ROOM_UPD),
   503     PHandler(@handler_ROOM_DEL), PHandler(@handler_ROOM_UPD),
   471     PHandler(@handler_ROOM_UPD_s), PHandler(@handler_ROUND_FINISHED),
   504     PHandler(@handler_ROOM_UPD_s), PHandler(@handler_ROUND_FINISHED),
   472     PHandler(@handler_RUN_GAME), PHandler(@handler_SERVER_AUTH),
   505     PHandler(@handler_RUN_GAME), PHandler(@handler_SERVER_AUTH),
   473     PHandler(@handler_SERVER_MESSAGE), PHandler(@handler_SERVER_VARS),
   506     PHandler(@handler_SERVER_MESSAGE), PHandler(@handler_SERVER_VARS),
   474     PHandler(@handler_TEAM_ACCEPTED), PHandler(@handler_TEAM_COLOR),
   507     PHandler(@handler_TEAM_ACCEPTED), PHandler(@handler_TEAM_COLOR),
   475     PHandler(@handler_TEAM_COLOR_s), PHandler(@handler_WARNING));
   508     PHandler(@handler_WARNING));
   476 
   509 
   477 procedure passNetData(p: pointer); cdecl;
   510 procedure passNetData(p: pointer); cdecl;
   478 begin
   511 begin
   479     handlers[TCmdData(p^).cmd.cmd](TCmdData(p^))
   512     handlers[TCmdData(p^).cmd.cmd](TCmdData(p^))
   480 end;
   513 end;