Freeciv-3.3: /fast/freeciv/nightly/main/common/game.h Source File

Freeciv-3.3

Loading...
Searching...
No Matches
game.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__GAME_H
14#define FC__GAME_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20#include <time.h> /* time_t */
21
22#ifdef FREECIV_HAVE_SYS_TIME_H
23#include <sys/time.h>
24#endif
25
26/* utility */
27#include "randseed.h"
28#include "shared.h"
29#include "timing.h"
30
31/* common */
32#include "connection.h" /* struct conn_list */
33#include "fc_types.h"
34#include "packets.h"
35#include "traits.h"
36
37struct world;
38
39 enum debug_globals {
40 DEBUG_FERRIES,
41 DEBUG_LAST
42};
43
44 enum city_names_mode {
45 CNM_NO_RESTRICTIONS = 0,
46 CNM_PLAYER_UNIQUE,
47 CNM_GLOBAL_UNIQUE,
48 CNM_NO_STEALING
49};
50
51 enum barbarians_rate {
52 BARBS_DISABLED = 0,
53 BARBS_HUTS_ONLY,
54 BARBS_NORMAL,
55 BARBS_FREQUENT,
56 BARBS_HORDES
57};
58
59 enum autosave_type {
60 AS_TURN = 0,
61 AS_GAME_OVER,
62 AS_QUITIDLE,
63 AS_INTERRUPT,
64 AS_TIMER
65};
66
67 enum scorelog_level {
68 SL_ALL = 0,
69 SL_HUMANS
70};
71
72 struct user_flag
73{
74 char *name;
75 char *helptxt;
76};
77
78/* The number of turns that the first user needs to be attached to a
79 * player for that user to be ranked as that player */
80#define TURNS_NEEDED_TO_RANK 10
81
82 struct civ_game {
83 struct packet_ruleset_control control;
84 char *ruleset_summary;
85 char *ruleset_description;
86 char *ruleset_capabilities;
87 struct packet_scenario_info scenario;
88 struct packet_scenario_description scenario_desc;
89 struct packet_game_info info;
90 struct packet_calendar_info calendar;
91 struct packet_timeout_info tinfo;
92
93 struct government *default_government; /* may be overridden by nation */
94 struct government *government_during_revolution;
95
96 struct conn_list *all_connections; /* including not yet established */
97 struct conn_list *est_connections; /* all established client conns */
98 struct conn_list *glob_observers; /* global observers */
99 struct conn_list *web_client_connections; /* Connections from web client */
100
101 struct veteran_system *veteran; /* veteran system */
102
103 struct rgbcolor *plr_bg_color;
104
105 struct {
106 /* Items given to all players at game start.
107 * Client gets this info for help purposes only. */
108 int global_init_techs[MAX_NUM_TECH_LIST];
109 int global_init_buildings[MAX_NUM_BUILDING_LIST];
110 } rgame;
111
112 union {
113 struct {
114 /* Only used at the client (./client/). */
115
116 bool ruleset_init;
117 bool ruleset_ready;
118 } client;
119
120 struct {
121 /* Only used in the server (./ai/ and ./server/). */
122
123 /* Defined in the ruleset. */
124
125 /* Game settings & other data. */
126
127 enum city_names_mode allowed_city_names;
128 enum plrcolor_mode plrcolormode;
129 int aqueductloss;
130 bool auto_ai_toggle;
131 bool autoattack;
132 int autoupgrade_veteran_loss;
133 enum barbarians_rate barbarianrate;
134 int base_incite_cost;
135 int civilwarsize;
136 int conquercost;
137 int contactturns;
138 int diplchance;
139 int diplbulbcost;
140 int diplgoldcost;
141 int incite_gold_loss_chance;
142 int incite_gold_capt_chance;
143 int dispersion;
144 int end_turn;
145 bool endspaceship;
146 bool fixedlength;
147 bool foggedborders;
148 int freecost;
149 int incite_improvement_factor;
150 int incite_total_factor;
151 int incite_unit_factor;
152 int init_vis_radius_sq;
153 int kick_time;
154 int killunhomed; /* Slowly killing unhomed units */
155 int maxconnectionsperhost;
156 int max_players;
157 char nationset[MAX_LEN_NAME];
158 int mgr_distance;
159 bool mgr_foodneeded;
160 int mgr_nationchance;
161 int mgr_turninterval;
162 int mgr_worldchance;
163 bool multiresearch;
164 bool migration;
165 enum trait_dist_mode trait_dist;
166 int min_players;
167 bool natural_city_names;
168 int netwait;
169 int num_phases;
170 int occupychance;
171 int onsetbarbarian;
172 int pingtime;
173 int pingtimeout;
174 bool ip_hide;
175 int ransom_gold;
176 int razechance;
177 unsigned revealmap;
178 int revolution_length;
179 int spaceship_travel_pct;
180 bool threaded_save;
181 int save_compress_level;
182 enum fz_method save_compress_type;
183 int save_nturns;
184 int save_frequency;
185 unsigned autosaves; /* FIXME: char would be enough, but current settings.c code wants to
186 write sizeof(unsigned) bytes */
187 bool savepalace;
188 bool homecaughtunits;
189 char start_units[MAX_LEN_STARTUNIT];
190 bool start_city;
191 int start_year;
192 int techloss_restore;
193 int techlost_donor;
194 int techlost_recv;
195 int tcptimeout;
196 int techpenalty;
197 bool turnblock;
198 int unitwaittime; /* Minimal time between two movements of a unit */
199 int upgrade_veteran_loss;
200 bool vision_reveal_tiles;
201
202 bool debug[DEBUG_LAST];
203 int timeoutint; /* Increase timeout every N turns... */
204 int timeoutinc; /* ... by this amount ... */
205 int timeoutincmult; /* ... and multiply timeoutinc by this amount ... */
206 int timeoutintinc; /* ... and increase timeoutint by this amount */
207 int timeoutcounter; /* timeoutcounter - timeoutint = turns to next inc. */
208 int timeoutaddenemymove; /* Minimum timeout after an enemy move is seen */
209
210 time_t last_ping;
211 struct timer *phase_timer; /* Time since seconds_to_phase_done was set. */
212 int additional_phase_seconds;
213 /* The game.info.phase_mode value indicates the phase mode currently in
214 * use. The "stored" value is a value the player can change; it won't
215 * take effect until the next turn. */
216 int phase_mode_stored;
217 struct timer *save_timer;
218 float turn_change_time;
219 char connectmsg[MAX_LEN_MSG];
220 char save_name[MAX_LEN_NAME];
221 char orig_game_version[MAX_LEN_NAME];
222 bool scorelog;
223 enum scorelog_level scoreloglevel;
224 char scorefile[MAX_LEN_PATH];
225 int scoreturn; /* Next make_history_report() */
226 randseed seed_setting;
227 randseed seed;
228
229 bool global_warming;
230 int global_warming_percent;
231 bool nuclear_winter;
232 int nuclear_winter_percent;
233
234 bool fogofwar_old; /* As the fog_of_war bit get changed by setting
235 * the server we need to remember the old setting */
236 bool last_updated_year; /* last_updated is still counted as year in this
237 * game. */
238 int world_peace_start;
239 char rulesetdir[MAX_LEN_NAME];
240 char demography[MAX_LEN_DEMOGRAPHY];
241 char allow_take[MAX_LEN_ALLOW_TAKE];
242
243 bool settings_gamestart_valid; /* Valid settings from the game start. */
244
245 struct rgbcolor_list *plr_colors;
246
247 struct section_file *luadata;
248 int dbid;
249
250 struct {
251 int turns;
252 int max_size;
253 bool chat;
254 bool info;
255 } event_cache;
256
257 /* Used by the map editor to control game_save. */
258 struct {
259 bool save_known; /* Loading will just reveal the squares around
260 * cities and units */
261 bool save_starts; /* Start positions will be auto generated */
262 bool save_private_map; /* FoW map; will be created if not saved */
263 } save_options;
264
265 struct {
266 char user_message[256];
267 char type[20];
268 } meta_info;
269
270 struct {
271 fc_mutex city_list;
272 } mutexes;
273
274 struct trait_limits default_traits[TRAIT_COUNT];
275
276 struct player *random_move_time;
277
278 char default_ai_type_name[256];
279
280 struct {
281 char *description_file;
282 char *nationlist;
283 char **embedded_nations;
284 size_t embedded_nations_count;
285 const char **allowed_govs;
286 char **nc_agovs;
287 size_t ag_count;
288 const char **allowed_terrains;
289 char **nc_aterrs;
290 size_t at_count;
291 const char **allowed_styles;
292 char **nc_astyles;
293 size_t as_count;
294 int named_teams;
295 } ruledit;
296 } server;
297 };
298
299 struct {
300 /* Function to be called in game_remove_unit when a unit is deleted. */
301 void (*unit_deallocate)(int unit_id);
302 } callbacks;
303};
304
305extern struct civ_game game;
306
307#ifdef FREECIV_WEB
308/**********************************************************************/
311static inline bool any_web_conns(void)
312{
313 return conn_list_size(game.web_client_connections) > 0;
314}
315#else /* FREECIV_WEB */
316#define any_web_conns() (FALSE)
317#endif /* FREECIV_WEB */
318
319void game_init(bool keep_ruleset_value);
320void game_map_init(void);
321void game_free(void);
322void game_reset(void);
323
324void game_ruleset_init(void);
325void game_ruleset_free(void);
326
327int civ_population(const struct player *pplayer);
328struct city *game_city_by_name(const char *name);
329struct city *game_city_by_number(int id);
330
331struct unit *game_unit_by_number(int id);
332
333void game_remove_unit(struct world *gworld, struct unit *punit);
334void game_remove_city(struct world *gworld, struct city *pcity);
335void initialize_globals(void);
336
337bool is_player_phase(const struct player *pplayer, int phase);
338
339const char *population_to_text(int thousand_citizen);
340
341int generate_save_name(const char *format, char *buf, int buflen,
342 const char *reason);
343
344void user_flag_init(struct user_flag *flag);
345void user_flag_free(struct user_flag *flag);
346
347int current_turn_timeout(void);
348
349extern bool _ruleset_compat_mode;
350
351/**********************************************************************/
354 static inline void set_ruleset_compat_mode(bool active)
355{
356 _ruleset_compat_mode = active;
357}
358
359/**********************************************************************/
362 static inline bool is_ruleset_compat_mode(void)
363{
364 return _ruleset_compat_mode;
365}
366
367#define GAME_DEFAULT_SEED 0
368#define GAME_MIN_SEED 0
369#define GAME_MAX_SEED (MAX_UINT32 >> 1)
370
371#define GAME_DEFAULT_GOLD 50
372#define GAME_MIN_GOLD 0
373#define GAME_MAX_GOLD 50000
374
375#define GAME_DEFAULT_INFRA 0
376#define GAME_MIN_INFRA 0
377#define GAME_MAX_INFRA 50000
378
379#define GAME_DEFAULT_START_UNITS "ccwwx"
380#define GAME_DEFAULT_START_CITY FALSE
381
382#define GAME_DEFAULT_DISPERSION 0
383#define GAME_MIN_DISPERSION 0
384#define GAME_MAX_DISPERSION 10
385
386#define GAME_DEFAULT_TECHLEVEL 0
387#define GAME_MIN_TECHLEVEL 0
388#define GAME_MAX_TECHLEVEL 100
389
390#define GAME_DEFAULT_ANGRYCITIZEN TRUE
391
392#define GAME_DEFAULT_END_TURN 5000
393#define GAME_MIN_END_TURN 1
394#define GAME_MAX_END_TURN 32767
395
396#define GAME_DEFAULT_MIN_PLAYERS 1
397#define GAME_MIN_MIN_PLAYERS 0
398#define GAME_MAX_MIN_PLAYERS MAX_NUM_PLAYERS
399
400#define GAME_DEFAULT_MAX_PLAYERS MAX_NUM_PLAYERS
401#define GAME_MIN_MAX_PLAYERS 1
402#define GAME_MAX_MAX_PLAYERS MAX_NUM_PLAYERS
403
404#define GAME_DEFAULT_AIFILL 5
405#define GAME_MIN_AIFILL 0
406#define GAME_MAX_AIFILL GAME_MAX_MAX_PLAYERS
407
408#define GAME_DEFAULT_NATIONSET ""
409
410#define GAME_DEFAULT_FOODBOX 100
411#define GAME_MIN_FOODBOX 1
412#define GAME_MAX_FOODBOX 10000
413
414#define GAME_DEFAULT_SHIELDBOX 100
415#define GAME_MIN_SHIELDBOX 1
416#define GAME_MAX_SHIELDBOX 10000
417
418#define GAME_DEFAULT_SCIENCEBOX 100
419#define GAME_MIN_SCIENCEBOX 1
420#define GAME_MAX_SCIENCEBOX 10000
421
422#define GAME_DEFAULT_DIPLBULBCOST 0
423#define GAME_MIN_DIPLBULBCOST 0
424#define GAME_MAX_DIPLBULBCOST 100
425
426#define GAME_DEFAULT_DIPLGOLDCOST 0
427#define GAME_MIN_DIPLGOLDCOST 0
428#define GAME_MAX_DIPLGOLDCOST 100
429
430#define GAME_DEFAULT_INCITE_GOLD_LOSS_CHANCE 0
431#define GAME_MIN_INCITE_GOLD_LOSS_CHANCE 0
432#define GAME_MAX_INCITE_GOLD_LOSS_CHANCE 100
433
434#define GAME_DEFAULT_INCITE_GOLD_CAPT_CHANCE 0
435#define GAME_MIN_INCITE_GOLD_CAPT_CHANCE 0
436#define GAME_MAX_INCITE_GOLD_CAPT_CHANCE 100
437
438#define GAME_DEFAULT_FOGOFWAR TRUE
439
440#define GAME_DEFAULT_FOGGEDBORDERS FALSE
441
442#define GAME_DEFAULT_GLOBAL_WARMING TRUE
443
444#define GAME_DEFAULT_GLOBAL_WARMING_PERCENT 100
445#define GAME_MIN_GLOBAL_WARMING_PERCENT 1
446#define GAME_MAX_GLOBAL_WARMING_PERCENT 10000
447
448#define GAME_DEFAULT_NUCLEAR_WINTER TRUE
449
450#define GAME_DEFAULT_NUCLEAR_WINTER_PERCENT 100
451#define GAME_MIN_NUCLEAR_WINTER_PERCENT 1
452#define GAME_MAX_NUCLEAR_WINTER_PERCENT 10000
453
454#define GAME_DEFAULT_BORDERS BORDERS_ENABLED
455
456#define GAME_DEFAULT_HAPPYBORDERS HB_NATIONAL
457
458#define GAME_DEFAULT_DIPLOMACY DIPLO_FOR_ALL
459
460#define GAME_DEFAULT_DIPLCHANCE 80
461#define GAME_MIN_DIPLCHANCE 40
462#define GAME_MAX_DIPLCHANCE 100
463
464#define GAME_DEFAULT_FREECOST 0
465#define GAME_MIN_FREECOST 0
466#define GAME_MAX_FREECOST 100
467
468#define GAME_DEFAULT_CONQUERCOST 0
469#define GAME_MIN_CONQUERCOST 0
470#define GAME_MAX_CONQUERCOST 100
471
472#define GAME_DEFAULT_TECHLOSSFG -1
473#define GAME_MIN_TECHLOSSFG -1
474#define GAME_MAX_TECHLOSSFG 200
475
476#define GAME_DEFAULT_TECHLOSSREST 50
477#define GAME_MIN_TECHLOSSREST -1
478#define GAME_MAX_TECHLOSSREST 100
479
480#define GAME_DEFAULT_TECHLEAK 100
481#define GAME_MIN_TECHLEAK 0
482#define GAME_MAX_TECHLEAK 300
483
484#define GAME_DEFAULT_CITYMINDIST 2
485#define GAME_MIN_CITYMINDIST 1
486#define GAME_MAX_CITYMINDIST 11
487
488#define GAME_DEFAULT_CIVILWARSIZE 10
489#define GAME_MIN_CIVILWARSIZE 2 /* can't split an empire of 1 city */
490#define GAME_MAX_CIVILWARSIZE 1000
491
492#define GAME_DEFAULT_RESTRICTINFRA FALSE
493#define GAME_DEFAULT_UNRPROTECTS TRUE
494
495#define GAME_DEFAULT_CONTACTTURNS 20
496#define GAME_MIN_CONTACTTURNS 0
497#define GAME_MAX_CONTACTTURNS 100
498
499#define GAME_DEFAULT_CELEBRATESIZE 3
500
501#define GAME_DEFAULT_RAPTUREDELAY 1
502#define GAME_MIN_RAPTUREDELAY 1
503#define GAME_MAX_RAPTUREDELAY 99 /* 99 practicaly disables rapturing */
504
505#define GAME_DEFAULT_DISASTERS 10
506#define GAME_MIN_DISASTERS 0
507#define GAME_MAX_DISASTERS 1000
508
509#define GAME_DEFAULT_TRAIT_DIST_MODE TDM_FIXED
510
511#define GAME_DEFAULT_SAVEPALACE TRUE
512
513#define GAME_DEFAULT_HOMECAUGHTUNITS TRUE
514
515#define GAME_DEFAULT_NATURALCITYNAMES TRUE
516
517#define GAME_DEFAULT_MIGRATION FALSE
518
519#define GAME_DEFAULT_MGR_TURNINTERVAL 5
520#define GAME_MIN_MGR_TURNINTERVAL 1
521#define GAME_MAX_MGR_TURNINTERVAL 100
522
523#define GAME_DEFAULT_MGR_FOODNEEDED TRUE
524
525/* definition of the migration distance in relation to the current city
526 * radius; 0 means that migration is possible if the second city is within
527 * the city radius */
528#define GAME_DEFAULT_MGR_DISTANCE 0
529#define GAME_MIN_MGR_DISTANCE (0 - CITY_MAP_MAX_RADIUS)
530#define GAME_MAX_MGR_DISTANCE (1 + CITY_MAP_MAX_RADIUS)
531
532#define GAME_DEFAULT_MGR_NATIONCHANCE 50
533#define GAME_MIN_MGR_NATIONCHANCE 0
534#define GAME_MAX_MGR_NATIONCHANCE 100
535
536#define GAME_DEFAULT_MGR_WORLDCHANCE 10
537#define GAME_MIN_MGR_WORLDCHANCE 0
538#define GAME_MAX_MGR_WORLDCHANCE 100
539
540#define GAME_DEFAULT_AQUEDUCTLOSS 0
541#define GAME_MIN_AQUEDUCTLOSS 0
542#define GAME_MAX_AQUEDUCTLOSS 100
543
544#define GAME_DEFAULT_KILLSTACK TRUE
545#define GAME_DEFAULT_KILLCITIZEN TRUE
546
547#define GAME_DEFAULT_KILLUNHOMED 0
548#define GAME_MIN_KILLUNHOMED 0
549#define GAME_MAX_KILLUNHOMED 100
550
551#define GAME_DEFAULT_TECHPENALTY 100
552#define GAME_MIN_TECHPENALTY 0
553#define GAME_MAX_TECHPENALTY 100
554
555#define GAME_DEFAULT_TECHLOST_RECV 0
556#define GAME_MIN_TECHLOST_RECV 0
557#define GAME_MAX_TECHLOST_RECV 100
558
559#define GAME_DEFAULT_TECHLOST_DONOR 0
560#define GAME_MIN_TECHLOST_DONOR 0
561#define GAME_MAX_TECHLOST_DONOR 100
562
563#define GAME_DEFAULT_TEAM_POOLED_RESEARCH TRUE
564#define GAME_DEFAULT_MULTIRESEARCH FALSE
565
566#define GAME_DEFAULT_RAZECHANCE 20
567#define GAME_MIN_RAZECHANCE 0
568#define GAME_MAX_RAZECHANCE 100
569
570#define GAME_DEFAULT_REVEALMAP REVEAL_MAP_NONE
571
572#define GAME_DEFAULT_SCORELOG FALSE
573#define GAME_DEFAULT_SCORELOGLEVEL SL_ALL
574#define GAME_DEFAULT_SCOREFILE "freeciv-score.log"
575
576/* Turns between reports is random between SCORETURN and (2 x SCORETURN).
577 * First report is shown at SCORETURN. As report is generated in the end of the turn,
578 * first report is already generated at (SCORETURN - 1) */
579#define GAME_DEFAULT_SCORETURN 20
580
581#define GAME_DEFAULT_VICTORY_CONDITIONS (1 << VC_SPACERACE | 1 << VC_ALLIED)
582#define GAME_DEFAULT_END_SPACESHIP TRUE
583
584#define GAME_DEFAULT_SPACESHIP_TRAVEL_PCT 100
585#define GAME_MIN_SPACESHIP_TRAVEL_PCT 50
586#define GAME_MAX_SPACESHIP_TRAVEL_PCT 1000
587
588#define GAME_DEFAULT_TURNBLOCK TRUE
589
590#define GAME_DEFAULT_AUTO_AI_TOGGLE FALSE
591
592#define GAME_DEFAULT_TIMEOUT 0
593#define GAME_DEFAULT_FIRST_TIMEOUT -1
594#define GAME_DEFAULT_TIMEOUTINT 0
595#define GAME_DEFAULT_TIMEOUTINTINC 0
596#define GAME_DEFAULT_TIMEOUTINC 0
597#define GAME_DEFAULT_TIMEOUTINCMULT 1
598#define GAME_DEFAULT_TIMEOUTADDEMOVE 0
599#define GAME_DEFAULT_TIMEOUTCOUNTER 1
600
601#define GAME_DEFAULT_MAXCONNECTIONSPERHOST 4
602#define GAME_MIN_MAXCONNECTIONSPERHOST 0
603#define GAME_MAX_MAXCONNECTIONSPERHOST MAX_NUM_CONNECTIONS
604
605#define GAME_MIN_TIMEOUT -1
606#define GAME_MAX_TIMEOUT 8639999
607#define GAME_MIN_FIRST_TIMEOUT -1
608#define GAME_MAX_FIRST_TIMEOUT GAME_MAX_TIMEOUT
609
610#define GAME_MIN_UNITWAITTIME 0
611#define GAME_MAX_UNITWAITTIME GAME_MAX_TIMEOUT
612#define GAME_DEFAULT_UNITWAITTIME 0
613
614#define GAME_DEFAULT_PHASE_MODE 0
615
616#define GAME_DEFAULT_TCPTIMEOUT 10
617#define GAME_MIN_TCPTIMEOUT 0
618#define GAME_MAX_TCPTIMEOUT 120
619
620#define GAME_DEFAULT_NETWAIT 4
621#define GAME_MIN_NETWAIT 0
622#define GAME_MAX_NETWAIT 20
623
624#define GAME_DEFAULT_PINGTIME 20
625#define GAME_MIN_PINGTIME 1
626#define GAME_MAX_PINGTIME 1800
627
628#define GAME_DEFAULT_PINGTIMEOUT 60
629#define GAME_MIN_PINGTIMEOUT 60
630#define GAME_MAX_PINGTIMEOUT 1800
631
632#define GAME_DEFAULT_IPHIDE FALSE
633
634#define GAME_DEFAULT_NOTRADESIZE 0
635#define GAME_MIN_NOTRADESIZE 0
636#define GAME_MAX_NOTRADESIZE 49
637
638#define GAME_DEFAULT_TRADEWORLDRELPCT 50
639#define GAME_MIN_TRADEWORLDRELPCT 0
640#define GAME_MAX_TRADEWORLDRELPCT 100
641
642#define GAME_DEFAULT_FULLTRADESIZE 1
643#define GAME_MIN_FULLTRADESIZE 1
644#define GAME_MAX_FULLTRADESIZE 50
645
646#define GAME_DEFAULT_TRADING_TECH TRUE
647#define GAME_DEFAULT_TRADING_GOLD TRUE
648#define GAME_DEFAULT_TRADING_CITY TRUE
649
650#define GAME_DEFAULT_CARAVAN_BONUS_STYLE CBS_CLASSIC
651
652#define GAME_DEFAULT_TRADEMINDIST 9
653#define GAME_MIN_TRADEMINDIST 1
654#define GAME_MAX_TRADEMINDIST 999
655
656#define GAME_DEFAULT_TRADE_REVENUE_STYLE TRS_CLASSIC
657
658#define GAME_DEFAULT_BARBARIANRATE BARBS_NORMAL
659
660#define GAME_DEFAULT_ONSETBARBARIAN 60
661#define GAME_MIN_ONSETBARBARIAN 1
662#define GAME_MAX_ONSETBARBARIAN GAME_MAX_END_TURN
663
664#define GAME_DEFAULT_OCCUPYCHANCE 0
665#define GAME_MIN_OCCUPYCHANCE 0
666#define GAME_MAX_OCCUPYCHANCE 100
667
668#define GAME_DEFAULT_AUTOATTACK FALSE
669
670#ifdef FREECIV_WEB
671#define GAME_DEFAULT_RULESETDIR "classic"
672#else /* FREECIV_WEB */
673#define GAME_DEFAULT_RULESETDIR "civ2civ3"
674#endif /* FREECIV_WEB */
675
676#define GAME_DEFAULT_SAVE_NAME "freeciv"
677#define GAME_DEFAULT_SAVETURNS 1
678#define GAME_MIN_SAVETURNS 1
679#define GAME_MAX_SAVETURNS 200
680#define GAME_DEFAULT_SAVEFREQUENCY 15
681#define GAME_MIN_SAVEFREQUENCY 2
682#define GAME_MAX_SAVEFREQUENCY 1440
683
684#ifdef FREECIV_WEB
685#define GAME_DEFAULT_AUTOSAVES 0
686#else /* FREECIV_WEB */
687#define GAME_DEFAULT_AUTOSAVES (1 << AS_TURN | 1 << AS_GAME_OVER | 1 << AS_QUITIDLE | 1 << AS_INTERRUPT)
688#endif /* FREECIV_WEB */
689
690#define GAME_DEFAULT_THREADED_SAVE FALSE
691
692#define GAME_DEFAULT_USER_META_MESSAGE ""
693
694#define GAME_DEFAULT_SKILL_LEVEL AI_LEVEL_EASY
695#define GAME_HARDCODED_DEFAULT_SKILL_LEVEL 3 /* that was 'easy' in old saves */
696#define GAME_OLD_DEFAULT_SKILL_LEVEL 5 /* normal; for oldest save games */
697
698#define GAME_DEFAULT_TOP_CITIES_COUNT 5
699#define GAME_MIN_TOP_CITIES_COUNT 0
700#define GAME_MAX_TOP_CITIES_COUNT 40
701
702#define GAME_DEFAULT_DEMOGRAPHY "NASRLPEMOCqrb"
703#define GAME_DEFAULT_ALLOW_TAKE "HAhadOo"
704
705#define GAME_DEFAULT_EVENT_CACHE_TURNS 1
706#define GAME_MIN_EVENT_CACHE_TURNS 0
707#define GAME_MAX_EVENT_CACHE_TURNS (GAME_MAX_END_TURN + 1)
708
709#define GAME_DEFAULT_EVENT_CACHE_MAX_SIZE 256
710#define GAME_MIN_EVENT_CACHE_MAX_SIZE 10
711#define GAME_MAX_EVENT_CACHE_MAX_SIZE 20000
712
713#define GAME_DEFAULT_EVENT_CACHE_CHAT TRUE
714
715#define GAME_DEFAULT_EVENT_CACHE_INFO FALSE
716
717#define GAME_DEFAULT_COMPRESS_LEVEL 6 /* if we have compression */
718#define GAME_MIN_COMPRESS_LEVEL 1
719#define GAME_MAX_COMPRESS_LEVEL 9
720
721#if defined(FREECIV_HAVE_LIBZSTD)
722# define GAME_DEFAULT_COMPRESS_TYPE FZ_ZSTD
723#elif defined(FREECIV_HAVE_LIBLZMA)
724# define GAME_DEFAULT_COMPRESS_TYPE FZ_XZ
725#elif defined(FREECIV_HAVE_LIBZ)
726# define GAME_DEFAULT_COMPRESS_TYPE FZ_ZLIB
727#else
728# define GAME_DEFAULT_COMPRESS_TYPE FZ_PLAIN
729#endif
730
731#define GAME_DEFAULT_ALLOWED_CITY_NAMES CNM_PLAYER_UNIQUE
732
733#define GAME_DEFAULT_PLRCOLORMODE PLRCOL_PLR_ORDER
734
735#define GAME_DEFAULT_REVOLENTYPE REVOLEN_RANDOM
736#define GAME_DEFAULT_REVOLUTION_LENGTH 5
737#define GAME_MIN_REVOLUTION_LENGTH 1
738#define GAME_MAX_REVOLUTION_LENGTH 20
739
740#define GAME_DEFAULT_START_YEAR -4000
741
742#define GAME_DEFAULT_AIRLIFTINGSTYLE AIRLIFTING_CLASSICAL
743#define GAME_DEFAULT_PERSISTENTREADY PERSISTENTR_DISABLED
744
745#define GAME_MAX_READ_RECURSION 10 /* max recursion for the read command */
746
747#define GAME_DEFAULT_KICK_TIME 1800 /* 1800 seconds = 30 minutes. */
748#define GAME_MIN_KICK_TIME 0 /* 0 = disabling. */
749#define GAME_MAX_KICK_TIME 86400 /* 86400 seconds = 24 hours. */
750
751/* Max distance from the capital used to calculat the bribe cost. */
752#define GAME_UNIT_BRIBE_DIST_MAX 32
753
754/* Max number of recursive transports. */
755#define GAME_TRANSPORT_MAX_RECURSIVE 5
756
757/* Ruleset settings */
758
759#define RS_MAX_VALUE 1000000
760
761/* TRANS: year label (Anno Domini) */
762#define RS_DEFAULT_POS_YEAR_LABEL N_("AD")
763/* TRANS: year label (Before Christ) */
764#define RS_DEFAULT_NEG_YEAR_LABEL N_("BC")
765
766#define RS_DEFAULT_ILLNESS_ON FALSE
767
768#define RS_DEFAULT_ILLNESS_BASE_FACTOR 25
769#define RS_MIN_ILLNESS_BASE_FACTOR 0
770#define RS_MAX_ILLNESS_BASE_FACTOR RS_MAX_VALUE
771
772#define RS_DEFAULT_ILLNESS_MIN_SIZE 3
773#define RS_MIN_ILLNESS_MIN_SIZE 1
774#define RS_MAX_ILLNESS_MIN_SIZE 100
775
776#define RS_DEFAULT_ILLNESS_TRADE_INFECTION_PCT 50
777#define RS_MIN_ILLNESS_TRADE_INFECTION_PCT 0
778#define RS_MAX_ILLNESS_TRADE_INFECTION_PCT 500
779
780#define RS_DEFAULT_ILLNESS_POLLUTION_PCT 50
781#define RS_MIN_ILLNESS_POLLUTION_PCT 0
782#define RS_MAX_ILLNESS_POLLUTION_PCT 500
783
784#define RS_DEFAULT_CALENDAR_SKIP_0 TRUE
785
786#define RS_DEFAULT_BORDER_RADIUS_SQ_CITY 17 /* city radius 4 */
787#define RS_MIN_BORDER_RADIUS_SQ_CITY 0
788#define RS_MAX_BORDER_RADIUS_SQ_CITY 401 /* city radius 20 */
789
790#define RS_DEFAULT_BORDER_SIZE_EFFECT 1
791#define RS_MIN_BORDER_SIZE_EFFECT 0
792#define RS_MAX_BORDER_SIZE_EFFECT 100
793
794#define RS_DEFAULT_BORDER_RADIUS_SQ_CITY_PERMANENT 0
795#define RS_MIN_BORDER_RADIUS_SQ_CITY_PERMANENT (-CITY_MAP_MAX_RADIUS_SQ)
796#define RS_MAX_BORDER_RADIUS_SQ_CITY_PERMANENT 401 /* city radius 20 */
797
798#define RS_DEFAULT_INCITE_BASE_COST 1000
799#define RS_MIN_INCITE_BASE_COST 0
800#define RS_MAX_INCITE_BASE_COST RS_MAX_VALUE
801
802#define RS_DEFAULT_INCITE_IMPROVEMENT_FCT 1
803#define RS_MIN_INCITE_IMPROVEMENT_FCT 0
804#define RS_MAX_INCITE_IMPROVEMENT_FCT RS_MAX_VALUE
805
806#define RS_DEFAULT_INCITE_UNIT_FCT 2
807#define RS_MIN_INCITE_UNIT_FCT 0
808#define RS_MAX_INCITE_UNIT_FCT RS_MAX_VALUE
809
810#define RS_DEFAULT_INCITE_TOTAL_FCT 100
811#define RS_MIN_INCITE_TOTAL_FCT 0
812#define RS_MAX_INCITE_TOTAL_FCT RS_MAX_VALUE
813
814#define RS_DEFAULT_GRANARY_FOOD_INI 20
815
816#define RS_DEFAULT_GRANARY_FOOD_INC 10
817#define RS_MIN_GRANARY_FOOD_INC 0
818#define RS_MAX_GRANARY_FOOD_INC RS_MAX_VALUE
819
820#define RS_DEFAULT_CITY_CENTER_OUTPUT 0
821#define RS_MIN_CITY_CENTER_OUTPUT 0
822#define RS_MAX_CITY_CENTER_OUTPUT RS_MAX_VALUE
823
824#define RS_DEFAULT_CITIES_MIN_DIST 2
825#define RS_MIN_CITIES_MIN_DIST 1
826#define RS_MAX_CITIES_MIN_DIST RS_MAX_VALUE
827
828/* the constants CITY_MAP_*_RADIUS are defined in city.c */
829#define RS_DEFAULT_CITY_RADIUS_SQ CITY_MAP_DEFAULT_RADIUS_SQ
830#define RS_MIN_CITY_RADIUS_SQ CITY_MAP_MIN_RADIUS_SQ
831#define RS_MAX_CITY_RADIUS_SQ CITY_MAP_MAX_RADIUS_SQ
832
833#define RS_DEFAULT_VIS_RADIUS_SQ 5 /* city radius 2 */
834#define RS_MIN_VIS_RADIUS_SQ 0
835#define RS_MAX_VIS_RADIUS_SQ 401 /* city radius 20 */
836
837#define RS_DEFAULT_BASE_POLLUTION -20
838/* no min / max values as it can be set to high negative values to
839 * deactiveate pollution and high positive values to create much
840 * pollution */
841
842#define RS_DEFAULT_HAPPY_COST 2
843#define RS_MIN_HAPPY_COST 0
844#define RS_MAX_HAPPY_COST 10000
845
846#define RS_DEFAULT_FOOD_COST 2
847#define RS_MIN_FOOD_COST 0
848#define RS_MAX_FOOD_COST 10000
849
850#define RS_DEFAULT_CIVIL_WAR_CELEB -5
851#define RS_DEFAULT_CIVIL_WAR_UNHAPPY 5
852
853#define RS_DEFAULT_TIRED_ATTACK FALSE
854#define RS_DEFAULT_NUKE_POP_LOSS_PCT 49
855#define RS_MIN_NUKE_POP_LOSS_PCT 0
856#define RS_MAX_NUKE_POP_LOSS_PCT 100
857#define RS_DEFAULT_NUKE_DEFENDER_SURVIVAL_CHANCE_PCT 0
858#define RS_MIN_NUKE_DEFENDER_SURVIVAL_CHANCE_PCT 0
859#define RS_MAX_NUKE_DEFENDER_SURVIVAL_CHANCE_PCT 100
860
861#define RS_DEFAULT_BASE_BRIBE_COST 750
862#define RS_MIN_BASE_BRIBE_COST 0
863#define RS_MAX_BASE_BRIBE_COST RS_MAX_VALUE
864
865#define RS_DEFAULT_RANSOM_GOLD 100
866#define RS_MIN_RANSOM_GOLD 0
867#define RS_MAX_RANSOM_GOLD RS_MAX_VALUE
868
869#define RS_DEFAULT_PILLAGE_SELECT TRUE
870
871#define RS_DEFAULT_UPGRADE_VETERAN_LOSS 0
872#define RS_MIN_UPGRADE_VETERAN_LOSS 0
873#define RS_MAX_UPGRADE_VETERAN_LOSS MAX_VET_LEVELS
874
875#define RS_DEFAULT_TECH_UPKEEP_DIVIDER 100
876#define RS_MIN_TECH_UPKEEP_DIVIDER 1
877#define RS_MAX_TECH_UPKEEP_DIVIDER 100000
878
879#define RS_DEFAULT_POISON_EMPTIES_FOOD_STOCK FALSE
880#define RS_DEFAULT_STEAL_MAP_REVEALS_CITIES TRUE
881#define RS_DEFAULT_ACTION_ACTOR_CONSUMING_ALWAYS FALSE
882#define RS_DEFAULT_USER_ACTION_TARGET_KIND ATK_UNIT
883#define RS_DEFAULT_ACTION_MIN_RANGE 0
884#define RS_DEFAULT_ACTION_MAX_RANGE 1
885/* Can't move less than one step, or it's not move at all */
886#define RS_DEFAULT_MOVE_MIN_RANGE 1
887#define RS_DEFAULT_EXPLODE_NUCLEAR_MAX_RANGE 0
888
889#define RS_ACTION_NO_MAX_DISTANCE "unlimited"
890
891#ifdef __cplusplus
892}
893#endif /* __cplusplus */
894
895#endif /* FC__GAME_H */
incite_cost
char * incite_cost
Definition comments.c:74
MAX_LEN_MSG
#define MAX_LEN_MSG
Definition conn_types.h:37
connection.h
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:74
fc_types.h
trait_dist_mode
trait_dist_mode
Definition fc_types.h:1023
MAX_NUM_BUILDING_LIST
#define MAX_NUM_BUILDING_LIST
Definition fc_types.h:46
MAX_LEN_ALLOW_TAKE
#define MAX_LEN_ALLOW_TAKE
Definition fc_types.h:70
MAX_LEN_STARTUNIT
#define MAX_LEN_STARTUNIT
Definition fc_types.h:73
MAX_LEN_NAME
#define MAX_LEN_NAME
Definition fc_types.h:66
MAX_LEN_DEMOGRAPHY
#define MAX_LEN_DEMOGRAPHY
Definition fc_types.h:69
MAX_NUM_TECH_LIST
#define MAX_NUM_TECH_LIST
Definition fc_types.h:44
population_to_text
const char * population_to_text(int thousand_citizen)
Definition game.c:737
game_reset
void game_reset(void)
Definition game.c:491
barbarians_rate
barbarians_rate
Definition game.h:51
BARBS_HUTS_ONLY
@ BARBS_HUTS_ONLY
Definition game.h:53
BARBS_FREQUENT
@ BARBS_FREQUENT
Definition game.h:55
BARBS_NORMAL
@ BARBS_NORMAL
Definition game.h:54
BARBS_DISABLED
@ BARBS_DISABLED
Definition game.h:52
BARBS_HORDES
@ BARBS_HORDES
Definition game.h:56
user_flag_init
void user_flag_init(struct user_flag *flag)
Definition game.c:827
is_ruleset_compat_mode
static bool is_ruleset_compat_mode(void)
Definition game.h:362
user_flag_free
void user_flag_free(struct user_flag *flag)
Definition game.c:836
game
struct civ_game game
Definition game.c:61
game_ruleset_init
void game_ruleset_init(void)
Definition game.c:515
is_player_phase
bool is_player_phase(const struct player *pplayer, int phase)
Definition game.c:710
debug_globals
debug_globals
Definition game.h:39
DEBUG_LAST
@ DEBUG_LAST
Definition game.h:41
DEBUG_FERRIES
@ DEBUG_FERRIES
Definition game.h:40
scorelog_level
scorelog_level
Definition game.h:67
SL_HUMANS
@ SL_HUMANS
Definition game.h:69
SL_ALL
@ SL_ALL
Definition game.h:68
current_turn_timeout
int current_turn_timeout(void)
Definition game.c:851
game_city_by_name
struct city * game_city_by_name(const char *name)
Definition game.c:87
game_ruleset_free
void game_ruleset_free(void)
Definition game.c:564
game_init
void game_init(bool keep_ruleset_value)
Definition game.c:443
_ruleset_compat_mode
bool _ruleset_compat_mode
Definition game.c:66
game_remove_unit
void game_remove_unit(struct world *gworld, struct unit *punit)
Definition game.c:123
game_unit_by_number
struct unit * game_unit_by_number(int id)
Definition game.c:115
civ_population
int civ_population(const struct player *pplayer)
Definition game.c:73
game_remove_city
void game_remove_city(struct world *gworld, struct city *pcity)
Definition game.c:184
any_web_conns
#define any_web_conns()
Definition game.h:316
game_free
void game_free(void)
Definition game.c:474
autosave_type
autosave_type
Definition game.h:59
AS_INTERRUPT
@ AS_INTERRUPT
Definition game.h:63
AS_GAME_OVER
@ AS_GAME_OVER
Definition game.h:61
AS_QUITIDLE
@ AS_QUITIDLE
Definition game.h:62
AS_TIMER
@ AS_TIMER
Definition game.h:64
AS_TURN
@ AS_TURN
Definition game.h:60
city_names_mode
city_names_mode
Definition game.h:44
CNM_PLAYER_UNIQUE
@ CNM_PLAYER_UNIQUE
Definition game.h:46
CNM_GLOBAL_UNIQUE
@ CNM_GLOBAL_UNIQUE
Definition game.h:47
CNM_NO_RESTRICTIONS
@ CNM_NO_RESTRICTIONS
Definition game.h:45
CNM_NO_STEALING
@ CNM_NO_STEALING
Definition game.h:48
game_map_init
void game_map_init(void)
Definition game.c:461
initialize_globals
void initialize_globals(void)
Definition game.c:686
generate_save_name
int generate_save_name(const char *format, char *buf, int buflen, const char *reason)
Definition game.c:794
set_ruleset_compat_mode
static void set_ruleset_compat_mode(bool active)
Definition game.h:354
game_city_by_number
struct city * game_city_by_number(int id)
Definition game.c:106
name
const char * name
Definition inputfile.c:127
fz_method
fz_method
Definition ioz.h:36
packets.h
plrcolor_mode
plrcolor_mode
Definition player.h:52
randseed.h
randseed
unsigned int randseed
Definition randseed.h:23
shared.h
MAX_LEN_PATH
#define MAX_LEN_PATH
Definition shared.h:32
city
Definition city.h:320
civ_game
Definition game.h:82
civ_game::diplgoldcost
int diplgoldcost
Definition game.h:140
civ_game::contactturns
int contactturns
Definition game.h:137
civ_game::num_phases
int num_phases
Definition game.h:169
civ_game::allowed_city_names
enum city_names_mode allowed_city_names
Definition game.h:127
civ_game::unitwaittime
int unitwaittime
Definition game.h:198
civ_game::multiresearch
bool multiresearch
Definition game.h:163
civ_game::incite_gold_capt_chance
int incite_gold_capt_chance
Definition game.h:142
civ_game::nationlist
char * nationlist
Definition game.h:282
civ_game::scorefile
char scorefile[MAX_LEN_PATH]
Definition game.h:224
civ_game::named_teams
int named_teams
Definition game.h:294
civ_game::as_count
size_t as_count
Definition game.h:293
civ_game::type
char type[20]
Definition game.h:267
civ_game::mutexes
struct civ_game::@31::@35::@39 mutexes
civ_game::mgr_worldchance
int mgr_worldchance
Definition game.h:162
civ_game::plr_colors
struct rgbcolor_list * plr_colors
Definition game.h:245
civ_game::kick_time
int kick_time
Definition game.h:153
civ_game::allowed_govs
const char ** allowed_govs
Definition game.h:285
civ_game::chat
bool chat
Definition game.h:253
civ_game::unit_deallocate
void(* unit_deallocate)(int unit_id)
Definition game.h:301
civ_game::barbarianrate
enum barbarians_rate barbarianrate
Definition game.h:133
civ_game::last_updated_year
bool last_updated_year
Definition game.h:236
civ_game::upgrade_veteran_loss
int upgrade_veteran_loss
Definition game.h:199
civ_game::dispersion
int dispersion
Definition game.h:143
civ_game::threaded_save
bool threaded_save
Definition game.h:180
civ_game::max_size
int max_size
Definition game.h:252
civ_game::world_peace_start
int world_peace_start
Definition game.h:238
civ_game::save_compress_level
int save_compress_level
Definition game.h:181
civ_game::plr_bg_color
struct rgbcolor * plr_bg_color
Definition game.h:103
civ_game::tcptimeout
int tcptimeout
Definition game.h:195
civ_game::incite_total_factor
int incite_total_factor
Definition game.h:150
civ_game::init_vis_radius_sq
int init_vis_radius_sq
Definition game.h:152
civ_game::start_units
char start_units[MAX_LEN_STARTUNIT]
Definition game.h:189
civ_game::event_cache
struct civ_game::@31::@35::@36 event_cache
civ_game::save_nturns
int save_nturns
Definition game.h:183
civ_game::debug
bool debug[DEBUG_LAST]
Definition game.h:202
civ_game::turn_change_time
float turn_change_time
Definition game.h:218
civ_game::vision_reveal_tiles
bool vision_reveal_tiles
Definition game.h:200
civ_game::scenario_desc
struct packet_scenario_description scenario_desc
Definition game.h:88
civ_game::description_file
char * description_file
Definition game.h:281
civ_game::mgr_nationchance
int mgr_nationchance
Definition game.h:160
civ_game::connectmsg
char connectmsg[MAX_LEN_MSG]
Definition game.h:219
civ_game::fixedlength
bool fixedlength
Definition game.h:146
civ_game::spaceship_travel_pct
int spaceship_travel_pct
Definition game.h:179
civ_game::glob_observers
struct conn_list * glob_observers
Definition game.h:98
civ_game::save_private_map
bool save_private_map
Definition game.h:262
civ_game::techlost_recv
int techlost_recv
Definition game.h:194
civ_game::control
struct packet_ruleset_control control
Definition game.h:83
civ_game::ruleset_summary
char * ruleset_summary
Definition game.h:84
civ_game::mgr_foodneeded
bool mgr_foodneeded
Definition game.h:159
civ_game::diplchance
int diplchance
Definition game.h:138
civ_game::netwait
int netwait
Definition game.h:168
civ_game::random_move_time
struct player * random_move_time
Definition game.h:276
civ_game::nc_agovs
char ** nc_agovs
Definition game.h:286
civ_game::fogofwar_old
bool fogofwar_old
Definition game.h:234
civ_game::incite_gold_loss_chance
int incite_gold_loss_chance
Definition game.h:141
civ_game::end_turn
int end_turn
Definition game.h:144
civ_game::nuclear_winter
bool nuclear_winter
Definition game.h:231
civ_game::settings_gamestart_valid
bool settings_gamestart_valid
Definition game.h:243
civ_game::city_list
fc_mutex city_list
Definition game.h:271
civ_game::save_options
struct civ_game::@31::@35::@37 save_options
civ_game::plrcolormode
enum plrcolor_mode plrcolormode
Definition game.h:128
civ_game::onsetbarbarian
int onsetbarbarian
Definition game.h:171
civ_game::base_incite_cost
int base_incite_cost
Definition game.h:134
civ_game::demography
char demography[MAX_LEN_DEMOGRAPHY]
Definition game.h:240
civ_game::est_connections
struct conn_list * est_connections
Definition game.h:97
civ_game::info
struct packet_game_info info
Definition game.h:89
civ_game::autoupgrade_veteran_loss
int autoupgrade_veteran_loss
Definition game.h:132
civ_game::mgr_turninterval
int mgr_turninterval
Definition game.h:161
civ_game::user_message
char user_message[256]
Definition game.h:266
civ_game::min_players
int min_players
Definition game.h:166
civ_game::autosaves
unsigned autosaves
Definition game.h:185
civ_game::timeoutcounter
int timeoutcounter
Definition game.h:207
civ_game::save_timer
struct timer * save_timer
Definition game.h:217
civ_game::endspaceship
bool endspaceship
Definition game.h:145
civ_game::last_ping
time_t last_ping
Definition game.h:210
civ_game::scoreloglevel
enum scorelog_level scoreloglevel
Definition game.h:223
civ_game::rulesetdir
char rulesetdir[MAX_LEN_NAME]
Definition game.h:239
civ_game::ruleset_ready
bool ruleset_ready
Definition game.h:117
civ_game::start_year
int start_year
Definition game.h:191
civ_game::migration
bool migration
Definition game.h:164
civ_game::additional_phase_seconds
int additional_phase_seconds
Definition game.h:212
civ_game::incite_improvement_factor
int incite_improvement_factor
Definition game.h:149
civ_game::luadata
struct section_file * luadata
Definition game.h:247
civ_game::ip_hide
bool ip_hide
Definition game.h:174
civ_game::diplbulbcost
int diplbulbcost
Definition game.h:139
civ_game::scoreturn
int scoreturn
Definition game.h:225
civ_game::seed
randseed seed
Definition game.h:227
civ_game::natural_city_names
bool natural_city_names
Definition game.h:167
civ_game::dbid
int dbid
Definition game.h:248
civ_game::embedded_nations
char ** embedded_nations
Definition game.h:283
civ_game::maxconnectionsperhost
int maxconnectionsperhost
Definition game.h:155
civ_game::scenario
struct packet_scenario_info scenario
Definition game.h:87
civ_game::default_traits
struct trait_limits default_traits[TRAIT_COUNT]
Definition game.h:274
civ_game::timeoutint
int timeoutint
Definition game.h:203
civ_game::pingtimeout
int pingtimeout
Definition game.h:173
civ_game::nc_astyles
char ** nc_astyles
Definition game.h:292
civ_game::web_client_connections
struct conn_list * web_client_connections
Definition game.h:99
civ_game::occupychance
int occupychance
Definition game.h:170
civ_game::seed_setting
randseed seed_setting
Definition game.h:226
civ_game::phase_timer
struct timer * phase_timer
Definition game.h:211
civ_game::killunhomed
int killunhomed
Definition game.h:154
civ_game::nuclear_winter_percent
int nuclear_winter_percent
Definition game.h:232
civ_game::conquercost
int conquercost
Definition game.h:136
civ_game::revealmap
unsigned revealmap
Definition game.h:177
civ_game::orig_game_version
char orig_game_version[MAX_LEN_NAME]
Definition game.h:221
civ_game::pingtime
int pingtime
Definition game.h:172
civ_game::techloss_restore
int techloss_restore
Definition game.h:192
civ_game::allowed_terrains
const char ** allowed_terrains
Definition game.h:288
civ_game::default_ai_type_name
char default_ai_type_name[256]
Definition game.h:278
civ_game::ruledit
struct civ_game::@31::@35::@40 ruledit
civ_game::callbacks
struct civ_game::@33 callbacks
civ_game::ruleset_description
char * ruleset_description
Definition game.h:85
civ_game::civilwarsize
int civilwarsize
Definition game.h:135
civ_game::all_connections
struct conn_list * all_connections
Definition game.h:96
civ_game::save_known
bool save_known
Definition game.h:259
civ_game::ag_count
size_t ag_count
Definition game.h:287
civ_game::savepalace
bool savepalace
Definition game.h:187
civ_game::freecost
int freecost
Definition game.h:148
civ_game::nationset
char nationset[MAX_LEN_NAME]
Definition game.h:157
civ_game::allowed_styles
const char ** allowed_styles
Definition game.h:291
civ_game::aqueductloss
int aqueductloss
Definition game.h:129
civ_game::save_name
char save_name[MAX_LEN_NAME]
Definition game.h:220
civ_game::save_compress_type
enum fz_method save_compress_type
Definition game.h:182
civ_game::trait_dist
enum trait_dist_mode trait_dist
Definition game.h:165
civ_game::foggedborders
bool foggedborders
Definition game.h:147
civ_game::server
struct civ_game::@31::@35 server
civ_game::nc_aterrs
char ** nc_aterrs
Definition game.h:289
civ_game::embedded_nations_count
size_t embedded_nations_count
Definition game.h:284
civ_game::ruleset_init
bool ruleset_init
Definition game.h:116
civ_game::incite_unit_factor
int incite_unit_factor
Definition game.h:151
civ_game::ruleset_capabilities
char * ruleset_capabilities
Definition game.h:86
civ_game::timeoutincmult
int timeoutincmult
Definition game.h:205
civ_game::homecaughtunits
bool homecaughtunits
Definition game.h:188
civ_game::rgame
struct civ_game::@30 rgame
civ_game::global_warming
bool global_warming
Definition game.h:229
civ_game::ransom_gold
int ransom_gold
Definition game.h:175
civ_game::tinfo
struct packet_timeout_info tinfo
Definition game.h:91
civ_game::at_count
size_t at_count
Definition game.h:290
civ_game::meta_info
struct civ_game::@31::@35::@38 meta_info
civ_game::timeoutinc
int timeoutinc
Definition game.h:204
civ_game::allow_take
char allow_take[MAX_LEN_ALLOW_TAKE]
Definition game.h:241
civ_game::autoattack
bool autoattack
Definition game.h:131
civ_game::phase_mode_stored
int phase_mode_stored
Definition game.h:216
civ_game::start_city
bool start_city
Definition game.h:190
civ_game::max_players
int max_players
Definition game.h:156
civ_game::revolution_length
int revolution_length
Definition game.h:178
civ_game::turns
int turns
Definition game.h:251
civ_game::save_starts
bool save_starts
Definition game.h:261
civ_game::auto_ai_toggle
bool auto_ai_toggle
Definition game.h:130
civ_game::save_frequency
int save_frequency
Definition game.h:184
civ_game::veteran
struct veteran_system * veteran
Definition game.h:101
civ_game::mgr_distance
int mgr_distance
Definition game.h:158
civ_game::global_warming_percent
int global_warming_percent
Definition game.h:230
civ_game::calendar
struct packet_calendar_info calendar
Definition game.h:90
civ_game::default_government
struct government * default_government
Definition game.h:93
civ_game::client
struct civ_game::@31::@34 client
civ_game::government_during_revolution
struct government * government_during_revolution
Definition game.h:94
civ_game::timeoutintinc
int timeoutintinc
Definition game.h:206
civ_game::info
bool info
Definition game.h:254
civ_game::techlost_donor
int techlost_donor
Definition game.h:193
civ_game::timeoutaddenemymove
int timeoutaddenemymove
Definition game.h:208
civ_game::scorelog
bool scorelog
Definition game.h:222
civ_game::techpenalty
int techpenalty
Definition game.h:196
civ_game::razechance
int razechance
Definition game.h:176
civ_game::turnblock
bool turnblock
Definition game.h:197
government
Definition government.h:52
packet_calendar_info
Definition packets_gen.h:258
packet_game_info
Definition packets_gen.h:118
packet_ruleset_control
Definition packets_gen.h:1436
packet_scenario_description
Definition packets_gen.h:1607
packet_scenario_info
Definition packets_gen.h:1590
packet_timeout_info
Definition packets_gen.h:266
player
Definition player.h:249
rgbcolor
Definition rgbcolor.h:33
section_file
Definition section_file.h:36
timer
Definition timing.c:81
trait_limits
Definition traits.h:43
unit
Definition unit.h:140
user_flag
Definition game.h:73
user_flag::name
char * name
Definition game.h:74
user_flag::helptxt
char * helptxt
Definition game.h:75
veteran_system
Definition unittype.h:501
world
Definition world_object.h:37
timing.h
traits.h