ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/client.h
(Generate patch)

Comparing deliantra/server/include/client.h (file contents):
Revision 1.75 by root, Tue Apr 22 07:01:46 2008 UTC vs.
Revision 1.81 by root, Mon Sep 8 11:27:25 2008 UTC

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
71struct MapCell 71struct 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];
174 uint8 ACC (RW, state); /* Input state of the player (name, password, etc */ 174 uint8 ACC (RW, state); /* Input state of the player (name, password, etc */
175 175
176 sint8 ACC (RW, last_level); /* Last level we sent to client */ 176 sint8 ACC (RW, last_level); /* Last level we sent to client */
177 uint16 ACC (RW, last_flags); /* fire/run on flags for last tick */ 177 uint16 ACC (RW, last_flags); /* fire/run on flags for last tick */
178 float ACC (RW, last_weapon_sp); /* if diff than weapon_sp, update client */ 178 float ACC (RW, last_weapon_sp); /* if diff than weapon_sp, update client */
179 //sint32 ACC (RW, last_weight); /* Last weight as sent to client; -1 means do not send weight */ 179 sint32 ACC (RW, last_weight); /* Last weight as sent to client; -1 means do not send weight */
180 sint32 ACC (RW, last_weight_limit); /* Last weight limit transmitted to client */ 180 sint32 ACC (RW, last_weight_limit); /* Last weight limit transmitted to client */
181 uint32 ACC (RW, last_path_attuned); /* Last spell attunment sent to client */ 181 uint32 ACC (RW, last_path_attuned); /* Last spell attunment sent to client */
182 uint32 ACC (RW, last_path_repelled); /* Last spell repelled sent to client */ 182 uint32 ACC (RW, last_path_repelled); /* Last spell repelled sent to client */
183 uint32 ACC (RW, last_path_denied); /* Last spell denied sent to client */ 183 uint32 ACC (RW, last_path_denied); /* Last spell denied sent to client */
184 living ACC (RO, last_stats); /* Last stats as sent to client */ 184 living ACC (RO, last_stats); /* Last stats as sent to client */
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
415static inline bool
416msg_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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines