Freeciv-3.4
Loading...
Searching...
No Matches
ruleload.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__RULELOAD_H
14#define FC__RULELOAD_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20#define RULESET_CAPABILITIES_BASE "+Freeciv-ruleset-3.4-Devel-2025.Jan.17"
21#ifdef FREECIV_WEB
22#define RULESET_CAPABILITIES RULESET_CAPABILITIES_BASE " +web-compatible"
23#else /* FREECIV_WEB */
24#define RULESET_CAPABILITIES RULESET_CAPABILITIES_BASE
25#endif /* FREECIV_WEB */
26/*
27 * Ruleset capabilities acceptable to this program:
28 *
29 * +Freeciv-3.4-ruleset
30 * - basic ruleset format for Freeciv versions 3.4.x; required
31 *
32 * +Freeciv-ruleset-V.V-Devel-YYYY.MMM.DD
33 * - ruleset of the development version at the given date
34 */
35
36#define RSFORMAT_3_4 50
37#define RSFORMAT_CURRENT RSFORMAT_3_4
38
39struct conn_list;
40
41typedef void (*rs_conversion_logger)(const char *msg);
42
43/* Functions */
44bool load_rulesets(const char *restore, const char *alt, bool compat_mode,
46 bool act, bool buffer_script, bool load_luadata);
48void send_rulesets(struct conn_list *dest);
49
50void rulesets_deinit(void);
51
53 const char *file, const char *function,
54 int line, enum log_level level,
55 const char *format, ...)
57
58#define ruleset_error(logger, level, format, ...) \
59 do { \
60 ruleset_error_real(logger, __FILE__, __FUNCTION__, __FC_LINE__, \
61 level, format, ## __VA_ARGS__); \
62 } while (FALSE);
63
64char *get_script_buffer(void);
65char *get_parser_buffer(void);
66
69
70/* Default ruleset values that are not settings (in game.h) */
71
72#define GAME_DEFAULT_ADDTOSIZE 9
73#define GAME_DEFAULT_CHANGABLE_TAX TRUE
74#define GAME_DEFAULT_VISION_REVEAL_TILES FALSE
75#define GAME_DEFAULT_DISASTER_FREQ 10
76#define GAME_DEFAULT_ACH_UNIQUE TRUE
77#define GAME_DEFAULT_ACH_VALUE 1
78#define RS_DEFAULT_MUUK_FOOD_WIPE TRUE
79#define RS_DEFAULT_MUUK_GOLD_WIPE TRUE
80#define RS_DEFAULT_MUUK_SHIELD_WIPE FALSE
81#define RS_DEFAULT_TECH_STEAL_HOLES TRUE
82#define RS_DEFAULT_TECH_TRADE_HOLES TRUE
83#define RS_DEFAULT_TECH_TRADE_LOSS_HOLES TRUE
84#define RS_DEFAULT_TECH_PARASITE_HOLES TRUE
85#define RS_DEFAULT_TECH_LOSS_HOLES TRUE
86#define RS_DEFAULT_PYTHAGOREAN_DIAGONAL FALSE
87
88#define RS_DEFAULT_GOLD_UPKEEP_STYLE "City"
89#define RS_DEFAULT_TECH_COST_STYLE "Civ I|II"
90#define RS_DEFAULT_TECH_LEAKAGE "None"
91#define RS_DEFAULT_TECH_UPKEEP_STYLE "None"
92
93#define RS_DEFAULT_CULTURE_VIC_POINTS 1000
94#define RS_DEFAULT_CULTURE_VIC_LEAD 300
95#define RS_DEFAULT_CULTURE_MIGRATION_PML 50
96#define RS_DEFAULT_HISTORY_INTEREST_PML 0
97
98#define RS_DEFAULT_WORLD_PEACE_TURNS 20
99
100#define RS_DEFAULT_GOODS_SELECTION GSM_LEAVING
101
102#define RS_DEFAULT_EXTRA_APPEARANCE 15
103#define RS_DEFAULT_EXTRA_DISAPPEARANCE 15
104
105#define RS_DEFAULT_ONLY_KILLING_VETERAN FALSE
106#define RS_DEFAULT_ONLY_REAL_FIGHT_VETERAN FALSE
107#define RS_DEFAULT_COMBAT_ODDS_SCALED_VETERANCY FALSE
108#define RS_DEFAULT_DAMAGE_REDUCES_BOMBARD_RATE TRUE
109
110#define RS_DEFAULT_SMALL_WONDER_VISIBILITY "Always"
111
112#define RS_DEFAULT_BASE_TECH_COST 20
113#define RS_MIN_BASE_TECH_COST 0
114#define RS_MAX_BASE_TECH_COST 20000
115
116#define RS_DEFAULT_MIN_TECH_COST 20
117#define RS_MIN_MIN_TECH_COST 0
118#define RS_MAX_MIN_TECH_COST 20000
119
120#define RS_DEFAULT_NATIONALITY FALSE
121#define RS_DEFAULT_UBUILD_NAT FALSE
122#define RS_DEFAULT_CONVERT_SPEED 50
123
124#ifdef __cplusplus
125}
126#endif /* __cplusplus */
127
128#endif /* FC__RULELOAD_H */
char * incite_cost
Definition comments.c:76
log_level
Definition log.h:29
int ruleset_purge_unused_entities(void)
Definition ruleload.c:323
void(* rs_conversion_logger)(const char *msg)
Definition ruleload.h:41
void rulesets_deinit(void)
Definition ruleload.c:9493
bool load_rulesets(const char *restore, const char *alt, bool compat_mode, rs_conversion_logger logger, bool act, bool buffer_script, bool load_luadata)
Definition ruleload.c:9413
int ruleset_purge_redundant_reqs(void)
Definition ruleload.c:500
bool reload_rulesets_settings(void)
Definition ruleload.c:9743
char * get_parser_buffer(void)
Definition ruleload.c:572
void ruleset_error_real(rs_conversion_logger logger, const char *file, const char *function, int line, enum log_level level, const char *format,...) fc__attribute((__format__(__printf__
void send_rulesets(struct conn_list *dest)
Definition ruleload.c:9766
char * get_script_buffer(void)
Definition ruleload.c:564
struct setting_list * level[OLEVELS_NUM]
Definition settings.c:190
#define fc__attribute(x)
Definition support.h:99