Freeciv-3.4
|
#include "capability.h"
#include "log.h"
#include "registry.h"
#include "actions.h"
#include "effects.h"
#include "fc_types.h"
#include "game.h"
#include "movement.h"
#include "requirements.h"
#include "unittype.h"
#include "rssanity.h"
#include "ruleload.h"
#include "settings.h"
#include "rscompat.h"
Go to the source code of this file.
Functions | |
static int | first_free_unit_type_user_flag (void) |
static int | first_free_tech_user_flag (void) |
void | rscompat_init_info (struct rscompat_info *info) |
int | rscompat_check_capabilities (struct section_file *file, const char *filename, const struct rscompat_info *info) |
bool | rscompat_check_cap_and_version (struct section_file *file, const char *filename, const struct rscompat_info *info) |
static bool | rscompat_enabler_add_obligatory_hard_reqs (struct action_enabler *ae) |
void | rscompat_enablers_add_obligatory_hard_reqs (void) |
bool | rscompat_names (struct rscompat_info *info) |
static bool | effect_list_compat_cb (struct effect *peffect, void *data) |
void | rscompat_postprocess (struct rscompat_info *info) |
#define enough_new_user_flags | ( | _new_flags_, | |
_name_, | |||
_LAST_USER_FLAG_, | |||
_LAST_USER_FLAG_PREV_ | |||
) |
Definition at line 46 of file rscompat.c.
#define MAXIMUM_CLAIMED_OCEAN_SIZE_3_2 (20) |
Definition at line 44 of file rscompat.c.
#define TECH_LAST_USER_FLAG_3_3 TECH_USER_10 |
Definition at line 53 of file rscompat.c.
#define UTYF_LAST_USER_FLAG_3_3 UTYF_USER_FLAG_53 |
Definition at line 52 of file rscompat.c.
Find and return the first unused tech user flag. If all tech user flags are taken MAX_NUM_USER_TECH_FLAGS is returned.
Definition at line 494 of file rscompat.c.
Referenced by rscompat_names().
Find and return the first unused unit type user flag. If all unit type user flags are taken MAX_NUM_USER_UNIT_FLAGS is returned.
Definition at line 475 of file rscompat.c.
Referenced by rscompat_names().
bool rscompat_check_cap_and_version | ( | struct section_file * | file, |
const char * | filename, | ||
const struct rscompat_info * | info | ||
) |
Different ruleset files within a ruleset directory should all have identical datafile.format_version This checks the file version against the expected version.
See also rscompat_check_capabilities
Definition at line 135 of file rscompat.c.
Referenced by load_action_names(), load_building_names(), load_government_names(), load_nation_names(), load_ruleset_cities(), load_ruleset_effects(), load_style_names(), load_tech_names(), load_terrain_names(), and load_unit_names().
int rscompat_check_capabilities | ( | struct section_file * | file, |
const char * | filename, | ||
const struct rscompat_info * | info | ||
) |
Ruleset files should have a capabilities string datafile.options This checks the string and that the required capabilities are satisfied.
Definition at line 70 of file rscompat.c.
Referenced by load_game_names(), and rscompat_check_cap_and_version().
|
static |
Add all hard obligatory requirements to an action enabler or disable it.
ae | the action enabler to add requirements to. |
Definition at line 170 of file rscompat.c.
Referenced by rscompat_enablers_add_obligatory_hard_reqs().
Update existing action enablers for new hard obligatory requirements. Disable those that can't be upgraded.
Definition at line 290 of file rscompat.c.
Referenced by rscompat_postprocess(), and ruleset_purge_redundant_reqs().
void rscompat_init_info | ( | struct rscompat_info * | info | ) |
Initialize rscompat information structure
Definition at line 61 of file rscompat.c.
Referenced by load_rulesetdir(), and tab_misc::sanity_check().
bool rscompat_names | ( | struct rscompat_info * | info | ) |
Do compatibility things with names before they are referred to. Runs after names are loaded from the ruleset but before the ruleset objects that may refer to them are loaded.
This is needed when previously hard coded items that are referred to in the ruleset them self becomes ruleset defined.
Returns FALSE if an error occurs.
Definition at line 335 of file rscompat.c.
Referenced by load_rulesetdir().
void rscompat_postprocess | ( | struct rscompat_info * | info | ) |
Do compatibility things after regular ruleset loading.
Definition at line 446 of file rscompat.c.
Referenced by load_rulesetdir().