RetroArch
config.def.h
Go to the documentation of this file.
1 /* RetroArch - A frontend for libretro.
2  * Copyright (C) 2010-2014 - Hans-Kristian Arntzen
3  * Copyright (C) 2011-2016 - Daniel De Matteis
4  * Copyright (C) 2016 - Brad Parker
5  *
6  * RetroArch is free software: you can redistribute it and/or modify it under the terms
7  * of the GNU General Public License as published by the Free Software Found-
8  * ation, either version 3 of the License, or (at your option) any later version.
9  *
10  * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  * PURPOSE. See the GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along with RetroArch.
15  * If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef __CONFIG_DEF_H
19 #define __CONFIG_DEF_H
20 
21 #include <boolean.h>
22 #include <audio/audio_resampler.h>
23 #include "configuration.h"
24 #include "gfx/video_defines.h"
25 #include "input/input_driver.h"
26 
27 #ifdef HAVE_CONFIG_H
28 #include "config.h"
29 #endif
30 
31 #ifdef HAVE_NETWORKING
33 #endif
34 
35 #if defined(HW_RVL)
36 #define MAX_GAMMA_SETTING 30
37 #elif defined(GEKKO)
38 #define MAX_GAMMA_SETTING 2
39 #else
40 #define MAX_GAMMA_SETTING 1
41 #endif
42 
43 #if defined(XENON) || defined(_XBOX360) || defined(__CELLOS_LV2__)
44 #define DEFAULT_ASPECT_RATIO 1.7778f
45 #elif defined(_XBOX1) || defined(GEKKO) || defined(ANDROID)
46 #define DEFAULT_ASPECT_RATIO 1.3333f
47 #else
48 #define DEFAULT_ASPECT_RATIO -1.0f
49 #endif
50 
51 #if defined(RARCH_MOBILE) || defined(HAVE_LIBNX)
52 static const bool pointer_enable = true;
53 #else
54 static const bool pointer_enable = false;
55 #endif
56 
57 /* Certain platforms might have assets stored in the bundle that
58  * we need to extract to a user-writable directory on first boot.
59  *
60  * Examples include: Android, iOS/OSX) */
61 #if defined(ANDROID) || defined(IOS)
62 static bool bundle_assets_extract_enable = true;
63 #else
64 static bool bundle_assets_extract_enable = false;
65 #endif
66 
67 #ifdef HAVE_MATERIALUI
68 static bool materialui_icons_enable = true;
69 #endif
70 
71 static const unsigned crt_switch_resolution = CRT_SWITCH_NONE;
72 static const int crt_switch_resolution_super = 2560;
73 static const int crt_switch_center_adjust = 0;
74 
75 static const bool def_history_list_enable = true;
76 static const bool def_playlist_entry_remove = true;
77 static const bool def_playlist_entry_rename = true;
78 
79 static const unsigned int def_user_language = 0;
80 
81 #if (defined(_WIN32) && !defined(_XBOX)) || (defined(__linux) && !defined(ANDROID) && !defined(HAVE_LAKKA)) || (defined(__MACH__) && !defined(IOS)) || defined(EMSCRIPTEN)
82 static const bool def_mouse_enable = true;
83 #else
84 static const bool def_mouse_enable = false;
85 #endif
86 
87 #ifdef HAVE_CHEEVOS
88 static const bool cheevos_enable = false;
89 #endif
90 
91 /* VIDEO */
92 
93 #if defined(_XBOX360)
94 #define DEFAULT_GAMMA 1
95 #else
96 #define DEFAULT_GAMMA 0
97 #endif
98 
99 /* Windowed
100  * Real x resolution = aspect * base_size * x scale
101  * Real y resolution = base_size * y scale
102  */
103 static const float scale = 3.0;
104 
105 /* Fullscreen */
106 
107 /* To start in Fullscreen, or not. */
108 static const bool fullscreen = false;
109 
110 /* To use windowed mode or not when going fullscreen. */
111 static const bool windowed_fullscreen = true;
112 
113 /* Which monitor to prefer. 0 is any monitor, 1 and up selects
114  * specific monitors, 1 being the first monitor. */
115 static const unsigned monitor_index = 0;
116 
117 /* Window */
118 /* Window size. A value of 0 uses window scale
119  * multiplied by the core framebuffer size. */
120 static const unsigned window_width = 1280;
121 static const unsigned window_height = 720;
122 
123 /* Fullscreen resolution. A value of 0 uses the desktop
124  * resolution. */
125 static const unsigned fullscreen_x = 0;
126 static const unsigned fullscreen_y = 0;
127 
128 /* Number of threads to use for video recording */
129 
130 static const unsigned video_record_threads = 2;
131 
132 /* Amount of transparency to use for the main window.
133  * 1 is the most transparent while 100 is opaque.
134  */
135 static const unsigned window_opacity = 100;
136 
137 /* Whether to show the usual window decorations like border, titlebar etc. */
138 static const bool window_decorations = true;
139 
140 #if defined(RARCH_CONSOLE) || defined(__APPLE__)
141 static const bool load_dummy_on_core_shutdown = false;
142 #else
143 static const bool load_dummy_on_core_shutdown = true;
144 #endif
145 static const bool check_firmware_before_loading = false;
146 /* Forcibly disable composition.
147  * Only valid on Windows Vista/7/8 for now. */
148 static const bool disable_composition = false;
149 
150 /* Video VSYNC (recommended) */
151 static const bool vsync = true;
152 
153 static const unsigned max_swapchain_images = 3;
154 
155 static const bool adaptive_vsync = false;
156 
157 /* Attempts to hard-synchronize CPU and GPU.
158  * Can reduce latency at cost of performance. */
159 static const bool hard_sync = false;
160 
161 /* Configures how many frames the GPU can run ahead of CPU.
162  * 0: Syncs to GPU immediately.
163  * 1: Syncs to previous frame.
164  * 2: Etc ...
165  */
166 static const unsigned hard_sync_frames = 0;
167 
168 /* Sets how many milliseconds to delay after VSync before running the core.
169  * Can reduce latency at cost of higher risk of stuttering.
170  */
171 static const unsigned frame_delay = 0;
172 
173 /* Inserts a black frame inbetween frames.
174  * Useful for 120 Hz monitors who want to play 60 Hz material with eliminated
175  * ghosting. video_refresh_rate should still be configured as if it
176  * is a 60 Hz monitor (divide refresh rate by 2).
177  */
178 static bool black_frame_insertion = false;
179 
180 /* Uses a custom swap interval for VSync.
181  * Set this to effectively halve monitor refresh rate.
182  */
183 static unsigned swap_interval = 1;
184 
185 /* Threaded video. Will possibly increase performance significantly
186  * at the cost of worse synchronization and latency.
187  */
188 #if defined(HAVE_LIBNX)
189 static const bool video_threaded = true;
190 #else
191 static const bool video_threaded = false;
192 #endif
193 
194 #if defined(HAVE_THREADS)
195 #if defined(GEKKO) || defined(PSP) || defined(PS2)
196 /* For single-core consoles right now it's better to have this be disabled. */
197 static const bool threaded_data_runloop_enable = false;
198 #else
199 static const bool threaded_data_runloop_enable = true;
200 #endif
201 #else
202 static const bool threaded_data_runloop_enable = false;
203 #endif
204 
205 /* Set to true if HW render cores should get their private context. */
206 static const bool video_shared_context = false;
207 
208 /* Sets GC/Wii screen width. */
209 static const unsigned video_viwidth = 640;
210 
211 #ifdef GEKKO
212 /* Removes 480i flicker, smooths picture a little. */
213 static const bool video_vfilter = true;
214 #endif
215 
216 /* Smooths picture. */
217 static const bool video_smooth = true;
218 
219 /* On resize and fullscreen, rendering area will stay 4:3 */
220 static const bool force_aspect = true;
221 
222 /* Enable use of shaders. */
223 #ifdef RARCH_CONSOLE
224 static const bool shader_enable = true;
225 #else
226 static const bool shader_enable = false;
227 #endif
228 
229 /* Only scale in integer steps.
230  * The base size depends on system-reported geometry and aspect ratio.
231  * If video_force_aspect is not set, X/Y will be integer scaled independently.
232  */
233 static const bool scale_integer = false;
234 
235 /* Controls aspect ratio handling. */
236 
237 /* Automatic */
238 static const float aspect_ratio = DEFAULT_ASPECT_RATIO;
239 
240 /* 1:1 PAR */
241 static const bool aspect_ratio_auto = false;
242 
243 #if defined(__CELLOS_LV2) || defined(_XBOX360)
244 static unsigned aspect_ratio_idx = ASPECT_RATIO_16_9;
245 #elif defined(PSP)
246 static unsigned aspect_ratio_idx = ASPECT_RATIO_CORE;
247 #elif defined(_3DS)
248 /* Previously defaulted to ASPECT_RATIO_4_3.
249  * Non-4:3 content looks dreadful when stretched
250  * to 4:3 on the 3DS screen... */
251 static unsigned aspect_ratio_idx = ASPECT_RATIO_CORE;
252 #elif defined(RARCH_CONSOLE)
253 static unsigned aspect_ratio_idx = ASPECT_RATIO_4_3;
254 #else
256 #endif
257 
258 /* Save configuration file on exit. */
259 static bool config_save_on_exit = true;
260 
261 static bool show_hidden_files = false;
262 
263 static const bool overlay_hide_in_menu = true;
264 
265 static const bool display_keyboard_overlay = false;
266 
267 #ifdef HAKCHI
268 static const float default_input_overlay_opacity = 0.5f;
269 #else
270 static const float default_input_overlay_opacity = 0.7f;
271 #endif
272 
273 #ifdef HAVE_MENU
274 #include "menu/menu_driver.h"
275 
276 static bool default_block_config_read = true;
277 
278 #ifdef HAVE_LIBNX
279 static bool menu_use_preferred_system_color_theme = true;
280 #else
281 static bool menu_use_preferred_system_color_theme = false;
282 #endif
283 
284 static bool quick_menu_show_take_screenshot = true;
285 static bool quick_menu_show_save_load_state = true;
286 static bool quick_menu_show_undo_save_load_state = true;
287 static bool quick_menu_show_add_to_favorites = true;
288 static bool quick_menu_show_start_recording = true;
289 static bool quick_menu_show_start_streaming = true;
290 static bool quick_menu_show_reset_core_association = true;
291 static bool quick_menu_show_options = true;
292 static bool quick_menu_show_controls = true;
293 static bool quick_menu_show_cheats = true;
294 static bool quick_menu_show_shaders = true;
295 static bool quick_menu_show_information = true;
296 static bool quick_menu_show_recording = true;
297 static bool quick_menu_show_streaming = true;
298 
299 static bool quick_menu_show_save_core_overrides = true;
300 static bool quick_menu_show_save_game_overrides = true;
301 static bool quick_menu_show_save_content_dir_overrides = true;
302 
303 static bool kiosk_mode_enable = false;
304 
305 static bool menu_horizontal_animation = true;
306 static bool menu_show_online_updater = true;
307 static bool menu_show_load_core = true;
308 static bool menu_show_load_content = true;
309 static bool menu_show_information = true;
310 static bool menu_show_configurations = true;
311 static bool menu_show_help = true;
312 static bool menu_show_quit_retroarch = true;
313 static bool menu_show_reboot = true;
314 #ifdef HAVE_LAKKA_SWITCH
315 static bool menu_show_shutdown = false;
316 #else
317 static bool menu_show_shutdown = true;
318 #endif
319 #if defined(HAVE_LAKKA) || defined(VITA) || defined(_3DS)
320 static bool menu_show_core_updater = false;
321 #else
322 static bool menu_show_core_updater = true;
323 #endif
324 
325 static bool content_show_settings = true;
326 static bool content_show_favorites = true;
327 #ifdef HAVE_IMAGEVIEWER
328 static bool content_show_images = true;
329 #endif
330 static bool content_show_music = true;
331 #if defined(HAVE_FFMPEG) || defined(HAVE_MPV)
332 static bool content_show_video = true;
333 #endif
334 #ifdef HAVE_NETWORKING
335 static bool content_show_netplay = true;
336 #endif
337 static bool content_show_history = true;
338 #ifdef HAVE_LIBRETRODB
339 static bool content_show_add = true;
340 #endif
341 static bool content_show_playlists = true;
342 
343 #ifdef HAVE_XMB
344 static unsigned xmb_scale_factor = 100;
345 static unsigned xmb_alpha_factor = 75;
346 static unsigned menu_font_color_red = 255;
347 static unsigned menu_font_color_green = 255;
348 static unsigned menu_font_color_blue = 255;
349 static unsigned xmb_menu_layout = 0;
350 static unsigned xmb_icon_theme = XMB_ICON_THEME_MONOCHROME;
351 static unsigned xmb_theme = XMB_THEME_ELECTRIC_BLUE;
352 #if defined(HAVE_LAKKA) || defined(__arm__) || defined(__PPC64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__powerpc__) || defined(__ppc__) || defined(__POWERPC__)
353 static bool xmb_shadows_enable = false;
354 #else
355 static bool xmb_shadows_enable = true;
356 #endif
357 #endif
358 
359 static bool automatically_add_content_to_playlist = false;
360 
361 static float menu_framebuffer_opacity = 0.900;
362 
363 static float menu_wallpaper_opacity = 0.300;
364 
365 static float menu_footer_opacity = 1.000;
366 
367 static float menu_header_opacity = 1.000;
368 
369 #if defined(HAVE_OPENGLES2) || (defined(__MACH__) && (defined(__ppc__) || defined(__ppc64__)))
370 static unsigned menu_shader_pipeline = 1;
371 #else
372 static unsigned menu_shader_pipeline = 2;
373 #endif
374 
375 static bool show_advanced_settings = false;
376 static const uint32_t menu_entry_normal_color = 0xffffffff;
377 static const uint32_t menu_entry_hover_color = 0xff64ff64;
378 static const uint32_t menu_title_color = 0xff64ff64;
379 static const uint32_t menu_bg_dark_color = 0xc0202020;
380 static const uint32_t menu_bg_light_color = 0xc0404040;
381 static const uint32_t menu_border_dark_color = 0xc0204020;
382 static const uint32_t menu_border_light_color = 0xc0408040;
383 
384 #else
385 static bool default_block_config_read = false;
387 #endif
388 
389 static bool default_game_specific_options = true;
390 static bool default_auto_overrides_enable = true;
391 static bool default_auto_remaps_enable = true;
392 static bool default_auto_shaders_enable = true;
393 
394 static bool default_sort_savefiles_enable = false;
395 static bool default_sort_savestates_enable = false;
396 
401 
402 #if defined(__CELLOS_LV2__) || defined(_XBOX1) || defined(_XBOX360)
404 #elif defined(VITA)
406 #elif defined(SWITCH)
408 #else
410 #endif
411 
412 #if defined(VITA)
413 static unsigned input_backtouch_enable = false;
414 static unsigned input_backtouch_toggle = false;
415 #endif
416 
417 static bool show_physical_inputs = true;
418 
419 static bool all_users_control_menu = false;
420 
421 #if defined(ANDROID) || defined(_WIN32)
422 static bool menu_swap_ok_cancel_buttons = true;
423 #else
424 static bool menu_swap_ok_cancel_buttons = false;
425 #endif
426 
427 /* Crop overscanned frames. */
428 static const bool crop_overscan = true;
429 
430 /* Font size for on-screen messages. */
431 #if defined(HAVE_LIBDBGFONT)
432 static const float font_size = 1.0f;
433 #else
434 static const float font_size = 32;
435 #endif
436 
437 /* Offset for where messages will be placed on-screen.
438  * Values are in range [0.0, 1.0]. */
439 static const float message_pos_offset_x = 0.05;
440 #if defined(_XBOX1)
441 static const float message_pos_offset_y = 0.90;
442 #else
443 static const float message_pos_offset_y = 0.05;
444 #endif
445 
446 /* Color of the message.
447  * RGB hex value. */
448 static const uint32_t message_color = 0xffff00;
449 
450 static const bool message_bgcolor_enable = false;
451 static const uint32_t message_bgcolor_red = 0;
454 static const float message_bgcolor_opacity = 1.0f;
455 
456 /* Record post-filtered (CPU filter) video,
457  * rather than raw game output. */
458 static const bool post_filter_record = false;
459 
460 /* Screenshots post-shaded GPU output if available. */
461 static const bool gpu_screenshot = true;
462 
463 /* Watch shader files for changes and auto-apply as necessary. */
464 static const bool video_shader_watch_files = false;
465 
466 /* Screenshots named automatically. */
467 static const bool auto_screenshot_filename = true;
468 
469 /* Record post-shaded GPU output instead of raw game footage if available. */
470 static const bool gpu_record = false;
471 
472 /* OSD-messages. */
473 static const bool font_enable = true;
474 
475 /* The accurate refresh rate of your monitor (Hz).
476  * This is used to calculate audio input rate with the formula:
477  * audio_input_rate = game_input_rate * display_refresh_rate /
478  * game_refresh_rate.
479  *
480  * If the implementation does not report any values,
481  * NTSC defaults will be assumed for compatibility.
482  * This value should stay close to 60Hz to avoid large pitch changes.
483  * If your monitor does not run at 60Hz, or something close to it,
484  * disable VSync, and leave this at its default. */
485 #ifdef _3DS
486 static const float refresh_rate = (32730.0 * 8192.0) / 4481134.0 ;
487 static const float crt_refresh_rate = (32730.0 * 8192.0) / 4481134.0 ;
488 #else
489 static const float refresh_rate = 60/1.001;
490 static const float crt_refresh_rate = 60/1.001;
491 #endif
492 
493 /* Allow games to set rotation. If false, rotation requests are
494  * honored, but ignored.
495  * Used for setups where one manually rotates the monitor. */
496 static const bool allow_rotate = true;
497 
498 #ifdef _3DS
499 /* Enable bottom LCD screen */
500 static const bool video_3ds_lcd_bottom = true;
501 #endif
502 
503 /* AUDIO */
504 
505 /* Will enable audio or not. */
506 static const bool audio_enable = true;
507 
508 /* Output samplerate. */
509 #ifdef GEKKO
510 static const unsigned out_rate = 32000;
511 #elif defined(_3DS)
512 static const unsigned out_rate = 32730;
513 #else
514 static const unsigned out_rate = 48000;
515 #endif
516 
517 /* Audio device (e.g. hw:0,0 or /dev/audio). If NULL, will use defaults. */
518 static const char *audio_device = NULL;
519 
520 /* Desired audio latency in milliseconds. Might not be honored
521  * if driver can't provide given latency. */
522 #if defined(ANDROID) || defined(EMSCRIPTEN)
523 /* For most Android devices, 64ms is way too low. */
524 static const int out_latency = 128;
525 #else
526 static const int out_latency = 64;
527 #endif
528 
529 /* Will sync audio. (recommended) */
530 static const bool audio_sync = true;
531 
532 /* Audio rate control. */
533 #if !defined(RARCH_CONSOLE)
534 static const bool rate_control = true;
535 #else
536 static const bool rate_control = false;
537 #endif
538 
539 /* Rate control delta. Defines how much rate_control
540  * is allowed to adjust input rate. */
541 static const float rate_control_delta = 0.005;
542 
543 /* Maximum timing skew. Defines how much adjust_system_rates
544  * is allowed to adjust input rate. */
545 static const float max_timing_skew = 0.05;
546 
547 /* Default audio volume in dB. (0.0 dB == unity gain). */
548 static const float audio_volume = 0.0;
549 
550 /* Default audio volume of the audio mixer in dB. (0.0 dB == unity gain). */
551 static const float audio_mixer_volume = 0.0;
552 
553 #ifdef HAVE_WASAPI
554 /* WASAPI defaults */
555 static const bool wasapi_exclusive_mode = true;
556 static const bool wasapi_float_format = false;
557 static const int wasapi_sh_buffer_length = -16; /* auto */
558 #endif
559 
560 /* MISC */
561 
562 /* Enables displaying the current frames per second. */
563 static const bool fps_show = false;
564 
565 /* Enables displaying the current frame count. */
566 static const bool framecount_show = false;
567 
568 /* Includes displaying the current memory usage/total with FPS/Frames. */
569 static const bool memory_show = false;
570 
571 /* Enables use of rewind. This will incur some memory footprint
572  * depending on the save state buffer. */
573 static const bool rewind_enable = false;
574 
575 /* When set, any time a cheat is toggled it is immediately applied. */
576 static const bool apply_cheats_after_toggle = false;
577 
578 /* When set, all enabled cheats are auto-applied when a game is loaded. */
579 static const bool apply_cheats_after_load = false;
580 
581 /* The buffer size for the rewind buffer. This needs to be about
582  * 15-20MB per minute. Very game dependant. */
583 static const unsigned rewind_buffer_size = 20 << 20; /* 20MiB */
584 
585 /* The amount of MB to increase/decrease the rewind_buffer_size when it is changed via the UI. */
586 static const unsigned rewind_buffer_size_step = 10; /* 10MB */
587 
588 /* How many frames to rewind at a time. */
589 static const unsigned rewind_granularity = 1;
590 
591 /* Pause gameplay when gameplay loses focus. */
592 #ifdef EMSCRIPTEN
593 static const bool pause_nonactive = false;
594 #else
595 static const bool pause_nonactive = true;
596 #endif
597 
598 /* Saves non-volatile SRAM at a regular interval.
599  * It is measured in seconds. A value of 0 disables autosave. */
600 #if defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(__x86_64__) || defined(_M_X64) || defined(_WIN32) || defined(OSX) || defined(ANDROID) || defined(IOS)
601 /* Flush to file every 10 seconds on modern platforms by default */
602 static const unsigned autosave_interval = 10;
603 #else
604 /* Default to disabled on I/O-constrained platforms */
605 static const unsigned autosave_interval = 0;
606 #endif
607 
608 /* Publicly announce netplay */
609 static const bool netplay_public_announce = true;
610 
611 /* Start netplay in spectator mode */
612 static const bool netplay_start_as_spectator = false;
613 
614 /* Allow connections in slave mode */
615 static const bool netplay_allow_slaves = true;
616 
617 /* Require connections only in slave mode */
618 static const bool netplay_require_slaves = false;
619 
620 /* Netplay without savestates/rewind */
621 static const bool netplay_stateless_mode = false;
622 
623 /* When being client over netplay, use keybinds for
624  * user 1 rather than user 2. */
625 static const bool netplay_client_swap_input = true;
626 
627 static const bool netplay_nat_traversal = false;
628 
629 static const unsigned netplay_delay_frames = 16;
630 
631 static const int netplay_check_frames = 600;
632 
633 static const bool netplay_use_mitm_server = false;
634 
635 static const char *netplay_mitm_server = "nyc";
636 
637 #ifdef HAVE_NETWORKING
638 static const unsigned netplay_share_digital = RARCH_NETPLAY_SHARE_DIGITAL_NO_PREFERENCE;
639 
640 static const unsigned netplay_share_analog = RARCH_NETPLAY_SHARE_ANALOG_NO_PREFERENCE;
641 #endif
642 
643 /* On save state load, block SRAM from being overwritten.
644  * This could potentially lead to buggy games. */
645 static const bool block_sram_overwrite = false;
646 
647 /* When saving savestates, state index is automatically
648  * incremented before saving.
649  * When the content is loaded, state index will be set
650  * to the highest existing value. */
651 static const bool savestate_auto_index = false;
652 
653 /* Automatically saves a savestate at the end of RetroArch's lifetime.
654  * The path is $SRAM_PATH.auto.
655  * RetroArch will automatically load any savestate with this path on
656  * startup if savestate_auto_load is set. */
657 static const bool savestate_auto_save = false;
658 static const bool savestate_auto_load = false;
659 
660 static const bool savestate_thumbnail_enable = false;
661 
662 /* Slowmotion ratio. */
663 static const float slowmotion_ratio = 3.0;
664 
665 /* Maximum fast forward ratio. */
666 static const float fastforward_ratio = 0.0;
667 
668 /* Enable runloop for variable refresh rate screens. Force x1 speed while handling fast forward too. */
669 static const bool vrr_runloop_enable = false;
670 
671 /* Run core logic one or more frames ahead then load the state back to reduce perceived input lag. */
672 static const unsigned run_ahead_frames = 1;
673 
674 /* When using the Run Ahead feature, use a secondary instance of the core. */
675 static const bool run_ahead_secondary_instance = true;
676 
677 /* Hide warning messages when using the Run Ahead feature. */
678 static const bool run_ahead_hide_warnings = false;
679 
680 /* Enable stdin/network command interface. */
681 static const bool network_cmd_enable = false;
682 static const uint16_t network_cmd_port = 55355;
683 static const bool stdin_cmd_enable = false;
684 
685 static const uint16_t network_remote_base_port = 55400;
686 /* Number of entries that will be kept in content history playlist file. */
687 static const unsigned default_content_history_size = 100;
688 
689 /* Show Menu start-up screen on boot. */
690 static const bool default_menu_show_start_screen = true;
691 
692 static const bool menu_dpi_override_enable = false;
693 
694 #ifdef RARCH_MOBILE
695 static const unsigned menu_dpi_override_value = 72;
696 #elif defined(__CELLOS_LV2__)
697 static const unsigned menu_dpi_override_value = 360;
698 #else
699 static const unsigned menu_dpi_override_value = 200;
700 #endif
701 
702 /* Log level for libretro cores (GET_LOG_INTERFACE). */
703 static const unsigned libretro_log_level = 1;
704 
705 #ifndef RARCH_DEFAULT_PORT
706 #define RARCH_DEFAULT_PORT 55435
707 #endif
708 
709 #ifndef RARCH_STREAM_DEFAULT_PORT
710 #define RARCH_STREAM_DEFAULT_PORT 56400
711 #endif
712 
713 /* KEYBINDS, JOYPAD */
714 
715 /* Axis threshold (between 0.0 and 1.0)
716  * How far an axis must be tilted to result in a button press. */
717 static const float axis_threshold = 0.5;
718 
719 /* Describes speed of which turbo-enabled buttons toggle. */
720 static const unsigned turbo_period = 6;
721 static const unsigned turbo_duty_cycle = 3;
722 
723 /* Enable input auto-detection. Will attempt to autoconfigure
724  * gamepads, plug-and-play style. */
725 static const bool input_autodetect_enable = true;
726 
727 /* Show the input descriptors set by the core instead
728  * of the default ones. */
729 static const bool input_descriptor_label_show = true;
730 
731 static const bool input_descriptor_hide_unbound = false;
732 
733 static const unsigned input_max_users = 5;
734 
735 static const unsigned input_poll_type_behavior = 2;
736 
737 static const unsigned input_bind_timeout = 5;
738 
739 static const unsigned input_bind_hold = 2;
740 
741 static const unsigned menu_thumbnails_default = 3;
742 
743 static const unsigned menu_left_thumbnails_default = 0;
744 
745 static const unsigned menu_timedate_style = 5;
746 
747 static const bool xmb_vertical_thumbnails = false;
748 
749 #ifdef IOS
750 static const bool ui_companion_start_on_boot = false;
751 #else
752 static const bool ui_companion_start_on_boot = true;
753 #endif
754 
755 static const bool ui_companion_enable = false;
756 
757 /* Currently only used to show the WIMP UI on startup */
758 static const bool ui_companion_toggle = false;
759 
760 /* Only init the WIMP UI for this session if this is enabled */
761 static const bool desktop_menu_enable = true;
762 
763 #if defined(__QNX__) || defined(_XBOX1) || defined(_XBOX360) || defined(__CELLOS_LV2__) || (defined(__MACH__) && defined(IOS)) || defined(ANDROID) || defined(WIIU) || defined(HAVE_NEON) || defined(GEKKO) || defined(__ARM_NEON__)
765 #elif defined(PSP) || defined(_3DS) || defined(VITA) || defined(PS2)
767 #else
769 #endif
770 
771 /* MIDI */
772 static const char *midi_input = "Off";
773 static const char *midi_output = "Off";
774 static const unsigned midi_volume = 100;
775 
776 /* Only applies to Android 7.0 (API 24) and up */
777 static const bool sustained_performance_mode = false;
778 
779 #if defined(HAKCHI)
780 static char buildbot_server_url[] = "http://hakchicloud.com/Libretro_Cores/";
781 #elif defined(ANDROID)
782 #if defined(ANDROID_ARM_V7)
783 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/";
784 #elif defined(ANDROID_ARM)
785 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/armeabi/";
786 #elif defined(ANDROID_AARCH64)
787 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/arm64-v8a/";
788 #elif defined(ANDROID_X86)
789 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/x86/";
790 #elif defined(ANDROID_X64)
791 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/x86_64/";
792 #else
793 static char buildbot_server_url[] = "";
794 #endif
795 #elif defined(__QNX__)
796 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/blackberry/latest/";
797 #elif defined(IOS)
798 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/apple/ios/latest/";
799 #elif defined(OSX)
800 #if defined(__x86_64__)
801 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/apple/osx/x86_64/latest/";
802 #elif defined(__i386__) || defined(__i486__) || defined(__i686__)
803 static char buildbot_server_url[] = "http://bot.libretro.com/nightly/apple/osx/x86/latest/";
804 #else
805 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/apple/osx/ppc/latest/";
806 #endif
807 #elif defined(_WIN32) && !defined(_XBOX)
808 #if _MSC_VER >= 1910
809 #ifndef __WINRT__
810 #if defined(__x86_64__) || defined(_M_X64)
811 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/x86_64/latest/";
812 #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
813 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/x86/latest/";
814 #endif
815 #else
816 #if defined(__x86_64__) || defined(_M_X64)
817 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-uwp/x86_64/latest/";
818 #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
819 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-uwp/x86/latest/";
820 #elif defined(__arm__) || defined(_M_ARM)
821 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-uwp/arm/latest/";
822 #endif
823 #endif
824 #elif _MSC_VER == 1600
825 #if defined(__x86_64__) || defined(_M_X64)
826 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2010/x86_64/latest/";
827 #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
828 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2010/x86/latest/";
829 #endif
830 #elif _MSC_VER == 1400
831 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2005/x86/latest/";
832 #elif _MSC_VER == 1310
833 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2003/x86/latest/";
834 #else
835 #if defined(__x86_64__) || defined(_M_X64)
836 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows/x86_64/latest/";
837 #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
838 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows/x86/latest/";
839 #endif
840 #endif
841 #elif defined(__linux__)
842 #if defined(__x86_64__)
843 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/linux/x86_64/latest/";
844 #elif defined(__i386__) || defined(__i486__) || defined(__i686__)
845 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/linux/x86/latest/";
846 #elif defined(__arm__) && __ARM_ARCH == 7 && defined(__ARM_PCS_VFP)
847 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/linux/armhf/latest/";
848 #else
849 static char buildbot_server_url[] = "";
850 #endif
851 #elif defined(WIIU)
852 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/nintendo/wiiu/latest/";
853 #elif defined(HAVE_LIBNX)
854 static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/nintendo/switch/libnx/latest/";
855 #elif defined(__CELLOS_LV2__) && defined(DEX_BUILD)
856 static char buildbot_server_url[] = "http://libretro.xbins.org/libretro/nightly/playstation/ps3/latest/dex-ps3/";
857 #elif defined(__CELLOS_LV2__) && defined(CEX_BUILD)
858 static char buildbot_server_url[] = "http://libretro.xbins.org/libretro/nightly/playstation/ps3/latest/cex-ps3/";
859 #elif defined(__CELLOS_LV2__) && defined(ODE_BUILD)
860 static char buildbot_server_url[] = "http://libretro.xbins.org/libretro/nightly/playstation/ps3/latest/ode-ps3/";
861 #else
862 static char buildbot_server_url[] = "";
863 #endif
864 
865 static char buildbot_assets_server_url[] = "http://buildbot.libretro.com/assets/";
866 
867 static char default_discord_app_id[] = "475456035851599874";
868 
869 #endif
static const unsigned video_viwidth
Definition: config.def.h:209
static const uint32_t message_bgcolor_blue
Definition: config.def.h:453
static const uint16_t network_remote_base_port
Definition: config.def.h:685
Definition: video_defines.h:35
static bool default_auto_remaps_enable
Definition: config.def.h:391
static const unsigned window_height
Definition: config.def.h:121
static const bool vsync
Definition: config.def.h:151
static const int crt_switch_resolution_super
Definition: config.def.h:72
static const bool def_mouse_enable
Definition: config.def.h:84
static const bool savestate_auto_index
Definition: config.def.h:651
static const bool ui_companion_start_on_boot
Definition: config.def.h:752
static const bool post_filter_record
Definition: config.def.h:458
static const bool netplay_use_mitm_server
Definition: config.def.h:633
static const unsigned crt_switch_resolution
Definition: config.def.h:71
static const bool xmb_vertical_thumbnails
Definition: config.def.h:747
static bool default_auto_overrides_enable
Definition: config.def.h:390
Definition: audio_resampler.h:55
static const unsigned autosave_interval
Definition: config.def.h:605
Definition: input_driver.h:57
static const float slowmotion_ratio
Definition: config.def.h:663
Configuration options (set of defines)
static const bool crop_overscan
Definition: config.def.h:428
Definition: audio_resampler.h:54
static const bool memory_show
Definition: config.def.h:569
static const bool fps_show
Definition: config.def.h:563
static const float crt_refresh_rate
Definition: config.def.h:490
static const bool allow_rotate
Definition: config.def.h:496
static const unsigned monitor_index
Definition: config.def.h:115
static const bool block_sram_overwrite
Definition: config.def.h:645
static const bool savestate_auto_load
Definition: config.def.h:658
static const bool video_smooth
Definition: config.def.h:217
static const int out_latency
Definition: config.def.h:526
static const unsigned out_rate
Definition: config.def.h:514
static const unsigned hard_sync_frames
Definition: config.def.h:166
static const unsigned rewind_buffer_size_step
Definition: config.def.h:586
static const unsigned video_record_threads
Definition: config.def.h:130
static char buildbot_server_url[]
Definition: config.def.h:862
static bool show_physical_inputs
Definition: config.def.h:417
static const unsigned window_opacity
Definition: config.def.h:135
static const uint32_t message_bgcolor_green
Definition: config.def.h:452
static const float font_size
Definition: config.def.h:434
static const bool overlay_hide_in_menu
Definition: config.def.h:263
static const float message_pos_offset_y
Definition: config.def.h:443
static const bool menu_dpi_override_enable
Definition: config.def.h:692
static const uint32_t message_bgcolor_red
Definition: config.def.h:451
static const unsigned rewind_granularity
Definition: config.def.h:589
static const bool framecount_show
Definition: config.def.h:566
Definition: video_defines.h:56
static const bool run_ahead_secondary_instance
Definition: config.def.h:675
static unsigned swap_interval
Definition: config.def.h:183
GLenum GLenum GLenum GLenum GLenum scale
Definition: glext.h:9939
xmb_icon_theme
Definition: menu_driver.h:285
static const unsigned input_poll_type_behavior
Definition: config.def.h:735
static const bool fullscreen
Definition: config.def.h:108
static const bool gpu_screenshot
Definition: config.def.h:461
static char default_discord_app_id[]
Definition: config.def.h:867
static const bool aspect_ratio_auto
Definition: config.def.h:241
static const bool def_history_list_enable
Definition: config.def.h:75
static const bool adaptive_vsync
Definition: config.def.h:155
static const bool display_keyboard_overlay
Definition: config.def.h:265
static const unsigned input_bind_timeout
Definition: config.def.h:737
static const unsigned libretro_log_level
Definition: config.def.h:703
static const bool rewind_enable
Definition: config.def.h:573
static const bool font_enable
Definition: config.def.h:473
static const bool pause_nonactive
Definition: config.def.h:595
static const bool scale_integer
Definition: config.def.h:233
static const unsigned midi_volume
Definition: config.def.h:774
Definition: menu_driver.h:274
static const bool rate_control
Definition: config.def.h:534
static const bool run_ahead_hide_warnings
Definition: config.def.h:678
static const bool audio_sync
Definition: config.def.h:530
static const bool netplay_client_swap_input
Definition: config.def.h:625
static const bool savestate_auto_save
Definition: config.def.h:657
#define NULL
Pointer to 0.
Definition: gctypes.h:65
static bool config_save_on_exit
Definition: config.def.h:259
static const bool auto_screenshot_filename
Definition: config.def.h:467
static const bool windowed_fullscreen
Definition: config.def.h:111
static const float message_bgcolor_opacity
Definition: config.def.h:454
static const bool def_playlist_entry_remove
Definition: config.def.h:76
static const int netplay_check_frames
Definition: config.def.h:631
static const bool input_autodetect_enable
Definition: config.def.h:725
static const bool def_playlist_entry_rename
Definition: config.def.h:77
static const bool pointer_enable
Definition: config.def.h:54
static enum resampler_quality audio_resampler_quality_level
Definition: config.def.h:768
static const float refresh_rate
Definition: config.def.h:489
static const char * audio_device
Definition: config.def.h:518
static const unsigned menu_timedate_style
Definition: config.def.h:745
static const unsigned fullscreen_y
Definition: config.def.h:126
Definition: input_driver.h:55
static const bool ui_companion_enable
Definition: config.def.h:755
static bool all_users_control_menu
Definition: config.def.h:419
static const unsigned input_bind_hold
Definition: config.def.h:739
static const bool apply_cheats_after_toggle
Definition: config.def.h:576
static const bool threaded_data_runloop_enable
Definition: config.def.h:202
static const unsigned max_swapchain_images
Definition: config.def.h:153
static const float audio_volume
Definition: config.def.h:548
static const bool message_bgcolor_enable
Definition: config.def.h:450
static bool bundle_assets_extract_enable
Definition: config.def.h:64
static const bool netplay_start_as_spectator
Definition: config.def.h:612
static const bool video_threaded
Definition: config.def.h:191
static const bool input_descriptor_label_show
Definition: config.def.h:729
static const uint16_t network_cmd_port
Definition: config.def.h:682
static const bool hard_sync
Definition: config.def.h:159
static bool default_auto_shaders_enable
Definition: config.def.h:392
static const float rate_control_delta
Definition: config.def.h:541
static bool automatically_add_content_to_playlist
Definition: config.def.h:386
static const float max_timing_skew
Definition: config.def.h:545
static const bool netplay_require_slaves
Definition: config.def.h:618
static const unsigned turbo_duty_cycle
Definition: config.def.h:721
static bool black_frame_insertion
Definition: config.def.h:178
static bool menu_swap_ok_cancel_buttons
Definition: config.def.h:424
static const unsigned rewind_buffer_size
Definition: config.def.h:583
static const unsigned menu_left_thumbnails_default
Definition: config.def.h:743
Definition: menu_driver.h:287
static unsigned aspect_ratio_idx
Definition: config.def.h:255
static const unsigned int def_user_language
Definition: config.def.h:79
static const bool stdin_cmd_enable
Definition: config.def.h:683
static const float message_pos_offset_x
Definition: config.def.h:439
Definition: configuration.h:58
static const bool network_cmd_enable
Definition: config.def.h:681
static char buildbot_assets_server_url[]
Definition: config.def.h:865
static bool default_screenshots_in_content_dir
Definition: config.def.h:400
static const char * midi_input
Definition: config.def.h:772
static bool default_systemfiles_in_content_dir
Definition: config.def.h:399
static const bool gpu_record
Definition: config.def.h:470
static const bool input_descriptor_hide_unbound
Definition: config.def.h:731
#define DEFAULT_ASPECT_RATIO
Definition: config.def.h:48
Definition: input_driver.h:59
static const unsigned menu_dpi_override_value
Definition: config.def.h:699
static bool show_hidden_files
Definition: config.def.h:261
static bool default_savestates_in_content_dir
Definition: config.def.h:397
static const unsigned default_content_history_size
Definition: config.def.h:687
static const unsigned turbo_period
Definition: config.def.h:720
Definition: input_driver.h:58
static const unsigned input_max_users
Definition: config.def.h:733
static const bool window_decorations
Definition: config.def.h:138
static const unsigned fullscreen_x
Definition: config.def.h:125
static const bool ui_companion_toggle
Definition: config.def.h:758
Definition: video_defines.h:34
static const bool savestate_thumbnail_enable
Definition: config.def.h:660
static const char * netplay_mitm_server
Definition: config.def.h:635
static bool default_block_config_read
Definition: config.def.h:385
static const unsigned run_ahead_frames
Definition: config.def.h:672
static const bool netplay_stateless_mode
Definition: config.def.h:621
static const float audio_mixer_volume
Definition: config.def.h:551
static const bool default_menu_show_start_screen
Definition: config.def.h:690
static const bool disable_composition
Definition: config.def.h:148
static const bool shader_enable
Definition: config.def.h:226
static const int crt_switch_center_adjust
Definition: config.def.h:73
static bool default_savefiles_in_content_dir
Definition: config.def.h:398
static bool default_sort_savestates_enable
Definition: config.def.h:395
static const unsigned netplay_delay_frames
Definition: config.def.h:629
aspect_ratio
Definition: video_defines.h:32
static const float fastforward_ratio
Definition: config.def.h:666
static unsigned menu_toggle_gamepad_combo
Definition: config.def.h:409
static const bool vrr_runloop_enable
Definition: config.def.h:669
static const bool apply_cheats_after_load
Definition: config.def.h:579
static const unsigned menu_thumbnails_default
Definition: config.def.h:741
static const bool sustained_performance_mode
Definition: config.def.h:777
static const uint32_t message_color
Definition: config.def.h:448
static const unsigned window_width
Definition: config.def.h:120
static const unsigned frame_delay
Definition: config.def.h:171
static const bool force_aspect
Definition: config.def.h:220
static bool default_sort_savefiles_enable
Definition: config.def.h:394
static const bool video_shader_watch_files
Definition: config.def.h:464
Definition: audio_resampler.h:53
static const bool desktop_menu_enable
Definition: config.def.h:761
static const bool audio_enable
Definition: config.def.h:506
static const bool netplay_nat_traversal
Definition: config.def.h:627
unsigned short uint16_t
Definition: stdint.h:125
static const bool video_shared_context
Definition: config.def.h:206
static const char * midi_output
Definition: config.def.h:773
unsigned int uint32_t
Definition: stdint.h:126
static const float axis_threshold
Definition: config.def.h:717
resampler_quality
Definition: audio_resampler.h:50
static const bool load_dummy_on_core_shutdown
Definition: config.def.h:143
static const bool check_firmware_before_loading
Definition: config.def.h:145
static bool default_game_specific_options
Definition: config.def.h:389
static const bool netplay_allow_slaves
Definition: config.def.h:615
static const float default_input_overlay_opacity
Definition: config.def.h:270
static const bool netplay_public_announce
Definition: config.def.h:609