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