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.
73 lines
2.0 KiB
73 lines
2.0 KiB
/* $Id: map.h,v 1.7 2004/01/03 03:01:30 stpohle Exp $ */
|
|
/* map.h */
|
|
|
|
#ifndef _MAP_H_
|
|
#define _MAP_H_
|
|
|
|
#define FIELDCHECK_TIMEOUT 2.0 /* timeout for the field check function */
|
|
#define FIELDHURRYWARN 5.0 /* hurry warning */
|
|
#define FIELDHURRYDROPTO 0.5 /* timeout when to put in some special items */
|
|
#define FIELDHURRYSIZE 0.25 /* timeout forresizeing the game */
|
|
#define FIELDHURRYSIZEMIN 5 /* min size for the field */
|
|
#define FIELDHURRYTIMEOUT 120.0 // game timeout for hurry and dropping mode (1min)
|
|
|
|
|
|
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_*);
|
|
int bombs;
|
|
int fire;
|
|
int shoes;
|
|
int mixed;
|
|
int death;
|
|
int sp_trigger;
|
|
int sp_push;
|
|
int 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);
|
|
extern void map_set_player_way (int pl);
|
|
extern void map_set_player_way2 (int pl, int hardway);
|
|
|
|
|
|
#endif
|