Freeciv-3.1
|
#include "shared.h"
#include "fc_types.h"
#include "name_translation.h"
#include "requirements.h"
#include "spechash.h"
Go to the source code of this file.
Data Structures | |
struct | government |
Macros | |
#define | SPECHASH_TAG ruler_title |
#define | SPECHASH_IKEY_TYPE struct nation_type * |
#define | SPECHASH_IDATA_TYPE struct ruler_title * |
#define | ruler_titles_iterate(ARG_hash, NAME_rule_title) |
#define | ruler_titles_iterate_end HASH_DATA_ITERATE_END |
#define | G_LAST (127) |
#define | governments_iterate(NAME_pgov) |
#define | governments_iterate_end generic_iterate_end |
#define | governments_re_active_iterate(_p) |
#define | governments_re_active_iterate_end |
Functions | |
Government_type_id | government_count (void) |
Government_type_id | government_index (const struct government *pgovern) |
Government_type_id | government_number (const struct government *pgovern) |
struct government * | government_by_number (const Government_type_id gov) |
struct government * | government_of_player (const struct player *pplayer) |
struct government * | government_of_city (const struct city *pcity) |
struct government * | government_by_rule_name (const char *name) |
struct government * | government_by_translated_name (const char *name) |
const char * | government_rule_name (const struct government *pgovern) |
const char * | government_name_translation (const struct government *pgovern) |
const char * | government_name_for_player (const struct player *pplayer) |
const struct ruler_title_hash * | government_ruler_titles (const struct government *pgovern) |
struct ruler_title * | government_ruler_title_new (struct government *pgovern, const struct nation_type *pnation, const char *ruler_male_title, const char *ruler_female_title) |
const struct nation_type * | ruler_title_nation (const struct ruler_title *pruler_title) |
const char * | ruler_title_male_untranslated_name (const struct ruler_title *pruler_title) |
const char * | ruler_title_female_untranslated_name (const struct ruler_title *pruler_title) |
const char * | ruler_title_for_player (const struct player *pplayer, char *buf, size_t buf_len) |
const char * | default_title_for_player (const struct player *pplayer, char *buf, size_t buf_len) |
bool | can_change_to_government (struct player *pplayer, const struct government *pgovern) |
void | governments_alloc (int num) |
void | governments_free (void) |
size_t | government_iter_sizeof (void) |
struct iterator * | government_iter_init (struct government_iter *it) |
bool | untargeted_revolution_allowed (void) |
#define G_LAST (127) |
Definition at line 48 of file government.h.
#define governments_iterate | ( | NAME_pgov | ) |
Definition at line 121 of file government.h.
#define governments_iterate_end generic_iterate_end |
Definition at line 124 of file government.h.
#define governments_re_active_iterate | ( | _p | ) |
Definition at line 126 of file government.h.
#define governments_re_active_iterate_end |
Definition at line 130 of file government.h.
#define ruler_titles_iterate | ( | ARG_hash, | |
NAME_rule_title | |||
) |
Definition at line 38 of file government.h.
#define ruler_titles_iterate_end HASH_DATA_ITERATE_END |
Definition at line 41 of file government.h.
#define SPECHASH_IDATA_TYPE struct ruler_title * |
Definition at line 36 of file government.h.
#define SPECHASH_IKEY_TYPE struct nation_type * |
Definition at line 35 of file government.h.
#define SPECHASH_TAG ruler_title |
Definition at line 34 of file government.h.
bool can_change_to_government | ( | struct player * | pplayer, |
const struct government * | gov | ||
) |
Can change to government if appropriate tech exists, and one of:
Definition at line 165 of file government.c.
Referenced by adv_best_government(), dai_effect_value(), found_new_tech(), handle_player_change_government(), pick_random_government(), popup_government_dialog(), real_menus_update(), research_tech_lost(), and gov_menu::update().
const char * default_title_for_player | ( | const struct player * | pplayer, |
char * | buf, | ||
size_t | buf_len | ||
) |
Return default ruler title of the player (translated).
Definition at line 425 of file government.c.
Referenced by ruler_title_for_player(), and title_for_player().
struct government * government_by_number | ( | const Government_type_id | gov | ) |
Return the government with the given index.
This function returns NULL for an out-of-range index (some callers rely on this).
Definition at line 102 of file government.c.
Referenced by tab_gov::add_now(), api_find_government(), gov_menu::change_gov(), gov_menu::create(), extviewer_view_cell_toggled(), government_dlg_callback(), handle_edit_player(), handle_game_info(), handle_player_change_government(), handle_player_info(), handle_ruleset_government(), handle_ruleset_government_ruler_title(), handle_ruleset_nation(), popup_revolution_dialog(), universal_by_number(), and gov_menu::update().
struct government * government_by_rule_name | ( | const char * | name | ) |
Returns the government that has the given (untranslated) rule name. Returns NULL if none match.
Definition at line 54 of file government.c.
Referenced by api_find_government_by_name(), tab_gov::initialize_new_gov(), load_ruleset_nations(), lookup_government(), tab_gov::select_gov(), sg_load_player_main(), sg_load_player_main(), sg_load_ruledata(), sg_load_ruledata(), and universal_value_from_str().
struct government * government_by_translated_name | ( | const char * | name | ) |
Returns the government that has the given (translated) name. Returns NULL if none match.
Definition at line 39 of file government.c.
Referenced by help_update_government(), help_dialog::make_tree(), and help_widget::set_topic_government().
Government_type_id government_count | ( | void | ) |
Return the number of governments.
Definition at line 70 of file government.c.
Referenced by adv_data_default(), client_government_sprite(), gov_menu::create(), extviewer_view_cell_toggled(), found_new_tech(), get_req_source_effects(), government_iter_init(), package_player_info(), receive_packet_ruleset_control_100(), receive_packet_ruleset_control_101(), send_ruleset_nations(), and gov_menu::update().
Government_type_id government_index | ( | const struct government * | pgovern | ) |
Return the government index.
Currently same as government_number(), paired with government_count() indicates use as an array index.
Definition at line 81 of file government.c.
Referenced by adv_best_government(), create_tech_info(), extviewer_refresh_widgets(), extviewer_view_cell_toggled(), found_new_tech(), get_government_sprite(), load_government_names(), load_ruleset_governments(), objbind_pack_current_values(), objbind_pack_modified_value(), tab_gov::refresh(), and tileset_setup_government().
struct iterator * government_iter_init | ( | struct government_iter * | it | ) |
Implementation of iterator 'init' function.
Definition at line 482 of file government.c.
size_t government_iter_sizeof | ( | void | ) |
Implementation of iterator 'sizeof' function.
Definition at line 449 of file government.c.
const char * government_name_for_player | ( | const struct player * | pplayer | ) |
Return the (translated) name of the given government of a player. You don't have to free the return pointer.
Definition at line 153 of file government.c.
Referenced by col_government(), get_government_tooltip(), get_info_label_text_popup(), get_report_title(), handle_player_rates(), plr_widget::nation_selected(), popup_rates_dialog(), report_achievements(), report_demographics(), set_indicator_icons(), tax_rates_dialog::tax_rates_dialog(), update_intel_dialog(), and fc_client::update_sidebar_tooltips().
const char * government_name_translation | ( | const struct government * | pgovern | ) |
Return the (translated) name of the given government. You don't have to free the return pointer.
Definition at line 142 of file government.c.
Referenced by api_methods_government_name_translation(), boot_help_texts(), gov_menu::create(), create_tech_info(), economy_report_dialog_popup(), extviewer_refresh_widgets(), extviewer_view_cell_toggled(), found_new_tech(), government_by_translated_name(), government_change(), government_name_for_player(), handle_player_change_government(), help_update_tech(), helptext_nation(), insert_allows(), manual_command(), research_diagram::mouseMoveEvent(), research_diagram::mousePressEvent(), popup_government_dialog(), propval_as_string(), real_menus_init(), real_menus_update(), req_text_insert(), research_tech_lost(), help_widget::set_topic_tech(), universal_name_translation(), update_city_activity(), and worklist_item_postpone_req_vec().
Government_type_id government_number | ( | const struct government * | pgovern | ) |
Return the government index.
Definition at line 90 of file government.c.
Referenced by dai_government_change(), get_gov(), government_ruler_title_new(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_units(), package_player_info(), popup_government_dialog(), popup_revolution_dialog(), research_tech_lost(), ruler_title_for_player(), send_ruleset_governments(), send_ruleset_nations(), set_government_choice(), universal_number(), and update_city_activity().
struct government * government_of_city | ( | const struct city * | pcity | ) |
Return the government of the player who owns the city.
Definition at line 122 of file government.c.
Referenced by update_city_activity().
struct government * government_of_player | ( | const struct player * | pplayer | ) |
Return the government of a player.
Definition at line 113 of file government.c.
Referenced by add_tax_income(), adv_best_government(), cityresult_fill(), client_government_sprite(), dai_government_change(), dai_manage_government(), dai_manage_taxes(), economy_report_dialog_popup(), get_economy_report_data(), get_gov(), get_tax_rates(), government_name_for_player(), government_of_city(), handle_player_change_government(), is_gov_req_active(), package_player_info(), research_tech_lost(), ruler_title_for_player(), set_government_choice(), sg_save_player_main(), split_player(), and update_revolution().
const char * government_rule_name | ( | const struct government * | pgovern | ) |
Return the (untranslated) rule name of the government. You don't have to free the return pointer.
Definition at line 132 of file government.c.
Referenced by api_methods_government_rule_name(), dai_manage_government(), tab_gov::delete_now(), tab_gov::edit_effects(), edit_gov::edit_gov(), tab_gov::edit_reqs(), government_by_rule_name(), government_change(), government_ruler_title_new(), handle_player_change_government(), is_universal_needed(), load_ruleset_governments(), load_ruleset_nations(), tab_gov::name_given(), tab_gov::refresh(), ruler_title_for_player(), sanity_check_ruleset_data(), save_gov_ref(), save_nation(), save_nations_ruleset(), sg_save_player_main(), sg_save_ruledata(), tileset_setup_government(), universal_kind_values(), universal_rule_name(), tab_gov::update_gov_info(), and update_revolution().
struct ruler_title * government_ruler_title_new | ( | struct government * | pgovern, |
const struct nation_type * | pnation, | ||
const char * | ruler_male_title, | ||
const char * | ruler_female_title | ||
) |
Add a new ruler title for the nation. Pass NULL for pnation for defining the default title.
Definition at line 324 of file government.c.
Referenced by handle_ruleset_government_ruler_title(), load_ruleset_governments(), and load_ruleset_nations().
const struct ruler_title_hash * government_ruler_titles | ( | const struct government * | pgovern | ) |
Returns all ruler titles for a government type.
Definition at line 313 of file government.c.
Referenced by send_ruleset_governments().
void governments_alloc | ( | int | num | ) |
Allocate the governments.
Definition at line 528 of file government.c.
Referenced by handle_ruleset_control(), and load_government_names().
void governments_free | ( | void | ) |
De-allocate the currently allocated governments.
Definition at line 544 of file government.c.
Referenced by game_ruleset_free().
const char * ruler_title_female_untranslated_name | ( | const struct ruler_title * | pruler_title | ) |
Return the female ruler title name.
Definition at line 382 of file government.c.
Referenced by save_governments_ruleset(), save_nation(), and send_ruleset_governments().
const char * ruler_title_for_player | ( | const struct player * | pplayer, |
char * | buf, | ||
size_t | buf_len | ||
) |
Return the ruler title of the player (translated).
Definition at line 390 of file government.c.
Referenced by create_diplomacy_dialog(), diplo_wdg::diplo_wdg(), get_report_title(), title_for_player(), update_city_activities(), and update_intel_dialog().
const char * ruler_title_male_untranslated_name | ( | const struct ruler_title * | pruler_title | ) |
Return the male ruler title name.
Definition at line 373 of file government.c.
Referenced by save_governments_ruleset(), save_nation(), and send_ruleset_governments().
const struct nation_type * ruler_title_nation | ( | const struct ruler_title * | pruler_title | ) |
Return the nation of the ruler title. Returns NULL if this is default.
Definition at line 364 of file government.c.
Referenced by send_ruleset_governments().
bool untargeted_revolution_allowed | ( | void | ) |
Is it possible to start a revolution without specifying the target government in the current game?
Definition at line 565 of file government.c.
Referenced by real_menus_update(), revolution_length(), and gov_menu::update().