1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * |
5 | * |
6 | * Deliantra is free software: you can redistribute it and/or modify it under |
6 | * Deliantra is free software: you can redistribute it and/or modify it under |
7 | * the terms of the Affero GNU General Public License as published by the |
7 | * the terms of the Affero GNU General Public License as published by the |
8 | * Free Software Foundation, either version 3 of the License, or (at your |
8 | * Free Software Foundation, either version 3 of the License, or (at your |
9 | * option) any later version. |
9 | * option) any later version. |
… | |
… | |
211 | void mapinfo_queue_clear (); |
211 | void mapinfo_queue_clear (); |
212 | void mapinfo_queue_run (); |
212 | void mapinfo_queue_run (); |
213 | bool mapinfo_try (char *buf); |
213 | bool mapinfo_try (char *buf); |
214 | |
214 | |
215 | struct ixsend { |
215 | struct ixsend { |
216 | int16_t pri; // unused |
216 | int16_t pri; // higher means faces are sent earlier, default 0 |
217 | faceidx idx; |
217 | faceidx idx; |
218 | uint32_t ofs; // if != 0, need to send remaining bytes of partial_face |
218 | uint32_t ofs; // if != 0, need to send remaining bytes of partial_face |
219 | }; |
219 | }; |
220 | std::vector<ixsend, slice_allocator<ixsend> > ixface; // which faces to send to the client using ix |
220 | std::vector<ixsend, slice_allocator<ixsend> > ixface; // which faces to send to the client using ix |
221 | |
221 | |
… | |
… | |
342 | ACC (RW, tcpi.tcpi_snd_cwnd); |
342 | ACC (RW, tcpi.tcpi_snd_cwnd); |
343 | ACC (RW, tcpi.tcpi_advmss); |
343 | ACC (RW, tcpi.tcpi_advmss); |
344 | ACC (RW, tcpi.tcpi_reordering); |
344 | ACC (RW, tcpi.tcpi_reordering); |
345 | #endif |
345 | #endif |
346 | |
346 | |
347 | //+GPL |
|
|
348 | |
|
|
349 | #define CLIENT_SUPPORT_READABLES(__sockPtr,__type)\ |
|
|
350 | ( ((__type)>0) &&\ |
|
|
351 | ((__sockPtr)->has_readable_type) && \ |
|
|
352 | ((__sockPtr)->supported_readables & (1<<(__type))) ) |
|
|
353 | |
|
|
354 | #define FACE_TYPES 1 |
|
|
355 | #define PNG_FACE_INDEX 0 |
|
|
356 | |
|
|
357 | //-GPL |
|
|
358 | |
|
|
359 | typedef object_vector<client, &client::active> sockvec; |
347 | typedef object_vector<client, &client::active> sockvec; |
360 | |
348 | |
361 | extern sockvec clients; |
349 | extern sockvec clients; |
362 | |
350 | |
363 | #define for_all_clients(var) \ |
351 | #define for_all_clients(var) \ |