183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
-
-
-
+
+
+
|
OFData *mapdata = readmap(mapname);
if (mapdata == nil)
return;
ENetPacket *packet = enet_packet_create(
NULL, MAXTRANS + mapdata.count, ENET_PACKET_FLAG_RELIABLE);
uchar *start = packet->data;
uchar *p = start + 2;
putint(p, SV_SENDMAP);
sendstring(mapname, p);
putint(p, mapdata.count);
putint(&p, SV_SENDMAP);
sendstring(mapname, &p);
putint(&p, mapdata.count);
if (65535 - (p - start) < mapdata.count) {
conoutf(@"map %@ is too large to send", mapname);
enet_packet_destroy(packet);
return;
}
memcpy(p, mapdata.items, mapdata.count);
p += mapdata.count;
|
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
-
+
|
void
getmap()
{
ENetPacket *packet =
enet_packet_create(NULL, MAXTRANS, ENET_PACKET_FLAG_RELIABLE);
uchar *start = packet->data;
uchar *p = start + 2;
putint(p, SV_RECVMAP);
putint(&p, SV_RECVMAP);
*(ushort *)start = ENET_HOST_TO_NET_16(p - start);
enet_packet_resize(packet, p - start);
sendpackettoserv(packet);
conoutf(@"requesting map from server...");
}
COMMAND(sendmap, ARG_1STR)
COMMAND(getmap, ARG_NONE)
|