65 bool needed_by_music_style =
FALSE;
149 needed_by_music_style =
TRUE;
153 if (needed_by_music_style) {
154 cb(
R__(
"Music Style"), data);
158 for (i = 0; i < CLAUSE_COUNT; i++) {
168 clause_type_name(info->
type));
195 if (pdependant->require[
AR_ONE] == padv
204 if (ptype->require_advance == padv) {
251 if (pterr->animal == ptype) {
296 bool conflicts =
FALSE;
301 conflicts |=
BV_ISSET(requirer->conflicts,
id);
302 hides |=
BV_ISSET(requirer->hidden_by,
id);
306 cb(
R__(
"Conflicting extra"), data);
309 cb(
R__(
"Hidden extra"), data);
311 needed |= conflicts | hides;
330 && (pother->cultivate_result == pterr
const char * action_id_rule_name(action_id act_id)
struct action_enabler_list * action_enablers_for_action(action_id action)
#define action_enabler_list_re_iterate_end
#define action_enabler_list_re_iterate(action_enabler_list, aenabler)
#define action_iterate_end
#define action_iterate(_act_)
#define BV_ISSET(bv, bit)
struct citystyle * city_styles
const char * city_style_rule_name(const int style)
struct clause_info * clause_info_get(enum clause_type type)
const char * disaster_rule_name(struct disaster_type *pdis)
#define disaster_type_iterate(_p)
#define disaster_type_iterate_end
bool iterate_effect_cache(iec_cb cb, void *data)
const char * government_rule_name(const struct government *pgovern)
#define governments_re_active_iterate(_p)
#define governments_re_active_iterate_end
const char * improvement_rule_name(const struct impr_type *pimprove)
#define improvement_re_active_iterate_end
#define improvement_re_active_iterate(_p)
bool universal_is_mentioned_by_requirements(const struct requirement_vector *reqs, const struct universal *psource)
const char * specialist_rule_name(const struct specialist *sp)
#define specialist_type_re_active_iterate_end
#define specialist_type_re_active_iterate(_p)
struct advance * require[AR_SIZE]
struct packet_ruleset_control control
struct requirement_vector receiver_reqs
struct requirement_vector giver_reqs
struct multiplier * multiplier
struct requirement_vector reqs
struct requirement_vector first_reqs
struct terrain * cooler_wetter_result
struct terrain * cooler_drier_result
struct terrain * warmer_wetter_result
struct terrain * plant_result
struct terrain * warmer_drier_result
struct terrain * transform_result
#define music_styles_iterate(_p)
#define music_styles_iterate_end
int fc_snprintf(char *str, size_t n, const char *format,...)
const char * advance_rule_name(const struct advance *padvance)
Tech_type_id advance_number(const struct advance *padvance)
#define advance_re_active_iterate(_p)
#define advance_re_active_iterate_end
const char * terrain_rule_name(const struct terrain *pterrain)
#define terrain_re_active_iterate_end
#define terrain_re_active_iterate(_p)
const char * goods_rule_name(struct goods_type *pgood)
#define goods_type_re_active_iterate_end
#define goods_type_re_active_iterate(_p)
const struct unit_type * utype
struct extra_type * extra
struct government * govern
const struct impr_type * building
struct achievement * achievement
const char * utype_rule_name(const struct unit_type *punittype)
#define unit_type_re_active_iterate(_p)
#define unit_type_re_active_iterate_end
static bool is_universal_needed(struct universal *uni, requirers_cb cb, void *data)
bool is_achievement_needed(struct achievement *pach, requirers_cb cb, void *data)
bool is_multiplier_needed(struct multiplier *pmul, requirers_cb cb, void *data)
bool is_tech_needed(struct advance *padv, requirers_cb cb, void *data)
static bool effect_list_multiplier_cb(struct effect *peffect, void *data)
bool is_terrain_needed(struct terrain *pterr, requirers_cb cb, void *data)
bool is_good_needed(struct goods_type *pgood, requirers_cb cb, void *data)
bool is_government_needed(struct government *pgov, requirers_cb cb, void *data)
static bool effect_list_universal_needed_cb(struct effect *peffect, void *data)
bool is_utype_needed(struct unit_type *ptype, requirers_cb cb, void *data)
bool is_extra_needed(struct extra_type *pextra, requirers_cb cb, void *data)
bool is_building_needed(struct impr_type *pimpr, requirers_cb cb, void *data)
void(* requirers_cb)(const char *msg, void *data)