1 | /* |
1 | /* |
2 | * static char *rcsid_define_h = |
2 | * static char *rcsid_define_h = |
3 | * "$Id: map.h,v 1.13 2006/08/29 08:01:36 root Exp $"; |
3 | * "$Id: map.h,v 1.17 2006/09/03 00:18:41 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 | |
… | |
… | |
157 | * arch_blocked and functions that examine the return value. |
157 | * arch_blocked and functions that examine the return value. |
158 | */ |
158 | */ |
159 | |
159 | |
160 | #define AB_NO_PASS 0x04 |
160 | #define AB_NO_PASS 0x04 |
161 | /*#define P_PASS_THRU 0x08 *//* */ |
161 | /*#define P_PASS_THRU 0x08 *//* */ |
162 | #define P_SAFE 0x08 /* If this is set the map is a safe map, |
162 | #define P_SAFE 0x08 /* If this is set the map tile is a safe map, |
163 | * that means, nothing harmful there will be done, |
163 | * that means, nothing harmful there will be done, |
164 | * like: bombs, potion usage, alchemy, spells |
164 | * like: bombs, potion usage, alchemy, spells |
165 | * this was introduced to make shops more safe |
165 | * this was introduced to make shops more safe |
166 | * and propably other maps */ |
166 | * and propably other maps */ |
167 | #define P_IS_ALIVE 0x10 /* something alive is on this space */ |
167 | #define P_IS_ALIVE 0x10 /* something alive is on this space */ |
… | |
… | |
277 | * almost certainly break various features. You may think |
277 | * almost certainly break various features. You may think |
278 | * it is safe to look at width and height values directly |
278 | * it is safe to look at width and height values directly |
279 | * (or even through the macros), but doing so will completely |
279 | * (or even through the macros), but doing so will completely |
280 | * break map tiling. |
280 | * break map tiling. |
281 | */ |
281 | */ |
282 | struct mapstruct : attachable<mapstruct> { |
282 | struct mapstruct : zero_initialised, attachable<mapstruct> { |
283 | static data_type get_dt () { return DT_MAP; } |
|
|
284 | |
|
|
285 | struct mapstruct *next; /* Next map, linked list */ |
283 | struct mapstruct *next; /* Next map, linked list */ |
286 | char *tmpname; /* Name of temporary file */ |
284 | char *tmpname; /* Name of temporary file */ |
287 | char *name; /* Name of map as given by its creator */ |
285 | char *name; /* Name of map as given by its creator */ |
288 | struct region *region; /* What jurisdiction in the game world this map is ruled by |
286 | struct region *region; /* What jurisdiction in the game world this map is ruled by |
289 | * points to the struct containing all the properties of |
287 | * points to the struct containing all the properties of |
… | |
… | |
294 | */ |
292 | */ |
295 | uint32 fixed_resettime:1; /* if true, reset time is not affected by |
293 | uint32 fixed_resettime:1; /* if true, reset time is not affected by |
296 | * players entering/exiting map |
294 | * players entering/exiting map |
297 | */ |
295 | */ |
298 | uint32 unique:1; /* if set, this is a per player unique map */ |
296 | uint32 unique:1; /* if set, this is a per player unique map */ |
299 | uint32 safe_map:1; /* if set, this map doesn't allow using magic or harmful stuff in any way */ |
|
|
300 | uint32 templatemap:1; /* if set, this is a template map */ |
297 | uint32 templatemap:1; /* if set, this is a template map */ |
301 | uint32 nosmooth:1; /* if set the content of this map has smoothlevel=0 forced*/ |
298 | uint32 nosmooth:1; /* if set the content of this map has smoothlevel=0 forced*/ |
302 | sint32 timeout; /* swapout is set to this */ |
299 | sint32 timeout; /* swapout is set to this */ |
303 | sint32 swap_time; /* When it reaches 0, the map will be swapped out */ |
300 | sint32 swap_time; /* When it reaches 0, the map will be swapped out */ |
304 | sint16 players; /* How many plares are on this level right now */ |
301 | sint16 players; /* How many plares are on this level right now */ |