29#define NO_NATION_SELECTED (NULL)
44#define SPECLIST_TAG nation_city
45#define SPECLIST_TYPE struct nation_city
47#define nation_city_list_iterate(citylist, pncity) \
48 TYPED_LIST_ITERATE(struct nation_city, citylist, pncity)
49#define nation_city_list_iterate_end LIST_ITERATE_END
53#define SPECLIST_TAG nation_leader
54#define SPECLIST_TYPE struct nation_leader
56#define nation_leader_list_iterate(leaderlist, pleader) \
57 TYPED_LIST_ITERATE(struct nation_leader, leaderlist, pleader)
58#define nation_leader_list_iterate_end LIST_ITERATE_END
62#define SPECLIST_TAG nation_set
63#define SPECLIST_TYPE struct nation_set
65#define nation_set_list_iterate(setlist, pset) \
66 TYPED_LIST_ITERATE(struct nation_set, setlist, pset)
67#define nation_set_list_iterate_end LIST_ITERATE_END
71#define SPECLIST_TAG nation_group
72#define SPECLIST_TYPE struct nation_group
74#define nation_group_list_iterate(grouplist, pgroup) \
75 TYPED_LIST_ITERATE(struct nation_group, grouplist, pgroup)
76#define nation_group_list_iterate_end LIST_ITERATE_END
80#define SPECLIST_TAG nation
81#define SPECLIST_TYPE struct nation_type
83#define nation_list_iterate(nationlist, pnation) \
84 TYPED_LIST_ITERATE(struct nation_type, nationlist, pnation)
85#define nation_list_iterate_end LIST_ITERATE_END
88#define SPECHASH_TAG nation
89#define SPECHASH_IKEY_TYPE struct nation_type *
90#define SPECHASH_IDATA_TYPE void *
92#define nation_hash_iterate(nationhash, pnation) \
93 TYPED_HASH_KEYS_ITERATE(struct nation_type *, nationhash, pnation)
94#define nation_hash_iterate_end HASH_KEYS_ITERATE_END
213 const struct player *pplayer);
216const struct nation_leader_list *
231const struct nation_city_list *
241 const struct terrain *pterrain,
247 const struct terrain *pterrain);
257 const char *set_rule_name,
258 const char *set_description);
300#define nation_sets_iterate(NAME_pset) \
301 generic_iterate(struct nation_set_iter, struct nation_set *, \
302 NAME_pset, nation_set_iter_sizeof, \
303 nation_set_iter_init)
304#define nation_sets_iterate_end generic_iterate_end
310#define nation_groups_iterate(NAME_pgroup) \
311 generic_iterate(struct nation_group_iter, struct nation_group *, \
312 NAME_pgroup, nation_group_iter_sizeof, \
313 nation_group_iter_init)
314#define nation_groups_iterate_end generic_iterate_end
322 bool ignore_conflicts);
332#define nations_iterate(NAME_pnation)\
333 generic_iterate(struct nation_iter, struct nation_type *,\
334 NAME_pnation, nation_iter_sizeof, nation_iter_init)
335#define nations_iterate_end generic_iterate_end
338#define nations_re_active_iterate(_pnat_) \
339 nations_iterate(_pnat_)
341#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
#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