83 }
else if (
proad->move_cost ==
qroad->move_cost) {
105 proad->self = pextra;
153 return proad->compat;
226 const struct player *pplayer,
228 const struct tile *ptile)
288 const struct player *pplayer,
289 const struct tile *ptile)
304 const struct tile *ptile)
341 const struct tile *ptile,
363 const struct tile *ptile,
380 count = count * 100 / total;
390 const struct tile *ptile,
407 count = count * 100 / total;
426 const struct tile *ptile,
447 const struct tile *ptile,
467 const struct tile *ptile)
507 return proad->move_cost >= 0;
#define BV_ISSET(bv, bit)
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit * punit
#define fc_assert(condition)
#define fc_assert_ret_val(condition, val)
#define cardinal_adjc_iterate_end
#define adjc_iterate(nmap, center_tile, itr_tile)
#define cardinal_adjc_iterate(nmap, center_tile, itr_tile)
bool are_reqs_active(const struct req_context *context, const struct req_context *other_context, const struct requirement_vector *reqs, const enum req_problem_type prob_type)
Road_type_id road_count(void)
bool can_build_road(const struct civ_map *nmap, struct road_type *proad, const struct unit *punit, const struct tile *ptile)
struct extra_type * road_extra_get(const struct road_type *proad)
Road_type_id road_number(const struct road_type *proad)
bool road_has_flag(const struct road_type *proad, enum road_flag_id flag)
bool is_cardinal_only_road(const struct extra_type *pextra)
void road_integrators_cache_init(void)
enum road_compat road_compat_special(const struct road_type *proad)
bool is_road_flag_near_tile(const struct civ_map *nmap, const struct tile *ptile, enum road_flag_id flag)
bool road_provides_move_bonus(const struct road_type *proad)
void road_types_free(void)
int count_river_type_tile_card(struct civ_map *nmap, const struct tile *ptile, const struct extra_type *priver, bool percentage)
static bool are_road_reqs_fulfilled(const struct civ_map *nmap, const struct road_type *proad, const struct player *pplayer, const struct unit *punit, const struct tile *ptile)
struct road_type * road_by_number(Road_type_id id)
void road_type_init(struct extra_type *pextra, int idx)
bool is_native_tile_to_road(const struct road_type *proad, const struct tile *ptile)
int compare_road_move_cost(const struct extra_type *const *p, const struct extra_type *const *q)
struct road_type * road_by_compat_special(enum road_compat compat)
bool road_can_be_built(const struct road_type *proad, const struct tile *ptile)
int count_river_type_near_tile(struct civ_map *nmap, const struct tile *ptile, const struct extra_type *priver, bool percentage)
int count_river_near_tile(struct civ_map *nmap, const struct tile *ptile, const struct extra_type *priver)
bool player_can_build_road(const struct civ_map *nmap, const struct road_type *proad, const struct player *pplayer, const struct tile *ptile)
struct road_type * road_by_gui_type(enum road_gui_type gui_type)
bool is_road_flag_card_near(const struct civ_map *nmap, const struct tile *ptile, enum road_flag_id flag)
int count_road_near_tile(struct civ_map *nmap, const struct tile *ptile, const struct road_type *proad)
static struct compatibility compat[]
struct packet_ruleset_control control
const struct player * player
enum road_gui_type gui_type
#define terrain_has_flag(terr, flag)
bool tile_has_river(const struct tile *ptile)
bool tile_has_road(const struct tile *ptile, const struct road_type *proad)
#define tile_terrain(_tile)
#define tile_has_extra(ptile, pextra)
#define tile_owner(_tile)
const struct unit_type * unit_type_get(const struct unit *punit)