59#define TECH_TREE_DEPTH 20
138 N_(
"Conflicts with:"),
NULL,
141 N_(
"Bonus (F/P/T):"),
NULL };
143#define REQ_LABEL_NONE _("?tech:None")
144#define REQ_LABEL_NEVER _("(Never)")
354 switch (select->
type) {
558 for (s =
pitem->topic; *s ==
' '; s++) {
561 depth = s -
pitem->topic;
620 for (
i = 0;
i < 6;
i++) {
639 for (
i = 0;
i < 6;
i++) {
644 if (
i == 3 ||
i == 5) {
658 for (
i = 0;
i < 5;
i++) {
659 for (j = 0; j < 5; j++) {
664 if (j == 4 && (
i == 1 ||
i == 4)) {
684 for (j = 0; j < 2; j++) {
685 for (
i = 0;
i < 5;
i++) {
692 if (j == 1 &&
i == 1) {
709 for (
i = 0;
i < 6;
i++) {
765 "background-rgba", 3,
772 "background-rgba", 3,
832 for (
i = 0;
i < 3;
i++) {
898 if (!
preq->present) {
947 if (!
preq->present) {
963 (
pobs->source.value.advance));
1276 if (pextra->buildable
1305 if ((
frac % 10) == 0) {
1324 for (r = pterrain->
resources; *r; r++) {
1375 _(
"Build as irrigation"));
1379 _(
"Build as mine"));
1383 _(
"Build as road"));
1387 _(
"Build as base"));
1410 if (pextra ==
NULL) {
1440 if (
buf[0] !=
'\0') {
1451 const char *bonus =
NULL;
1454 if (
proad->tile_incr[
o] > 0) {
1456 bonus =
_(
"Terrain specific");
1465 bonus =
Q_(
"?bonus:None");
1568 for (top =
pitem->topic; *top ==
' '; top++) {
1575 switch (
pitem->type) {
1658 for (s =
pitem2->topic; *s ==
' '; s++) {
1661 depth = s -
pitem2->topic + 1;
#define action_id_univs_not_blocking(act_id, act_uni, tgt_uni)
#define output_type_iterate(output)
#define output_type_iterate_end
struct color * get_color(const struct tileset *t, enum color_std stdcolor)
const char * skip_intl_qualifier_prefix(const char *str)
#define PL_(String1, String2, n)
const char * government_name_translation(const struct government *pgovern)
struct government * government_by_translated_name(const char *name)
#define governments_iterate(NAME_pgov)
#define governments_iterate_end
#define FC_STATIC_CANVAS_INIT
void set_relative_window_position(GtkWindow *ref, GtkWindow *w, int px, int py)
void setup_dialog(GtkWidget *shell, GtkWidget *parent)
static GtkWidget * help_tree_sw
static void set_title_topic(char *topic)
static void activated_topic(GtkTreeView *view, gpointer data)
static GtkWidget * help_tree
static GtkWidget * help_tree_expand
static GtkWidget * help_ulabel[5][5]
static void help_update_specialist(const struct help_item *pitem, char *title)
static void help_hyperlink_callback(GtkWidget *w)
static GtkWidget * help_elabel[6]
static GtkWidget * help_etable
static void help_destroy_callback(GtkWidget *w, gpointer data)
static void set_help_tile_from_extra(const struct extra_type *pextra)
static GtkWidget * help_frame
static void help_tech_tree_activated_callback(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data)
static void help_update_tech(const struct help_item *pitem, char *title)
static void help_item_zoom(GtkTreePath *path)
static GtkWidget * help_slink_new_page(const gchar *txt, enum help_page_type page)
static GtkWidget * help_tlabel[2][5]
static GtkTreePath * help_item_path(const struct help_item *pitem)
static GtkWidget * help_tree_collapse
static void help_update_nation(const struct help_item *pitem, char *title, struct nation_type *pnation)
static void create_help_dialog(void)
static GtkTextBuffer * help_text
static void help_update_wonder(const struct help_item *pitem, char *title)
static GtkWidget * help_hyperlink_new_page(GtkWidget *label, enum help_page_type page)
static GtkWidget * help_dialog_shell
static GtkWidget * help_text_sw
static GPtrArray * help_history
static const char * help_elabel_name[6]
static void create_tech_tree(int tech, int levels, GtkTreeIter *parent)
static void help_update_extra(const struct help_item *pitem, char *title)
static GtkWidget * help_ilabel[6]
static void set_help_tile_from_sprite(struct sprite *spr)
static const char * help_wlabel_name[6]
static const char * help_ulabel_name[5][5]
static void help_tech_tree_collapse_callback(GtkWidget *w, gpointer data)
static void set_help_tile_from_terrain(struct terrain *pterr)
static GtkWidget * help_view
static void help_update_goods(const struct help_item *pitem, char *title)
void help_system_init(void)
static void help_box_hide(void)
static void help_update_unit_type(const struct help_item *pitem, char *title)
void popdown_help_dialog(void)
static void help_update_terrain(const struct help_item *pitem, char *title)
static void help_update_dialog(const struct help_item *pitem)
static char * fc_chomp(char *str, size_t len)
void popup_help_dialog_string(const char *item)
static int help_history_pos
static struct help_page_selection help_wndr_req
static GtkWidget * help_wlabel[6]
static GtkWidget * help_box
static void help_extras_of_act_for_terrain(struct terrain *pterr, enum unit_activity act, char *label)
void popup_help_dialog_typed(const char *item, enum help_page_type htype)
static void help_command_update(void)
static struct help_page_selection page_selections[HELP_LAST]
static const char * help_tlabel_name[2][5]
static struct help_page_selection help_impr_req
static GtkWidget * help_wtable
static GtkWidget * help_slink_new(const gchar *txt, struct help_page_selection *select)
static GtkWidget * help_vbox
static void help_tech_tree_expand_callback(GtkWidget *w, gpointer data)
static GtkWidget * help_tile
static GtkWidget * help_hyperlink_new(GtkWidget *label, struct help_page_selection *select)
static void help_update_government(const struct help_item *pitem, char *title)
static GtkWidget * help_ttable
static void help_update_improvement(const struct help_item *pitem, char *title)
static const char * help_ilabel_name[6]
static GtkWidget * help_tree_buttons_hbox
static GtkWidget * help_view_sw
static void select_help_item_string(const char *item, enum help_page_type htype)
static bool help_advances[A_LAST]
static GtkWidget * help_utable
static GtkWidget * help_itable
static GtkTreeStore * tstore
static void add_act_help_for_terrain(const char *act_label, const char *result_link_label, enum help_page_type result_link_type, const char *descr_label)
static void help_command_callback(GtkWidget *w, gint response_id)
void helptext_government(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, struct government *gov)
void helptext_advance(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, int i)
enum help_page_type help_type_by_requirement(const struct requirement *req)
char * helptext_unit(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, const struct unit_type *utype, bool class_help)
void helptext_extra(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, struct extra_type *pextra)
void helptext_goods(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, struct goods_type *pgood)
const char * helptext_road_bonus_str(const struct terrain *pterrain, const struct road_type *proad)
char * helptext_unit_upkeep_str(const struct unit_type *utype)
const char * helptext_extra_for_terrain_str(struct extra_type *pextra, struct terrain *pterrain, enum unit_activity act)
void helptext_specialist(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, struct specialist *pspec)
const struct help_item * get_help_item_spec(const char *name, enum help_page_type htype, int *pos)
char * helptext_building(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, const struct impr_type *pimprove)
void helptext_terrain(char *buf, size_t bufsz, struct player *pplayer, const char *user_text, struct terrain *pterrain)
void helptext_nation(char *buf, size_t bufsz, struct nation_type *pnation, const char *user_text)
#define help_items_iterate(pitem)
#define help_items_iterate_end
const struct impr_type * valid_improvement(const struct impr_type *pimprove)
int impr_base_build_shield_cost(const struct impr_type *pimprove)
bool is_great_wonder(const struct impr_type *pimprove)
struct impr_type * improvement_by_translated_name(const char *name)
const char * improvement_name_translation(const struct impr_type *pimprove)
#define improvement_iterate_end
#define improvement_iterate(_p)
void put_drawn_sprites(struct canvas *pcanvas, float zoom, int canvas_x, int canvas_y, int count, struct drawn_sprite *pdrawn, bool fog)
const char * move_points_text(int mp, bool reduce)
struct nation_type * nation_by_translated_plural(const char *name)
const char * universal_name_translation(const struct universal *psource, char *buf, size_t bufsz)
#define requirement_fulfilled_by_terrain(_ter_, _rqs_)
#define requirement_vector_iterate_end
#define requirement_vector_iterate(req_vec, preq)
int research_goal_unknown_techs(const struct research *presearch, Tech_type_id goal)
const char * research_advance_name_translation(const struct research *presearch, Tech_type_id tech)
struct research * research_get(const struct player *pplayer)
enum tech_state research_invention_state(const struct research *presearch, Tech_type_id tech)
struct specialist * specialist_by_translated_name(const char *name)
cairo_surface_t * surface
const struct requirement * req
enum help_page_selection::@155 type
union help_page_selection::@156 u
struct terrain * cultivate_result
struct extra_type ** resources
struct terrain * plant_result
struct terrain * transform_result
const struct unit_type * obsoleted_by
int fc_snprintf(char *str, size_t n, const char *format,...)
struct advance * advance_by_number(const Tech_type_id atype)
bool is_future_tech(Tech_type_id tech)
struct advance * advance_by_translated_name(const char *name)
struct advance * advance_requires(const struct advance *padvance, enum tech_req require)
const char * advance_name_translation(const struct advance *padvance)
Tech_type_id advance_required(const Tech_type_id tech, enum tech_req require)
Tech_type_id advance_number(const struct advance *padvance)
#define advance_iterate_all_end
#define advance_iterate_all(_p)
struct terrain * terrain_by_translated_name(const char *name)
const char * terrain_name_translation(const struct terrain *pterrain)
struct sprite * get_building_sprite(const struct tileset *t, const struct impr_type *pimprove)
int fill_basic_extra_sprite_array(const struct tileset *t, struct drawn_sprite *sprs, const struct extra_type *pextra)
int fill_basic_terrain_layer_sprite_array(struct tileset *t, struct drawn_sprite *sprs, int layer, struct terrain *pterrain)
int tileset_tile_height(const struct tileset *t)
struct sprite * get_unittype_sprite(const struct tileset *t, const struct unit_type *punittype, enum unit_activity activity, enum direction8 facing)
struct sprite * get_nation_flag_sprite(const struct tileset *t, const struct nation_type *pnation)
int tileset_tile_width(const struct tileset *t)
struct sprite * get_tech_sprite(const struct tileset *t, Tech_type_id tech)
struct goods_type * goods_by_translated_name(const char *name)
bool is_tech_req_for_utype(const struct unit_type *ptype, struct advance *padv)
int utype_build_shield_cost_base(const struct unit_type *punittype)
struct advance * utype_primary_tech_req(const struct unit_type *ptype)
struct unit_type * unit_type_by_translated_name(const char *name)
const char * utype_name_translation(const struct unit_type *punittype)
#define unit_type_iterate(_p)
#define unit_type_iterate_end
const char * freeciv_name_version(void)