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