Freeciv-3.2: /fast/freeciv/nightly/S3_2/client/options.h Source File

Freeciv-3.2

Loading...
Searching...
No Matches
options.h
Go to the documentation of this file.
1/***********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
6 any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12***********************************************************************/
13#ifndef FC__OPTIONS_H
14#define FC__OPTIONS_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20/* utility */
21#include "support.h" /* bool type */
22
23/* common */
24#include "events.h"
25#include "fc_types.h" /* enum gui_type */
26#include "featured_text.h" /* struct ft_color */
27#include "mapimg.h"
28
29#define DEFAULT_METASERVER_OPTION "default"
30#define DEFAULT_FOLLOWTAG_OPTION "builtin"
31
32#define FONT_NAME_SIZE 512
33
34#if MINOR_VERSION >= 90
35#define MAJOR_NEW_OPTION_FILE_NAME (MAJOR_VERSION + 1)
36#define MINOR_NEW_OPTION_FILE_NAME 0
37#else /* MINOR_VERSION < 90 */
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)
41#else
42#define MINOR_NEW_OPTION_FILE_NAME MINOR_VERSION
43#endif /* IS_DEVEL_VERSION */
44#endif /* MINOR_VERSION >= 90 */
45
46 struct video_mode {
47 int width;
48 int height;
49};
50
51#define VIDEO_MODE(ARG_width, ARG_height) \
52 (struct video_mode){ ARG_width, ARG_height }
53
54/****************************************************************************
55 Constructor.
56****************************************************************************/
57 static inline struct video_mode video_mode_construct(int width, int height)
58{
59 struct video_mode mode = VIDEO_MODE(width, height);
60
61 return mode;
62}
63
64enum {
65 /* Order must match strings in
66 * options.c:gui_gtk_message_chat_location_name() */
67 GUI_GTK_MSGCHAT_SPLIT,
68 GUI_GTK_MSGCHAT_SEPARATE,
69 GUI_GTK_MSGCHAT_MERGED
70};
71
72enum {
73 /* Order must match strings in
74 * options.c:gui_popup_tech_help_name() */
75 GUI_POPUP_TECH_HELP_ENABLED,
76 GUI_POPUP_TECH_HELP_DISABLED,
77 GUI_POPUP_TECH_HELP_RULESET
78};
79
80 enum overview_layers {
81 OLAYER_BACKGROUND,
82 OLAYER_RELIEF,
83 OLAYER_BORDERS,
84 OLAYER_BORDERS_ON_OCEAN,
85 OLAYER_UNITS,
86 OLAYER_CITIES,
87 OLAYER_COUNT
88};
89
90/* Holds all information about the overview aka minimap. */
91 struct overview {
92 /* The following fields are controlled by mapview_common.c. */
93 double map_x0, map_y0; /* Origin of the overview, in natural coords. */
94 int width, height; /* Size in pixels. */
95
96 /* Holds the map, unwrapped. */
97 struct canvas *map;
98
99 /* A backing store for the window itself, wrapped. */
100 struct canvas *window;
101
102 bool fog;
103 bool layers[OLAYER_COUNT];
104};
105
106 struct client_options
107{
108 char default_user_name[512];
109 char default_server_host[512];
110 int default_server_port;
111 bool use_prev_server;
112 bool heartbeat_enabled;
113 bool send_desired_settings;
114 char default_metaserver[512];
115 char followtag_override[5112];
116 char default_tileset_square_name[512];
117 char default_tileset_hex_name[512];
118 char default_tileset_isohex_name[512];
119 char default_sound_set_name[512];
120 char default_music_set_name[512];
121 char default_sound_plugin_name[512];
122 char default_chat_logfile[512];
123 int default_topology;
124
125 bool save_options_on_exit;
126
128 bool first_boot; /* There was no earlier options saved.
129 * This affects some migrations, but not all. */
130 char default_tileset_name[512]; /* pre-2.6 had just this one tileset name */
131 char default_tileset_overhead_name[512]; /* 2.6 had separate tilesets for ... */
132 char default_tileset_iso_name[512]; /* ...overhead and iso topologies. */
133 bool gui_gtk3_migrated_from_gtk2;
134 bool gui_gtk3_22_migrated_from_gtk3;
135 bool gui_gtk4_migrated_from_gtk3_22;
136 bool gui_sdl2_migrated_from_sdl;
137 bool gui_sdl3_migrated_from_sdl2;
138 bool gui_gtk2_migrated_from_2_5;
139 bool gui_gtk3_migrated_from_2_5;
140 bool gui_qt_migrated_from_2_5;
141 bool gui_qt_default_fonts_set;
142 bool gui_sdl2_default_screen_size_set;
143 bool gui_sdl3_default_screen_size_set;
144
145 bool migrate_fullscreen;
146
149 bool solid_color_behind_units;
150 bool sound_bell_at_new_turn;
151 int smooth_move_unit_msec;
152 int smooth_center_slide_msec;
153 int smooth_combat_step_msec;
154 bool ai_manual_turn_done;
155 bool auto_center_on_unit;
156 bool auto_center_on_automated;
157 bool auto_center_on_combat;
158 bool auto_center_each_turn;
159 bool wakeup_focus;
160 bool goto_into_unknown;
161 bool center_when_popup_city;
162 bool show_previous_turn_messages;
163 bool concise_city_production;
164 bool auto_turn_done;
165 bool meta_accelerators;
166 bool ask_city_name;
167 bool popup_new_cities;
168 bool popup_actor_arrival;
169 bool popup_attack_actions;
170 bool popup_last_move_to_allied;
171 bool update_city_text_in_refresh_tile;
172 bool keyboardless_goto;
173 bool enable_cursor_changes;
174 bool separate_unit_selection;
175 bool unit_selection_clears_orders;
176 struct ft_color highlight_our_names;
177
178 bool voteinfo_bar_use;
179 bool voteinfo_bar_always_show;
180 bool voteinfo_bar_hide_when_not_player;
181 bool voteinfo_bar_new_at_front;
182
183 bool autoaccept_tileset_suggestion;
184 bool autoaccept_soundset_suggestion;
185 bool autoaccept_musicset_suggestion;
186
187 bool sound_enable_effects;
188 bool sound_enable_menu_music;
189 bool sound_enable_game_music;
190 int sound_effects_volume;
191 bool silent_when_not_in_focus;
192
193 bool draw_city_outlines;
194 bool draw_city_output;
195 bool draw_map_grid;
196 bool draw_city_names;
197 bool draw_city_growth;
198 bool draw_city_productions;
199 bool draw_city_buycost;
200 bool draw_city_trade_routes;
201 bool draw_terrain;
202 bool draw_coastline;
203 bool draw_paths;
204 bool draw_irrigation;
205 bool draw_mines;
206 bool draw_fortress_airbase;
207 bool draw_specials;
208 bool draw_huts;
209 bool draw_pollution;
210 bool draw_cities;
211 bool draw_units;
212 bool draw_focus_unit;
213 bool draw_fog_of_war;
214 bool draw_borders;
215 bool draw_native;
216 bool draw_full_citybar;
217 bool draw_unit_shields;
218 bool draw_unit_stack_size;
219
220 bool player_dlg_show_dead_players;
221 bool reqtree_show_icons;
222 bool reqtree_curved_lines;
223
224/* options for map images */
225 char mapimg_format[64];
226 int mapimg_zoom;
227 bool mapimg_layer[MAPIMG_LAYER_COUNT];
228 char mapimg_filename[512];
229
230 bool zoom_set;
231 float zoom_default_level;
232
233/* gui-gtk-2.0 client specific options.
234 * These are still kept just so users can migrate them to later gtk-clients */
235 bool gui_gtk2_map_scrollbars;
236 bool gui_gtk2_dialogs_on_top;
237 bool gui_gtk2_show_task_icons;
238 bool gui_gtk2_enable_tabs;
239 bool gui_gtk2_better_fog;
240 bool gui_gtk2_show_chat_message_time;
241 bool gui_gtk2_new_messages_go_to_top;
242 bool gui_gtk2_show_message_window_buttons;
243 bool gui_gtk2_metaserver_tab_first;
244 bool gui_gtk2_allied_chat_only;
245 bool gui_gtk2_mouse_over_map_focus;
246 bool gui_gtk2_chatline_autocompletion;
247 int gui_gtk2_citydlg_xsize;
248 int gui_gtk2_citydlg_ysize;
249 int gui_gtk2_popup_tech_help;
250 char gui_gtk2_font_city_label[FONT_NAME_SIZE];
251 char gui_gtk2_font_notify_label[FONT_NAME_SIZE];
252 char gui_gtk2_font_spaceship_label[FONT_NAME_SIZE];
253 char gui_gtk2_font_help_label[FONT_NAME_SIZE];
254 char gui_gtk2_font_help_link[FONT_NAME_SIZE];
255 char gui_gtk2_font_help_text[FONT_NAME_SIZE];
256 char gui_gtk2_font_chatline[FONT_NAME_SIZE];
257 char gui_gtk2_font_beta_label[FONT_NAME_SIZE];
258 char gui_gtk2_font_small[FONT_NAME_SIZE];
259 char gui_gtk2_font_comment_label[FONT_NAME_SIZE];
260 char gui_gtk2_font_city_names[FONT_NAME_SIZE];
261 char gui_gtk2_font_city_productions[FONT_NAME_SIZE];
262 char gui_gtk2_font_reqtree_text[FONT_NAME_SIZE];
263
264/* gui-gtk-3.0 client specific options.
265 * These are still kept just so users can migrate them to later gtk-clients */
266 bool gui_gtk3_fullscreen;
267 bool gui_gtk3_map_scrollbars;
268 bool gui_gtk3_dialogs_on_top;
269 bool gui_gtk3_show_task_icons;
270 bool gui_gtk3_enable_tabs;
271 bool gui_gtk3_show_chat_message_time;
272 bool gui_gtk3_new_messages_go_to_top;
273 bool gui_gtk3_show_message_window_buttons;
274 bool gui_gtk3_metaserver_tab_first;
275 bool gui_gtk3_allied_chat_only;
276 int gui_gtk3_message_chat_location; /* enum GUI_GTK_MSGCHAT_* */
277 bool gui_gtk3_small_display_layout;
278 bool gui_gtk3_mouse_over_map_focus;
279 bool gui_gtk3_chatline_autocompletion;
280 int gui_gtk3_citydlg_xsize;
281 int gui_gtk3_citydlg_ysize;
282 int gui_gtk3_popup_tech_help;
283 int gui_gtk3_governor_range_min;
284 int gui_gtk3_governor_range_max;
285 char gui_gtk3_font_city_label[FONT_NAME_SIZE];
286 char gui_gtk3_font_notify_label[FONT_NAME_SIZE];
287 char gui_gtk3_font_spaceship_label[FONT_NAME_SIZE];
288 char gui_gtk3_font_help_label[FONT_NAME_SIZE];
289 char gui_gtk3_font_help_link[FONT_NAME_SIZE];
290 char gui_gtk3_font_help_text[FONT_NAME_SIZE];
291 char gui_gtk3_font_chatline[FONT_NAME_SIZE];
292 char gui_gtk3_font_beta_label[FONT_NAME_SIZE];
293 char gui_gtk3_font_small[FONT_NAME_SIZE];
294 char gui_gtk3_font_comment_label[FONT_NAME_SIZE];
295 char gui_gtk3_font_city_names[FONT_NAME_SIZE];
296 char gui_gtk3_font_city_productions[FONT_NAME_SIZE];
297 char gui_gtk3_font_reqtree_text[FONT_NAME_SIZE];
298
299 /* gui-gtk-3.22 client specific options. */
300#define FC_GTK3_22_DEFAULT_THEME_NAME "Freeciv"
301 char gui_gtk3_22_default_theme_name[512];
302 bool gui_gtk3_22_fullscreen;
303 bool gui_gtk3_22_map_scrollbars;
304 bool gui_gtk3_22_dialogs_on_top;
305 bool gui_gtk3_22_show_task_icons;
306 bool gui_gtk3_22_enable_tabs;
307 bool gui_gtk3_22_show_chat_message_time;
308 bool gui_gtk3_22_new_messages_go_to_top;
309 bool gui_gtk3_22_show_message_window_buttons;
310 bool gui_gtk3_22_metaserver_tab_first;
311 bool gui_gtk3_22_allied_chat_only;
312 int gui_gtk3_22_message_chat_location; /* enum GUI_GTK_MSGCHAT_* */
313 bool gui_gtk3_22_small_display_layout;
314 bool gui_gtk3_22_mouse_over_map_focus;
315 bool gui_gtk3_22_chatline_autocompletion;
316 int gui_gtk3_22_citydlg_xsize;
317 int gui_gtk3_22_citydlg_ysize;
318 int gui_gtk3_22_popup_tech_help;
319 int gui_gtk3_22_governor_range_min;
320 int gui_gtk3_22_governor_range_max;
321 char gui_gtk3_22_font_city_label[FONT_NAME_SIZE];
322 char gui_gtk3_22_font_notify_label[FONT_NAME_SIZE];
323 char gui_gtk3_22_font_spaceship_label[FONT_NAME_SIZE];
324 char gui_gtk3_22_font_help_label[FONT_NAME_SIZE];
325 char gui_gtk3_22_font_help_link[FONT_NAME_SIZE];
326 char gui_gtk3_22_font_help_text[FONT_NAME_SIZE];
327 char gui_gtk3_22_font_chatline[FONT_NAME_SIZE];
328 char gui_gtk3_22_font_beta_label[FONT_NAME_SIZE];
329 char gui_gtk3_22_font_small[FONT_NAME_SIZE];
330 char gui_gtk3_22_font_comment_label[FONT_NAME_SIZE];
331 char gui_gtk3_22_font_city_names[FONT_NAME_SIZE];
332 char gui_gtk3_22_font_city_productions[FONT_NAME_SIZE];
333 char gui_gtk3_22_font_reqtree_text[FONT_NAME_SIZE];
334
335/* gui-gtk-4.0 client specific options. */
336#define FC_GTK4_DEFAULT_THEME_NAME "Freeciv"
337 char gui_gtk4_default_theme_name[512];
338 bool gui_gtk4_fullscreen;
339 bool gui_gtk4_map_scrollbars;
340 bool gui_gtk4_dialogs_on_top;
341 bool gui_gtk4_show_task_icons;
342 bool gui_gtk4_enable_tabs;
343 bool gui_gtk4_show_chat_message_time;
344 bool gui_gtk4_new_messages_go_to_top;
345 bool gui_gtk4_show_message_window_buttons;
346 bool gui_gtk4_metaserver_tab_first;
347 bool gui_gtk4_allied_chat_only;
348 int gui_gtk4_message_chat_location; /* enum GUI_GTK_MSGCHAT_* */
349 bool gui_gtk4_small_display_layout;
350 bool gui_gtk4_mouse_over_map_focus;
351 bool gui_gtk4_chatline_autocompletion;
352 int gui_gtk4_citydlg_xsize;
353 int gui_gtk4_citydlg_ysize;
354 int gui_gtk4_popup_tech_help;
355 int gui_gtk4_governor_range_min;
356 int gui_gtk4_governor_range_max;
357 char gui_gtk4_font_city_label[FONT_NAME_SIZE];
358 char gui_gtk4_font_notify_label[FONT_NAME_SIZE];
359 char gui_gtk4_font_spaceship_label[FONT_NAME_SIZE];
360 char gui_gtk4_font_help_label[FONT_NAME_SIZE];
361 char gui_gtk4_font_help_link[FONT_NAME_SIZE];
362 char gui_gtk4_font_help_text[FONT_NAME_SIZE];
363 char gui_gtk4_font_chatline[FONT_NAME_SIZE];
364 char gui_gtk4_font_beta_label[FONT_NAME_SIZE];
365 char gui_gtk4_font_small[FONT_NAME_SIZE];
366 char gui_gtk4_font_comment_label[FONT_NAME_SIZE];
367 char gui_gtk4_font_city_names[FONT_NAME_SIZE];
368 char gui_gtk4_font_city_productions[FONT_NAME_SIZE];
369 char gui_gtk4_font_reqtree_text[FONT_NAME_SIZE];
370
371/* gui-sdl client specific options.
372 * These are still kept just so users can migrate them to sdl2-client */
373 bool gui_sdl_fullscreen;
374 struct video_mode gui_sdl_screen;
375 bool gui_sdl_do_cursor_animation;
376 bool gui_sdl_use_color_cursors;
377
378/* gui-sdl2 client specific options. */
379#define FC_SDL2_DEFAULT_THEME_NAME "human"
380 char gui_sdl2_default_theme_name[512];
381 bool gui_sdl2_fullscreen;
382 struct video_mode gui_sdl2_screen;
383 bool gui_sdl2_swrenderer;
384 bool gui_sdl2_do_cursor_animation;
385 bool gui_sdl2_use_color_cursors;
386 char gui_sdl2_font_city_names[64];
387 char gui_sdl2_font_city_productions[64];
388 bool gui_sdl2_use_theme_font_size;
389 int gui_sdl2_font_size;
390
391/* gui-sdl3 client specific options. */
392#define FC_SDL3_DEFAULT_THEME_NAME "human"
393 char gui_sdl3_default_theme_name[512];
394 bool gui_sdl3_fullscreen;
395 struct video_mode gui_sdl3_screen;
396 bool gui_sdl3_swrenderer;
397 bool gui_sdl3_do_cursor_animation;
398 bool gui_sdl3_use_color_cursors;
399 char gui_sdl3_font_city_names[64];
400 char gui_sdl3_font_city_productions[64];
401 bool gui_sdl3_use_theme_font_size;
402 int gui_sdl3_font_size;
403
404/* gui-qt client specific options. */
405#define FC_QT_DEFAULT_THEME_NAME "NightStalker"
406 bool gui_qt_fullscreen;
407 bool gui_qt_show_preview;
408 bool gui_qt_allied_chat_only;
409 bool gui_qt_sidebar_left;
410 char gui_qt_default_theme_name[512];
411 char gui_qt_font_default[FONT_NAME_SIZE];
412 char gui_qt_font_notify_label[FONT_NAME_SIZE];
413 char gui_qt_font_help_label[FONT_NAME_SIZE];
414 char gui_qt_font_help_text[FONT_NAME_SIZE];
415 char gui_qt_font_chatline[FONT_NAME_SIZE];
416 char gui_qt_font_city_names[FONT_NAME_SIZE];
417 char gui_qt_font_city_productions[FONT_NAME_SIZE];
418 char gui_qt_font_reqtree_text[FONT_NAME_SIZE];
419 bool gui_qt_show_titlebar;
420 char gui_qt_wakeup_text[512];
421 bool gui_qt_show_relations_panel;
422 bool gui_qt_show_techs_panel;
423 bool gui_qt_show_wonders_panel;
424 bool gui_qt_svgflags;
425
426 struct overview overview;
427};
428
429extern struct client_options gui_options;
430
431#define SPECENUM_NAME option_type
432#define SPECENUM_VALUE0 OT_BOOLEAN
433#define SPECENUM_VALUE1 OT_INTEGER
434#define SPECENUM_VALUE2 OT_STRING
435#define SPECENUM_VALUE3 OT_ENUM
436#define SPECENUM_VALUE4 OT_BITWISE
437#define SPECENUM_VALUE5 OT_FONT
438#define SPECENUM_VALUE6 OT_COLOR
439#define SPECENUM_VALUE7 OT_VIDEO_MODE
440#include "specenum_gen.h"
441
442
443struct option; /* Opaque type. */
444struct option_set; /* Opaque type. */
445
446 typedef void (*option_save_log_callback)(enum log_level lvl, const char *msg, ...);
447
448/* Main functions. */
449void options_init(void);
450void options_free(void);
451void server_options_init(void);
452void server_options_free(void);
453void options_load(void);
454void options_save(option_save_log_callback log_cb);
455
456
457/* Option sets. */
458extern const struct option_set *client_optset;
459extern const struct option_set *server_optset;
460
461struct option *optset_option_by_number(const struct option_set *poptset,
462 int id);
463#define optset_option_by_index optset_option_by_number
464struct option *optset_option_by_name(const struct option_set *poptset,
465 const char *name);
466struct option *optset_option_first(const struct option_set *poptset);
467
468int optset_category_number(const struct option_set *poptset);
469const char *optset_category_name(const struct option_set *poptset,
470 int category);
471
472
473/* Common option functions. */
474const struct option_set *option_optset(const struct option *poption);
475int option_number(const struct option *poption);
476#define option_index option_number
477const char *option_name(const struct option *poption);
478const char *option_description(const struct option *poption);
479const char *option_help_text(const struct option *poption);
480enum option_type option_type(const struct option *poption);
481int option_category(const struct option *poption);
482const char *option_category_name(const struct option *poption);
483bool option_is_changeable(const struct option *poption);
484struct option *option_next(const struct option *poption);
485
486bool option_reset(struct option *poption);
487void option_set_changed_callback(struct option *poption,
488 void (*callback) (struct option *));
489void option_changed(struct option *poption);
490
491/* Option gui functions. */
492void option_set_gui_data(struct option *poption, void *data);
493void *option_get_gui_data(const struct option *poption);
494
495/* Callback assistance */
496int option_get_cb_data(const struct option *poption);
497
498/* Option type OT_BOOLEAN functions. */
499bool option_bool_get(const struct option *poption);
500bool option_bool_def(const struct option *poption);
501bool option_bool_set(struct option *poption, bool val);
502
503/* Option type OT_INTEGER functions. */
504int option_int_get(const struct option *poption);
505int option_int_def(const struct option *poption);
506int option_int_min(const struct option *poption);
507int option_int_max(const struct option *poption);
508bool option_int_set(struct option *poption, int val);
509
510/* Option type OT_STRING functions. */
511const char *option_str_get(const struct option *poption);
512const char *option_str_def(const struct option *poption);
513const struct strvec *option_str_values(const struct option *poption);
514bool option_str_set(struct option *poption, const char *str);
515
516/* Option type OT_ENUM functions. */
517int option_enum_str_to_int(const struct option *poption, const char *str);
518const char *option_enum_int_to_str(const struct option *poption, int val);
519int option_enum_get_int(const struct option *poption);
520const char *option_enum_get_str(const struct option *poption);
521int option_enum_def_int(const struct option *poption);
522const char *option_enum_def_str(const struct option *poption);
523const struct strvec *option_enum_values(const struct option *poption);
524bool option_enum_set_int(struct option *poption, int val);
525bool option_enum_set_str(struct option *poption, const char *str);
526
527/* Option type OT_BITWISE functions. */
528unsigned option_bitwise_get(const struct option *poption);
529unsigned option_bitwise_def(const struct option *poption);
530unsigned option_bitwise_mask(const struct option *poption);
531const struct strvec *option_bitwise_values(const struct option *poption);
532bool option_bitwise_set(struct option *poption, unsigned val);
533
534/* Option type OT_FONT functions. */
535const char *option_font_get(const struct option *poption);
536const char *option_font_def(const struct option *poption);
537const char *option_font_target(const struct option *poption);
538bool option_font_set(struct option *poption, const char *font);
539
540/* Option type OT_COLOR functions. */
541struct ft_color option_color_get(const struct option *poption);
542struct ft_color option_color_def(const struct option *poption);
543bool option_color_set(struct option *poption, struct ft_color color);
544
545/* Option type OT_VIDEO_MODE functions. */
546struct video_mode option_video_mode_get(const struct option *poption);
547struct video_mode option_video_mode_def(const struct option *poption);
548bool option_video_mode_set(struct option *poption, struct video_mode mode);
549
550
551#define options_iterate(poptset, poption) \
552{ \
553 struct option *poption = optset_option_first(poptset); \
554 for (; NULL != poption; poption = option_next(poption)) { \
555
556#define options_iterate_end \
557 } \
558}
559
560
562void desired_settable_options_update(void);
563void desired_settable_option_update(const char *op_name,
564 const char *op_value,
565 bool allow_replace);
566void resend_desired_settable_options(void);
567
568
570void options_dialogs_update(void);
571void options_dialogs_set(void);
572
573
576/* for specifying which event messages go where: */
577#define NUM_MW 3
578#define MW_OUTPUT 1 /* add to the output window */
579#define MW_MESSAGES 2 /* add to the messages window */
580#define MW_POPUP 4 /* popup an individual window */
581
582extern int messages_where[]; /* OR-ed MW_ values [E_COUNT] */
583
584
587#define GUI_DEFAULT_CHAT_LOGFILE "freeciv-chat.log"
588
589/* gui-gtk2: [xy]size of the city dialog */
590#define GUI_GTK2_CITYDLG_DEFAULT_XSIZE 770
591#define GUI_GTK2_CITYDLG_MIN_XSIZE 256
592#define GUI_GTK2_CITYDLG_MAX_XSIZE 4096
593
594#define GUI_GTK2_CITYDLG_DEFAULT_YSIZE 512
595#define GUI_GTK2_CITYDLG_MIN_YSIZE 128
596#define GUI_GTK2_CITYDLG_MAX_YSIZE 4096
597
598#define GUI_GTK_OVERVIEW_MIN_XSIZE 160
599#define GUI_GTK_OVERVIEW_MIN_YSIZE 100
600
601/* gui-gtk3: [xy]size of the city dialog */
602#define GUI_GTK3_CITYDLG_DEFAULT_XSIZE 770
603#define GUI_GTK3_CITYDLG_MIN_XSIZE 256
604#define GUI_GTK3_CITYDLG_MAX_XSIZE 4096
605
606#define GUI_GTK3_CITYDLG_DEFAULT_YSIZE 512
607#define GUI_GTK3_CITYDLG_MIN_YSIZE 128
608#define GUI_GTK3_CITYDLG_MAX_YSIZE 4096
609
610#define GUI_GTK3_GOV_RANGE_MIN_DEFAULT -20
611#define GUI_GTK3_GOV_RANGE_MIN_MIN -100
612#define GUI_GTK3_GOV_RANGE_MIN_MAX 0
613
614#define GUI_GTK3_GOV_RANGE_MAX_DEFAULT 20
615#define GUI_GTK3_GOV_RANGE_MAX_MIN 0
616#define GUI_GTK3_GOV_RANGE_MAX_MAX 100
617
618/* gui-gtk3.22: [xy]size of the city dialog */
619#define GUI_GTK3_22_CITYDLG_DEFAULT_XSIZE 770
620#define GUI_GTK3_22_CITYDLG_MIN_XSIZE 256
621#define GUI_GTK3_22_CITYDLG_MAX_XSIZE 4096
622
623#define GUI_GTK3_22_CITYDLG_DEFAULT_YSIZE 512
624#define GUI_GTK3_22_CITYDLG_MIN_YSIZE 128
625#define GUI_GTK3_22_CITYDLG_MAX_YSIZE 4096
626
627#define GUI_GTK3_22_GOV_RANGE_MIN_DEFAULT -20
628#define GUI_GTK3_22_GOV_RANGE_MIN_MIN -100
629#define GUI_GTK3_22_GOV_RANGE_MIN_MAX 0
630
631#define GUI_GTK3_22_GOV_RANGE_MAX_DEFAULT 20
632#define GUI_GTK3_22_GOV_RANGE_MAX_MIN 0
633#define GUI_GTK3_22_GOV_RANGE_MAX_MAX 100
634
635/* gui-gtk4.0: [xy]size of the city dialog */
636#define GUI_GTK4_CITYDLG_DEFAULT_XSIZE 770
637#define GUI_GTK4_CITYDLG_MIN_XSIZE 256
638#define GUI_GTK4_CITYDLG_MAX_XSIZE 4096
639
640#define GUI_GTK4_CITYDLG_DEFAULT_YSIZE 512
641#define GUI_GTK4_CITYDLG_MIN_YSIZE 128
642#define GUI_GTK4_CITYDLG_MAX_YSIZE 4096
643
644#define GUI_GTK4_GOV_RANGE_MIN_DEFAULT -20
645#define GUI_GTK4_GOV_RANGE_MIN_MIN -100
646#define GUI_GTK4_GOV_RANGE_MIN_MAX 0
647
648#define GUI_GTK4_GOV_RANGE_MAX_DEFAULT 20
649#define GUI_GTK4_GOV_RANGE_MAX_MIN 0
650#define GUI_GTK4_GOV_RANGE_MAX_MAX 100
651
652#define GUI_DEFAULT_MAPIMG_FILENAME "freeciv"
653
654bool video_mode_to_string(char *buf, size_t buf_len, struct video_mode *mode);
655bool string_to_video_mode(const char *buf, struct video_mode *mode);
656
657struct tileset;
658
659const char *tileset_name_for_topology(int topology_id);
660void option_set_default_ts(struct tileset *t);
661void fill_topo_ts_default(void);
662
663#ifdef __cplusplus
664}
665#endif /* __cplusplus */
666
667#endif /* FC__OPTIONS_H */
str
#define str
Definition astring.c:76
height
struct canvas int int struct sprite int int int int height
Definition canvas_g.h:44
width
struct canvas int int struct sprite int int int width
Definition canvas_g.h:44
incite_cost
char * incite_cost
Definition comments.c:74
events.h
fc_types.h
featured_text.h
name
const char * name
Definition inputfile.c:127
log_level
log_level
Definition log.h:28
mapimg.h
option_bitwise_mask
unsigned option_bitwise_mask(const struct option *poption)
Definition options.c:1095
fill_topo_ts_default
void fill_topo_ts_default(void)
Definition options.c:6610
resend_desired_settable_options
void resend_desired_settable_options(void)
Definition options.c:5756
option_str_values
const struct strvec * option_str_values(const struct option *poption)
Definition options.c:914
option_changed
void option_changed(struct option *poption)
Definition options.c:747
option_bitwise_def
unsigned option_bitwise_def(const struct option *poption)
Definition options.c:1084
option_enum_str_to_int
int option_enum_str_to_int(const struct option *poption, const char *str)
Definition options.c:942
option_int_min
int option_int_min(const struct option *poption)
Definition options.c:855
option_bool_def
bool option_bool_def(const struct option *poption)
Definition options.c:807
option_font_def
const char * option_font_def(const struct option *poption)
Definition options.c:1151
tileset_name_for_topology
const char * tileset_name_for_topology(int topology_id)
Definition options.c:6524
optset_option_first
struct option * optset_option_first(const struct option_set *poptset)
Definition options.c:446
option_save_log_callback
void(* option_save_log_callback)(enum log_level lvl, const char *msg,...)
Definition options.h:446
server_optset
const struct option_set * server_optset
Definition options.c:4019
option_reset
bool option_reset(struct option *poption)
Definition options.c:708
options_free
void options_free(void)
Definition options.c:6326
option_description
const char * option_description(const struct option *poption)
Definition options.c:637
option_help_text
const char * option_help_text(const struct option *poption)
Definition options.c:647
option_enum_get_str
const char * option_enum_get_str(const struct option *poption)
Definition options.c:991
option_color_get
struct ft_color option_color_get(const struct option *poption)
Definition options.c:1189
option_enum_get_int
int option_enum_get_int(const struct option *poption)
Definition options.c:979
option_number
int option_number(const struct option *poption)
Definition options.c:617
option_category
int option_category(const struct option *poption)
Definition options.c:667
desired_settable_option_update
void desired_settable_option_update(const char *op_name, const char *op_value, bool allow_replace)
Definition options.c:5613
option_set_default_ts
void option_set_default_ts(struct tileset *t)
Definition options.c:6551
video_mode_construct
static struct video_mode video_mode_construct(int width, int height)
Definition options.h:57
option_str_set
bool option_str_set(struct option *poption, const char *str)
Definition options.c:925
client_optset
const struct option_set * client_optset
Definition options.c:1279
option_name
const char * option_name(const struct option *poption)
Definition options.c:627
option_int_get
int option_int_get(const struct option *poption)
Definition options.c:833
options_init
void options_init(void)
Definition options.c:6228
messages_where
int messages_where[]
Definition options.c:5039
option_enum_set_str
bool option_enum_set_str(struct option *poption, const char *str)
Definition options.c:1056
option_color_set
bool option_color_set(struct option *poption, struct ft_color color)
Definition options.c:1212
option_set_changed_callback
void option_set_changed_callback(struct option *poption, void(*callback)(struct option *))
Definition options.c:736
option_bool_set
bool option_bool_set(struct option *poption, bool val)
Definition options.c:818
option_is_changeable
bool option_is_changeable(const struct option *poption)
Definition options.c:688
option_video_mode_set
bool option_video_mode_set(struct option *poption, struct video_mode mode)
Definition options.c:1252
option_set_gui_data
void option_set_gui_data(struct option *poption, void *data)
Definition options.c:766
GUI_GTK_MSGCHAT_MERGED
@ GUI_GTK_MSGCHAT_MERGED
Definition options.h:69
GUI_GTK_MSGCHAT_SEPARATE
@ GUI_GTK_MSGCHAT_SEPARATE
Definition options.h:68
GUI_GTK_MSGCHAT_SPLIT
@ GUI_GTK_MSGCHAT_SPLIT
Definition options.h:67
option_str_get
const char * option_str_get(const struct option *poption)
Definition options.c:892
optset_option_by_number
struct option * optset_option_by_number(const struct option_set *poptset, int id)
Definition options.c:419
option_get_gui_data
void * option_get_gui_data(const struct option *poption)
Definition options.c:776
option_enum_values
const struct strvec * option_enum_values(const struct option *poption)
Definition options.c:1028
option_enum_set_int
bool option_enum_set_int(struct option *poption, int val)
Definition options.c:1039
option_bool_get
bool option_bool_get(const struct option *poption)
Definition options.c:796
optset_category_number
int optset_category_number(const struct option_set *poptset)
Definition options.c:456
server_options_init
void server_options_init(void)
Definition options.c:4163
option_type
enum option_type option_type(const struct option *poption)
Definition options.c:657
option_enum_int_to_str
const char * option_enum_int_to_str(const struct option *poption, int val)
Definition options.c:964
options_dialogs_update
void options_dialogs_update(void)
Definition options.c:5850
option_get_cb_data
int option_get_cb_data(const struct option *poption)
Definition options.c:786
video_mode_to_string
bool video_mode_to_string(char *buf, size_t buf_len, struct video_mode *mode)
Definition options.c:6500
option_optset
const struct option_set * option_optset(const struct option *poption)
Definition options.c:607
server_options_free
void server_options_free(void)
Definition options.c:4232
option_video_mode_get
struct video_mode option_video_mode_get(const struct option *poption)
Definition options.c:1227
option_next
struct option * option_next(const struct option *poption)
Definition options.c:698
option_str_def
const char * option_str_def(const struct option *poption)
Definition options.c:903
optset_category_name
const char * optset_category_name(const struct option_set *poptset, int category)
Definition options.c:466
option_int_max
int option_int_max(const struct option *poption)
Definition options.c:866
option_enum_def_str
const char * option_enum_def_str(const struct option *poption)
Definition options.c:1015
options_load
void options_load(void)
Definition options.c:5911
option_font_set
bool option_font_set(struct option *poption, const char *font)
Definition options.c:1173
option_font_target
const char * option_font_target(const struct option *poption)
Definition options.c:1162
FONT_NAME_SIZE
#define FONT_NAME_SIZE
Definition options.h:32
options_save
void options_save(option_save_log_callback log_cb)
Definition options.c:6090
string_to_video_mode
bool string_to_video_mode(const char *buf, struct video_mode *mode)
Definition options.c:6508
option_bitwise_values
const struct strvec * option_bitwise_values(const struct option *poption)
Definition options.c:1112
gui_options
struct client_options gui_options
Definition options.c:71
option_bitwise_set
bool option_bitwise_set(struct option *poption, unsigned val)
Definition options.c:1123
option_font_get
const char * option_font_get(const struct option *poption)
Definition options.c:1140
desired_settable_options_update
void desired_settable_options_update(void)
Definition options.c:5545
VIDEO_MODE
#define VIDEO_MODE(ARG_width, ARG_height)
Definition options.h:51
option_color_def
struct ft_color option_color_def(const struct option *poption)
Definition options.c:1200
overview_layers
overview_layers
Definition options.h:80
OLAYER_COUNT
@ OLAYER_COUNT
Definition options.h:87
OLAYER_BORDERS
@ OLAYER_BORDERS
Definition options.h:83
OLAYER_BACKGROUND
@ OLAYER_BACKGROUND
Definition options.h:81
OLAYER_CITIES
@ OLAYER_CITIES
Definition options.h:86
OLAYER_BORDERS_ON_OCEAN
@ OLAYER_BORDERS_ON_OCEAN
Definition options.h:84
OLAYER_UNITS
@ OLAYER_UNITS
Definition options.h:85
OLAYER_RELIEF
@ OLAYER_RELIEF
Definition options.h:82
option_bitwise_get
unsigned option_bitwise_get(const struct option *poption)
Definition options.c:1073
option_enum_def_int
int option_enum_def_int(const struct option *poption)
Definition options.c:1003
optset_option_by_name
struct option * optset_option_by_name(const struct option_set *poptset, const char *name)
Definition options.c:430
options_dialogs_set
void options_dialogs_set(void)
Definition options.c:5878
option_int_set
bool option_int_set(struct option *poption, int val)
Definition options.c:877
option_category_name
const char * option_category_name(const struct option *poption)
Definition options.c:677
option_int_def
int option_int_def(const struct option *poption)
Definition options.c:844
option_video_mode_def
struct video_mode option_video_mode_def(const struct option *poption)
Definition options.c:1239
GUI_POPUP_TECH_HELP_DISABLED
@ GUI_POPUP_TECH_HELP_DISABLED
Definition options.h:76
GUI_POPUP_TECH_HELP_RULESET
@ GUI_POPUP_TECH_HELP_RULESET
Definition options.h:77
GUI_POPUP_TECH_HELP_ENABLED
@ GUI_POPUP_TECH_HELP_ENABLED
Definition options.h:75
specenum_gen.h
callback
Definition gui_main.c:2404
canvas
Definition canvas.h:22
client_options
Definition options.h:107
client_options::gui_gtk4_governor_range_max
int gui_gtk4_governor_range_max
Definition options.h:356
client_options::voteinfo_bar_use
bool voteinfo_bar_use
Definition options.h:178
client_options::silent_when_not_in_focus
bool silent_when_not_in_focus
Definition options.h:191
client_options::gui_sdl2_do_cursor_animation
bool gui_sdl2_do_cursor_animation
Definition options.h:384
client_options::gui_gtk4_metaserver_tab_first
bool gui_gtk4_metaserver_tab_first
Definition options.h:346
client_options::gui_gtk4_show_task_icons
bool gui_gtk4_show_task_icons
Definition options.h:341
client_options::update_city_text_in_refresh_tile
bool update_city_text_in_refresh_tile
Definition options.h:171
client_options::gui_gtk4_citydlg_xsize
int gui_gtk4_citydlg_xsize
Definition options.h:352
client_options::gui_sdl2_font_size
int gui_sdl2_font_size
Definition options.h:389
client_options::gui_qt_fullscreen
bool gui_qt_fullscreen
Definition options.h:406
client_options::gui_gtk4_font_help_link
char gui_gtk4_font_help_link[FONT_NAME_SIZE]
Definition options.h:361
client_options::show_previous_turn_messages
bool show_previous_turn_messages
Definition options.h:162
client_options::gui_gtk3_22_migrated_from_gtk3
bool gui_gtk3_22_migrated_from_gtk3
Definition options.h:134
client_options::gui_gtk3_font_help_text
char gui_gtk3_font_help_text[FONT_NAME_SIZE]
Definition options.h:290
client_options::draw_native
bool draw_native
Definition options.h:215
client_options::gui_gtk2_migrated_from_2_5
bool gui_gtk2_migrated_from_2_5
Definition options.h:138
client_options::gui_qt_default_theme_name
char gui_qt_default_theme_name[512]
Definition options.h:410
client_options::sound_bell_at_new_turn
bool sound_bell_at_new_turn
Definition options.h:150
client_options::gui_gtk2_font_small
char gui_gtk2_font_small[FONT_NAME_SIZE]
Definition options.h:258
client_options::gui_sdl3_use_color_cursors
bool gui_sdl3_use_color_cursors
Definition options.h:398
client_options::gui_gtk3_22_governor_range_max
int gui_gtk3_22_governor_range_max
Definition options.h:320
client_options::gui_gtk3_22_mouse_over_map_focus
bool gui_gtk3_22_mouse_over_map_focus
Definition options.h:314
client_options::autoaccept_tileset_suggestion
bool autoaccept_tileset_suggestion
Definition options.h:183
client_options::autoaccept_musicset_suggestion
bool autoaccept_musicset_suggestion
Definition options.h:185
client_options::reqtree_show_icons
bool reqtree_show_icons
Definition options.h:221
client_options::enable_cursor_changes
bool enable_cursor_changes
Definition options.h:173
client_options::gui_gtk2_font_chatline
char gui_gtk2_font_chatline[FONT_NAME_SIZE]
Definition options.h:256
client_options::gui_sdl3_font_size
int gui_sdl3_font_size
Definition options.h:402
client_options::auto_turn_done
bool auto_turn_done
Definition options.h:164
client_options::gui_sdl2_migrated_from_sdl
bool gui_sdl2_migrated_from_sdl
Definition options.h:136
client_options::gui_qt_allied_chat_only
bool gui_qt_allied_chat_only
Definition options.h:408
client_options::gui_gtk4_fullscreen
bool gui_gtk4_fullscreen
Definition options.h:338
client_options::gui_qt_font_city_names
char gui_qt_font_city_names[FONT_NAME_SIZE]
Definition options.h:416
client_options::gui_gtk3_22_font_help_text
char gui_gtk3_22_font_help_text[FONT_NAME_SIZE]
Definition options.h:326
client_options::gui_gtk2_enable_tabs
bool gui_gtk2_enable_tabs
Definition options.h:238
client_options::gui_gtk3_22_metaserver_tab_first
bool gui_gtk3_22_metaserver_tab_first
Definition options.h:310
client_options::gui_gtk3_22_governor_range_min
int gui_gtk3_22_governor_range_min
Definition options.h:319
client_options::gui_gtk2_citydlg_ysize
int gui_gtk2_citydlg_ysize
Definition options.h:248
client_options::gui_gtk4_governor_range_min
int gui_gtk4_governor_range_min
Definition options.h:355
client_options::gui_gtk4_font_chatline
char gui_gtk4_font_chatline[FONT_NAME_SIZE]
Definition options.h:363
client_options::gui_qt_font_city_productions
char gui_qt_font_city_productions[FONT_NAME_SIZE]
Definition options.h:417
client_options::draw_specials
bool draw_specials
Definition options.h:207
client_options::smooth_center_slide_msec
int smooth_center_slide_msec
Definition options.h:152
client_options::gui_gtk3_22_message_chat_location
int gui_gtk3_22_message_chat_location
Definition options.h:312
client_options::draw_city_output
bool draw_city_output
Definition options.h:194
client_options::gui_gtk3_citydlg_xsize
int gui_gtk3_citydlg_xsize
Definition options.h:280
client_options::sound_enable_menu_music
bool sound_enable_menu_music
Definition options.h:188
client_options::player_dlg_show_dead_players
bool player_dlg_show_dead_players
Definition options.h:220
client_options::gui_sdl2_font_city_names
char gui_sdl2_font_city_names[64]
Definition options.h:386
client_options::gui_sdl3_default_theme_name
char gui_sdl3_default_theme_name[512]
Definition options.h:393
client_options::default_tileset_hex_name
char default_tileset_hex_name[512]
Definition options.h:117
client_options::draw_city_names
bool draw_city_names
Definition options.h:196
client_options::gui_qt_show_relations_panel
bool gui_qt_show_relations_panel
Definition options.h:421
client_options::draw_city_productions
bool draw_city_productions
Definition options.h:198
client_options::default_server_port
int default_server_port
Definition options.h:110
client_options::gui_gtk3_font_spaceship_label
char gui_gtk3_font_spaceship_label[FONT_NAME_SIZE]
Definition options.h:287
client_options::default_sound_set_name
char default_sound_set_name[512]
Definition options.h:119
client_options::voteinfo_bar_hide_when_not_player
bool voteinfo_bar_hide_when_not_player
Definition options.h:180
client_options::use_prev_server
bool use_prev_server
Definition options.h:111
client_options::gui_gtk3_22_font_reqtree_text
char gui_gtk3_22_font_reqtree_text[FONT_NAME_SIZE]
Definition options.h:333
client_options::gui_gtk3_font_city_label
char gui_gtk3_font_city_label[FONT_NAME_SIZE]
Definition options.h:285
client_options::gui_sdl_fullscreen
bool gui_sdl_fullscreen
Definition options.h:373
client_options::smooth_move_unit_msec
int smooth_move_unit_msec
Definition options.h:151
client_options::gui_gtk3_small_display_layout
bool gui_gtk3_small_display_layout
Definition options.h:277
client_options::gui_qt_wakeup_text
char gui_qt_wakeup_text[512]
Definition options.h:420
client_options::gui_gtk3_22_small_display_layout
bool gui_gtk3_22_small_display_layout
Definition options.h:313
client_options::goto_into_unknown
bool goto_into_unknown
Definition options.h:160
client_options::draw_mines
bool draw_mines
Definition options.h:205
client_options::gui_gtk3_governor_range_max
int gui_gtk3_governor_range_max
Definition options.h:284
client_options::gui_gtk2_font_city_names
char gui_gtk2_font_city_names[FONT_NAME_SIZE]
Definition options.h:260
client_options::gui_gtk4_allied_chat_only
bool gui_gtk4_allied_chat_only
Definition options.h:347
client_options::gui_gtk4_font_beta_label
char gui_gtk4_font_beta_label[FONT_NAME_SIZE]
Definition options.h:364
client_options::gui_gtk3_22_font_beta_label
char gui_gtk3_22_font_beta_label[FONT_NAME_SIZE]
Definition options.h:328
client_options::default_tileset_iso_name
char default_tileset_iso_name[512]
Definition options.h:132
client_options::default_metaserver
char default_metaserver[512]
Definition options.h:114
client_options::gui_sdl2_screen
struct video_mode gui_sdl2_screen
Definition options.h:382
client_options::gui_gtk3_22_popup_tech_help
int gui_gtk3_22_popup_tech_help
Definition options.h:318
client_options::draw_borders
bool draw_borders
Definition options.h:214
client_options::draw_fortress_airbase
bool draw_fortress_airbase
Definition options.h:206
client_options::gui_gtk2_font_help_label
char gui_gtk2_font_help_label[FONT_NAME_SIZE]
Definition options.h:253
client_options::draw_city_buycost
bool draw_city_buycost
Definition options.h:199
client_options::draw_unit_stack_size
bool draw_unit_stack_size
Definition options.h:218
client_options::gui_sdl_use_color_cursors
bool gui_sdl_use_color_cursors
Definition options.h:376
client_options::mapimg_layer
bool mapimg_layer[MAPIMG_LAYER_COUNT]
Definition options.h:227
client_options::gui_gtk4_show_chat_message_time
bool gui_gtk4_show_chat_message_time
Definition options.h:343
client_options::gui_gtk3_22_show_chat_message_time
bool gui_gtk3_22_show_chat_message_time
Definition options.h:307
client_options::gui_gtk3_show_chat_message_time
bool gui_gtk3_show_chat_message_time
Definition options.h:271
client_options::gui_sdl3_do_cursor_animation
bool gui_sdl3_do_cursor_animation
Definition options.h:397
client_options::gui_gtk2_citydlg_xsize
int gui_gtk2_citydlg_xsize
Definition options.h:247
client_options::gui_gtk3_22_citydlg_ysize
int gui_gtk3_22_citydlg_ysize
Definition options.h:317
client_options::gui_gtk2_chatline_autocompletion
bool gui_gtk2_chatline_autocompletion
Definition options.h:246
client_options::gui_gtk4_small_display_layout
bool gui_gtk4_small_display_layout
Definition options.h:349
client_options::gui_sdl3_fullscreen
bool gui_sdl3_fullscreen
Definition options.h:394
client_options::followtag_override
char followtag_override[5112]
Definition options.h:115
client_options::gui_gtk3_metaserver_tab_first
bool gui_gtk3_metaserver_tab_first
Definition options.h:274
client_options::gui_gtk4_font_notify_label
char gui_gtk4_font_notify_label[FONT_NAME_SIZE]
Definition options.h:358
client_options::gui_gtk3_font_city_names
char gui_gtk3_font_city_names[FONT_NAME_SIZE]
Definition options.h:295
client_options::gui_gtk4_font_city_label
char gui_gtk4_font_city_label[FONT_NAME_SIZE]
Definition options.h:357
client_options::gui_sdl3_screen
struct video_mode gui_sdl3_screen
Definition options.h:395
client_options::gui_gtk3_22_font_comment_label
char gui_gtk3_22_font_comment_label[FONT_NAME_SIZE]
Definition options.h:330
client_options::popup_new_cities
bool popup_new_cities
Definition options.h:167
client_options::draw_irrigation
bool draw_irrigation
Definition options.h:204
client_options::gui_qt_font_help_text
char gui_qt_font_help_text[FONT_NAME_SIZE]
Definition options.h:414
client_options::gui_gtk4_show_message_window_buttons
bool gui_gtk4_show_message_window_buttons
Definition options.h:345
client_options::gui_gtk3_font_notify_label
char gui_gtk3_font_notify_label[FONT_NAME_SIZE]
Definition options.h:286
client_options::gui_gtk4_message_chat_location
int gui_gtk4_message_chat_location
Definition options.h:348
client_options::gui_gtk3_dialogs_on_top
bool gui_gtk3_dialogs_on_top
Definition options.h:268
client_options::gui_qt_show_techs_panel
bool gui_qt_show_techs_panel
Definition options.h:422
client_options::gui_gtk3_22_font_spaceship_label
char gui_gtk3_22_font_spaceship_label[FONT_NAME_SIZE]
Definition options.h:323
client_options::gui_gtk4_dialogs_on_top
bool gui_gtk4_dialogs_on_top
Definition options.h:340
client_options::default_tileset_name
char default_tileset_name[512]
Definition options.h:130
client_options::gui_sdl3_font_city_productions
char gui_sdl3_font_city_productions[64]
Definition options.h:400
client_options::gui_gtk3_22_font_chatline
char gui_gtk3_22_font_chatline[FONT_NAME_SIZE]
Definition options.h:327
client_options::draw_terrain
bool draw_terrain
Definition options.h:201
client_options::draw_units
bool draw_units
Definition options.h:211
client_options::gui_sdl2_font_city_productions
char gui_sdl2_font_city_productions[64]
Definition options.h:387
client_options::auto_center_on_automated
bool auto_center_on_automated
Definition options.h:156
client_options::gui_gtk3_font_beta_label
char gui_gtk3_font_beta_label[FONT_NAME_SIZE]
Definition options.h:292
client_options::send_desired_settings
bool send_desired_settings
Definition options.h:113
client_options::default_tileset_overhead_name
char default_tileset_overhead_name[512]
Definition options.h:131
client_options::gui_gtk2_font_reqtree_text
char gui_gtk2_font_reqtree_text[FONT_NAME_SIZE]
Definition options.h:262
client_options::gui_gtk2_font_help_text
char gui_gtk2_font_help_text[FONT_NAME_SIZE]
Definition options.h:255
client_options::gui_gtk2_map_scrollbars
bool gui_gtk2_map_scrollbars
Definition options.h:235
client_options::auto_center_each_turn
bool auto_center_each_turn
Definition options.h:158
client_options::gui_sdl2_swrenderer
bool gui_sdl2_swrenderer
Definition options.h:383
client_options::gui_gtk3_allied_chat_only
bool gui_gtk3_allied_chat_only
Definition options.h:275
client_options::gui_gtk3_font_reqtree_text
char gui_gtk3_font_reqtree_text[FONT_NAME_SIZE]
Definition options.h:297
client_options::gui_gtk4_font_city_names
char gui_gtk4_font_city_names[FONT_NAME_SIZE]
Definition options.h:367
client_options::gui_gtk3_22_font_city_names
char gui_gtk3_22_font_city_names[FONT_NAME_SIZE]
Definition options.h:331
client_options::gui_gtk4_popup_tech_help
int gui_gtk4_popup_tech_help
Definition options.h:354
client_options::gui_qt_show_preview
bool gui_qt_show_preview
Definition options.h:407
client_options::gui_gtk3_migrated_from_2_5
bool gui_gtk3_migrated_from_2_5
Definition options.h:139
client_options::default_topology
int default_topology
Definition options.h:123
client_options::draw_fog_of_war
bool draw_fog_of_war
Definition options.h:213
client_options::gui_sdl3_font_city_names
char gui_sdl3_font_city_names[64]
Definition options.h:399
client_options::gui_sdl_screen
struct video_mode gui_sdl_screen
Definition options.h:374
client_options::gui_gtk3_22_allied_chat_only
bool gui_gtk3_22_allied_chat_only
Definition options.h:311
client_options::default_server_host
char default_server_host[512]
Definition options.h:109
client_options::gui_gtk3_22_font_small
char gui_gtk3_22_font_small[FONT_NAME_SIZE]
Definition options.h:329
client_options::highlight_our_names
struct ft_color highlight_our_names
Definition options.h:176
client_options::gui_gtk3_22_show_message_window_buttons
bool gui_gtk3_22_show_message_window_buttons
Definition options.h:309
client_options::gui_sdl_do_cursor_animation
bool gui_sdl_do_cursor_animation
Definition options.h:375
client_options::gui_sdl3_use_theme_font_size
bool gui_sdl3_use_theme_font_size
Definition options.h:401
client_options::gui_gtk3_mouse_over_map_focus
bool gui_gtk3_mouse_over_map_focus
Definition options.h:278
client_options::draw_city_trade_routes
bool draw_city_trade_routes
Definition options.h:200
client_options::gui_qt_svgflags
bool gui_qt_svgflags
Definition options.h:424
client_options::gui_gtk3_22_font_notify_label
char gui_gtk3_22_font_notify_label[FONT_NAME_SIZE]
Definition options.h:322
client_options::gui_gtk3_22_new_messages_go_to_top
bool gui_gtk3_22_new_messages_go_to_top
Definition options.h:308
client_options::gui_gtk3_show_task_icons
bool gui_gtk3_show_task_icons
Definition options.h:269
client_options::gui_gtk3_22_font_help_link
char gui_gtk3_22_font_help_link[FONT_NAME_SIZE]
Definition options.h:325
client_options::gui_gtk4_mouse_over_map_focus
bool gui_gtk4_mouse_over_map_focus
Definition options.h:350
client_options::gui_gtk2_font_notify_label
char gui_gtk2_font_notify_label[FONT_NAME_SIZE]
Definition options.h:251
client_options::default_chat_logfile
char default_chat_logfile[512]
Definition options.h:122
client_options::unit_selection_clears_orders
bool unit_selection_clears_orders
Definition options.h:175
client_options::gui_qt_font_default
char gui_qt_font_default[FONT_NAME_SIZE]
Definition options.h:411
client_options::gui_qt_font_reqtree_text
char gui_qt_font_reqtree_text[FONT_NAME_SIZE]
Definition options.h:418
client_options::zoom_set
bool zoom_set
Definition options.h:230
client_options::gui_gtk4_font_city_productions
char gui_gtk4_font_city_productions[FONT_NAME_SIZE]
Definition options.h:368
client_options::heartbeat_enabled
bool heartbeat_enabled
Definition options.h:112
client_options::voteinfo_bar_new_at_front
bool voteinfo_bar_new_at_front
Definition options.h:181
client_options::gui_gtk3_22_chatline_autocompletion
bool gui_gtk3_22_chatline_autocompletion
Definition options.h:315
client_options::draw_unit_shields
bool draw_unit_shields
Definition options.h:217
client_options::center_when_popup_city
bool center_when_popup_city
Definition options.h:161
client_options::gui_sdl2_default_theme_name
char gui_sdl2_default_theme_name[512]
Definition options.h:380
client_options::gui_gtk2_metaserver_tab_first
bool gui_gtk2_metaserver_tab_first
Definition options.h:243
client_options::default_tileset_square_name
char default_tileset_square_name[512]
Definition options.h:116
client_options::wakeup_focus
bool wakeup_focus
Definition options.h:159
client_options::reqtree_curved_lines
bool reqtree_curved_lines
Definition options.h:222
client_options::gui_gtk3_new_messages_go_to_top
bool gui_gtk3_new_messages_go_to_top
Definition options.h:272
client_options::draw_cities
bool draw_cities
Definition options.h:210
client_options::gui_gtk3_22_dialogs_on_top
bool gui_gtk3_22_dialogs_on_top
Definition options.h:304
client_options::gui_qt_font_help_label
char gui_qt_font_help_label[FONT_NAME_SIZE]
Definition options.h:413
client_options::gui_gtk3_enable_tabs
bool gui_gtk3_enable_tabs
Definition options.h:270
client_options::gui_gtk3_font_help_label
char gui_gtk3_font_help_label[FONT_NAME_SIZE]
Definition options.h:288
client_options::gui_gtk3_font_city_productions
char gui_gtk3_font_city_productions[FONT_NAME_SIZE]
Definition options.h:296
client_options::save_options_on_exit
bool save_options_on_exit
Definition options.h:125
client_options::gui_sdl2_fullscreen
bool gui_sdl2_fullscreen
Definition options.h:381
client_options::gui_qt_show_titlebar
bool gui_qt_show_titlebar
Definition options.h:419
client_options::sound_effects_volume
int sound_effects_volume
Definition options.h:190
client_options::gui_gtk3_22_fullscreen
bool gui_gtk3_22_fullscreen
Definition options.h:302
client_options::gui_gtk3_22_enable_tabs
bool gui_gtk3_22_enable_tabs
Definition options.h:306
client_options::gui_gtk2_show_chat_message_time
bool gui_gtk2_show_chat_message_time
Definition options.h:240
client_options::gui_gtk3_font_chatline
char gui_gtk3_font_chatline[FONT_NAME_SIZE]
Definition options.h:291
client_options::sound_enable_effects
bool sound_enable_effects
Definition options.h:187
client_options::draw_map_grid
bool draw_map_grid
Definition options.h:195
client_options::autoaccept_soundset_suggestion
bool autoaccept_soundset_suggestion
Definition options.h:184
client_options::ask_city_name
bool ask_city_name
Definition options.h:166
client_options::gui_gtk3_22_font_help_label
char gui_gtk3_22_font_help_label[FONT_NAME_SIZE]
Definition options.h:324
client_options::draw_city_growth
bool draw_city_growth
Definition options.h:197
client_options::mapimg_zoom
int mapimg_zoom
Definition options.h:226
client_options::ai_manual_turn_done
bool ai_manual_turn_done
Definition options.h:154
client_options::gui_sdl2_default_screen_size_set
bool gui_sdl2_default_screen_size_set
Definition options.h:142
client_options::gui_gtk3_22_map_scrollbars
bool gui_gtk3_22_map_scrollbars
Definition options.h:303
client_options::gui_gtk2_font_city_label
char gui_gtk2_font_city_label[FONT_NAME_SIZE]
Definition options.h:250
client_options::gui_sdl3_default_screen_size_set
bool gui_sdl3_default_screen_size_set
Definition options.h:143
client_options::smooth_combat_step_msec
int smooth_combat_step_msec
Definition options.h:153
client_options::draw_huts
bool draw_huts
Definition options.h:208
client_options::draw_focus_unit
bool draw_focus_unit
Definition options.h:212
client_options::first_boot
bool first_boot
Definition options.h:128
client_options::gui_sdl3_swrenderer
bool gui_sdl3_swrenderer
Definition options.h:396
client_options::gui_qt_font_chatline
char gui_qt_font_chatline[FONT_NAME_SIZE]
Definition options.h:415
client_options::gui_qt_sidebar_left
bool gui_qt_sidebar_left
Definition options.h:409
client_options::zoom_default_level
float zoom_default_level
Definition options.h:231
client_options::gui_gtk2_allied_chat_only
bool gui_gtk2_allied_chat_only
Definition options.h:244
client_options::default_tileset_isohex_name
char default_tileset_isohex_name[512]
Definition options.h:118
client_options::gui_gtk2_font_comment_label
char gui_gtk2_font_comment_label[FONT_NAME_SIZE]
Definition options.h:259
client_options::concise_city_production
bool concise_city_production
Definition options.h:163
client_options::gui_qt_migrated_from_2_5
bool gui_qt_migrated_from_2_5
Definition options.h:140
client_options::gui_gtk4_font_spaceship_label
char gui_gtk4_font_spaceship_label[FONT_NAME_SIZE]
Definition options.h:359
client_options::gui_gtk4_font_small
char gui_gtk4_font_small[FONT_NAME_SIZE]
Definition options.h:365
client_options::gui_gtk3_map_scrollbars
bool gui_gtk3_map_scrollbars
Definition options.h:267
client_options::draw_paths
bool draw_paths
Definition options.h:203
client_options::voteinfo_bar_always_show
bool voteinfo_bar_always_show
Definition options.h:179
client_options::draw_city_outlines
bool draw_city_outlines
Definition options.h:193
client_options::mapimg_format
char mapimg_format[64]
Definition options.h:225
client_options::gui_gtk3_show_message_window_buttons
bool gui_gtk3_show_message_window_buttons
Definition options.h:273
client_options::mapimg_filename
char mapimg_filename[512]
Definition options.h:228
client_options::gui_gtk2_dialogs_on_top
bool gui_gtk2_dialogs_on_top
Definition options.h:236
client_options::gui_gtk3_popup_tech_help
int gui_gtk3_popup_tech_help
Definition options.h:282
client_options::gui_gtk4_chatline_autocompletion
bool gui_gtk4_chatline_autocompletion
Definition options.h:351
client_options::gui_sdl2_use_theme_font_size
bool gui_sdl2_use_theme_font_size
Definition options.h:388
client_options::default_music_set_name
char default_music_set_name[512]
Definition options.h:120
client_options::gui_gtk4_font_comment_label
char gui_gtk4_font_comment_label[FONT_NAME_SIZE]
Definition options.h:366
client_options::gui_gtk3_message_chat_location
int gui_gtk3_message_chat_location
Definition options.h:276
client_options::gui_gtk3_22_show_task_icons
bool gui_gtk3_22_show_task_icons
Definition options.h:305
client_options::draw_coastline
bool draw_coastline
Definition options.h:202
client_options::gui_gtk3_22_font_city_productions
char gui_gtk3_22_font_city_productions[FONT_NAME_SIZE]
Definition options.h:332
client_options::gui_gtk3_font_help_link
char gui_gtk3_font_help_link[FONT_NAME_SIZE]
Definition options.h:289
client_options::gui_gtk3_chatline_autocompletion
bool gui_gtk3_chatline_autocompletion
Definition options.h:279
client_options::popup_actor_arrival
bool popup_actor_arrival
Definition options.h:168
client_options::gui_gtk2_new_messages_go_to_top
bool gui_gtk2_new_messages_go_to_top
Definition options.h:241
client_options::gui_gtk4_enable_tabs
bool gui_gtk4_enable_tabs
Definition options.h:342
client_options::gui_sdl3_migrated_from_sdl2
bool gui_sdl3_migrated_from_sdl2
Definition options.h:137
client_options::gui_qt_show_wonders_panel
bool gui_qt_show_wonders_panel
Definition options.h:423
client_options::gui_gtk4_map_scrollbars
bool gui_gtk4_map_scrollbars
Definition options.h:339
client_options::gui_gtk3_font_small
char gui_gtk3_font_small[FONT_NAME_SIZE]
Definition options.h:293
client_options::gui_gtk3_fullscreen
bool gui_gtk3_fullscreen
Definition options.h:266
client_options::draw_full_citybar
bool draw_full_citybar
Definition options.h:216
client_options::sound_enable_game_music
bool sound_enable_game_music
Definition options.h:189
client_options::gui_gtk2_font_city_productions
char gui_gtk2_font_city_productions[FONT_NAME_SIZE]
Definition options.h:261
client_options::gui_gtk4_new_messages_go_to_top
bool gui_gtk4_new_messages_go_to_top
Definition options.h:344
client_options::auto_center_on_combat
bool auto_center_on_combat
Definition options.h:157
client_options::meta_accelerators
bool meta_accelerators
Definition options.h:165
client_options::draw_pollution
bool draw_pollution
Definition options.h:209
client_options::gui_gtk2_font_spaceship_label
char gui_gtk2_font_spaceship_label[FONT_NAME_SIZE]
Definition options.h:252
client_options::separate_unit_selection
bool separate_unit_selection
Definition options.h:174
client_options::migrate_fullscreen
bool migrate_fullscreen
Definition options.h:145
client_options::gui_qt_default_fonts_set
bool gui_qt_default_fonts_set
Definition options.h:141
client_options::default_sound_plugin_name
char default_sound_plugin_name[512]
Definition options.h:121
client_options::gui_gtk4_default_theme_name
char gui_gtk4_default_theme_name[512]
Definition options.h:337
client_options::gui_gtk3_governor_range_min
int gui_gtk3_governor_range_min
Definition options.h:283
client_options::gui_gtk2_font_help_link
char gui_gtk2_font_help_link[FONT_NAME_SIZE]
Definition options.h:254
client_options::gui_qt_font_notify_label
char gui_qt_font_notify_label[FONT_NAME_SIZE]
Definition options.h:412
client_options::auto_center_on_unit
bool auto_center_on_unit
Definition options.h:155
client_options::gui_sdl2_use_color_cursors
bool gui_sdl2_use_color_cursors
Definition options.h:385
client_options::gui_gtk2_show_message_window_buttons
bool gui_gtk2_show_message_window_buttons
Definition options.h:242
client_options::gui_gtk3_22_default_theme_name
char gui_gtk3_22_default_theme_name[512]
Definition options.h:301
client_options::gui_gtk2_show_task_icons
bool gui_gtk2_show_task_icons
Definition options.h:237
client_options::gui_gtk2_font_beta_label
char gui_gtk2_font_beta_label[FONT_NAME_SIZE]
Definition options.h:257
client_options::gui_gtk4_font_reqtree_text
char gui_gtk4_font_reqtree_text[FONT_NAME_SIZE]
Definition options.h:369
client_options::popup_attack_actions
bool popup_attack_actions
Definition options.h:169
client_options::gui_gtk4_citydlg_ysize
int gui_gtk4_citydlg_ysize
Definition options.h:353
client_options::gui_gtk3_22_citydlg_xsize
int gui_gtk3_22_citydlg_xsize
Definition options.h:316
client_options::solid_color_behind_units
bool solid_color_behind_units
Definition options.h:149
client_options::gui_gtk3_22_font_city_label
char gui_gtk3_22_font_city_label[FONT_NAME_SIZE]
Definition options.h:321
client_options::gui_gtk3_migrated_from_gtk2
bool gui_gtk3_migrated_from_gtk2
Definition options.h:133
client_options::popup_last_move_to_allied
bool popup_last_move_to_allied
Definition options.h:170
client_options::gui_gtk2_mouse_over_map_focus
bool gui_gtk2_mouse_over_map_focus
Definition options.h:245
client_options::keyboardless_goto
bool keyboardless_goto
Definition options.h:172
client_options::gui_gtk2_popup_tech_help
int gui_gtk2_popup_tech_help
Definition options.h:249
client_options::gui_gtk3_font_comment_label
char gui_gtk3_font_comment_label[FONT_NAME_SIZE]
Definition options.h:294
client_options::gui_gtk4_font_help_text
char gui_gtk4_font_help_text[FONT_NAME_SIZE]
Definition options.h:362
client_options::default_user_name
char default_user_name[512]
Definition options.h:108
client_options::gui_gtk4_font_help_label
char gui_gtk4_font_help_label[FONT_NAME_SIZE]
Definition options.h:360
client_options::gui_gtk4_migrated_from_gtk3_22
bool gui_gtk4_migrated_from_gtk3_22
Definition options.h:135
client_options::gui_gtk3_citydlg_ysize
int gui_gtk3_citydlg_ysize
Definition options.h:281
client_options::gui_gtk2_better_fog
bool gui_gtk2_better_fog
Definition options.h:239
color
Definition colors.h:21
ft_color
Definition featured_text.h:141
option_set
Definition options.c:408
option
Definition options.c:478
option::poptset
const struct option_set * poptset
Definition options.c:480
overview
Definition options.h:91
overview::map_y0
double map_y0
Definition options.h:93
overview::map_x0
double map_x0
Definition options.h:93
overview::fog
bool fog
Definition options.h:102
overview::layers
bool layers[OLAYER_COUNT]
Definition options.h:103
overview::map
struct canvas * map
Definition options.h:97
overview::width
int width
Definition options.h:94
overview::window
struct canvas * window
Definition options.h:100
overview::height
int height
Definition options.h:94
strvec
Definition string_vector.c:29
tileset
Definition tilespec.c:481
video_mode
Definition options.h:46
video_mode::height
int height
Definition options.h:48
video_mode::width
int width
Definition options.h:47
support.h