1 | /* |
1 | /* |
2 | * static char *rcsid_define_h = |
2 | * static char *rcsid_define_h = |
3 | * "$Id: map.h,v 1.8 2006/08/15 17:35:50 elmex Exp $"; |
3 | * "$Id: map.h,v 1.12 2006/08/28 14:05:24 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 | |
… | |
… | |
31 | * It contains pointers (very indirectly) to all objects on the map. |
31 | * It contains pointers (very indirectly) to all objects on the map. |
32 | */ |
32 | */ |
33 | |
33 | |
34 | #ifndef MAP_H |
34 | #ifndef MAP_H |
35 | #define MAP_H |
35 | #define MAP_H |
|
|
36 | |
|
|
37 | #include "cfperl.h" |
36 | |
38 | |
37 | /* We set this size - this is to make magic map work properly on |
39 | /* We set this size - this is to make magic map work properly on |
38 | * tiled maps. There is no requirement that this matches the |
40 | * tiled maps. There is no requirement that this matches the |
39 | * tiled maps size - it just seemed like a reasonable value. |
41 | * tiled maps size - it just seemed like a reasonable value. |
40 | * Magic map code now always starts out putting the player in the |
42 | * Magic map code now always starts out putting the player in the |
… | |
… | |
275 | * almost certainly break various features. You may think |
277 | * almost certainly break various features. You may think |
276 | * it is safe to look at width and height values directly |
278 | * it is safe to look at width and height values directly |
277 | * (or even through the macros), but doing so will completely |
279 | * (or even through the macros), but doing so will completely |
278 | * break map tiling. |
280 | * break map tiling. |
279 | */ |
281 | */ |
280 | struct mapstruct { |
282 | struct mapstruct : attachable<mapstruct> { |
|
|
283 | static data_type get_dt () { return DT_MAP; } |
|
|
284 | |
281 | struct mapstruct *next; /* Next map, linked list */ |
285 | struct mapstruct *next; /* Next map, linked list */ |
282 | char *tmpname; /* Name of temporary file */ |
286 | char *tmpname; /* Name of temporary file */ |
283 | char *name; /* Name of map as given by its creator */ |
287 | char *name; /* Name of map as given by its creator */ |
284 | struct region *region; /* What jurisdiction in the game world this map is ruled by |
288 | struct region *region; /* What jurisdiction in the game world this map is ruled by |
285 | * points to the struct containing all the properties of |
289 | * points to the struct containing all the properties of |
… | |
… | |
299 | sint32 swap_time; /* When it reaches 0, the map will be swapped out */ |
303 | sint32 swap_time; /* When it reaches 0, the map will be swapped out */ |
300 | sint16 players; /* How many plares are on this level right now */ |
304 | sint16 players; /* How many plares are on this level right now */ |
301 | uint32 in_memory; /* If not true, the map has been freed and must |
305 | uint32 in_memory; /* If not true, the map has been freed and must |
302 | * be loaded before used. The map,omap and map_ob |
306 | * be loaded before used. The map,omap and map_ob |
303 | * arrays will be allocated when the map is loaded */ |
307 | * arrays will be allocated when the map is loaded */ |
304 | uint8 compressed; /* Compression method used */ |
|
|
305 | uint16 difficulty; /* What level the player should be to play here */ |
308 | uint16 difficulty; /* What level the player should be to play here */ |
306 | |
309 | |
307 | uint8 darkness; /* indicates level of darkness of map */ |
310 | uint8 darkness; /* indicates level of darkness of map */ |
308 | uint16 width,height; /* Width and height of map. */ |
311 | uint16 width,height; /* Width and height of map. */ |
309 | uint16 enter_x; /* enter_x and enter_y are default entrance location */ |
312 | uint16 enter_x; /* enter_x and enter_y are default entrance location */ |
… | |
… | |
345 | int distance_y; |
348 | int distance_y; |
346 | int direction; |
349 | int direction; |
347 | object *part; |
350 | object *part; |
348 | }; |
351 | }; |
349 | |
352 | |
350 | extern void (*load_original_map_callback)(mapstruct *map); |
|
|
351 | extern void (*load_temporary_map_callback)(mapstruct *map); |
|
|
352 | extern void (*clean_temporary_map_callback)(mapstruct *map); |
|
|
353 | |
|
|
354 | #endif |
353 | #endif |