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