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; |
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; |