13#ifndef FC__WORLD_OBJECT_H
14#define FC__WORLD_OBJECT_H
25#define SPECHASH_TAG city
26#define SPECHASH_INT_KEY_TYPE
27#define SPECHASH_IDATA_TYPE struct city *
31#define SPECHASH_TAG unit
32#define SPECHASH_INT_KEY_TYPE
33#define SPECHASH_IDATA_TYPE struct unit *
46#define MAP_IS_ISOMETRIC (CURRENT_TOPOLOGY & (TF_ISO + TF_HEX))
48#define CURRENT_TOPOLOGY (wld.map.topology_id)
49#define CURRENT_WRAP (wld.map.wrap_id)
52#define MAP_INDEX_SIZE (wld.map.xsize * wld.map.ysize)
55#define MAP_NATIVE_WIDTH wld.map.xsize
56#define MAP_NATIVE_HEIGHT wld.map.ysize
59#define MAP_NATURAL_WIDTH (MAP_IS_ISOMETRIC ? 2 * wld.map.xsize : wld.map.xsize)
60#define MAP_NATURAL_HEIGHT wld.map.ysize
62#define MAP_CARDINAL_DIRS wld.map.cardinal_dirs
63#define MAP_NUM_CARDINAL_DIRS wld.map.num_cardinal_dirs
64#define MAP_VALID_DIRS wld.map.valid_dirs
65#define MAP_NUM_VALID_DIRS wld.map.num_valid_dirs
66#define MAP_ITERATE_OUTWARDS_INDICES wld.map.iterate_outwards_indices
67#define MAP_NUM_ITERATE_OUTWARDS_INDICES wld.map.num_iterate_outwards_indices
struct city_hash * cities