77#define vision_layer_iterate(v) { \
78 enum vision_layer v; \
79 for (v = 0; v < V_COUNT; v++) {
80#define vision_layer_iterate_end }}
96#define V_RADIUS(main_sq, invis_sq, subs_sq) { (main_sq), (invis_sq), (subs_sq) }
98#define ASSERT_VISION(v) \
100 fc_assert((v)->radius_sq[V_MAIN] >= (v)->radius_sq[V_INVIS]); \
101 fc_assert((v)->radius_sq[V_MAIN] >= (v)->radius_sq[V_SUBSURFACE]); \
129#define vision_site_owner(v) ((v)->owner)
136 const struct city *pcity,
enum capital_type capital
struct vision_site * vision_site_new_from_city(const struct city *pcity, const struct player *watcher)
void vision_site_size_set(struct vision_site *psite, citizens size)
citizens vision_site_size_get(const struct vision_site *psite)
struct vision * vision_new(struct player *pplayer, struct tile *ptile)
bool vision_reveal_tiles(struct vision *vision, bool reveal_tiles)
void vision_site_update_from_city(struct vision_site *psite, const struct city *pcity, const struct player *watcher)
void vision_free(struct vision *vision)
struct vision_site * vision_site_copy(const struct vision_site *psite)
short int v_radius_t[V_COUNT]
struct vision_site * vision_site_new(int identity, struct tile *location, struct player *owner)
void vision_site_destroy(struct vision_site *psite)