72 #define vision_layer_iterate(v) \
75 for (iv = 0; iv < V_COUNT; iv++) { \
76 enum vision_layer v = (enum vision_layer) iv;
77 #define vision_layer_iterate_end \
94 #define V_RADIUS(main_sq, invis_sq, subs_sq) \
96 (short) (main_sq), (short) (invis_sq), (short) (subs_sq) \
99 #define ASSERT_VISION(v) \
101 fc_assert((v)->radius_sq[V_MAIN] >= (v)->radius_sq[V_INVIS]); \
102 fc_assert((v)->radius_sq[V_MAIN] >= (v)->radius_sq[V_SUBSURFACE]); \
132 #define vision_site_owner(v) ((v)->owner)
137 const struct city *pcity);
enum capital_type capital
void vision_site_update_from_city(struct vision_site *psite, const struct city *pcity)
Returns the basic structure filled with current elements.
struct vision * vision_new(struct player *pplayer, struct tile *ptile)
Create a new vision source.
void vision_site_size_set(struct vision_site *psite, citizens size)
Set the city size.
citizens vision_site_size_get(const struct vision_site *psite)
Get the city size.
bool vision_reveal_tiles(struct vision *vision, bool reveal_tiles)
Sets the can_reveal_tiles flag.
struct vision_site * vision_site_new_from_city(const struct city *pcity)
Returns the basic structure filled with initial elements.
void vision_free(struct vision *vision)
Free the vision source.
struct vision_site * vision_site_new(int identity, struct tile *location, struct player *owner)
Returns the basic structure.
short int v_radius_t[V_COUNT]