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 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2002,2007 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
6 | * Copyright (©) 1992,2007 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify |
8 | * Deliantra is free software: you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License as published by |
9 | * it under the terms of the GNU General Public License as published by |
… | |
… | |
68 | // (possibly) max. number of objects "per page" in the ground container |
68 | // (possibly) max. number of objects "per page" in the ground container |
69 | #define FLOORBOX_PAGESIZE 50 |
69 | #define FLOORBOX_PAGESIZE 50 |
70 | |
70 | |
71 | struct MapCell |
71 | struct MapCell |
72 | { |
72 | { |
73 | tag_t player; // this is, unfortunately, very wasteful of memory space, but pretty bandwidth-efficient |
73 | tag_t player; // this is, unfortunately, very wasteful of memory space, but pretty bandwidth-efficient |
74 | int count; /* This is really darkness in the map1 command */ |
74 | int count; /* This is really darkness in the map1 command */ |
75 | faceidx faces[MAP_LAYERS]; |
75 | faceidx faces[MAP_LAYERS]; |
76 | unsigned char stat_hp; // health of something in this space, or 0 |
76 | unsigned char stat_hp; // health of something in this space, or 0 |
77 | unsigned char flags; |
77 | unsigned char flags; |
78 | uint8_t smooth[MAP_LAYERS]; |
78 | uint8_t smooth[MAP_LAYERS]; |
… | |
… | |
222 | uint16 ACC (RW, mss); // likely tcp maximum segment size |
222 | uint16 ACC (RW, mss); // likely tcp maximum segment size |
223 | uint8 ACC (RW, mapmode); /* Type of map commands the client wants. */ |
223 | uint8 ACC (RW, mapmode); /* Type of map commands the client wants. */ |
224 | uint8 ACC (RW, mapx), ACC (RW, mapy); /* How large a map the client wants */ |
224 | uint8 ACC (RW, mapx), ACC (RW, mapy); /* How large a map the client wants */ |
225 | uint8 ACC (RW, itemcmd); /* What version of the 'item' protocol command to use */ |
225 | uint8 ACC (RW, itemcmd); /* What version of the 'item' protocol command to use */ |
226 | |
226 | |
227 | maptile *ACC (RW, current_map); // CF+ last/current player map |
227 | maptile_ptr ACC (RW, current_map); // CF+ last/current player map |
228 | region *ACC (RW, current_region); // CF+ last/current player region |
228 | region_ptr ACC (RW, current_region); // CF+ last/current player region |
229 | int ACC (RW, current_x), ACC (RW, current_y); // CF+ last/current map position |
229 | int ACC (RW, current_x), ACC (RW, current_y); // CF+ last/current map position |
230 | shstr ACC (RW, version); // CF+ client name/version |
230 | shstr ACC (RW, version); // CF+ client name/version |
231 | uint8 ACC (RW, faceset); // CF+ selected faceset |
231 | uint8 ACC (RW, faceset); // CF+ selected faceset |
232 | |
232 | |
233 | tstamp ACC (RW, last_send); // last data send on socket. |
233 | tstamp ACC (RW, last_send); // last data send on socket. |
… | |
… | |
409 | |
409 | |
410 | #define for_all_clients(var) \ |
410 | #define for_all_clients(var) \ |
411 | for (int _i = 0; _i < clients.size (); ++_i) \ |
411 | for (int _i = 0; _i < clients.size (); ++_i) \ |
412 | statementvar (client *, var, clients [_i]) |
412 | statementvar (client *, var, clients [_i]) |
413 | |
413 | |
|
|
414 | // returns true when the message needs special (read: perl) treatment |
|
|
415 | static inline bool |
|
|
416 | msg_is_special (const char *msg, bool nl_special = true) |
|
|
417 | { |
|
|
418 | return msg [strcspn (msg, nl_special ? "<&\n" : "<&")]; |
|
|
419 | } |
|
|
420 | |
414 | #endif |
421 | #endif |
415 | |
422 | |