You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.6 KiB
62 lines
1.6 KiB
/* $Id: map.h,v 1.5 2003/11/08 20:14:31 stpohle Exp $ */
|
|
/* map.h */
|
|
|
|
#ifndef _MAP_H_
|
|
#define _MAP_H_
|
|
|
|
struct __ex_field {
|
|
unsigned char count;
|
|
float frame;
|
|
} typedef _ex_field;
|
|
|
|
|
|
struct __field {
|
|
unsigned char type;
|
|
signed char mixframe; // data for the mixed frame
|
|
float frame; // frame (frame > 0 && FS_stone)
|
|
unsigned char special; // to save special stones, or the tunnel number
|
|
_ex_field ex[4]; // count up every explosion there is on this field for ever direction
|
|
Sint32 ex_nr; // number to identify the explosion.
|
|
} typedef _field;
|
|
|
|
|
|
struct __map {
|
|
_point size; // dimension of the field
|
|
|
|
_field field[MAX_FIELDSIZE_X][MAX_FIELDSIZE_Y];
|
|
_point tunnel[GAME_MAX_TUNNELS]; // save the destination of the tunnel
|
|
unsigned char bfield[MAX_FIELDSIZE_X][MAX_FIELDSIZE_Y]; // will hold informations if ther is a bomb
|
|
|
|
char tileset [LEN_TILESETNAME];
|
|
signed char random_tileset;
|
|
char map [LEN_PATHFILENAME];
|
|
signed char map_selection;
|
|
signed char type; // type of the map (MAPT_*);
|
|
unsigned char bombs;
|
|
unsigned char fire;
|
|
unsigned char shoes;
|
|
unsigned char mixed;
|
|
unsigned char death;
|
|
unsigned char sp_trigger;
|
|
unsigned char sp_push;
|
|
unsigned char sp_row;
|
|
unsigned char state; // state of the map
|
|
} typedef _map;
|
|
|
|
|
|
extern _map map;
|
|
|
|
// mapmenu.c
|
|
extern void mapmenu ();
|
|
extern void mapinfo ();
|
|
|
|
// map.c
|
|
extern void map_random ();
|
|
extern void map_genrandom ();
|
|
extern void init_map_tileset();
|
|
extern void map_new (char *filename);
|
|
extern void map_set_playerposition (int usermap);
|
|
extern void map_load (FILE * fmap);
|
|
|
|
#endif
|