29#define DEFAULT_METASERVER_OPTION "default"
30#define DEFAULT_FOLLOWTAG_OPTION "builtin"
32#define FONT_NAME_SIZE 512
34#if MINOR_VERSION >= 90
35#define MAJOR_NEW_OPTION_FILE_NAME (MAJOR_VERSION + 1)
36#define MINOR_NEW_OPTION_FILE_NAME 0
38#define MAJOR_NEW_OPTION_FILE_NAME MAJOR_VERSION
39#if IS_DEVEL_VERSION && ! IS_FREEZE_VERSION
40#define MINOR_NEW_OPTION_FILE_NAME (MINOR_VERSION + 1)
42#define MINOR_NEW_OPTION_FILE_NAME MINOR_VERSION
51#define VIDEO_MODE(ARG_width, ARG_height) \
52 (struct video_mode){ ARG_width, ARG_height }
300#define FC_GTK3_22_DEFAULT_THEME_NAME "Freeciv"
336#define FC_GTK4_DEFAULT_THEME_NAME "Freeciv"
379#define FC_SDL2_DEFAULT_THEME_NAME "human"
392#define FC_SDL3_DEFAULT_THEME_NAME "human"
404#define FC_QT_DEFAULT_THEME_NAME "NightStalker"
430#define SPECENUM_NAME option_type
431#define SPECENUM_VALUE0 OT_BOOLEAN
432#define SPECENUM_VALUE1 OT_INTEGER
433#define SPECENUM_VALUE2 OT_STRING
434#define SPECENUM_VALUE3 OT_ENUM
435#define SPECENUM_VALUE4 OT_BITWISE
436#define SPECENUM_VALUE5 OT_FONT
437#define SPECENUM_VALUE6 OT_COLOR
438#define SPECENUM_VALUE7 OT_VIDEO_MODE
462#define optset_option_by_index optset_option_by_number
475#define option_index option_number
550#define options_iterate(poptset, poption) \
552 struct option *poption = optset_option_first(poptset); \
553 for (; NULL != poption; poption = option_next(poption)) { \
555#define options_iterate_end \
586#define GUI_DEFAULT_CHAT_LOGFILE "freeciv-chat.log"
589#define GUI_GTK2_CITYDLG_DEFAULT_XSIZE 770
590#define GUI_GTK2_CITYDLG_MIN_XSIZE 256
591#define GUI_GTK2_CITYDLG_MAX_XSIZE 4096
593#define GUI_GTK2_CITYDLG_DEFAULT_YSIZE 512
594#define GUI_GTK2_CITYDLG_MIN_YSIZE 128
595#define GUI_GTK2_CITYDLG_MAX_YSIZE 4096
597#define GUI_GTK_OVERVIEW_MIN_XSIZE 160
598#define GUI_GTK_OVERVIEW_MIN_YSIZE 100
601#define GUI_GTK3_CITYDLG_DEFAULT_XSIZE 770
602#define GUI_GTK3_CITYDLG_MIN_XSIZE 256
603#define GUI_GTK3_CITYDLG_MAX_XSIZE 4096
605#define GUI_GTK3_CITYDLG_DEFAULT_YSIZE 512
606#define GUI_GTK3_CITYDLG_MIN_YSIZE 128
607#define GUI_GTK3_CITYDLG_MAX_YSIZE 4096
609#define GUI_GTK3_GOV_RANGE_MIN_DEFAULT -20
610#define GUI_GTK3_GOV_RANGE_MIN_MIN -100
611#define GUI_GTK3_GOV_RANGE_MIN_MAX 0
613#define GUI_GTK3_GOV_RANGE_MAX_DEFAULT 20
614#define GUI_GTK3_GOV_RANGE_MAX_MIN 0
615#define GUI_GTK3_GOV_RANGE_MAX_MAX 100
618#define GUI_GTK3_22_CITYDLG_DEFAULT_XSIZE 770
619#define GUI_GTK3_22_CITYDLG_MIN_XSIZE 256
620#define GUI_GTK3_22_CITYDLG_MAX_XSIZE 4096
622#define GUI_GTK3_22_CITYDLG_DEFAULT_YSIZE 512
623#define GUI_GTK3_22_CITYDLG_MIN_YSIZE 128
624#define GUI_GTK3_22_CITYDLG_MAX_YSIZE 4096
626#define GUI_GTK3_22_GOV_RANGE_MIN_DEFAULT -20
627#define GUI_GTK3_22_GOV_RANGE_MIN_MIN -100
628#define GUI_GTK3_22_GOV_RANGE_MIN_MAX 0
630#define GUI_GTK3_22_GOV_RANGE_MAX_DEFAULT 20
631#define GUI_GTK3_22_GOV_RANGE_MAX_MIN 0
632#define GUI_GTK3_22_GOV_RANGE_MAX_MAX 100
635#define GUI_GTK4_CITYDLG_DEFAULT_XSIZE 770
636#define GUI_GTK4_CITYDLG_MIN_XSIZE 256
637#define GUI_GTK4_CITYDLG_MAX_XSIZE 4096
639#define GUI_GTK4_CITYDLG_DEFAULT_YSIZE 512
640#define GUI_GTK4_CITYDLG_MIN_YSIZE 128
641#define GUI_GTK4_CITYDLG_MAX_YSIZE 4096
643#define GUI_GTK4_GOV_RANGE_MIN_DEFAULT -20
644#define GUI_GTK4_GOV_RANGE_MIN_MIN -100
645#define GUI_GTK4_GOV_RANGE_MIN_MAX 0
647#define GUI_GTK4_GOV_RANGE_MAX_DEFAULT 20
648#define GUI_GTK4_GOV_RANGE_MAX_MIN 0
649#define GUI_GTK4_GOV_RANGE_MAX_MAX 100
651#define GUI_DEFAULT_MAPIMG_FILENAME "freeciv"
struct canvas int int struct sprite int int int int height
struct canvas int int struct sprite int int int width
unsigned option_bitwise_mask(const struct option *poption)
void fill_topo_ts_default(void)
void resend_desired_settable_options(void)
const struct strvec * option_str_values(const struct option *poption)
void option_changed(struct option *poption)
unsigned option_bitwise_def(const struct option *poption)
int option_enum_str_to_int(const struct option *poption, const char *str)
int option_int_min(const struct option *poption)
bool option_bool_def(const struct option *poption)
const char * option_font_def(const struct option *poption)
const char * tileset_name_for_topology(int topology_id)
struct option * optset_option_first(const struct option_set *poptset)
void(* option_save_log_callback)(enum log_level lvl, const char *msg,...)
const struct option_set * server_optset
bool option_reset(struct option *poption)
const char * option_description(const struct option *poption)
const char * option_help_text(const struct option *poption)
const char * option_enum_get_str(const struct option *poption)
struct ft_color option_color_get(const struct option *poption)
int option_enum_get_int(const struct option *poption)
int option_number(const struct option *poption)
int option_category(const struct option *poption)
void desired_settable_option_update(const char *op_name, const char *op_value, bool allow_replace)
void option_set_default_ts(struct tileset *t)
static struct video_mode video_mode_construct(int width, int height)
bool option_str_set(struct option *poption, const char *str)
const struct option_set * client_optset
const char * option_name(const struct option *poption)
int option_int_get(const struct option *poption)
bool option_enum_set_str(struct option *poption, const char *str)
bool option_color_set(struct option *poption, struct ft_color color)
void option_set_changed_callback(struct option *poption, void(*callback)(struct option *))
bool option_bool_set(struct option *poption, bool val)
bool option_is_changeable(const struct option *poption)
bool option_video_mode_set(struct option *poption, struct video_mode mode)
void option_set_gui_data(struct option *poption, void *data)
const char * option_str_get(const struct option *poption)
@ GUI_POPUP_TECH_HELP_DISABLED
@ GUI_POPUP_TECH_HELP_RULESET
@ GUI_POPUP_TECH_HELP_ENABLED
struct option * optset_option_by_number(const struct option_set *poptset, int id)
@ GUI_GTK_MSGCHAT_SEPARATE
void * option_get_gui_data(const struct option *poption)
const struct strvec * option_enum_values(const struct option *poption)
bool option_enum_set_int(struct option *poption, int val)
bool option_bool_get(const struct option *poption)
int optset_category_number(const struct option_set *poptset)
void server_options_init(void)
enum option_type option_type(const struct option *poption)
const char * option_enum_int_to_str(const struct option *poption, int val)
void options_dialogs_update(void)
int option_get_cb_data(const struct option *poption)
bool video_mode_to_string(char *buf, size_t buf_len, struct video_mode *mode)
const struct option_set * option_optset(const struct option *poption)
void server_options_free(void)
struct video_mode option_video_mode_get(const struct option *poption)
struct option * option_next(const struct option *poption)
const char * option_str_def(const struct option *poption)
const char * optset_category_name(const struct option_set *poptset, int category)
int option_int_max(const struct option *poption)
const char * option_enum_def_str(const struct option *poption)
bool option_font_set(struct option *poption, const char *font)
const char * option_font_target(const struct option *poption)
void options_save(option_save_log_callback log_cb)
bool string_to_video_mode(const char *buf, struct video_mode *mode)
const struct strvec * option_bitwise_values(const struct option *poption)
struct client_options gui_options
bool option_bitwise_set(struct option *poption, unsigned val)
const char * option_font_get(const struct option *poption)
void desired_settable_options_update(void)
#define VIDEO_MODE(ARG_width, ARG_height)
struct ft_color option_color_def(const struct option *poption)
@ OLAYER_BORDERS_ON_OCEAN
unsigned option_bitwise_get(const struct option *poption)
int option_enum_def_int(const struct option *poption)
struct option * optset_option_by_name(const struct option_set *poptset, const char *name)
void options_dialogs_set(void)
bool option_int_set(struct option *poption, int val)
const char * option_category_name(const struct option *poption)
int option_int_def(const struct option *poption)
struct video_mode option_video_mode_def(const struct option *poption)
int gui_gtk4_governor_range_max
bool silent_when_not_in_focus
bool gui_sdl2_do_cursor_animation
bool gui_gtk4_metaserver_tab_first
bool gui_gtk4_show_task_icons
bool update_city_text_in_refresh_tile
int gui_gtk4_citydlg_xsize
char gui_gtk4_font_help_link[FONT_NAME_SIZE]
bool show_previous_turn_messages
bool gui_gtk3_22_migrated_from_gtk3
char gui_gtk3_font_help_text[FONT_NAME_SIZE]
bool gui_gtk2_migrated_from_2_5
char gui_qt_default_theme_name[512]
bool sound_bell_at_new_turn
char gui_gtk2_font_small[FONT_NAME_SIZE]
bool gui_sdl3_use_color_cursors
int gui_gtk3_22_governor_range_max
bool gui_gtk3_22_mouse_over_map_focus
bool autoaccept_tileset_suggestion
bool autoaccept_musicset_suggestion
bool enable_cursor_changes
char gui_gtk2_font_chatline[FONT_NAME_SIZE]
bool gui_sdl2_migrated_from_sdl
bool gui_qt_allied_chat_only
char gui_qt_font_city_names[FONT_NAME_SIZE]
char gui_gtk3_22_font_help_text[FONT_NAME_SIZE]
bool gui_gtk2_enable_tabs
bool gui_gtk3_22_metaserver_tab_first
int gui_gtk3_22_governor_range_min
int gui_gtk2_citydlg_ysize
int gui_gtk4_governor_range_min
char gui_gtk4_font_chatline[FONT_NAME_SIZE]
char gui_qt_font_city_productions[FONT_NAME_SIZE]
int smooth_center_slide_msec
int gui_gtk3_22_message_chat_location
int gui_gtk3_citydlg_xsize
bool sound_enable_menu_music
bool player_dlg_show_dead_players
char gui_sdl2_font_city_names[64]
char gui_sdl3_default_theme_name[512]
char default_tileset_hex_name[512]
bool gui_qt_show_relations_panel
bool draw_city_productions
char gui_gtk3_font_spaceship_label[FONT_NAME_SIZE]
char default_sound_set_name[512]
bool voteinfo_bar_hide_when_not_player
char gui_gtk3_22_font_reqtree_text[FONT_NAME_SIZE]
char gui_gtk3_font_city_label[FONT_NAME_SIZE]
int smooth_move_unit_msec
bool gui_gtk3_small_display_layout
char gui_qt_wakeup_text[512]
bool gui_gtk3_22_small_display_layout
int gui_gtk3_governor_range_max
char gui_gtk2_font_city_names[FONT_NAME_SIZE]
bool gui_gtk4_allied_chat_only
char gui_gtk4_font_beta_label[FONT_NAME_SIZE]
char gui_gtk3_22_font_beta_label[FONT_NAME_SIZE]
char default_tileset_iso_name[512]
char default_metaserver[512]
struct video_mode gui_sdl2_screen
int gui_gtk3_22_popup_tech_help
bool draw_fortress_airbase
char gui_gtk2_font_help_label[FONT_NAME_SIZE]
bool draw_unit_stack_size
bool gui_sdl_use_color_cursors
bool mapimg_layer[MAPIMG_LAYER_COUNT]
bool gui_gtk4_show_chat_message_time
bool gui_gtk3_22_show_chat_message_time
bool gui_gtk3_show_chat_message_time
bool gui_sdl3_do_cursor_animation
int gui_gtk2_citydlg_xsize
int gui_gtk3_22_citydlg_ysize
bool gui_gtk2_chatline_autocompletion
bool gui_gtk4_small_display_layout
char followtag_override[5112]
bool gui_gtk3_metaserver_tab_first
char gui_gtk4_font_notify_label[FONT_NAME_SIZE]
char gui_gtk3_font_city_names[FONT_NAME_SIZE]
char gui_gtk4_font_city_label[FONT_NAME_SIZE]
struct video_mode gui_sdl3_screen
char gui_gtk3_22_font_comment_label[FONT_NAME_SIZE]
char gui_qt_font_help_text[FONT_NAME_SIZE]
bool gui_gtk4_show_message_window_buttons
char gui_gtk3_font_notify_label[FONT_NAME_SIZE]
int gui_gtk4_message_chat_location
bool gui_gtk3_dialogs_on_top
bool gui_qt_show_techs_panel
char gui_gtk3_22_font_spaceship_label[FONT_NAME_SIZE]
bool gui_gtk4_dialogs_on_top
char default_tileset_name[512]
char gui_sdl3_font_city_productions[64]
char gui_gtk3_22_font_chatline[FONT_NAME_SIZE]
char gui_sdl2_font_city_productions[64]
bool auto_center_on_automated
char gui_gtk3_font_beta_label[FONT_NAME_SIZE]
bool send_desired_settings
char default_tileset_overhead_name[512]
char gui_gtk2_font_reqtree_text[FONT_NAME_SIZE]
char gui_gtk2_font_help_text[FONT_NAME_SIZE]
bool gui_gtk2_map_scrollbars
bool auto_center_each_turn
bool gui_gtk3_allied_chat_only
char gui_gtk3_font_reqtree_text[FONT_NAME_SIZE]
char gui_gtk4_font_city_names[FONT_NAME_SIZE]
char gui_gtk3_22_font_city_names[FONT_NAME_SIZE]
int gui_gtk4_popup_tech_help
bool gui_gtk3_migrated_from_2_5
char gui_sdl3_font_city_names[64]
struct video_mode gui_sdl_screen
bool gui_gtk3_22_allied_chat_only
char default_server_host[512]
char gui_gtk3_22_font_small[FONT_NAME_SIZE]
struct ft_color highlight_our_names
bool gui_gtk3_22_show_message_window_buttons
bool gui_sdl_do_cursor_animation
bool gui_sdl3_use_theme_font_size
bool gui_gtk3_mouse_over_map_focus
bool draw_city_trade_routes
char gui_gtk3_22_font_notify_label[FONT_NAME_SIZE]
bool gui_gtk3_22_new_messages_go_to_top
bool gui_gtk3_show_task_icons
char gui_gtk3_22_font_help_link[FONT_NAME_SIZE]
bool gui_gtk4_mouse_over_map_focus
char gui_gtk2_font_notify_label[FONT_NAME_SIZE]
char default_chat_logfile[512]
bool unit_selection_clears_orders
char gui_qt_font_default[FONT_NAME_SIZE]
char gui_qt_font_reqtree_text[FONT_NAME_SIZE]
char gui_gtk4_font_city_productions[FONT_NAME_SIZE]
bool voteinfo_bar_new_at_front
bool gui_gtk3_22_chatline_autocompletion
bool center_when_popup_city
char gui_sdl2_default_theme_name[512]
bool gui_gtk2_metaserver_tab_first
char default_tileset_square_name[512]
bool reqtree_curved_lines
bool gui_gtk3_new_messages_go_to_top
bool gui_gtk3_22_dialogs_on_top
char gui_qt_font_help_label[FONT_NAME_SIZE]
bool gui_gtk3_enable_tabs
char gui_gtk3_font_help_label[FONT_NAME_SIZE]
char gui_gtk3_font_city_productions[FONT_NAME_SIZE]
bool save_options_on_exit
bool gui_qt_show_titlebar
bool gui_gtk3_22_fullscreen
bool gui_gtk3_22_enable_tabs
bool gui_gtk2_show_chat_message_time
char gui_gtk3_font_chatline[FONT_NAME_SIZE]
bool sound_enable_effects
bool autoaccept_soundset_suggestion
char gui_gtk3_22_font_help_label[FONT_NAME_SIZE]
bool gui_sdl2_default_screen_size_set
bool gui_gtk3_22_map_scrollbars
char gui_gtk2_font_city_label[FONT_NAME_SIZE]
bool gui_sdl3_default_screen_size_set
int smooth_combat_step_msec
char gui_qt_font_chatline[FONT_NAME_SIZE]
bool gui_gtk2_allied_chat_only
char default_tileset_isohex_name[512]
char gui_gtk2_font_comment_label[FONT_NAME_SIZE]
bool concise_city_production
bool gui_qt_migrated_from_2_5
char gui_gtk4_font_spaceship_label[FONT_NAME_SIZE]
char gui_gtk4_font_small[FONT_NAME_SIZE]
bool gui_gtk3_map_scrollbars
bool voteinfo_bar_always_show
bool gui_gtk3_show_message_window_buttons
char mapimg_filename[512]
bool gui_gtk2_dialogs_on_top
int gui_gtk3_popup_tech_help
bool gui_gtk4_chatline_autocompletion
bool gui_sdl2_use_theme_font_size
char default_music_set_name[512]
char gui_gtk4_font_comment_label[FONT_NAME_SIZE]
int gui_gtk3_message_chat_location
bool gui_gtk3_22_show_task_icons
char gui_gtk3_22_font_city_productions[FONT_NAME_SIZE]
char gui_gtk3_font_help_link[FONT_NAME_SIZE]
bool gui_gtk3_chatline_autocompletion
bool gui_gtk2_new_messages_go_to_top
bool gui_gtk4_enable_tabs
bool gui_sdl3_migrated_from_sdl2
bool gui_qt_show_wonders_panel
bool gui_gtk4_map_scrollbars
char gui_gtk3_font_small[FONT_NAME_SIZE]
bool sound_enable_game_music
char gui_gtk2_font_city_productions[FONT_NAME_SIZE]
bool gui_gtk4_new_messages_go_to_top
bool auto_center_on_combat
char gui_gtk2_font_spaceship_label[FONT_NAME_SIZE]
bool separate_unit_selection
bool gui_qt_default_fonts_set
char default_sound_plugin_name[512]
char gui_gtk4_default_theme_name[512]
int gui_gtk3_governor_range_min
char gui_gtk2_font_help_link[FONT_NAME_SIZE]
char gui_qt_font_notify_label[FONT_NAME_SIZE]
bool gui_sdl2_use_color_cursors
bool gui_gtk2_show_message_window_buttons
char gui_gtk3_22_default_theme_name[512]
bool gui_gtk2_show_task_icons
char gui_gtk2_font_beta_label[FONT_NAME_SIZE]
char gui_gtk4_font_reqtree_text[FONT_NAME_SIZE]
bool popup_attack_actions
int gui_gtk4_citydlg_ysize
int gui_gtk3_22_citydlg_xsize
bool solid_color_behind_units
char gui_gtk3_22_font_city_label[FONT_NAME_SIZE]
bool gui_gtk3_migrated_from_gtk2
bool popup_last_move_to_allied
bool gui_gtk2_mouse_over_map_focus
int gui_gtk2_popup_tech_help
char gui_gtk3_font_comment_label[FONT_NAME_SIZE]
char gui_gtk4_font_help_text[FONT_NAME_SIZE]
char default_user_name[512]
char gui_gtk4_font_help_label[FONT_NAME_SIZE]
bool gui_gtk4_migrated_from_gtk3_22
int gui_gtk3_citydlg_ysize
const struct option_set * poptset
bool layers[OLAYER_COUNT]