#ifndef ENV_H
#define ENV_H
#include "monster.h"
class crawl_exit_hook;
struct crawl_environment
{
public:
unsigned char rock_colour;
unsigned char floor_colour;
FixedVector< item_def, MAX_ITEMS > item; FixedVector< monsters, MAX_MONSTERS > mons;
feature_grid grid; FixedArray< unsigned short, GXM, GYM > mgrid; FixedArray< int, GXM, GYM > igrid; FixedArray< unsigned short, GXM, GYM > cgrid; FixedArray< unsigned short, GXM, GYM > grid_colours;
FixedArray< map_cell, GXM, GYM > map;
env_show_grid show;
env_show_grid no_trans_show;
FixedArray<unsigned short, ENV_SHOW_DIAMETER, ENV_SHOW_DIAMETER>
show_col;
#ifdef USE_TILE
FixedArray<tile_fg_store, GXM, GYM> tile_bk_fg;
FixedArray<unsigned int, GXM, GYM> tile_bk_bg;
FixedArray<tile_flavour, GXM, GYM> tile_flv;
FixedArray<unsigned int, ENV_SHOW_DIAMETER, ENV_SHOW_DIAMETER> tile_fg;
FixedArray<unsigned int, ENV_SHOW_DIAMETER, ENV_SHOW_DIAMETER> tile_bg;
tile_flavour tile_default;
#endif
FixedVector< cloud_struct, MAX_CLOUDS > cloud; unsigned char cloud_no;
FixedVector< shop_struct, MAX_SHOPS > shop; FixedVector< trap_def, MAX_TRAPS > trap;
FixedVector< monster_type, 20 > mons_alloc;
map_markers markers;
CrawlHashTable properties;
int spawn_random_rate;
double elapsed_time;
int turns_on_level;
unsigned long level_flags;
coord_def sanctuary_pos;
int sanctuary_time;
};
extern struct crawl_environment env;
#endif