Freeciv-3.1
Loading...
Searching...
No Matches
ruleset.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__RULESET_H
14#define FC__RULESET_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20#define RULESET_CAPABILITIES_BASE "+Freeciv-3.1-ruleset"
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.1-ruleset
30 * - basic ruleset format for Freeciv versions 3.1.x; required
31 *
32 * +Freeciv-ruleset-Devel-YYYY.MMM.DD
33 * - ruleset of the development version at the given date
34 */
35
36#define RSFORMAT_3_1 20
37
38struct conn_list;
39
40typedef void (*rs_conversion_logger)(const char *msg);
41
42/* functions */
43bool load_rulesets(const char *restore, const char *alt, bool compat_mode,
45 bool act, bool buffer_script, bool load_luadata);
47void send_rulesets(struct conn_list *dest);
48
49void rulesets_deinit(void);
50
52 const char *file, const char *function,
53 int line, enum log_level level,
54 const char *format, ...)
55 fc__attribute((__format__ (__printf__, 6, 7)));
56
57#define ruleset_error(logger, level, format, ...) \
58 do { \
59 ruleset_error_real(logger, __FILE__, __FUNCTION__, __FC_LINE__, \
60 level, format, ## __VA_ARGS__); \
61 } while (FALSE);
62
63char *get_script_buffer(void);
64char *get_parser_buffer(void);
65
68
69/* Default ruleset values that are not settings (in game.h) */
70
71#define GAME_DEFAULT_ADDTOSIZE 9
72#define GAME_DEFAULT_CHANGABLE_TAX TRUE
73#define GAME_DEFAULT_VISION_REVEAL_TILES FALSE
74#define GAME_DEFAULT_NATIONALITY FALSE
75#define GAME_DEFAULT_CONVERT_SPEED 50
76#define GAME_DEFAULT_DISASTER_FREQ 10
77#define GAME_DEFAULT_ACH_UNIQUE TRUE
78#define GAME_DEFAULT_ACH_VALUE 1
79#define RS_DEFAULT_MUUK_FOOD_WIPE TRUE
80#define RS_DEFAULT_MUUK_GOLD_WIPE TRUE
81#define RS_DEFAULT_MUUK_SHIELD_WIPE FALSE
82#define RS_DEFAULT_TECH_STEAL_HOLES TRUE
83#define RS_DEFAULT_TECH_TRADE_HOLES TRUE
84#define RS_DEFAULT_TECH_TRADE_LOSS_HOLES TRUE
85#define RS_DEFAULT_TECH_PARASITE_HOLES TRUE
86#define RS_DEFAULT_TECH_LOSS_HOLES TRUE
87#define RS_DEFAULT_PYTHAGOREAN_DIAGONAL FALSE
88
89#define RS_DEFAULT_GOLD_UPKEEP_STYLE "City"
90#define RS_DEFAULT_TECH_COST_STYLE "Civ I|II"
91#define RS_DEFAULT_TECH_LEAKAGE "None"
92#define RS_DEFAULT_TECH_UPKEEP_STYLE "None"
93
94#define RS_DEFAULT_CULTURE_VIC_POINTS 1000
95#define RS_DEFAULT_CULTURE_VIC_LEAD 300
96#define RS_DEFAULT_CULTURE_MIGRATION_PML 50
97#define RS_DEFAULT_HISTORY_INTEREST_PML 0
98
99#define RS_DEFAULT_GOODS_SELECTION GSM_LEAVING
100
101#define RS_DEFAULT_EXTRA_APPEARANCE 15
102#define RS_DEFAULT_EXTRA_DISAPPEARANCE 15
103
104#define RS_DEFAULT_ONLY_KILLING_VETERAN FALSE
105#define RS_DEFAULT_ONLY_REAL_FIGHT_VETERAN FALSE
106#define RS_DEFAULT_COMBAT_ODDS_SCALED_VETERANCY FALSE
107#define RS_DEFAULT_DAMAGE_REDUCES_BOMBARD_RATE TRUE
108
109#define RS_DEFAULT_SMALL_WONDER_VISIBILITY "Always"
110
111#ifdef __cplusplus
112}
113#endif /* __cplusplus */
114
115#endif /* FC__RULESET_H */
log_level
Definition log.h:28
int ruleset_purge_unused_entities(void)
Definition ruleset.c:304
void(* rs_conversion_logger)(const char *msg)
Definition ruleset.h:40
void rulesets_deinit(void)
Definition ruleset.c:9311
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 ruleset.c:9227
int ruleset_purge_redundant_reqs(void)
Definition ruleset.c:481
bool reload_rulesets_settings(void)
Definition ruleset.c:9550
char * get_parser_buffer(void)
Definition ruleset.c:553
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 ruleset.c:9573
char * get_script_buffer(void)
Definition ruleset.c:545
struct setting_list * level[OLEVELS_NUM]
Definition settings.c:183
#define fc__attribute(x)
Definition support.h:89