diff -r b894922d58cc -r ffff8a0d1a76 hedgewars/uFLNetTypes.pas --- a/hedgewars/uFLNetTypes.pas Mon Nov 16 22:57:24 2015 +0300 +++ b/hedgewars/uFLNetTypes.pas Wed Nov 18 22:18:39 2015 +0300 @@ -1,14 +1,43 @@ unit uFLNetTypes; interface -type TCmdType = (cmd___UNKNOWN__, cmd_WARNING, cmd_TEAM_COLOR, cmd_TEAM_ACCEPTED, cmd_SERVER_VARS, cmd_SERVER_MESSAGE, cmd_SERVER_AUTH, cmd_RUN_GAME, cmd_ROUND_FINISHED, cmd_ROOMS, cmd_PROTO, cmd_PING, cmd_NOTICE, cmd_NICK, cmd_LOBBY_LEFT, cmd_LOBBY_JOINED, cmd_LEFT, cmd_KICKED, cmd_JOINING, cmd_JOINED, cmd_INFO, cmd_HH_NUM, cmd_EM, cmd_CONNECTED, cmd_CLIENT_FLAGS, cmd_CHAT, cmd_BYE, cmd_BANLIST, cmd_ASKPASSWORD); - TCmdConnectedData = record - cmd: TCmdType; - protocolNumber: Longword - end; +type TCmdType = (cmd_ASKPASSWORD, cmd_BANLIST, cmd_BANLIST_s, cmd_BYE, cmd_CHAT, + cmd_CLIENT_FLAGS, cmd_CLIENT_FLAGS_s, cmd_CONNECTED, cmd_EM, cmd_EM_s, + cmd_ERROR, cmd_HH_NUM, cmd_HH_NUM_s, cmd_INFO, cmd_INFO_s, cmd_JOINED, + cmd_JOINED_s, cmd_JOINING, cmd_KICKED, cmd_LEFT, cmd_LEFT_s, cmd_LOBBY_JOINED, + cmd_LOBBY_JOINED_s, cmd_LOBBY_LEFT, cmd_NICK, cmd_NOTICE, cmd_PING, cmd_PING_s, + cmd_PROTO, cmd_ROOMS, cmd_ROOMS_s, cmd_ROUND_FINISHED, cmd_RUN_GAME, + cmd_SERVER_AUTH, cmd_SERVER_MESSAGE, cmd_SERVER_VARS, cmd_TEAM_ACCEPTED, + cmd_TEAM_COLOR, cmd_TEAM_COLOR_s, cmd_WARNING); + + type TCmdParam = packed record + cmd: TCmdType; + end; + type TCmdParamL = packed record + cmd: TCmdType; + str1: string; + end; + type TCmdParamS = packed record + cmd: TCmdType; + str1: shortstring; + end; + type TCmdParamSL = packed record + cmd: TCmdType; + str1: shortstring; + str2: string; + end; + type TCmdParami = packed record + cmd: TCmdType; + param1: LongInt; + end; + TCmdData = record case byte of - 0: (cmdConnected: TCmdConnectedData) + 0: (cmd: TCmdParam); + 1: (cpl: TCmdParamL); + 2: (cps: TCmdParamS); + 3: (cpsl: TCmdParamSL); + 4: (cpi: TCmdParami); end; implementation