Freeciv-3.1: /fast/freeciv/nightly/S3_1/common/nation.h Source File

Freeciv-3.1

Loading...
Searching...
No Matches
nation.h
Go to the documentation of this file.
1/**********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
6 any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12***********************************************************************/
13#ifndef FC__NATION_H
14#define FC__NATION_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20/* utility */
21#include "iterator.h"
22
23/* common */
24#include "fc_types.h"
25#include "name_translation.h"
26#include "rgbcolor.h"
27#include "terrain.h" /* MAX_NUM_TERRAINS */
28
29#define NO_NATION_SELECTED (NULL)
30
31/* Changing this value will break network compatibility. */
32#define NATION_NONE -1
33#define NATION_ANY -2
34
35/* Nation city (server only). */
36struct nation_city;
37
38 enum nation_city_preference {
39 NCP_DISLIKE = -1,
40 NCP_NONE = 0,
41 NCP_LIKE = 1
42};
43
44#define SPECLIST_TAG nation_city
45#define SPECLIST_TYPE struct nation_city
46#include "speclist.h"
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
50
51/* Nation leader. */
52struct nation_leader;
53#define SPECLIST_TAG nation_leader
54#define SPECLIST_TYPE struct nation_leader
55#include "speclist.h"
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
59
60/* Nation set. */
61struct nation_set;
62#define SPECLIST_TAG nation_set
63#define SPECLIST_TYPE struct nation_set
64#include "speclist.h"
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
68
69/* Nation group. */
70struct nation_group;
71#define SPECLIST_TAG nation_group
72#define SPECLIST_TYPE struct nation_group
73#include "speclist.h"
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
77
78/* Nation list. */
79struct nation_type;
80#define SPECLIST_TAG nation
81#define SPECLIST_TYPE struct nation_type
82#include "speclist.h"
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
86
87/* Nation hash. */
88#define SPECHASH_TAG nation
89#define SPECHASH_IKEY_TYPE struct nation_type *
90#define SPECHASH_IDATA_TYPE void *
91#include "spechash.h"
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
95
96/* Pointer values are allocated on load then freed in free_nations(). */
97 struct nation_type {
98 Nation_type_id item_number;
99 char *translation_domain;
100 struct name_translation adjective;
101 struct name_translation noun_plural;
102 char flag_graphic_str[MAX_LEN_NAME];
103 char flag_graphic_alt[MAX_LEN_NAME];
104 struct nation_leader_list *leaders;
105 struct nation_style *style;
106 char *legend; /* may be empty */
107
108 bool is_playable;
109 enum barbarian_type barb_type;
110
111 /* Sets which this nation is assigned to */
112 struct nation_set_list *sets;
113
114 /* Groups which this nation is assigned to */
115 struct nation_group_list *groups;
116
117 struct player *player; /* Who's using the nation, or NULL. */
118
119 /* Items given to this nation at game start. */
120 /* (Only used in the client for documentation purposes.) */
121 int init_techs[MAX_NUM_TECH_LIST];
122 int init_buildings[MAX_NUM_BUILDING_LIST];
123 struct government *init_government; /* use game default_government if NULL */
124 struct unit_type *init_units[MAX_NUM_UNIT_LIST];
125
126 union {
127 struct {
128 /* Only used in the server (./ai/ and ./server/). */
129
130 struct nation_city_list *default_cities;
131
132 /* 'civilwar_nations' is a list of the nations that can fork from
133 * this one. 'parent_nations' is the inverse of this list. */
134 struct nation_list *civilwar_nations;
135 struct nation_list *parent_nations;
136
137 /* Nations which we don't want in the same game. For example,
138 * British and English. */
139 struct nation_list *conflicts_with;
140
141 /* Nation's associated player color (NULL if none). */
142 struct rgbcolor *rgb;
143
144 struct trait_limits *traits;
145
146 /* This nation has no start position in the current scenario. */
147 bool no_startpos;
148 } server;
149
150 struct {
151 /* Only used at the client. */
152
153 /* Whether the client is allowed to try to pick the nation at game
154 * start. Reasons for restricting this include lack of start positions
155 * in a scenario, or a nation outside the current nationset. However,
156 * in some circumstances the server may decide to put a nation with this
157 * flag in the game anyway, so the client can't rely on its absence.
158 * (On the server this is calculated on the fly from other values.
159 * Use is_nation_pickable() to get the answer on client or server.) */
160 bool is_pickable;
161 } client;
162 };
163};
164
165/* Nation group structure. */
166 struct nation_group {
167 struct name_translation name;
168 bool hidden;
169
170 union {
171 struct {
172 /* Only used in the server (./server/). */
173
174 /* How much the AI will try to select a nation in the same group */
175 int match;
176 } server;
177
178 /* Add client side when needed */
179 };
180};
181
182/* General nation accessor functions. */
183 Nation_type_id nation_count(void);
184 Nation_type_id nation_index(const struct nation_type *pnation);
185 Nation_type_id nation_number(const struct nation_type *pnation);
186
187struct nation_type *nation_by_number(const Nation_type_id nation);
188struct nation_type *nation_of_player(const struct player *pplayer);
189struct nation_type *nation_of_city(const struct city *pcity);
190struct nation_type *nation_of_unit(const struct unit *punit);
191
192struct nation_type *nation_by_rule_name(const char *name);
193struct nation_type *nation_by_translated_plural(const char *name);
194
195const char *nation_rule_name(const struct nation_type *pnation);
196
197const char *nation_adjective_translation(const struct nation_type *pnation);
198const char *nation_adjective_for_player(const struct player *pplayer);
199const char *nation_plural_translation(const struct nation_type *pnation);
200const char *nation_plural_for_player(const struct player *pplayer);
201
202struct government *init_government_of_nation(const struct nation_type *pnation);
203
204struct nation_style *style_of_nation(const struct nation_type *pnation);
205
206const struct rgbcolor *nation_color(const struct nation_type *pnation);
207
208/* Ancillary nation routines */
209bool is_nation_pickable(const struct nation_type *nation);
210bool is_nation_playable(const struct nation_type *nation);
211enum barbarian_type nation_barbarian_type(const struct nation_type *nation);
212bool can_conn_edit_players_nation(const struct connection *pconn,
213 const struct player *pplayer);
214
215/* General nation leader accessor functions. */
216const struct nation_leader_list *
217 nation_leaders(const struct nation_type *pnation);
218struct nation_leader *nation_leader_new(struct nation_type *pnation,
219 const char *name, bool is_male);
220struct nation_leader *
221 nation_leader_by_name(const struct nation_type *pnation, const char *name);
222const char *nation_leader_name(const struct nation_leader *pleader);
223bool nation_leader_is_male(const struct nation_leader *pleader);
224
225const char *nation_legend_translation(const struct nation_type *pnation,
226 const char *legend);
227
228/* General nation city accessor functions. */
229struct terrain;
230
231const struct nation_city_list *
232 nation_cities(const struct nation_type *pnation);
233struct nation_city *nation_city_new(struct nation_type *pnation,
234 const char *name);
235
236const char *nation_city_name(const struct nation_city *pncity);
237
238enum nation_city_preference
239 nation_city_preference_revert(enum nation_city_preference prefer);
240void nation_city_set_terrain_preference(struct nation_city *pncity,
241 const struct terrain *pterrain,
242 enum nation_city_preference prefer);
243void nation_city_set_river_preference(struct nation_city *pncity,
244 enum nation_city_preference prefer);
245enum nation_city_preference
246 nation_city_terrain_preference(const struct nation_city *pncity,
247 const struct terrain *pterrain);
248enum nation_city_preference
249 nation_city_river_preference(const struct nation_city *pncity);
250
251/* General nation set accessor routines */
252int nation_set_count(void);
253int nation_set_index(const struct nation_set *pset);
254int nation_set_number(const struct nation_set *pset);
255
256struct nation_set *nation_set_new(const char *set_name,
257 const char *set_rule_name,
258 const char *set_description);
259struct nation_set *nation_set_by_number(int id);
260struct nation_set *nation_set_by_rule_name(const char *name);
261
262const char *nation_set_untranslated_name(const struct nation_set *pset);
263const char *nation_set_rule_name(const struct nation_set *pset);
264const char *nation_set_name_translation(const struct nation_set *pset);
265const char *nation_set_description(const struct nation_set *pset);
266
267bool nation_is_in_set(const struct nation_type *pnation,
268 const struct nation_set *pset);
269
270struct nation_set *nation_set_by_setting_value(const char *setting);
271
272/* General nation group accessor routines */
273int nation_group_count(void);
274int nation_group_index(const struct nation_group *pgroup);
275int nation_group_number(const struct nation_group *pgroup);
276
277struct nation_group *nation_group_new(const char *name);
278struct nation_group *nation_group_by_number(int id);
279struct nation_group *nation_group_by_rule_name(const char *name);
280
281void nation_group_set_hidden(struct nation_group *pgroup, bool hidden);
282void nation_group_set_match(struct nation_group *pgroup, int match);
283bool is_nation_group_hidden(struct nation_group *pgroup);
284
285const char *nation_group_untranslated_name(const struct nation_group *pgroup);
286const char *nation_group_rule_name(const struct nation_group *pgroup);
287const char *nation_group_name_translation(const struct nation_group *pgroup);
288
289bool nation_is_in_group(const struct nation_type *pnation,
290 const struct nation_group *pgroup);
291
292/* Initialization and iteration */
293void nation_sets_groups_init(void);
294void nation_sets_groups_free(void);
295
296struct nation_set_iter;
297size_t nation_set_iter_sizeof(void);
298struct iterator *nation_set_iter_init(struct nation_set_iter *it);
299
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
305
306struct nation_group_iter;
307size_t nation_group_iter_sizeof(void);
308struct iterator *nation_group_iter_init(struct nation_group_iter *it);
309
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
315
316/* Initialization and iteration */
317void nations_alloc(int num);
318void nations_free(void);
319
320int nations_match(const struct nation_type *pnation1,
321 const struct nation_type *pnation2,
322 bool ignore_conflicts);
323
324struct nation_iter;
325size_t nation_iter_sizeof(void);
326struct iterator *nation_iter_init(struct nation_iter *it);
327
328/* Iterate over nations. This iterates over _all_ nations, including
329 * unplayable ones (use is_nation_playable to filter if necessary).
330 * This does not take account of the current nationset! -- on the
331 * server, use allowed_nations_iterate() for that. */
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
336
337/* Deletion of nations not supported */
338#define nations_re_active_iterate(_pnat_) \
339 nations_iterate(_pnat_)
340
341#define nations_re_active_iterate_end \
342 nations_iterate_end;
343
344#ifdef __cplusplus
345}
346#endif /* __cplusplus */
347
348#endif /* FC__NATION_H */
client
struct civclient client
Definition client_main.c:149
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 * punit
Definition dialogs_g.h:73
fc_types.h
MAX_NUM_BUILDING_LIST
#define MAX_NUM_BUILDING_LIST
Definition fc_types.h:46
Nation_type_id
int Nation_type_id
Definition fc_types.h:350
MAX_NUM_UNIT_LIST
#define MAX_NUM_UNIT_LIST
Definition fc_types.h:45
MAX_LEN_NAME
#define MAX_LEN_NAME
Definition fc_types.h:66
MAX_NUM_TECH_LIST
#define MAX_NUM_TECH_LIST
Definition fc_types.h:44
name
const char * name
Definition inputfile.c:127
iterator.h
name_translation.h
nation_group_set_match
void nation_group_set_match(struct nation_group *pgroup, int match)
Definition nation.c:1046
nations_free
void nations_free(void)
Definition nation.c:636
nation_city_name
const char * nation_city_name(const struct nation_city *pncity)
Definition nation.c:411
nation_group_untranslated_name
const char * nation_group_untranslated_name(const struct nation_group *pgroup)
Definition nation.c:1068
nation_cities
const struct nation_city_list * nation_cities(const struct nation_type *pnation)
Definition nation.c:330
nation_group_by_rule_name
struct nation_group * nation_group_by_rule_name(const char *name)
Definition nation.c:1020
nation_by_translated_plural
struct nation_type * nation_by_translated_plural(const char *name)
Definition nation.c:105
nation_rule_name
const char * nation_rule_name(const struct nation_type *pnation)
Definition nation.c:137
nation_city_preference_revert
enum nation_city_preference nation_city_preference_revert(enum nation_city_preference prefer)
Definition nation.c:370
nation_group_index
int nation_group_index(const struct nation_group *pgroup)
Definition nation.c:942
nation_count
Nation_type_id nation_count(void)
Definition nation.c:506
nation_number
Nation_type_id nation_number(const struct nation_type *pnation)
Definition nation.c:485
nation_group_new
struct nation_group * nation_group_new(const char *name)
Definition nation.c:959
nation_leader_by_name
struct nation_leader * nation_leader_by_name(const struct nation_type *pnation, const char *name)
Definition nation.c:266
nation_set_iter_init
struct iterator * nation_set_iter_init(struct nation_set_iter *it)
Definition nation.c:921
nations_match
int nations_match(const struct nation_type *pnation1, const struct nation_type *pnation2, bool ignore_conflicts)
Definition nation.c:1205
nation_of_unit
struct nation_type * nation_of_unit(const struct unit *punit)
Definition nation.c:462
nation_leader_is_male
bool nation_leader_is_male(const struct nation_leader *pleader)
Definition nation.c:289
nation_adjective_for_player
const char * nation_adjective_for_player(const struct player *pplayer)
Definition nation.c:168
nation_set_iter_sizeof
size_t nation_set_iter_sizeof(void)
Definition nation.c:888
nation_set_new
struct nation_set * nation_set_new(const char *set_name, const char *set_rule_name, const char *set_description)
Definition nation.c:715
nation_adjective_translation
const char * nation_adjective_translation(const struct nation_type *pnation)
Definition nation.c:148
nation_by_number
struct nation_type * nation_by_number(const Nation_type_id nation)
Definition nation.c:474
nation_set_index
int nation_set_index(const struct nation_set *pset)
Definition nation.c:698
nation_city_new
struct nation_city * nation_city_new(struct nation_type *pnation, const char *name)
Definition nation.c:341
nation_city_terrain_preference
enum nation_city_preference nation_city_terrain_preference(const struct nation_city *pncity, const struct terrain *pterrain)
Definition nation.c:421
is_nation_pickable
bool is_nation_pickable(const struct nation_type *nation)
Definition nation.c:187
nation_leaders
const struct nation_leader_list * nation_leaders(const struct nation_type *pnation)
Definition nation.c:229
nation_set_name_translation
const char * nation_set_name_translation(const struct nation_set *pset)
Definition nation.c:817
nation_group_rule_name
const char * nation_group_rule_name(const struct nation_group *pgroup)
Definition nation.c:1078
nation_of_player
struct nation_type * nation_of_player(const struct player *pplayer)
Definition nation.c:443
nation_set_untranslated_name
const char * nation_set_untranslated_name(const struct nation_set *pset)
Definition nation.c:796
nation_of_city
struct nation_type * nation_of_city(const struct city *pcity)
Definition nation.c:453
is_nation_playable
bool is_nation_playable(const struct nation_type *nation)
Definition nation.c:199
nation_iter_init
struct iterator * nation_iter_init(struct nation_iter *it)
Definition nation.c:556
nation_sets_groups_free
void nation_sets_groups_free(void)
Definition nation.c:1177
nation_set_number
int nation_set_number(const struct nation_set *pset)
Definition nation.c:707
nation_color
const struct rgbcolor * nation_color(const struct nation_type *pnation)
Definition nation.c:681
nation_city_set_terrain_preference
void nation_city_set_terrain_preference(struct nation_city *pncity, const struct terrain *pterrain, enum nation_city_preference prefer)
Definition nation.c:389
nation_group_iter_init
struct iterator * nation_group_iter_init(struct nation_group_iter *it)
Definition nation.c:1156
nation_city_preference
nation_city_preference
Definition nation.h:38
NCP_NONE
@ NCP_NONE
Definition nation.h:40
NCP_DISLIKE
@ NCP_DISLIKE
Definition nation.h:39
NCP_LIKE
@ NCP_LIKE
Definition nation.h:41
nation_city_set_river_preference
void nation_city_set_river_preference(struct nation_city *pncity, enum nation_city_preference prefer)
Definition nation.c:401
nation_is_in_group
bool nation_is_in_group(const struct nation_type *pnation, const struct nation_group *pgroup)
Definition nation.c:1098
nation_is_in_set
bool nation_is_in_set(const struct nation_type *pnation, const struct nation_set *pset)
Definition nation.c:836
nation_set_description
const char * nation_set_description(const struct nation_set *pset)
Definition nation.c:827
nation_group_name_translation
const char * nation_group_name_translation(const struct nation_group *pgroup)
Definition nation.c:1089
nation_city_river_preference
enum nation_city_preference nation_city_river_preference(const struct nation_city *pncity)
Definition nation.c:433
nation_set_count
int nation_set_count(void)
Definition nation.c:690
nation_sets_groups_init
void nation_sets_groups_init(void)
Definition nation.c:1169
nation_set_by_number
struct nation_set * nation_set_by_number(int id)
Definition nation.c:761
nation_by_rule_name
struct nation_type * nation_by_rule_name(const char *name)
Definition nation.c:120
nation_group_by_number
struct nation_group * nation_group_by_number(int id)
Definition nation.c:1003
nation_plural_translation
const char * nation_plural_translation(const struct nation_type *pnation)
Definition nation.c:158
nation_set_by_rule_name
struct nation_set * nation_set_by_rule_name(const char *name)
Definition nation.c:778
is_nation_group_hidden
bool is_nation_group_hidden(struct nation_group *pgroup)
Definition nation.c:1056
can_conn_edit_players_nation
bool can_conn_edit_players_nation(const struct connection *pconn, const struct player *pplayer)
Definition nation.c:1186
nation_set_by_setting_value
struct nation_set * nation_set_by_setting_value(const char *setting)
Definition nation.c:858
nation_index
Nation_type_id nation_index(const struct nation_type *pnation)
Definition nation.c:497
nation_leader_name
const char * nation_leader_name(const struct nation_leader *pleader)
Definition nation.c:280
nation_group_count
int nation_group_count(void)
Definition nation.c:934
nation_set_rule_name
const char * nation_set_rule_name(const struct nation_set *pset)
Definition nation.c:806
nation_leader_new
struct nation_leader * nation_leader_new(struct nation_type *pnation, const char *name, bool is_male)
Definition nation.c:238
nation_group_set_hidden
void nation_group_set_hidden(struct nation_group *pgroup, bool hidden)
Definition nation.c:1036
nations_alloc
void nations_alloc(int num)
Definition nation.c:621
nation_barbarian_type
enum barbarian_type nation_barbarian_type(const struct nation_type *nation)
Definition nation.c:210
nation_plural_for_player
const char * nation_plural_for_player(const struct player *pplayer)
Definition nation.c:177
nation_iter_sizeof
size_t nation_iter_sizeof(void)
Definition nation.c:523
nation_group_number
int nation_group_number(const struct nation_group *pgroup)
Definition nation.c:951
nation_group_iter_sizeof
size_t nation_group_iter_sizeof(void)
Definition nation.c:1123
init_government_of_nation
struct government * init_government_of_nation(const struct nation_type *pnation)
Definition nation.c:658
style_of_nation
struct nation_style * style_of_nation(const struct nation_type *pnation)
Definition nation.c:671
nation_legend_translation
const char * nation_legend_translation(const struct nation_type *pnation, const char *legend)
Definition nation.c:298
rgbcolor.h
spechash.h
speclist.h
city
Definition city.h:309
connection
Definition connection.h:141
government
Definition government.h:52
iterator
Definition iterator.h:31
name_translation
Definition name_translation.h:35
nation_city
Definition nation.c:320
nation_group_iter
Definition nation.c:1114
nation_group
Definition nation.h:166
nation_group::match
int match
Definition nation.h:175
nation_group::name
struct name_translation name
Definition nation.h:167
nation_group::hidden
bool hidden
Definition nation.h:168
nation_iter
Definition nation.c:514
nation_leader
Definition nation.c:220
nation_leader::is_male
bool is_male
Definition nation.c:222
nation_set_iter
Definition nation.c:879
nation_set
Definition nation.c:40
nation_style
Definition style.h:22
nation_type
Definition nation.h:97
nation_type::init_buildings
int init_buildings[MAX_NUM_BUILDING_LIST]
Definition nation.h:122
nation_type::conflicts_with
struct nation_list * conflicts_with
Definition nation.h:139
nation_type::groups
struct nation_group_list * groups
Definition nation.h:115
nation_type::noun_plural
struct name_translation noun_plural
Definition nation.h:101
nation_type::parent_nations
struct nation_list * parent_nations
Definition nation.h:135
nation_type::sets
struct nation_set_list * sets
Definition nation.h:112
nation_type::flag_graphic_str
char flag_graphic_str[MAX_LEN_NAME]
Definition nation.h:102
nation_type::adjective
struct name_translation adjective
Definition nation.h:100
nation_type::rgb
struct rgbcolor * rgb
Definition nation.h:142
nation_type::traits
struct trait_limits * traits
Definition nation.h:144
nation_type::flag_graphic_alt
char flag_graphic_alt[MAX_LEN_NAME]
Definition nation.h:103
nation_type::init_government
struct government * init_government
Definition nation.h:123
nation_type::is_pickable
bool is_pickable
Definition nation.h:160
nation_type::init_units
struct unit_type * init_units[MAX_NUM_UNIT_LIST]
Definition nation.h:124
nation_type::leaders
struct nation_leader_list * leaders
Definition nation.h:104
nation_type::legend
char * legend
Definition nation.h:106
nation_type::item_number
Nation_type_id item_number
Definition nation.h:98
nation_type::barb_type
enum barbarian_type barb_type
Definition nation.h:109
nation_type::no_startpos
bool no_startpos
Definition nation.h:147
nation_type::translation_domain
char * translation_domain
Definition nation.h:99
nation_type::style
struct nation_style * style
Definition nation.h:105
nation_type::default_cities
struct nation_city_list * default_cities
Definition nation.h:130
nation_type::init_techs
int init_techs[MAX_NUM_TECH_LIST]
Definition nation.h:121
nation_type::civilwar_nations
struct nation_list * civilwar_nations
Definition nation.h:134
nation_type::is_playable
bool is_playable
Definition nation.h:108
nation_type::player
struct player * player
Definition nation.h:117
player
Definition player.h:249
rgbcolor
Definition rgbcolor.h:33
server
Definition servers.h:29
setting
Definition settings.c:88
terrain
Definition terrain.h:176
trait_limits
Definition traits.h:43
unit_type
Definition unittype.h:481
unit
Definition unit.h:138
terrain.h