1 #pragma once
2 
3 #include <vector>
4 #include <string>
5 
6 #include "defines.h"
7 #include "externs.h"
8 #include "fixedarray.h"
9 #include "rltiles/tiledef_defines.h"
10 
11 struct crawl_tile_environment
12 {
13     // indexed by grid coords
14 #ifdef USE_TILE // TODO: separate out this stuff from crawl_environment
15     FixedArray<tile_fg_store, GXM, GYM> bk_fg;
16     FixedArray<tileidx_t, GXM, GYM> bk_bg;
17     FixedArray<tileidx_t, GXM, GYM> bk_cloud;
18 #endif
19     FixedArray<tile_flavour, GXM, GYM> flv;
20     // indexed by (show-1) coords
21 #ifdef USE_TILE // TODO: separate out this stuff from crawl_environment
22     FixedArray<tileidx_t, ENV_SHOW_DIAMETER, ENV_SHOW_DIAMETER> fg;
23     FixedArray<tileidx_t, ENV_SHOW_DIAMETER, ENV_SHOW_DIAMETER> bg;
24     FixedArray<tileidx_t, ENV_SHOW_DIAMETER, ENV_SHOW_DIAMETER> cloud;
25 #endif
26     tile_flavour default_flavour;
27     std::vector<std::string> names;
28 };
29 
30 #ifdef DEBUG_GLOBALS
31 #define tile_env (*real_tile_env)
32 #endif
33 extern struct crawl_tile_environment tile_env;
34