1 | /* |
1 | /* |
2 | * static char *rcsid_newserver_h = |
2 | * static char *rcsid_newserver_h = |
3 | * "$Id: newserver.h,v 1.7 2006/08/18 02:06:57 root Exp $"; |
3 | * "$Id: newserver.h,v 1.9 2006/08/24 10:58:38 root Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
46 | struct MapCell { |
46 | struct MapCell { |
47 | short faces[MAP_LAYERS]; |
47 | short faces[MAP_LAYERS]; |
48 | uint16 smooth[MAP_LAYERS]; |
48 | uint16 smooth[MAP_LAYERS]; |
49 | int count; /* This is really darkness in the map1 command */ |
49 | int count; /* This is really darkness in the map1 command */ |
50 | unsigned char stat_hp; // health of something in this space, or 0 |
50 | unsigned char stat_hp; // health of something in this space, or 0 |
|
|
51 | tag_t player; // this is, unfortunately, very wasteful of memory space, but pretty bandwidth-efficient |
51 | }; |
52 | }; |
52 | |
53 | |
53 | /* This basically defines the largest size an |
54 | /* This basically defines the largest size an |
54 | * archetype may be - it is used for allocation of |
55 | * archetype may be - it is used for allocation of |
55 | * some structures, as well as determining how far |
56 | * some structures, as well as determining how far |
… | |
… | |
122 | uint32 newmapcmd:1; /* Send newmap command when entering new map SMACFIGGEN*/ |
123 | uint32 newmapcmd:1; /* Send newmap command when entering new map SMACFIGGEN*/ |
123 | uint32 plugincmd:1; /* CF+ extend the protocol through a plug-in */ |
124 | uint32 plugincmd:1; /* CF+ extend the protocol through a plug-in */ |
124 | uint32 mapinfocmd:1; /* CF+ return map info and send map change info */ |
125 | uint32 mapinfocmd:1; /* CF+ return map info and send map change info */ |
125 | uint32 extcmd:1; /* CF+ call into extensions/plugins */ |
126 | uint32 extcmd:1; /* CF+ call into extensions/plugins */ |
126 | uint32 extmap:1; /* CF+ extend map comamnd with extra data */ |
127 | uint32 extmap:1; /* CF+ extend map comamnd with extra data */ |
|
|
128 | uint32 buggy_mapscroll:1; /* CF+ client crashes on large mapscrolls */ |
127 | uint32 darkness:1; /* True if client wants darkness information */ |
129 | uint32 darkness:1; /* True if client wants darkness information */ |
128 | uint32 image2:1; /* Client wants image2/face2 commands */ |
130 | uint32 image2:1; /* Client wants image2/face2 commands */ |
129 | uint32 update_look:1; /* If true, we need to send the look window */ |
131 | uint32 update_look:1; /* If true, we need to send the look window */ |
130 | uint32 can_write:1; /* Can we write to this socket? */ |
132 | uint32 can_write:1; /* Can we write to this socket? */ |
131 | uint32 has_readable_type:1; /* If true client accept additional text information |
133 | uint32 has_readable_type:1; /* If true client accept additional text information |
… | |
… | |
143 | * with S->C mapextended command */ |
145 | * with S->C mapextended command */ |
144 | uint32 EMI_smooth:1; /* Send smooth in extendmapinfos*/ |
146 | uint32 EMI_smooth:1; /* Send smooth in extendmapinfos*/ |
145 | |
147 | |
146 | struct mapstruct *current_map; // CF+ last/current player map |
148 | struct mapstruct *current_map; // CF+ last/current player map |
147 | int current_x, current_y; // CF+ last/current map position |
149 | int current_x, current_y; // CF+ last/current map position |
|
|
150 | char client[64]; // CF+ client name/version |
148 | |
151 | |
149 | /* Below here is information only relevant for old sockets */ |
152 | /* Below here is information only relevant for old sockets */ |
150 | char *comment; /* name or listen comment */ |
153 | char *comment; /* name or listen comment */ |
151 | enum Old_Mode old_mode; |
154 | enum Old_Mode old_mode; |
152 | } NewSocket; |
155 | } NewSocket; |