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.92 by root, Sat Jan 16 13:41:37 2010 UTC vs.
Revision 1.96 by root, Thu Apr 8 19:31:22 2010 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,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team 4 * Copyright (©) 2005,2006,2007,2008,2009,2010 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.
20 * The authors can be reached via e-mail to <support@deliantra.net> 20 * The authors can be reached via e-mail to <support@deliantra.net>
21 */ 21 */
22 22
23#ifndef CLIENT_H 23#ifndef CLIENT_H
24#define CLIENT_H 24#define CLIENT_H
25
26#include <deque>
27#include <bitset>
28#include <tr1/unordered_set>
29 25
30#if HAVE_TCP_INFO 26#if HAVE_TCP_INFO
31# include <netinet/tcp.h> 27# include <netinet/tcp.h>
32#else 28#else
33 struct tcp_info { 29 struct tcp_info {
193 bool ACC (RW, monitor_spells); /* Client wishes to be informed when their spell list changes */ 189 bool ACC (RW, monitor_spells); /* Client wishes to be informed when their spell list changes */
194 bool ACC (RW, smoothing); // deliantra-style smoothing 190 bool ACC (RW, smoothing); // deliantra-style smoothing
195 191
196 bool ACC (RW, force_newmap); // force a newmap before next map update 192 bool ACC (RW, force_newmap); // force a newmap before next map update
197 uint32 ACC (RW, supported_readables); /* each bit is a readable supported by client */ 193 uint32 ACC (RW, supported_readables); /* each bit is a readable supported by client */
198 uint32 ACC (RW, cs_version), ACC (RW, sc_version); /* versions of the client */
199 uint16 ACC (RW, look_position); /* start of drawing of look window */ 194 uint16 ACC (RW, look_position); /* start of drawing of look window */
200 uint16 ACC (RW, mss); // likely tcp maximum segment size 195 uint16 ACC (RW, mss); // likely tcp maximum segment size
201 uint8 ACC (RW, mapmode); /* Type of map commands the client wants. */ 196 uint8 ACC (RW, mapmode); /* Type of map commands the client wants. */
202 uint8 ACC (RW, mapx), ACC (RW, mapy); /* How large a map the client wants */ 197 uint8 ACC (RW, mapx), ACC (RW, mapy); /* How large a map the client wants */
203 uint8 ACC (RW, itemcmd); /* What version of the 'item' protocol command to use */ 198 uint8 ACC (RW, itemcmd); /* What version of the 'item' protocol command to use */
204 199
205 maptile_ptr ACC (RW, current_map); // CF+ last/current player map 200 maptile_ptr ACC (RW, current_map); // CF+ last/current player map
206 region_ptr ACC (RW, current_region); // CF+ last/current player region 201 region_ptr ACC (RW, current_region); // CF+ last/current player region
207 int ACC (RW, current_x), ACC (RW, current_y); // CF+ last/current map position 202 int ACC (RW, current_x), ACC (RW, current_y); // CF+ last/current map position
208 shstr ACC (RW, version); // CF+ client name/version
209 uint8 ACC (RW, faceset); // CF+ selected faceset 203 uint8 ACC (RW, faceset); // CF+ selected faceset
210 204
211 tstamp ACC (RW, last_send); // last data send on socket. 205 tstamp ACC (RW, last_send); // last data send on socket.
212 206
213 float ACC (RW, socket_timeout); /* after how many seconds of no ack do we declare dead */ 207 float ACC (RW, socket_timeout); /* after how many seconds of no ack do we declare dead */
361 ((__sockPtr)->supported_readables & (1<<(__type))) ) 355 ((__sockPtr)->supported_readables & (1<<(__type))) )
362 356
363#define FACE_TYPES 1 357#define FACE_TYPES 1
364#define PNG_FACE_INDEX 0 358#define PNG_FACE_INDEX 0
365 359
366#define VERSION_CS 1023 /* version >= 1023 understand setup cmd */
367#define VERSION_SC 1026
368//#define VERSION_SC 1027 // requestinfo image_info and image_sums, makes extending faces on the fly impossible
369#define VERSION_INFO "Deliantra Server"
370
371//-GPL 360//-GPL
372 361
373typedef object_vector<client, &client::active> sockvec; 362typedef object_vector<client, &client::active> sockvec;
374 363
375extern sockvec clients; 364extern sockvec clients;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines