Freeciv21
Develop your civilization from humble roots to a global empire
vision.h File Reference
#include "fc_types.h"
#include "improvement.h"
+ Include dependency graph for vision.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vision
 
struct  vision_site
 

Macros

#define vision_layer_iterate(v)
 
#define vision_layer_iterate_end
 
#define V_RADIUS(main_sq, invis_sq, subs_sq)
 
#define ASSERT_VISION(v)
 
#define vision_site_owner(v)   ((v)->owner)
 

Typedefs

typedef short int v_radius_t[V_COUNT]
 

Functions

struct visionvision_new (struct player *pplayer, struct tile *ptile)
 Create a new vision source. More...
 
void vision_free (struct vision *vision)
 Free the vision source. More...
 
bool vision_reveal_tiles (struct vision *vision, bool reveal_tiles)
 Sets the can_reveal_tiles flag. More...
 
struct vision_sitevision_site_new (int identity, struct tile *location, struct player *owner)
 Returns the basic structure. More...
 
struct vision_sitevision_site_new_from_city (const struct city *pcity)
 Returns the basic structure filled with initial elements. More...
 
void vision_site_update_from_city (struct vision_site *psite, const struct city *pcity)
 Returns the basic structure filled with current elements. More...
 
citizens vision_site_size_get (const struct vision_site *psite)
 Get the city size. More...
 
void vision_site_size_set (struct vision_site *psite, citizens size)
 Set the city size. More...
 

Macro Definition Documentation

◆ ASSERT_VISION

#define ASSERT_VISION (   v)
Value:
do { \
fc_assert((v)->radius_sq[V_MAIN] >= (v)->radius_sq[V_INVIS]); \
fc_assert((v)->radius_sq[V_MAIN] >= (v)->radius_sq[V_SUBSURFACE]); \
} while (false);

Definition at line 99 of file vision.h.

◆ V_RADIUS

#define V_RADIUS (   main_sq,
  invis_sq,
  subs_sq 
)
Value:
{ \
(short) (main_sq), (short) (invis_sq), (short) (subs_sq) \
}

Definition at line 94 of file vision.h.

◆ vision_layer_iterate

#define vision_layer_iterate (   v)
Value:
{ \
int iv; \
for (iv = 0; iv < V_COUNT; iv++) { \
enum vision_layer v = (enum vision_layer) iv;

Definition at line 72 of file vision.h.

◆ vision_layer_iterate_end

#define vision_layer_iterate_end
Value:
} \
}

Definition at line 77 of file vision.h.

◆ vision_site_owner

#define vision_site_owner (   v)    ((v)->owner)

Definition at line 132 of file vision.h.

Typedef Documentation

◆ v_radius_t

typedef short int v_radius_t[V_COUNT]

Definition at line 81 of file vision.h.

Function Documentation

◆ vision_free()

void vision_free ( struct vision vision)

Free the vision source.

Definition at line 44 of file vision.cpp.

Referenced by remove_city(), server_game_free(), server_remove_unit_full(), transfer_city(), unit_change_homecity_handling(), and unit_move().

◆ vision_new()

struct vision* vision_new ( struct player pplayer,
struct tile ptile 
)

◆ vision_reveal_tiles()

bool vision_reveal_tiles ( struct vision vision,
bool  reveal_tiles 
)

Sets the can_reveal_tiles flag.

Returns the old flag.

Definition at line 56 of file vision.cpp.

Referenced by create_city(), sg_load_player_cities(), and transfer_city().

◆ vision_site_new()

struct vision_site* vision_site_new ( int  identity,
struct tile location,
struct player owner 
)

Returns the basic structure.

Definition at line 67 of file vision.cpp.

Referenced by sg_load_player_vision(), and vision_site_new_from_city().

◆ vision_site_new_from_city()

struct vision_site* vision_site_new_from_city ( const struct city pcity)

Returns the basic structure filled with initial elements.

Definition at line 82 of file vision.cpp.

Referenced by update_dumb_city().

◆ vision_site_size_get()

citizens vision_site_size_get ( const struct vision_site psite)

Get the city size.

Definition at line 112 of file vision.cpp.

Referenced by package_dumb_city(), sg_save_player_vision(), and update_dumb_city().

◆ vision_site_size_set()

void vision_site_size_set ( struct vision_site psite,
citizens  size 
)

Set the city size.

Definition at line 122 of file vision.cpp.

Referenced by sg_load_player_vision_city(), vision_site_new_from_city(), and vision_site_update_from_city().

◆ vision_site_update_from_city()

void vision_site_update_from_city ( struct vision_site psite,
const struct city pcity 
)

Returns the basic structure filled with current elements.

Definition at line 96 of file vision.cpp.

Referenced by update_dumb_city().