30#define NO_NATION_SELECTED (NULL)
45#define SPECLIST_TAG nation_city
46#define SPECLIST_TYPE struct nation_city
48#define nation_city_list_iterate(citylist, pncity) \
49 TYPED_LIST_ITERATE(struct nation_city, citylist, pncity)
50#define nation_city_list_iterate_end LIST_ITERATE_END
54#define SPECLIST_TAG nation_leader
55#define SPECLIST_TYPE struct nation_leader
57#define nation_leader_list_iterate(leaderlist, pleader) \
58 TYPED_LIST_ITERATE(struct nation_leader, leaderlist, pleader)
59#define nation_leader_list_iterate_end LIST_ITERATE_END
63#define SPECLIST_TAG nation_set
64#define SPECLIST_TYPE struct nation_set
66#define nation_set_list_iterate(setlist, pset) \
67 TYPED_LIST_ITERATE(struct nation_set, setlist, pset)
68#define nation_set_list_iterate_end LIST_ITERATE_END
72#define SPECLIST_TAG nation_group
73#define SPECLIST_TYPE struct nation_group
75#define nation_group_list_iterate(grouplist, pgroup) \
76 TYPED_LIST_ITERATE(struct nation_group, grouplist, pgroup)
77#define nation_group_list_iterate_end LIST_ITERATE_END
81#define SPECLIST_TAG nation
82#define SPECLIST_TYPE struct nation_type
84#define nation_list_iterate(nationlist, pnation) \
85 TYPED_LIST_ITERATE(struct nation_type, nationlist, pnation)
86#define nation_list_iterate_end LIST_ITERATE_END
89#define SPECHASH_TAG nation
90#define SPECHASH_IKEY_TYPE struct nation_type *
91#define SPECHASH_IDATA_TYPE void *
93#define nation_hash_iterate(nationhash, pnation) \
94 TYPED_HASH_KEYS_ITERATE(struct nation_type *, nationhash, pnation)
95#define nation_hash_iterate_end HASH_KEYS_ITERATE_END
214 const struct player *pplayer);
242 const struct terrain *pterrain,
248 const struct terrain *pterrain);
301#define nation_sets_iterate(NAME_pset) \
302 generic_iterate(struct nation_set_iter, struct nation_set *, \
303 NAME_pset, nation_set_iter_sizeof, \
304 nation_set_iter_init)
305#define nation_sets_iterate_end generic_iterate_end
311#define nation_groups_iterate(NAME_pgroup) \
312 generic_iterate(struct nation_group_iter, struct nation_group *, \
313 NAME_pgroup, nation_group_iter_sizeof, \
314 nation_group_iter_init)
315#define nation_groups_iterate_end generic_iterate_end
333#define nations_iterate(NAME_pnation)\
334 generic_iterate(struct nation_iter, struct nation_type *,\
335 NAME_pnation, nation_iter_sizeof, nation_iter_init)
336#define nations_iterate_end generic_iterate_end
339#define nations_re_active_iterate(_pnat_) \
340 nations_iterate(_pnat_)
342#define nations_re_active_iterate_end \
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
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 int const struct action *paction struct unit struct city * pcity
#define MAX_NUM_BUILDING_LIST
#define MAX_NUM_UNIT_LIST
#define MAX_NUM_TECH_LIST
void nation_group_set_match(struct nation_group *pgroup, int match)
const char * nation_city_name(const struct nation_city *pncity)
const char * nation_group_untranslated_name(const struct nation_group *pgroup)
const struct nation_city_list * nation_cities(const struct nation_type *pnation)
struct nation_group * nation_group_by_rule_name(const char *name)
struct nation_type * nation_by_translated_plural(const char *name)
const char * nation_rule_name(const struct nation_type *pnation)
enum nation_city_preference nation_city_preference_revert(enum nation_city_preference prefer)
int nation_group_index(const struct nation_group *pgroup)
Nation_type_id nation_count(void)
Nation_type_id nation_number(const struct nation_type *pnation)
struct nation_group * nation_group_new(const char *name)
struct nation_leader * nation_leader_by_name(const struct nation_type *pnation, const char *name)
struct iterator * nation_set_iter_init(struct nation_set_iter *it)
int nations_match(const struct nation_type *pnation1, const struct nation_type *pnation2, bool ignore_conflicts)
struct nation_type * nation_of_unit(const struct unit *punit)
bool nation_leader_is_male(const struct nation_leader *pleader)
const char * nation_adjective_for_player(const struct player *pplayer)
size_t nation_set_iter_sizeof(void)
struct nation_set * nation_set_new(const char *set_name, const char *set_rule_name, const char *set_description)
const char * nation_adjective_translation(const struct nation_type *pnation)
struct nation_type * nation_by_number(const Nation_type_id nation)
int nation_set_index(const struct nation_set *pset)
struct nation_city * nation_city_new(struct nation_type *pnation, const char *name)
enum nation_city_preference nation_city_terrain_preference(const struct nation_city *pncity, const struct terrain *pterrain)
bool is_nation_pickable(const struct nation_type *nation)
const struct nation_leader_list * nation_leaders(const struct nation_type *pnation)
const char * nation_set_name_translation(const struct nation_set *pset)
const char * nation_group_rule_name(const struct nation_group *pgroup)
struct nation_type * nation_of_player(const struct player *pplayer)
const char * nation_set_untranslated_name(const struct nation_set *pset)
struct nation_type * nation_of_city(const struct city *pcity)
bool is_nation_playable(const struct nation_type *nation)
struct iterator * nation_iter_init(struct nation_iter *it)
void nation_sets_groups_free(void)
int nation_set_number(const struct nation_set *pset)
const struct rgbcolor * nation_color(const struct nation_type *pnation)
void nation_city_set_terrain_preference(struct nation_city *pncity, const struct terrain *pterrain, enum nation_city_preference prefer)
struct iterator * nation_group_iter_init(struct nation_group_iter *it)
void nation_city_set_river_preference(struct nation_city *pncity, enum nation_city_preference prefer)
bool nation_is_in_group(const struct nation_type *pnation, const struct nation_group *pgroup)
bool nation_is_in_set(const struct nation_type *pnation, const struct nation_set *pset)
const char * nation_set_description(const struct nation_set *pset)
const char * nation_group_name_translation(const struct nation_group *pgroup)
enum nation_city_preference nation_city_river_preference(const struct nation_city *pncity)
int nation_set_count(void)
void nation_sets_groups_init(void)
struct nation_set * nation_set_by_number(int id)
struct nation_type * nation_by_rule_name(const char *name)
struct nation_group * nation_group_by_number(int id)
const char * nation_plural_translation(const struct nation_type *pnation)
struct nation_set * nation_set_by_rule_name(const char *name)
bool is_nation_group_hidden(struct nation_group *pgroup)
bool can_conn_edit_players_nation(const struct connection *pconn, const struct player *pplayer)
struct nation_set * nation_set_by_setting_value(const char *setting)
Nation_type_id nation_index(const struct nation_type *pnation)
const char * nation_leader_name(const struct nation_leader *pleader)
int nation_group_count(void)
const char * nation_set_rule_name(const struct nation_set *pset)
struct nation_leader * nation_leader_new(struct nation_type *pnation, const char *name, bool is_male)
void nation_group_set_hidden(struct nation_group *pgroup, bool hidden)
void nations_alloc(int num)
enum barbarian_type nation_barbarian_type(const struct nation_type *nation)
const char * nation_plural_for_player(const struct player *pplayer)
size_t nation_iter_sizeof(void)
int nation_group_number(const struct nation_group *pgroup)
size_t nation_group_iter_sizeof(void)
struct government * init_government_of_nation(const struct nation_type *pnation)
struct nation_style * style_of_nation(const struct nation_type *pnation)
const char * nation_legend_translation(const struct nation_type *pnation, const char *legend)
struct name_translation name
int init_buildings[MAX_NUM_BUILDING_LIST]
struct nation_list * conflicts_with
struct nation_group_list * groups
struct name_translation noun_plural
struct nation_list * parent_nations
struct nation_set_list * sets
char flag_graphic_str[MAX_LEN_NAME]
struct name_translation adjective
struct trait_limits * traits
char flag_graphic_alt[MAX_LEN_NAME]
struct government * init_government
struct unit_type * init_units[MAX_NUM_UNIT_LIST]
struct nation_leader_list * leaders
Nation_type_id item_number
enum barbarian_type barb_type
char * translation_domain
struct nation_style * style
struct nation_city_list * default_cities
int init_techs[MAX_NUM_TECH_LIST]
struct nation_list * civilwar_nations