config.def.h 57 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741
  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-2019 - 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. #ifndef __CONFIG_DEF_H
  18. #define __CONFIG_DEF_H
  19. #include <boolean.h>
  20. #include <audio/audio_resampler.h>
  21. #include "configuration.h"
  22. #include "gfx/video_defines.h"
  23. #include "input/input_defines.h"
  24. #ifdef HAVE_CONFIG_H
  25. #include "config.h"
  26. #endif
  27. #ifdef HAVE_NETWORKING
  28. #include "network/netplay/netplay_defines.h"
  29. #endif
  30. /* Required for 3DS display mode setting */
  31. #if defined(_3DS)
  32. #include "gfx/common/ctr_common.h"
  33. #endif
  34. /* Required for OpenDingux IPU filter + refresh
  35. * rate settings */
  36. #if defined(DINGUX)
  37. #include "dingux/dingux_utils.h"
  38. #endif
  39. /* Required for 'show inputs on overlay' setting */
  40. #if defined(HAVE_OVERLAY)
  41. #include "../input/input_overlay.h"
  42. #endif
  43. /* Required for Steam enum settings */
  44. #if defined(HAVE_MIST)
  45. #include "steam/steam.h"
  46. #endif
  47. #if defined(HW_RVL)
  48. #define MAX_GAMMA_SETTING 30
  49. #elif defined(GEKKO)
  50. #define MAX_GAMMA_SETTING 2
  51. #else
  52. #define MAX_GAMMA_SETTING 1
  53. #endif
  54. #if defined(XENON) || defined(_XBOX360) || defined(__PSL1GHT__) || defined(__PS3__)
  55. #define DEFAULT_ASPECT_RATIO 1.7778f
  56. #elif defined(_XBOX1) || defined(GEKKO) || defined(ANDROID)
  57. #define DEFAULT_ASPECT_RATIO 1.3333f
  58. #else
  59. #define DEFAULT_ASPECT_RATIO 1.3333f
  60. #endif
  61. #if defined(GEKKO)
  62. #define DEFAULT_MOUSE_SCALE 1
  63. #endif
  64. #define DEFAULT_TOUCH_SCALE 1
  65. #if defined(RARCH_MOBILE) || defined(HAVE_LIBNX) || defined(__WINRT__) || defined(EMSCRIPTEN)
  66. #define DEFAULT_POINTER_ENABLE true
  67. #else
  68. #define DEFAULT_POINTER_ENABLE false
  69. #endif
  70. /* Certain platforms might have assets stored in the bundle that
  71. * we need to extract to a user-writable directory on first boot.
  72. *
  73. * Examples include: Android, iOS/OSX) */
  74. #if defined(ANDROID) || defined(__APPLE__)
  75. #define DEFAULT_BUNDLE_ASSETS_EXTRACT_ENABLE true
  76. #else
  77. #define DEFAULT_BUNDLE_ASSETS_EXTRACT_ENABLE false
  78. #endif
  79. #ifdef HAVE_MATERIALUI
  80. /* Show icons to the left of each menu entry */
  81. #define DEFAULT_MATERIALUI_ICONS_ENABLE true
  82. /* Show boolean option ON/OFF icons */
  83. #define DEFAULT_MATERIALUI_SWITCH_ICONS true
  84. /* Show system-specific icons in the playlists tab */
  85. #define DEFAULT_MATERIALUI_PLAYLIST_ICONS_ENABLE true
  86. #endif
  87. /* Material UI colour theme */
  88. #define DEFAULT_MATERIALUI_THEME MATERIALUI_THEME_OZONE_DARK
  89. /* Type of animation to use when performing menu transitions
  90. * > 'Auto' follows Material UI standards:
  91. * - Slide when switching between parent menus (tabs)
  92. * - Fade when changing levels in a menu
  93. * Note: Not wrapping this with a HAVE_MATERIALUI ifdef
  94. * because there's too much baggage involved... */
  95. #define DEFAULT_MATERIALUI_TRANSITION_ANIM MATERIALUI_TRANSITION_ANIM_AUTO
  96. /* Adjust menu padding etc. to better fit the
  97. * screen when using landscape layouts */
  98. #if defined(RARCH_MOBILE)
  99. #define DEFAULT_MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_DISABLED
  100. #else
  101. #define DEFAULT_MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_ALWAYS
  102. #endif
  103. /* Show/hide navigation bar
  104. * > When hidden, MaterialUI menu navigation
  105. * behaves like RGUI */
  106. #define DEFAULT_MATERIALUI_SHOW_NAV_BAR true
  107. /* Reposition navigation bar to make better use
  108. * of screen space when using landscape layouts */
  109. #define DEFAULT_MATERIALUI_AUTO_ROTATE_NAV_BAR true
  110. /* Default portrait/landscape playlist view modes
  111. * (when thumbnails are enabled) */
  112. #define DEFAULT_MATERIALUI_THUMBNAIL_VIEW_PORTRAIT MATERIALUI_THUMBNAIL_VIEW_PORTRAIT_LIST_SMALL
  113. #define DEFAULT_MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE_LIST_MEDIUM
  114. /* Enable second thumbnail when using 'list view'
  115. * thumbnail views
  116. * Note: Second thumbnail will only be drawn if
  117. * display has sufficient horizontal real estate */
  118. #if defined(RARCH_MOBILE)
  119. #define DEFAULT_MATERIALUI_DUAL_THUMBNAIL_LIST_VIEW_ENABLE false
  120. #else
  121. #define DEFAULT_MATERIALUI_DUAL_THUMBNAIL_LIST_VIEW_ENABLE true
  122. #endif
  123. /* Draw solid colour 4:3 background when rendering
  124. * thumbnails
  125. * > Helps to unify menu appearance when viewing
  126. * thumbnails of different sizes */
  127. #define DEFAULT_MATERIALUI_THUMBNAIL_BACKGROUND_ENABLE true
  128. #define DEFAULT_SCREEN_BRIGHTNESS 100
  129. #define DEFAULT_CRT_SWITCH_RESOLUTION CRT_SWITCH_NONE
  130. #define DEFAULT_CRT_SWITCH_RESOLUTION_SUPER 2560
  131. #define DEFAULT_CRT_SWITCH_CENTER_ADJUST 0
  132. #define DEFAULT_CRT_SWITCH_PORCH_ADJUST 0
  133. #define DEFAULT_CRT_SWITCH_HIRES_MENU true
  134. #define DEFAULT_HISTORY_LIST_ENABLE true
  135. #define DEFAULT_PLAYLIST_ENTRY_RENAME true
  136. #define DEFAULT_WIFI_ENABLE true
  137. #define DEFAULT_ACCESSIBILITY_ENABLE false
  138. #define DEFAULT_ACCESSIBILITY_NARRATOR_SPEECH_SPEED 5
  139. #define DEFAULT_DRIVER_SWITCH_ENABLE true
  140. #define DEFAULT_USER_LANGUAGE 0
  141. #define DEFAULT_GAMEMODE_ENABLE true
  142. #if (defined(_WIN32) && !defined(_XBOX)) || (defined(__linux) && !defined(ANDROID) && !defined(HAVE_LAKKA)) || (defined(__MACH__) && !defined(IOS)) || defined(EMSCRIPTEN)
  143. #define DEFAULT_MOUSE_ENABLE true
  144. #else
  145. #define DEFAULT_MOUSE_ENABLE false
  146. #endif
  147. #ifdef HAVE_CHEEVOS
  148. #define DEFAULT_CHEEVOS_ENABLE false
  149. #define DEFAULT_CHEEVOS_APPEARANCE_ANCHOR 0 /* CHEEVOS_APPEARANCE_ANCHOR_TOPLEFT */
  150. #define DEFAULT_CHEEVOS_APPEARANCE_PADDING_AUTO true
  151. #define DEFAULT_CHEEVOS_APPEARANCE_PADDING_H 0.0f
  152. #define DEFAULT_CHEEVOS_APPEARANCE_PADDING_V 0.0f
  153. #define DEFAULT_CHEEVOS_VISIBILITY_SUMMARY 1 /* RCHEEVOS_SUMMARY_HASCHEEVOS */
  154. #define DEFAULT_CHEEVOS_VISIBILITY_UNLOCK true
  155. #define DEFAULT_CHEEVOS_VISIBILITY_MASTERY true
  156. #define DEFAULT_CHEEVOS_VISIBILITY_ACCOUNT true
  157. #define DEFAULT_CHEEVOS_VISIBILITY_LBOARD_START true
  158. #define DEFAULT_CHEEVOS_VISIBILITY_LBOARD_SUBMIT true
  159. #define DEFAULT_CHEEVOS_VISIBILITY_LBOARD_CANCEL true
  160. #define DEFAULT_CHEEVOS_VISIBILITY_LBOARD_TRACKERS true
  161. #define DEFAULT_CHEEVOS_VISIBILITY_PROGRESS_TRACKER true
  162. #endif
  163. /* VIDEO */
  164. #if defined(_XBOX360)
  165. #define DEFAULT_GAMMA 1
  166. #else
  167. #define DEFAULT_GAMMA 0
  168. #endif
  169. /* Windowed
  170. * Real x resolution = aspect * base_size * x scale
  171. * Real y resolution = base_size * y scale
  172. */
  173. #define DEFAULT_SCALE 3
  174. /* Fullscreen */
  175. /* To start in Fullscreen, or not. */
  176. #if defined(HAVE_STEAM) || defined(DINGUX) || defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
  177. /* Start in fullscreen mode for Steam and Dingux
  178. * WinRT and Winapi Family builds */
  179. #define DEFAULT_FULLSCREEN true
  180. #else
  181. #define DEFAULT_FULLSCREEN false
  182. #endif
  183. /* To use windowed mode or not when going fullscreen. */
  184. #if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
  185. /* Do not use windowed mode for WinRT and Winapi Family builds on the Xbox UWP with fixed resolution shrinks the image into the left top corner of the screen with some libretro cores */
  186. #define DEFAULT_WINDOWED_FULLSCREEN false
  187. #else
  188. #define DEFAULT_WINDOWED_FULLSCREEN true
  189. #endif
  190. /* Enable automatic switching of the screen refresh rate when using the specified screen mode(s),
  191. * based on running core/content */
  192. #define DEFAULT_AUTOSWITCH_REFRESH_RATE AUTOSWITCH_REFRESH_RATE_EXCLUSIVE_FULLSCREEN
  193. /* Which monitor to prefer. 0 is any monitor, 1 and up selects
  194. * specific monitors, 1 being the first monitor. */
  195. #define DEFAULT_MONITOR_INDEX 0
  196. /* Window */
  197. /* DEFAULT_WINDOW_DECORATIONS:
  198. Whether to show the usual window decorations like border, titlebar etc. */
  199. #ifdef WEBOS
  200. #define DEFAULT_WINDOW_DECORATIONS false
  201. #else
  202. #define DEFAULT_WINDOW_DECORATIONS true
  203. #endif
  204. /* Amount of transparency to use for the main window.
  205. * 1 is the most transparent while 100 is opaque. */
  206. #define DEFAULT_WINDOW_OPACITY 100
  207. /* DEFAULT_WINDOW_SAVE_POSITIONS:
  208. * Whether to remember window positions
  209. * NOTE: Only enabled for desktop Windows
  210. * at present. */
  211. #define DEFAULT_WINDOW_SAVE_POSITIONS false
  212. /* Whether to use custom (fixed size)
  213. * window dimensions in windowed mode. */
  214. #ifdef WEBOS
  215. #define DEFAULT_WINDOW_CUSTOM_SIZE_ENABLE true
  216. #else
  217. #define DEFAULT_WINDOW_CUSTOM_SIZE_ENABLE false
  218. #endif
  219. /* Window dimensions when using a fixed size
  220. * window. A value of 0 disables fixed size
  221. * windows, using nominal dimensions of
  222. * window scale multiplied by the core
  223. * framebuffer size. */
  224. #if defined(WEBOS)
  225. #define DEFAULT_WINDOW_WIDTH 1920
  226. #define DEFAULT_WINDOW_HEIGHT 1080
  227. #else
  228. #define DEFAULT_WINDOW_WIDTH 1280
  229. #define DEFAULT_WINDOW_HEIGHT 720
  230. #endif
  231. /* Maximum auto-set window dimensions
  232. * when not using a fixed size window */
  233. #define DEFAULT_WINDOW_AUTO_WIDTH_MAX 1920
  234. #define DEFAULT_WINDOW_AUTO_HEIGHT_MAX 1080
  235. /* Fullscreen resolution. A value of 0 uses the desktop
  236. * resolution. */
  237. #if defined(DINGUX)
  238. #define DEFAULT_FULLSCREEN_X 320
  239. #define DEFAULT_FULLSCREEN_Y 240
  240. #elif defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
  241. #define DEFAULT_FULLSCREEN_X 1920
  242. #define DEFAULT_FULLSCREEN_Y 1080
  243. #else
  244. #define DEFAULT_FULLSCREEN_X 0
  245. #define DEFAULT_FULLSCREEN_Y 0
  246. #endif
  247. #if defined(HAVE_WINDOW_OFFSET)
  248. /* Screen offsets to center content in CTRs */
  249. #define DEFAULT_WINDOW_OFFSET_X 0
  250. #define DEFAULT_WINDOW_OFFSET_Y 0
  251. #endif
  252. /* Number of threads to use for video recording */
  253. #define DEFAULT_VIDEO_RECORD_THREADS 2
  254. #if defined(RARCH_CONSOLE) || defined(__APPLE__)
  255. #define DEFAULT_LOAD_DUMMY_ON_CORE_SHUTDOWN false
  256. #else
  257. #define DEFAULT_LOAD_DUMMY_ON_CORE_SHUTDOWN true
  258. #endif
  259. #define DEFAULT_CHECK_FIRMWARE_BEFORE_LOADING false
  260. /* Specifies whether cores are allowed to
  261. * present core options in category submenus */
  262. #define DEFAULT_CORE_OPTION_CATEGORY_ENABLE true
  263. /* Specifies whether to cache core info
  264. * into a single (compressed) file for improved
  265. * load times on platforms with slow IO */
  266. #define DEFAULT_CORE_INFO_CACHE_ENABLE true
  267. /* Specifies whether to ignore core info
  268. * savestate capabilities, allowing to
  269. * experiment with related features
  270. * (run ahead, rewind, etc) */
  271. #define DEFAULT_CORE_INFO_SAVESTATE_BYPASS false
  272. /* Specifies whether to 'reload' (fork and quit)
  273. * RetroArch when launching content with the
  274. * currently loaded core
  275. * > Only relevant on platforms without dynamic core
  276. * loading support
  277. * > Setting this to 'false' will decrease loading
  278. * times when required core is already running,
  279. * but may cause stability issues (if core misbehaves) */
  280. #ifndef HAVE_DYNAMIC
  281. #define DEFAULT_ALWAYS_RELOAD_CORE_ON_RUN_CONTENT true
  282. #endif
  283. /* Forcibly disable composition.
  284. * Only valid on Windows Vista/7/8 for now. */
  285. #define DEFAULT_DISABLE_COMPOSITION false
  286. /* Video VSYNC (recommended) */
  287. #define DEFAULT_VSYNC true
  288. /* Vulkan specific */
  289. #define DEFAULT_MAX_SWAPCHAIN_IMAGES 3
  290. /* D3D1x specific */
  291. #if defined(__WINRT__) || defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
  292. #define DEFAULT_WAITABLE_SWAPCHAINS false
  293. #else
  294. #define DEFAULT_WAITABLE_SWAPCHAINS true
  295. #endif
  296. #define DEFAULT_MAX_FRAME_LATENCY 1
  297. #define MAXIMUM_MAX_FRAME_LATENCY 4
  298. /* GL specific */
  299. #define DEFAULT_ADAPTIVE_VSYNC false
  300. /* Attempts to hard-synchronize CPU and GPU.
  301. * Can reduce latency at cost of performance. */
  302. #define DEFAULT_HARD_SYNC false
  303. /* Configures how many frames the GPU can run ahead of CPU.
  304. * 0: Syncs to GPU immediately.
  305. * 1: Syncs to previous frame.
  306. * 2: Etc ...
  307. */
  308. #define DEFAULT_HARD_SYNC_FRAMES 0
  309. /* Sets how many milliseconds to delay after VSync before running the core.
  310. * Can reduce latency at cost of higher risk of stuttering.
  311. */
  312. #define DEFAULT_FRAME_DELAY 0
  313. #define MAXIMUM_FRAME_DELAY 19
  314. #define DEFAULT_FRAME_DELAY_AUTO false
  315. /* Inserts black frame(s) inbetween frames.
  316. * Useful for Higher Hz monitors (set to multiples of 60 Hz) who want to play 60 Hz
  317. * material with eliminated ghosting. video_refresh_rate should still be configured
  318. * as if it is a 60 Hz monitor (divide refresh rate by multiple of 60 Hz).
  319. */
  320. #define DEFAULT_BLACK_FRAME_INSERTION 0
  321. /* Uses a custom swap interval for VSync.
  322. * Set this to effectively halve monitor refresh rate.
  323. */
  324. #define DEFAULT_SWAP_INTERVAL 1
  325. /* Threaded video. Will possibly increase performance significantly
  326. * at the cost of worse synchronization and latency.
  327. */
  328. #if defined(HAVE_LIBNX)
  329. #define DEFAULT_VIDEO_THREADED true
  330. #else
  331. #define DEFAULT_VIDEO_THREADED false
  332. #endif
  333. #if defined(HAVE_THREADS)
  334. #if defined(GEKKO) || defined(PSP) || defined(PS2)
  335. /* For single-core consoles right now it's best to have this be disabled. */
  336. #define DEFAULT_THREADED_DATA_RUNLOOP_ENABLE false
  337. #else
  338. #define DEFAULT_THREADED_DATA_RUNLOOP_ENABLE true
  339. #endif
  340. #else
  341. #define DEFAULT_THREADED_DATA_RUNLOOP_ENABLE false
  342. #endif
  343. /* Set to true if HW render cores should get their private context. */
  344. #define DEFAULT_VIDEO_SHARED_CONTEXT false
  345. /* Sets GC/Wii screen width. */
  346. #define DEFAULT_VIDEO_VI_WIDTH 640
  347. #ifdef GEKKO
  348. /* Removes 480i flicker, smooths picture a little. */
  349. #define DEFAULT_VIDEO_VFILTER true
  350. /* Allow overscan to be corrected on displays that
  351. * do not have proper 'pixel perfect' scaling */
  352. #define DEFAULT_VIDEO_OVERSCAN_CORRECTION_TOP 0
  353. #define DEFAULT_VIDEO_OVERSCAN_CORRECTION_BOTTOM 0
  354. #endif
  355. /* Smooths picture. */
  356. #if defined(_3DS) || defined(GEKKO) || defined(HW_RVL) || defined(PSP) || defined(VITA) || defined(SN_TARGET_PSP2) || defined(PS2) || defined(_XBOX) || defined(DINGUX)
  357. #define DEFAULT_VIDEO_SMOOTH true
  358. #else
  359. #define DEFAULT_VIDEO_SMOOTH false
  360. #endif
  361. /* Graphics context specific scaling */
  362. #define DEFAULT_VIDEO_CTX_SCALING false
  363. /* On resize and fullscreen, rendering area will stay 4:3 */
  364. #define DEFAULT_FORCE_ASPECT true
  365. /* Only applies to Android 9.0 (API 28) and up */
  366. /* Choose if the screen will be able to write around the notch or not */
  367. #define DEFAULT_NOTCH_WRITE_OVER_ENABLE false
  368. /* Enable use of shaders. */
  369. #ifdef RARCH_CONSOLE
  370. #define DEFAULT_SHADER_ENABLE true
  371. #else
  372. #define DEFAULT_SHADER_ENABLE false
  373. #endif
  374. /* Should we enable hdr when its supported*/
  375. #define DEFAULT_VIDEO_HDR_ENABLE false
  376. /* The maximum nunmber of nits the actual display can show - needs to be calibrated */
  377. #define DEFAULT_VIDEO_HDR_MAX_NITS 1000.0f
  378. /* The number of nits that paper white is at */
  379. #define DEFAULT_VIDEO_HDR_PAPER_WHITE_NITS 200.0f
  380. /* The contrast setting for hdr used to calculate the display gamma by dividing this value by gamma 2.2 */
  381. #define DEFAULT_VIDEO_HDR_CONTRAST 5.0f
  382. /* Should we expand the colour gamut when using hdr */
  383. #define DEFAULT_VIDEO_HDR_EXPAND_GAMUT true
  384. /* When presets are saved they will be saved using the #reference
  385. * directive by default */
  386. #define DEFAULT_VIDEO_SHADER_PRESET_SAVE_REFERENCE_ENABLE true
  387. #define DEFAULT_SHADER_DELAY 0
  388. /* Only scale in integer steps.
  389. * The base size depends on system-reported geometry and aspect ratio.
  390. * If video_force_aspect is not set, X/Y will be integer scaled independently.
  391. * Overscale rounds up instead of down, default is downscale.
  392. */
  393. #define DEFAULT_SCALE_INTEGER false
  394. #define DEFAULT_SCALE_INTEGER_OVERSCALE false
  395. /* Controls aspect ratio handling. */
  396. /* 1:1 PAR */
  397. #define DEFAULT_ASPECT_RATIO_AUTO false
  398. #if defined(_XBOX360) || defined(__PS3__)
  399. #define DEFAULT_ASPECT_RATIO_IDX ASPECT_RATIO_16_9
  400. #elif defined(PSP) || defined(_3DS) || defined(HAVE_LIBNX) || defined(VITA)
  401. #define DEFAULT_ASPECT_RATIO_IDX ASPECT_RATIO_CORE
  402. #elif defined(RARCH_CONSOLE)
  403. #define DEFAULT_ASPECT_RATIO_IDX ASPECT_RATIO_4_3
  404. #else
  405. #define DEFAULT_ASPECT_RATIO_IDX ASPECT_RATIO_CORE
  406. #endif
  407. #if defined(DINGUX)
  408. /* Enables aspect ratio correction (1:1 PAR) when
  409. * using the IPU hardware scaler in Dingux devices */
  410. #define DEFAULT_DINGUX_IPU_KEEP_ASPECT true
  411. /* Sets image filtering method when using the
  412. * IPU hardware scaler in Dingux devices */
  413. #if defined(RETROFW)
  414. #define DEFAULT_DINGUX_IPU_FILTER_TYPE DINGUX_IPU_FILTER_NEAREST
  415. #else
  416. #define DEFAULT_DINGUX_IPU_FILTER_TYPE DINGUX_IPU_FILTER_BICUBIC
  417. #endif
  418. #if defined(DINGUX_BETA)
  419. /* Sets refresh rate of integral LCD panel
  420. * in Dingux devices */
  421. #define DEFAULT_DINGUX_REFRESH_RATE DINGUX_REFRESH_RATE_60HZ
  422. #endif
  423. #if defined(RS90) || defined(MIYOO)
  424. /* Sets image filtering method on the RS90
  425. * when integer scaling is disabled */
  426. #define DEFAULT_DINGUX_RS90_SOFTFILTER_TYPE DINGUX_RS90_SOFTFILTER_POINT
  427. #endif
  428. #endif
  429. /* Save configuration file on exit. */
  430. #define DEFAULT_CONFIG_SAVE_ON_EXIT true
  431. /* Save active input remap file on exit/close content */
  432. #define DEFAULT_REMAP_SAVE_ON_EXIT true
  433. #define DEFAULT_SHOW_HIDDEN_FILES false
  434. /* Initialise file browser with the last used start directory */
  435. #define DEFAULT_USE_LAST_START_DIRECTORY false
  436. #define DEFAULT_OVERLAY_BEHIND_MENU false
  437. #define DEFAULT_OVERLAY_HIDE_IN_MENU true
  438. /* Automatically disable overlays when a
  439. * controller is connected in port 1 */
  440. #define DEFAULT_OVERLAY_HIDE_WHEN_GAMEPAD_CONNECTED false
  441. #define DEFAULT_OVERLAY_SHOW_MOUSE_CURSOR true
  442. #define DEFAULT_DISPLAY_KEYBOARD_OVERLAY false
  443. #ifdef HAKCHI
  444. #define DEFAULT_INPUT_OVERLAY_OPACITY 0.5f
  445. #else
  446. #define DEFAULT_INPUT_OVERLAY_OPACITY 0.7f
  447. #endif
  448. #define DEFAULT_INPUT_OVERLAY_SCALE_LANDSCAPE 1.0f
  449. #define DEFAULT_INPUT_OVERLAY_ASPECT_ADJUST_LANDSCAPE 0.0f
  450. #define DEFAULT_INPUT_OVERLAY_X_SEPARATION_LANDSCAPE 0.0f
  451. #define DEFAULT_INPUT_OVERLAY_Y_SEPARATION_LANDSCAPE 0.0f
  452. #define DEFAULT_INPUT_OVERLAY_X_OFFSET_LANDSCAPE 0.0f
  453. #define DEFAULT_INPUT_OVERLAY_Y_OFFSET_LANDSCAPE 0.0f
  454. #define DEFAULT_INPUT_OVERLAY_SCALE_PORTRAIT 1.0f
  455. #define DEFAULT_INPUT_OVERLAY_ASPECT_ADJUST_PORTRAIT 0.0f
  456. #define DEFAULT_INPUT_OVERLAY_X_SEPARATION_PORTRAIT 0.0f
  457. #define DEFAULT_INPUT_OVERLAY_Y_SEPARATION_PORTRAIT 0.0f
  458. #define DEFAULT_INPUT_OVERLAY_X_OFFSET_PORTRAIT 0.0f
  459. #define DEFAULT_INPUT_OVERLAY_Y_OFFSET_PORTRAIT 0.0f
  460. #if defined(RARCH_MOBILE)
  461. #define DEFAULT_OVERLAY_AUTO_ROTATE true
  462. #else
  463. #define DEFAULT_OVERLAY_AUTO_ROTATE false
  464. #endif
  465. #if defined(RARCH_MOBILE)
  466. #define DEFAULT_INPUT_OVERLAY_AUTO_SCALE true
  467. #else
  468. #define DEFAULT_INPUT_OVERLAY_AUTO_SCALE false
  469. #endif
  470. #include "runtime_file_defines.h"
  471. #ifdef HAVE_MENU
  472. #include "menu/menu_defines.h"
  473. #ifdef HAVE_LIBNX
  474. #define DEFAULT_MENU_USE_PREFERRED_SYSTEM_COLOR_THEME true
  475. #else
  476. #define DEFAULT_MENU_USE_PREFERRED_SYSTEM_COLOR_THEME false
  477. #endif
  478. #ifdef HAVE_OZONE
  479. /* Ozone colour theme: 1 == Basic Black */
  480. #define DEFAULT_OZONE_COLOR_THEME 1
  481. #define DEFAULT_OZONE_COLLAPSE_SIDEBAR false
  482. #define DEFAULT_OZONE_SCROLL_CONTENT_METADATA false
  483. #define DEFAULT_OZONE_THUMBNAIL_SCALE_FACTOR 1.0f
  484. #endif
  485. #if defined(HAVE_OZONE) || defined(HAVE_XMB)
  486. #define DEFAULT_OZONE_TRUNCATE_PLAYLIST_NAME true
  487. #define DEFAULT_OZONE_SORT_AFTER_TRUNCATE_PLAYLIST_NAME false
  488. #endif
  489. #define DEFAULT_SETTINGS_SHOW_DRIVERS true
  490. #define DEFAULT_SETTINGS_SHOW_VIDEO true
  491. #define DEFAULT_SETTINGS_SHOW_AUDIO true
  492. #define DEFAULT_SETTINGS_SHOW_INPUT true
  493. #define DEFAULT_SETTINGS_SHOW_LATENCY true
  494. #define DEFAULT_SETTINGS_SHOW_CORE true
  495. #define DEFAULT_SETTINGS_SHOW_CONFIGURATION true
  496. #define DEFAULT_SETTINGS_SHOW_SAVING true
  497. #define DEFAULT_SETTINGS_SHOW_LOGGING true
  498. #define DEFAULT_SETTINGS_SHOW_FILE_BROWSER true
  499. #define DEFAULT_SETTINGS_SHOW_FRAME_THROTTLE true
  500. #define DEFAULT_SETTINGS_SHOW_RECORDING true
  501. #define DEFAULT_SETTINGS_SHOW_ONSCREEN_DISPLAY true
  502. #define DEFAULT_SETTINGS_SHOW_USER_INTERFACE true
  503. #define DEFAULT_SETTINGS_SHOW_AI_SERVICE true
  504. #define DEFAULT_SETTINGS_SHOW_ACCESSIBILITY true
  505. #define DEFAULT_SETTINGS_SHOW_POWER_MANAGEMENT true
  506. #define DEFAULT_SETTINGS_SHOW_ACHIEVEMENTS true
  507. #define DEFAULT_SETTINGS_SHOW_NETWORK true
  508. #define DEFAULT_SETTINGS_SHOW_PLAYLISTS true
  509. #define DEFAULT_SETTINGS_SHOW_USER true
  510. #define DEFAULT_SETTINGS_SHOW_DIRECTORY true
  511. #define DEFAULT_SETTINGS_SHOW_STEAM true
  512. #define DEFAULT_QUICK_MENU_SHOW_RESUME_CONTENT true
  513. #define DEFAULT_QUICK_MENU_SHOW_RESTART_CONTENT true
  514. #define DEFAULT_QUICK_MENU_SHOW_CLOSE_CONTENT true
  515. #define DEFAULT_QUICK_MENU_SHOW_TAKE_SCREENSHOT true
  516. #define DEFAULT_QUICK_MENU_SHOW_SAVESTATE_SUBMENU true
  517. #define DEFAULT_QUICK_MENU_SHOW_SAVE_LOAD_STATE true
  518. #define DEFAULT_QUICK_MENU_SHOW_UNDO_SAVE_LOAD_STATE true
  519. #define DEFAULT_QUICK_MENU_SHOW_REPLAY false
  520. #define DEFAULT_QUICK_MENU_SHOW_ADD_TO_FAVORITES true
  521. #define DEFAULT_QUICK_MENU_SHOW_START_RECORDING true
  522. #define DEFAULT_QUICK_MENU_SHOW_START_STREAMING true
  523. #define DEFAULT_QUICK_MENU_SHOW_SET_CORE_ASSOCIATION true
  524. #define DEFAULT_QUICK_MENU_SHOW_RESET_CORE_ASSOCIATION true
  525. #define DEFAULT_QUICK_MENU_SHOW_CORE_OPTIONS true
  526. #define DEFAULT_QUICK_MENU_SHOW_CORE_OPTIONS_FLUSH false
  527. #define DEFAULT_QUICK_MENU_SHOW_CONTROLS true
  528. #define DEFAULT_QUICK_MENU_SHOW_LATENCY true
  529. #define DEFAULT_QUICK_MENU_SHOW_REWIND true
  530. #define DEFAULT_QUICK_MENU_SHOW_OVERLAYS true
  531. #define DEFAULT_QUICK_MENU_SHOW_VIDEO_LAYOUT false
  532. #define DEFAULT_QUICK_MENU_SHOW_CHEATS true
  533. #define DEFAULT_QUICK_MENU_SHOW_SHADERS true
  534. #define DEFAULT_QUICK_MENU_SHOW_INFORMATION true
  535. #define DEFAULT_QUICK_MENU_SHOW_SAVE_CORE_OVERRIDES true
  536. #define DEFAULT_QUICK_MENU_SHOW_SAVE_GAME_OVERRIDES true
  537. #define DEFAULT_QUICK_MENU_SHOW_SAVE_CONTENT_DIR_OVERRIDES true
  538. #ifdef HAVE_NETWORKING
  539. #define DEFAULT_QUICK_MENU_SHOW_DOWNLOAD_THUMBNAILS true
  540. #endif
  541. #define DEFAULT_MENU_SHOW_ONLINE_UPDATER true
  542. #if defined(HAVE_LAKKA) || defined(VITA)
  543. #define DEFAULT_MENU_SHOW_CORE_UPDATER false
  544. #else
  545. #define DEFAULT_MENU_SHOW_CORE_UPDATER true
  546. #endif
  547. #define DEFAULT_MENU_SHOW_LOAD_CORE true
  548. #define DEFAULT_MENU_SHOW_LOAD_CONTENT true
  549. #ifdef HAVE_CDROM
  550. #define DEFAULT_MENU_SHOW_LOAD_DISC true
  551. #define DEFAULT_MENU_SHOW_DUMP_DISC true
  552. #ifdef HAVE_LAKKA
  553. #define DEFAULT_MENU_SHOW_EJECT_DISC true
  554. #endif /* HAVE_LAKKA */
  555. #endif
  556. #define DEFAULT_MENU_SHOW_INFORMATION true
  557. #define DEFAULT_MENU_SHOW_CONFIGURATIONS true
  558. #define DEFAULT_MENU_SHOW_HELP true
  559. #define DEFAULT_MENU_SHOW_QUIT true
  560. #define DEFAULT_MENU_SHOW_RESTART true
  561. #define DEFAULT_MENU_SHOW_REBOOT true
  562. #define DEFAULT_MENU_SHOW_SHUTDOWN true
  563. #ifdef HAVE_MIST
  564. #define DEFAULT_MENU_SHOW_CORE_MANAGER_STEAM true
  565. #endif
  566. #define DEFAULT_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER false
  567. #define DEFAULT_MENU_SHOW_SUBLABELS true
  568. #define DEFAULT_MENU_DYNAMIC_WALLPAPER_ENABLE true
  569. #define DEFAULT_MENU_SCROLL_FAST false
  570. #define DEFAULT_MENU_SCROLL_DELAY 256
  571. #define DEFAULT_KIOSK_MODE_ENABLE false
  572. #define DEFAULT_MENU_HORIZONTAL_ANIMATION true
  573. #define DEFAULT_MENU_TICKER_TYPE (TICKER_TYPE_LOOP)
  574. #define DEFAULT_MENU_TICKER_SPEED 2.0f
  575. #define DEFAULT_MENU_TICKER_SMOOTH true
  576. #if defined(HAVE_THREADS)
  577. #define DEFAULT_MENU_SAVESTATE_RESUME true
  578. #else
  579. #define DEFAULT_MENU_SAVESTATE_RESUME false
  580. #endif
  581. #define DEFAULT_MENU_INSERT_DISK_RESUME true
  582. #define DEFAULT_QUIT_ON_CLOSE_CONTENT QUIT_ON_CLOSE_CONTENT_DISABLED
  583. /* While the menu is active, supported drivers
  584. * will display a screensaver after SCREENSAVER_TIMEOUT
  585. * seconds of inactivity. A timeout of zero disables
  586. * the screensaver */
  587. #define DEFAULT_MENU_SCREENSAVER_TIMEOUT 0
  588. #if defined(HAVE_MATERIALUI) || defined(HAVE_XMB) || defined(HAVE_OZONE)
  589. /* When menu screensaver is enabled, specifies
  590. * animation effect and animation speed */
  591. #define DEFAULT_MENU_SCREENSAVER_ANIMATION MENU_SCREENSAVER_BLANK
  592. #define DEFAULT_MENU_SCREENSAVER_ANIMATION_SPEED 1.0f
  593. #endif
  594. #define DEFAULT_CONTENT_SHOW_SETTINGS true
  595. #define DEFAULT_CONTENT_SHOW_HISTORY true
  596. #define DEFAULT_CONTENT_SHOW_FAVORITES true
  597. #ifdef HAVE_IMAGEVIEWER
  598. #define DEFAULT_CONTENT_SHOW_IMAGES true
  599. #endif
  600. #define DEFAULT_CONTENT_SHOW_MUSIC false
  601. #if defined(HAVE_FFMPEG) || defined(HAVE_MPV)
  602. #define DEFAULT_CONTENT_SHOW_VIDEO true
  603. #endif
  604. #if defined(HAVE_NETWORKING)
  605. #if defined(_3DS)
  606. #define DEFAULT_CONTENT_SHOW_NETPLAY false
  607. #else
  608. #define DEFAULT_CONTENT_SHOW_NETPLAY true
  609. #endif
  610. #endif
  611. /* Specifies 'add content' visibility when using
  612. * menus WITH a dedicated 'Import Content' tab */
  613. #define DEFAULT_MENU_CONTENT_SHOW_ADD true
  614. /* Specifies 'add content' visibility when using
  615. * menus WITHOUT a dedicated 'Import Content' tab */
  616. #define DEFAULT_MENU_CONTENT_SHOW_ADD_ENTRY MENU_ADD_CONTENT_ENTRY_DISPLAY_PLAYLISTS_TAB
  617. #define DEFAULT_CONTENT_SHOW_PLAYLISTS true
  618. #if defined(HAVE_LIBRETRODB)
  619. #define DEFAULT_MENU_CONTENT_SHOW_EXPLORE true
  620. #endif
  621. #define DEFAULT_MENU_CONTENT_SHOW_CONTENTLESS_CORES MENU_CONTENTLESS_CORES_DISPLAY_SINGLE_PURPOSE
  622. #ifdef HAVE_XMB
  623. #define DEFAULT_XMB_ANIMATION 0
  624. #define DEFAULT_XMB_VERTICAL_FADE_FACTOR 100
  625. #define DEFAULT_XMB_SHOW_TITLE_HEADER true
  626. #define DEFAULT_XMB_SWITCH_ICONS true
  627. #define DEFAULT_XMB_TITLE_MARGIN 5
  628. #define DEFAULT_XMB_TITLE_MARGIN_HORIZONTAL_OFFSET 0
  629. #define MAXIMUM_XMB_TITLE_MARGIN 12
  630. #define DEFAULT_XMB_ALPHA_FACTOR 75
  631. #define DEFAULT_MENU_FONT_COLOR_RED 255
  632. #define DEFAULT_MENU_FONT_COLOR_GREEN 255
  633. #define DEFAULT_MENU_FONT_COLOR_BLUE 255
  634. #ifdef HAVE_ODROIDGO2
  635. #define DEFAULT_XMB_MENU_LAYOUT 2
  636. #else
  637. #define DEFAULT_XMB_MENU_LAYOUT 0
  638. #endif
  639. #define DEFAULT_XMB_ICON_THEME XMB_ICON_THEME_MONOCHROME
  640. #define DEFAULT_XMB_THEME XMB_THEME_ELECTRIC_BLUE
  641. #if defined(HAVE_LAKKA) || defined(__arm__) || defined(__PPC64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__powerpc__) || defined(__ppc__) || defined(__POWERPC__)
  642. #define DEFAULT_XMB_SHADOWS_ENABLE false
  643. #else
  644. #define DEFAULT_XMB_SHADOWS_ENABLE true
  645. #endif
  646. #endif
  647. #define DEFAULT_MENU_FRAMEBUFFER_OPACITY 0.900f
  648. #define DEFAULT_MENU_WALLPAPER_OPACITY 0.300f
  649. #define DEFAULT_MENU_FOOTER_OPACITY 1.000f
  650. #define DEFAULT_MENU_HEADER_OPACITY 1.000f
  651. #if defined(HAVE_OPENGLES2) || (defined(__MACH__) && defined(MAC_OS_X_VERSION_MAX_ALLOWED) && (MAC_OS_X_VERSION_MAX_ALLOWED < 101200))
  652. #define DEFAULT_MENU_SHADER_PIPELINE 1
  653. #else
  654. #define DEFAULT_MENU_SHADER_PIPELINE 2
  655. #endif
  656. #define DEFAULT_SHOW_ADVANCED_SETTINGS true
  657. #define DEFAULT_RGUI_COLOR_THEME RGUI_THEME_CLASSIC_GREEN
  658. #define DEFAULT_RGUI_TRANSPARENCY true
  659. #define DEFAULT_RGUI_INLINE_THUMBNAILS false
  660. #define DEFAULT_RGUI_SWAP_THUMBNAILS false
  661. #define DEFAULT_RGUI_THUMBNAIL_DOWNSCALER RGUI_THUMB_SCALE_POINT
  662. #define DEFAULT_RGUI_THUMBNAIL_DELAY 0
  663. #define DEFAULT_RGUI_INTERNAL_UPSCALE_LEVEL RGUI_UPSCALE_NONE
  664. #define DEFAULT_RGUI_FULL_WIDTH_LAYOUT true
  665. #define DEFAULT_RGUI_ASPECT RGUI_ASPECT_RATIO_4_3
  666. #define DEFAULT_RGUI_ASPECT_LOCK RGUI_ASPECT_RATIO_LOCK_NONE
  667. #define DEFAULT_RGUI_SHADOWS false
  668. #define DEFAULT_RGUI_PARTICLE_EFFECT RGUI_PARTICLE_EFFECT_NONE
  669. #define DEFAULT_RGUI_PARTICLE_EFFECT_SPEED 1.0f
  670. #define DEFAULT_RGUI_PARTICLE_EFFECT_SCREENSAVER true
  671. #define DEFAULT_RGUI_EXTENDED_ASCII false
  672. #define DEFAULT_RGUI_SWITCH_ICONS true
  673. #endif
  674. #ifdef HAVE_MENU
  675. #define DEFAULT_BLOCK_CONFIG_READ true
  676. #else
  677. #define DEFAULT_BLOCK_CONFIG_READ false
  678. #endif
  679. /* TODO/FIXME - this setting is thread-unsafe right now and can corrupt the stack - default to off */
  680. #define DEFAULT_AUTOMATICALLY_ADD_CONTENT_TO_PLAYLIST false
  681. #define DEFAULT_GAME_SPECIFIC_OPTIONS true
  682. #define DEFAULT_AUTO_OVERRIDES_ENABLE true
  683. #define DEFAULT_AUTO_REMAPS_ENABLE true
  684. #define DEFAULT_GLOBAL_CORE_OPTIONS false
  685. #define DEFAULT_AUTO_SHADERS_ENABLE true
  686. #define DEFAULT_SORT_SAVEFILES_ENABLE false
  687. #define DEFAULT_SORT_SAVESTATES_ENABLE false
  688. #define DEFAULT_SORT_SAVEFILES_BY_CONTENT_ENABLE false
  689. #define DEFAULT_SORT_SAVESTATES_BY_CONTENT_ENABLE false
  690. #define DEFAULT_SORT_SCREENSHOTS_BY_CONTENT_ENABLE false
  691. #define DEFAULT_SAVESTATES_IN_CONTENT_DIR false
  692. #define DEFAULT_SAVEFILES_IN_CONTENT_DIR false
  693. #define DEFAULT_SYSTEMFILES_IN_CONTENT_DIR false
  694. #define DEFAULT_SCREENSHOTS_IN_CONTENT_DIR false
  695. #if defined(RS90) || defined(RETROFW) || defined(MIYOO)
  696. #define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_START_SELECT
  697. #elif defined(_XBOX1) || defined(__PS3__) || defined(_XBOX360) || defined(DINGUX)
  698. #define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_L3_R3
  699. #elif defined(PS2) || defined(PSP)
  700. #define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_HOLD_START
  701. #elif defined(VITA)
  702. #define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_L1_R1_START_SELECT
  703. #elif defined(SWITCH) || defined(ORBIS)
  704. #define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_START_SELECT
  705. #elif TARGET_OS_TV
  706. #define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_DOWN_Y_L_R
  707. #else
  708. #define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_COMBO_NONE
  709. #endif
  710. #define DEFAULT_QUIT_GAMEPAD_COMBO INPUT_COMBO_NONE
  711. #if defined(VITA)
  712. #define DEFAULT_INPUT_BACKTOUCH_ENABLE false
  713. #define DEFAULT_INPUT_BACKTOUCH_TOGGLE false
  714. #endif
  715. #define DEFAULT_OVERLAY_ENABLE_AUTOPREFERRED true
  716. #if defined(HAVE_OVERLAY)
  717. #if defined(RARCH_MOBILE)
  718. #define DEFAULT_OVERLAY_SHOW_INPUTS OVERLAY_SHOW_INPUT_TOUCHED
  719. #else
  720. #define DEFAULT_OVERLAY_SHOW_INPUTS OVERLAY_SHOW_INPUT_PHYSICAL
  721. #endif
  722. #endif
  723. #define DEFAULT_OVERLAY_SHOW_INPUTS_PORT 0
  724. #define DEFAULT_OVERLAY_DPAD_DIAGONAL_SENSITIVITY 80
  725. #define DEFAULT_OVERLAY_ABXY_DIAGONAL_SENSITIVITY 50
  726. #if defined(ANDROID) || defined(_WIN32) || defined(HAVE_STEAM) || TARGET_OS_TV
  727. #define DEFAULT_MENU_SWAP_OK_CANCEL_BUTTONS true
  728. #else
  729. #define DEFAULT_MENU_SWAP_OK_CANCEL_BUTTONS false
  730. #endif
  731. #define DEFAULT_MENU_SWAP_SCROLL_BUTTONS false
  732. #if defined(WIIU)
  733. #define DEFAULT_ALL_USERS_CONTROL_MENU true
  734. #else
  735. #define DEFAULT_ALL_USERS_CONTROL_MENU false
  736. #endif
  737. #define DEFAULT_QUIT_PRESS_TWICE true
  738. #ifdef _DEBUG
  739. #define DEFAULT_LOG_TO_FILE true
  740. #else
  741. #define DEFAULT_LOG_TO_FILE false
  742. #endif
  743. #ifdef _DEBUG
  744. #define DEFAULT_LOG_TO_FILE_TIMESTAMP true
  745. #else
  746. #define DEFAULT_LOG_TO_FILE_TIMESTAMP false
  747. #endif
  748. /* Crop overscanned frames. */
  749. #define DEFAULT_CROP_OVERSCAN true
  750. /* Font size for on-screen messages. */
  751. #if defined(DINGUX)
  752. #define DEFAULT_FONT_SIZE 12
  753. #elif defined(PS2)
  754. #define DEFAULT_FONT_SIZE 16
  755. #else
  756. #define DEFAULT_FONT_SIZE 32
  757. #endif
  758. /* Offset for where messages will be placed on-screen.
  759. * Values are in range [0.0, 1.0]. */
  760. #define DEFAULT_MESSAGE_POS_OFFSET_X 0.05f
  761. #define DEFAULT_MESSAGE_POS_OFFSET_Y 0.05f
  762. /* Color of the message.
  763. * RGB hex value. */
  764. #define DEFAULT_MESSAGE_COLOR 0xffff00
  765. #define DEFAULT_MESSAGE_BGCOLOR_ENABLE false
  766. #define DEFAULT_MESSAGE_BGCOLOR_RED 0
  767. #define DEFAULT_MESSAGE_BGCOLOR_GREEN 0
  768. #define DEFAULT_MESSAGE_BGCOLOR_BLUE 0
  769. #define DEFAULT_MESSAGE_BGCOLOR_OPACITY 1.0f
  770. /* Record post-filtered (CPU filter) video,
  771. * rather than raw game output. */
  772. #define DEFAULT_POST_FILTER_RECORD false
  773. /* Screenshots post-shaded GPU output if available. */
  774. #define DEFAULT_GPU_SCREENSHOT true
  775. /* Watch shader files for changes and auto-apply as necessary. */
  776. #define DEFAULT_VIDEO_SHADER_WATCH_FILES false
  777. /* Initialise file browser with last used directory
  778. * when selecting shader presets/passes via the menu */
  779. #define DEFAULT_VIDEO_SHADER_REMEMBER_LAST_DIR false
  780. /* Screenshots named automatically. */
  781. #define DEFAULT_AUTO_SCREENSHOT_FILENAME true
  782. /* Record post-shaded GPU output instead of raw game footage if available. */
  783. #define DEFAULT_GPU_RECORD false
  784. /* OSD-messages. */
  785. #define DEFAULT_FONT_ENABLE true
  786. /* The accurate refresh rate of your monitor (Hz).
  787. * This is used to calculate audio input rate with the formula:
  788. * audio_input_rate = game_input_rate * display_refresh_rate /
  789. * game_refresh_rate.
  790. *
  791. * If the implementation does not report any values,
  792. * NTSC defaults will be assumed for compatibility.
  793. * This value should stay close to 60Hz to avoid large pitch changes.
  794. * If your monitor does not run at 60Hz, or something close to it,
  795. * disable VSync, and leave this at its default. */
  796. #ifdef _3DS
  797. #define DEFAULT_REFRESH_RATE ((32730.0f * 8192.0f) / 4481134.0f)
  798. #elif defined(RARCH_CONSOLE)
  799. #define DEFAULT_REFRESH_RATE (60 / 1.001f)
  800. #else
  801. #define DEFAULT_REFRESH_RATE (60)
  802. #endif
  803. #define DEFAULT_CRT_REFRESH_RATE (DEFAULT_REFRESH_RATE)
  804. /* Allow games to set rotation. If false, rotation requests are
  805. * honored, but ignored.
  806. * Used for setups where one manually rotates the monitor. */
  807. #define DEFAULT_ALLOW_ROTATE true
  808. #ifdef _3DS
  809. /* Enable New3DS clock and L2 cache */
  810. #define DEFAULT_NEW_3DS_SPEEDUP_ENABLE true
  811. /* Enable bottom LCD screen */
  812. #define DEFAULT_VIDEO_3DS_LCD_BOTTOM true
  813. /* Sets video display mode (3D, 2D, etc.) */
  814. #define DEFAULT_VIDEO_3DS_DISPLAY_MODE CTR_VIDEO_MODE_3D
  815. #define DEFAULT_BOTTOM_FONT_ENABLE true
  816. #define DEFAULT_BOTTOM_FONT_COLOR 255
  817. #define DEFAULT_BOTTOM_FONT_SCALE 1.48f
  818. #endif
  819. #ifdef WIIU
  820. /* On Wii U, whether to optimize for the native TV resolution
  821. * or exactly 2x the Wii U GamePad resolution. */
  822. #define DEFAULT_WIIU_PREFER_DRC false
  823. #endif
  824. /* AUDIO */
  825. /* Will enable audio or not. */
  826. #define DEFAULT_AUDIO_ENABLE true
  827. /* Enable menu audio sounds. */
  828. #define DEFAULT_AUDIO_ENABLE_MENU false
  829. #define DEFAULT_AUDIO_ENABLE_MENU_OK false
  830. #define DEFAULT_AUDIO_ENABLE_MENU_CANCEL false
  831. #define DEFAULT_AUDIO_ENABLE_MENU_NOTICE false
  832. #define DEFAULT_AUDIO_ENABLE_MENU_BGM false
  833. #define DEFAULT_AUDIO_ENABLE_MENU_SCROLL false
  834. #ifdef HAVE_GFX_WIDGETS
  835. #define DEFAULT_MENU_ENABLE_WIDGETS true
  836. #else
  837. #define DEFAULT_MENU_ENABLE_WIDGETS false
  838. #endif
  839. /* Display an animation when loading content
  840. * > Currently implemented only as a widget */
  841. #define DEFAULT_MENU_SHOW_LOAD_CONTENT_ANIMATION DEFAULT_MENU_ENABLE_WIDGETS
  842. /* Display a notification when successfully
  843. * connecting/disconnecting an autoconfigured
  844. * controller
  845. * > Disabled by default on the Switch */
  846. #if defined(HAVE_LIBNX) && defined(HAVE_GFX_WIDGETS)
  847. #define DEFAULT_NOTIFICATION_SHOW_AUTOCONFIG false
  848. #else
  849. #define DEFAULT_NOTIFICATION_SHOW_AUTOCONFIG true
  850. #endif
  851. /* Display a notification when cheats are being
  852. * applied */
  853. #define DEFAULT_NOTIFICATION_SHOW_CHEATS_APPLIED true
  854. /* Display a notification when applying an
  855. * IPS/BPS/UPS patch file */
  856. #define DEFAULT_NOTIFICATION_SHOW_PATCH_APPLIED true
  857. /* Display a notification when loading an
  858. * input remap file */
  859. #define DEFAULT_NOTIFICATION_SHOW_REMAP_LOAD true
  860. /* Display a notification when loading a
  861. * configuration override file */
  862. #define DEFAULT_NOTIFICATION_SHOW_CONFIG_OVERRIDE_LOAD true
  863. /* Display a notification when automatically restoring
  864. * at launch the last used disk of multi-disk content */
  865. #define DEFAULT_NOTIFICATION_SHOW_SET_INITIAL_DISK true
  866. /* Display a notification when fast forwarding
  867. * content */
  868. #define DEFAULT_NOTIFICATION_SHOW_FAST_FORWARD true
  869. #if defined(HAVE_SCREENSHOTS)
  870. /*Display a notification when taking a screenshot*/
  871. #define DEFAULT_NOTIFICATION_SHOW_SCREENSHOT true
  872. /*Desired duration of the screenshot notification*/
  873. #define DEFAULT_NOTIFICATION_SHOW_SCREENSHOT_DURATION 0
  874. /* Display a white flashing effect with the desired
  875. * duration when taking a screenshot*/
  876. #define DEFAULT_NOTIFICATION_SHOW_SCREENSHOT_FLASH 0
  877. #endif
  878. /* Display a notification when setting the refresh rate*/
  879. #if defined(_3DS) || (defined(DINGUX) && defined(DINGUX_BETA))
  880. /* 3DS and OpenDingux Beta devices set refresh rate
  881. * on gfx driver init - set default notification
  882. * state to 'false' in order to avoid OSD log spam */
  883. #define DEFAULT_NOTIFICATION_SHOW_REFRESH_RATE false
  884. #else
  885. #define DEFAULT_NOTIFICATION_SHOW_REFRESH_RATE true
  886. #endif
  887. #ifdef HAVE_NETWORKING
  888. #define DEFAULT_NOTIFICATION_SHOW_NETPLAY_EXTRA false
  889. #endif
  890. #ifdef HAVE_MENU
  891. #define DEFAULT_NOTIFICATION_SHOW_WHEN_MENU_IS_ALIVE false
  892. #endif
  893. /* Output samplerate. */
  894. #if defined(GEKKO) || defined(MIYOO)
  895. #define DEFAULT_OUTPUT_RATE 32000
  896. #elif defined(_3DS) || defined(RETROFW)
  897. #define DEFAULT_OUTPUT_RATE 32730
  898. #else
  899. #define DEFAULT_OUTPUT_RATE 48000
  900. #endif
  901. /* Audio device (e.g. hw:0,0 or /dev/audio). If NULL, will use defaults. */
  902. #define DEFAULT_AUDIO_DEVICE NULL
  903. /* Desired audio latency in milliseconds. Might not be honored
  904. * if driver can't provide given latency. */
  905. #if defined(ANDROID) || defined(EMSCRIPTEN) || defined(RETROFW) || defined(MIYOO)
  906. /* For most Android devices, 64ms is way too low. */
  907. #define DEFAULT_OUT_LATENCY 128
  908. #else
  909. #define DEFAULT_OUT_LATENCY 64
  910. #endif
  911. /* Will sync audio. (recommended) */
  912. #define DEFAULT_AUDIO_SYNC true
  913. /* Audio rate control. */
  914. #if !defined(RARCH_CONSOLE)
  915. #define DEFAULT_RATE_CONTROL true
  916. #else
  917. #define DEFAULT_RATE_CONTROL false
  918. #endif
  919. /* Rate control delta. Defines how much rate_control
  920. * is allowed to adjust input rate. */
  921. #define DEFAULT_RATE_CONTROL_DELTA 0.005f
  922. /* Maximum timing skew. Defines how much adjust_system_rates
  923. * is allowed to adjust input rate. */
  924. #define DEFAULT_MAX_TIMING_SKEW 0.05f
  925. /* Default audio volume in dB. (0.0 dB == unity gain). */
  926. #define DEFAULT_AUDIO_VOLUME 0.0f
  927. /* Default audio volume of the audio mixer in dB. (0.0 dB == unity gain). */
  928. #define DEFAULT_AUDIO_MIXER_VOLUME 0.0f
  929. #ifdef HAVE_WASAPI
  930. /* WASAPI defaults */
  931. #define DEFAULT_WASAPI_EXCLUSIVE_MODE false
  932. #define DEFAULT_WASAPI_FLOAT_FORMAT false
  933. /* Automatic shared mode buffer */
  934. #define DEFAULT_WASAPI_SH_BUFFER_LENGTH -16
  935. #endif
  936. /* Automatically mute audio when fast forward
  937. * is enabled */
  938. #define DEFAULT_AUDIO_FASTFORWARD_MUTE false
  939. /* Speed up audio to match fast-forward speed up.
  940. * Avoids crackling */
  941. #define DEFAULT_AUDIO_FASTFORWARD_SPEEDUP false
  942. /* MISC */
  943. /* Enables displaying the current frames per second. */
  944. #define DEFAULT_FPS_SHOW false
  945. /* FPS display will be updated at the set interval (in frames) */
  946. #define DEFAULT_FPS_UPDATE_INTERVAL 256
  947. /* Memory status display will be updated at the set interval (in frames) */
  948. #define DEFAULT_MEMORY_UPDATE_INTERVAL 256
  949. /* Enables displaying the current frame count. */
  950. #define DEFAULT_FRAMECOUNT_SHOW false
  951. /* Includes displaying the current memory usage/total with FPS/Frames. */
  952. #define DEFAULT_MEMORY_SHOW false
  953. /* Enables displaying various timing statistics. */
  954. #define DEFAULT_STATISTICS_SHOW false
  955. /* Enables displaying the current netplay room ping. */
  956. #define DEFAULT_NETPLAY_PING_SHOW false
  957. /* Enables use of rewind. This will incur some memory footprint
  958. * depending on the save state buffer. */
  959. #define DEFAULT_REWIND_ENABLE false
  960. /* When set, any time a cheat is toggled it is immediately applied. */
  961. #define DEFAULT_APPLY_CHEATS_AFTER_TOGGLE false
  962. /* When set, all enabled cheats are auto-applied when a game is loaded. */
  963. #define DEFAULT_APPLY_CHEATS_AFTER_LOAD false
  964. #if defined(RETROFW) || defined(MIYOO)
  965. /*RETROFW jz4760 has signficant slowdown with default settings */
  966. #define DEFAULT_REWIND_BUFFER_SIZE (1 << 20)
  967. #define DEFAULT_REWIND_BUFFER_SIZE_STEP 1
  968. #define DEFAULT_REWIND_GRANULARITY 6
  969. #else
  970. /* The buffer size for the rewind buffer. This needs to be about
  971. * 15-20MB per minute. Very game dependant. */
  972. #define DEFAULT_REWIND_BUFFER_SIZE (20 << 20) /* 20MiB */
  973. /* The amount of MB to increase/decrease the rewind_buffer_size when it is changed via the UI. */
  974. #define DEFAULT_REWIND_BUFFER_SIZE_STEP 10 /* 10MB */
  975. /* How many frames to rewind at a time. */
  976. #define DEFAULT_REWIND_GRANULARITY 1
  977. #endif
  978. /* Pause gameplay when window loses focus. */
  979. #if defined(EMSCRIPTEN)
  980. #define DEFAULT_PAUSE_NONACTIVE false
  981. #else
  982. #define DEFAULT_PAUSE_NONACTIVE true
  983. #endif
  984. /* Pause gameplay when controller disconnects. */
  985. #define DEFAULT_PAUSE_ON_DISCONNECT false
  986. /* Saves non-volatile SRAM at a regular interval.
  987. * It is measured in seconds. A value of 0 disables autosave. */
  988. #if defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(__x86_64__) || defined(_M_X64) || defined(_WIN32) || defined(OSX) || defined(ANDROID) || defined(IOS) || defined(DINGUX)
  989. /* Flush to file every 10 seconds on modern platforms by default */
  990. #define DEFAULT_AUTOSAVE_INTERVAL 10
  991. #else
  992. /* Default to disabled on I/O-constrained platforms */
  993. #define DEFAULT_AUTOSAVE_INTERVAL 0
  994. #endif
  995. /* Netplay lobby filters */
  996. #define DEFAULT_NETPLAY_SHOW_ONLY_CONNECTABLE true
  997. #define DEFAULT_NETPLAY_SHOW_ONLY_INSTALLED_CORES false
  998. #define DEFAULT_NETPLAY_SHOW_PASSWORDED true
  999. /* Publicly announce netplay */
  1000. #define DEFAULT_NETPLAY_PUBLIC_ANNOUNCE true
  1001. /* Start netplay in spectator mode */
  1002. #define DEFAULT_NETPLAY_START_AS_SPECTATOR false
  1003. /* Netplay chat fading toggle */
  1004. #define DEFAULT_NETPLAY_FADE_CHAT true
  1005. /* Netplay chat colors */
  1006. #define DEFAULT_NETPLAY_CHAT_COLOR_NAME 0x008000
  1007. #define DEFAULT_NETPLAY_CHAT_COLOR_MSG 0xFFFFFF
  1008. /* Allow players to pause */
  1009. #define DEFAULT_NETPLAY_ALLOW_PAUSING false
  1010. /* Allow connections in slave mode */
  1011. #define DEFAULT_NETPLAY_ALLOW_SLAVES true
  1012. /* Require connections only in slave mode */
  1013. #define DEFAULT_NETPLAY_REQUIRE_SLAVES false
  1014. /* When being client over netplay, use keybinds for
  1015. * user 1 rather than user 2. */
  1016. #define DEFAULT_NETPLAY_CLIENT_SWAP_INPUT true
  1017. #define DEFAULT_NETPLAY_NAT_TRAVERSAL false
  1018. #define DEFAULT_NETPLAY_DELAY_FRAMES 16
  1019. #define DEFAULT_NETPLAY_CHECK_FRAMES 600
  1020. #define DEFAULT_NETPLAY_USE_MITM_SERVER false
  1021. #define DEFAULT_NETPLAY_MITM_SERVER "nyc"
  1022. #ifdef HAVE_NETWORKING
  1023. #define DEFAULT_NETPLAY_MAX_CONNECTIONS 3
  1024. #define DEFAULT_NETPLAY_MAX_PING 0
  1025. #define DEFAULT_NETPLAY_SHARE_DIGITAL RARCH_NETPLAY_SHARE_DIGITAL_NO_SHARING
  1026. #define DEFAULT_NETPLAY_SHARE_ANALOG RARCH_NETPLAY_SHARE_ANALOG_NO_SHARING
  1027. #endif
  1028. /* On save state load, block SRAM from being overwritten.
  1029. * This could potentially lead to buggy games. */
  1030. #define DEFAULT_BLOCK_SRAM_OVERWRITE false
  1031. /* When saving savestates, state index is automatically
  1032. * incremented before saving.
  1033. * When the content is loaded, state index will be set
  1034. * to the highest existing value. */
  1035. #define DEFAULT_SAVESTATE_AUTO_INDEX false
  1036. /* Specifies the maximum number of savestates to keep
  1037. * when savestate auto index is enabled
  1038. * > When limit is exceeded, savestate with the lowest
  1039. * index will be deleted automatically when creating
  1040. * a new savestate
  1041. * > Setting value to zero disables the limit (no
  1042. * savestates will be deleted in this case) */
  1043. #define DEFAULT_SAVESTATE_MAX_KEEP 0
  1044. /* When recording replays, replay index is automatically
  1045. * incremented before recording starts.
  1046. * When the content is loaded, replay index will be set
  1047. * to the highest existing value. */
  1048. #define DEFAULT_REPLAY_AUTO_INDEX true
  1049. /* Specifies the maximum number of replays to keep
  1050. * when replay auto index is enabled
  1051. * > When limit is exceeded, replay with the lowest
  1052. * index will be deleted automatically when creating
  1053. * a new replay
  1054. * > Setting value to zero disables the limit (no
  1055. * replays will be deleted in this case) */
  1056. #define DEFAULT_REPLAY_MAX_KEEP 0
  1057. /* Specifies how often checkpoints will be saved to replay files during recording.
  1058. * > Setting value to zero disables recording checkpoints. */
  1059. #define DEFAULT_REPLAY_CHECKPOINT_INTERVAL 0
  1060. /* Automatically saves a savestate at the end of RetroArch's lifetime.
  1061. * The path is $SRAM_PATH.auto.
  1062. * RetroArch will automatically load any savestate with this path on
  1063. * startup if savestate_auto_load is set. */
  1064. #define DEFAULT_SAVESTATE_AUTO_SAVE false
  1065. #define DEFAULT_SAVESTATE_AUTO_LOAD false
  1066. #define DEFAULT_SAVESTATE_THUMBNAIL_ENABLE false
  1067. /* When creating save (srm) files, compress
  1068. * written data */
  1069. #define DEFAULT_SAVE_FILE_COMPRESSION false
  1070. /* When creating save state files, compress
  1071. * written data */
  1072. #if defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
  1073. #define DEFAULT_SAVESTATE_FILE_COMPRESSION false
  1074. #else
  1075. #define DEFAULT_SAVESTATE_FILE_COMPRESSION true
  1076. #endif
  1077. /* Slowmotion ratio. */
  1078. #define DEFAULT_SLOWMOTION_RATIO 3.0f
  1079. /* Maximum fast forward ratio. */
  1080. #define DEFAULT_FASTFORWARD_RATIO 0.0f
  1081. #define MAXIMUM_FASTFORWARD_RATIO 50.0f
  1082. /* Skip frames when fast forwarding. */
  1083. #define DEFAULT_FASTFORWARD_FRAMESKIP true
  1084. /* Enable runloop for variable refresh rate screens. Force x1 speed while handling fast forward too. */
  1085. #define DEFAULT_VRR_RUNLOOP_ENABLE false
  1086. /* Run core logic one or more frames ahead then load the state back to reduce perceived input lag. */
  1087. #define DEFAULT_RUN_AHEAD_FRAMES 1
  1088. /* When using the Run Ahead feature, use a secondary instance of the core. */
  1089. #define DEFAULT_RUN_AHEAD_SECONDARY_INSTANCE true
  1090. /* Hide warning messages when using the Run Ahead feature. */
  1091. #define DEFAULT_RUN_AHEAD_HIDE_WARNINGS false
  1092. /* Hide warning messages when using Preemptive Frames. */
  1093. #define DEFAULT_PREEMPT_HIDE_WARNINGS false
  1094. /* Enable stdin/network command interface. */
  1095. #define DEFAULT_NETWORK_CMD_ENABLE false
  1096. #define DEFAULT_NETWORK_CMD_PORT 55355
  1097. #define DEFAULT_NETWORK_REMOTE_BASE_PORT 55400
  1098. #define DEFAULT_STDIN_CMD_ENABLE false
  1099. #define DEFAULT_NETWORK_BUILDBOT_AUTO_EXTRACT_ARCHIVE true
  1100. #define DEFAULT_NETWORK_BUILDBOT_SHOW_EXPERIMENTAL_CORES false
  1101. /* Automatically create a backup whenever a core is
  1102. * updated via the online updater
  1103. * > Enable by default on all modern platforms with
  1104. * online updater support */
  1105. #if defined(HAVE_ONLINE_UPDATER) && (defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(__x86_64__) || defined(_M_X64) || defined(_WIN32) || defined(OSX) || defined(ANDROID) || defined(IOS))
  1106. #define DEFAULT_CORE_UPDATER_AUTO_BACKUP true
  1107. #else
  1108. #define DEFAULT_CORE_UPDATER_AUTO_BACKUP false
  1109. #endif
  1110. /* Number of automatic core backups to retain
  1111. * (oldest backup will be deleted when creating
  1112. * a new one) */
  1113. #define DEFAULT_CORE_UPDATER_AUTO_BACKUP_HISTORY_SIZE 1
  1114. #if defined(ANDROID) || defined(__APPLE__)
  1115. #define DEFAULT_NETWORK_ON_DEMAND_THUMBNAILS true
  1116. #else
  1117. #define DEFAULT_NETWORK_ON_DEMAND_THUMBNAILS false
  1118. #endif
  1119. /* Number of entries that will be kept in content history playlist file. */
  1120. #define DEFAULT_CONTENT_HISTORY_SIZE 200
  1121. /* Number of entries that will be kept in content favorites playlist file.
  1122. * -1 == 'unlimited' (99999) */
  1123. #define DEFAULT_CONTENT_FAVORITES_SIZE 200
  1124. /* Sort all playlists (apart from histories) alphabetically */
  1125. #define DEFAULT_PLAYLIST_SORT_ALPHABETICAL true
  1126. /* File format to use when writing playlists to disk */
  1127. #define DEFAULT_PLAYLIST_USE_OLD_FORMAT false
  1128. /* When creating/updating playlists, compress written data */
  1129. #define DEFAULT_PLAYLIST_COMPRESSION false
  1130. #ifdef HAVE_MENU
  1131. /* Specify when to display 'core name' inline on playlist entries */
  1132. #define DEFAULT_PLAYLIST_SHOW_INLINE_CORE_NAME PLAYLIST_INLINE_CORE_DISPLAY_HIST_FAV
  1133. /* Specifies which runtime record to use on playlist sublabels */
  1134. #define DEFAULT_PLAYLIST_SUBLABEL_RUNTIME_TYPE PLAYLIST_RUNTIME_PER_CORE
  1135. /* Specifies time/date display format for runtime 'last played' data */
  1136. #define DEFAULT_PLAYLIST_SUBLABEL_LAST_PLAYED_STYLE PLAYLIST_LAST_PLAYED_STYLE_YMD_HMS
  1137. #define DEFAULT_PLAYLIST_ENTRY_REMOVE_ENABLE PLAYLIST_ENTRY_REMOVE_ENABLE_ALL
  1138. #endif
  1139. #define DEFAULT_SCAN_WITHOUT_CORE_MATCH false
  1140. #ifdef __WINRT__
  1141. /* Be paranoid about WinRT file I/O performance, and leave this disabled by
  1142. * default */
  1143. #define DEFAULT_PLAYLIST_SHOW_SUBLABELS false
  1144. #else
  1145. #define DEFAULT_PLAYLIST_SHOW_SUBLABELS true
  1146. #endif
  1147. #define DEFAULT_PLAYLIST_SHOW_HISTORY_ICONS PLAYLIST_SHOW_HISTORY_ICONS_DEFAULT
  1148. /* Show the indices of playlist entries in
  1149. * a menu-driver-specific fashion */
  1150. #define DEFAULT_PLAYLIST_SHOW_ENTRY_IDX true
  1151. #define DEFAULT_PLAYLIST_FUZZY_ARCHIVE_MATCH false
  1152. #define DEFAULT_PLAYLIST_PORTABLE_PATHS false
  1153. /* Show Menu start-up screen on boot. */
  1154. #define DEFAULT_MENU_SHOW_START_SCREEN true
  1155. /* Default scale factor for non-frambuffer-based display
  1156. * drivers and display widgets */
  1157. #if defined(VITA)
  1158. #define DEFAULT_MENU_SCALE_FACTOR 1.5f
  1159. #else
  1160. #define DEFAULT_MENU_SCALE_FACTOR 1.0f
  1161. #endif
  1162. /* Specifies whether display widgets should be scaled
  1163. * automatically using the default menu scale factor */
  1164. #define DEFAULT_MENU_WIDGET_SCALE_AUTO true
  1165. /* Default scale factor for display widgets when widget
  1166. * auto scaling is disabled (fullscreen mode) */
  1167. #define DEFAULT_MENU_WIDGET_SCALE_FACTOR 1.0f
  1168. /* Default scale factor for display widgets when widget
  1169. * auto scaling is disabled (windowed mode) */
  1170. #define DEFAULT_MENU_WIDGET_SCALE_FACTOR_WINDOWED 1.0f
  1171. /* Log level for the frontend */
  1172. #define DEFAULT_FRONTEND_LOG_LEVEL 0
  1173. /* Log level for libretro cores (GET_LOG_INTERFACE). */
  1174. #define DEFAULT_LIBRETRO_LOG_LEVEL 0
  1175. #ifndef RARCH_DEFAULT_PORT
  1176. #ifndef VITA
  1177. #define RARCH_DEFAULT_PORT 55435
  1178. #else
  1179. #define RARCH_DEFAULT_PORT 19492
  1180. #endif
  1181. #endif
  1182. #ifndef RARCH_STREAM_DEFAULT_PORT
  1183. #define RARCH_STREAM_DEFAULT_PORT 56400
  1184. #endif
  1185. /* KEYBINDS, JOYPAD */
  1186. /* Axis threshold (between 0.0 and 1.0)
  1187. * How far an axis must be tilted to result in a button press. */
  1188. #define DEFAULT_AXIS_THRESHOLD 0.5f
  1189. #define DEFAULT_ANALOG_DEADZONE 0.0f
  1190. #define DEFAULT_ANALOG_SENSITIVITY 1.0f
  1191. /* Describes speed of which turbo-enabled buttons toggle. */
  1192. #define DEFAULT_TURBO_PERIOD 6
  1193. #define DEFAULT_TURBO_DUTY_CYCLE 3
  1194. #define DEFAULT_TURBO_MODE 0
  1195. #define DEFAULT_TURBO_DEFAULT_BTN RETRO_DEVICE_ID_JOYPAD_B
  1196. /* Enable input auto-detection. Will attempt to autoconfigure
  1197. * gamepads, plug-and-play style. */
  1198. #define DEFAULT_INPUT_AUTODETECT_ENABLE true
  1199. /* Enables accelerometer/gyroscope/illuminance
  1200. * sensor input, if supported */
  1201. #if defined(ANDROID)
  1202. /* Hardware sensors cause substantial battery
  1203. * drain on Android... */
  1204. #define DEFAULT_INPUT_SENSORS_ENABLE false
  1205. #else
  1206. #define DEFAULT_INPUT_SENSORS_ENABLE true
  1207. #endif
  1208. /* Automatically enable game focus when running or
  1209. * resuming content */
  1210. #define DEFAULT_INPUT_AUTO_GAME_FOCUS AUTO_GAME_FOCUS_OFF
  1211. /* Show the input descriptors set by the core instead
  1212. * of the default ones. */
  1213. #define DEFAULT_INPUT_DESCRIPTOR_LABEL_SHOW true
  1214. #define DEFAULT_INPUT_DESCRIPTOR_HIDE_UNBOUND false
  1215. #if defined(DINGUX)
  1216. #define DEFAULT_INPUT_MAX_USERS 1
  1217. #else
  1218. #define DEFAULT_INPUT_MAX_USERS 8
  1219. #endif
  1220. #define DEFAULT_INPUT_BIND_TIMEOUT 5
  1221. #define DEFAULT_INPUT_BIND_HOLD 2
  1222. #define DEFAULT_INPUT_POLL_TYPE_BEHAVIOR 2
  1223. #define DEFAULT_INPUT_HOTKEY_BLOCK_DELAY 5
  1224. #define DEFAULT_GFX_THUMBNAILS_DEFAULT 3
  1225. #define DEFAULT_MENU_LEFT_THUMBNAILS_DEFAULT 0
  1226. #define DEFAULT_GFX_THUMBNAIL_UPSCALE_THRESHOLD 0
  1227. #ifdef HAVE_MENU
  1228. #if defined(RS90) || defined(MIYOO)
  1229. /* The RS-90 has a hardware clock that is neither
  1230. * configurable nor persistent, rendering it useless.
  1231. * We therefore hide it in the menu by default. */
  1232. #define DEFAULT_MENU_TIMEDATE_ENABLE false
  1233. #else
  1234. #define DEFAULT_MENU_TIMEDATE_ENABLE true
  1235. #endif
  1236. #define DEFAULT_MENU_TIMEDATE_STYLE MENU_TIMEDATE_STYLE_DDMM_HM
  1237. #define DEFAULT_MENU_TIMEDATE_DATE_SEPARATOR MENU_TIMEDATE_DATE_SEPARATOR_HYPHEN
  1238. #define DEFAULT_MENU_REMEMBER_SELECTION MENU_REMEMBER_SELECTION_ALWAYS
  1239. #endif
  1240. #define DEFAULT_XMB_VERTICAL_THUMBNAILS false
  1241. #define DEFAULT_XMB_THUMBNAIL_SCALE_FACTOR 100
  1242. #ifdef IOS
  1243. #define DEFAULT_UI_COMPANION_START_ON_BOOT false
  1244. #else
  1245. #define DEFAULT_UI_COMPANION_START_ON_BOOT true
  1246. #endif
  1247. #define DEFAULT_UI_COMPANION_ENABLE false
  1248. /* Currently only used to show the WIMP UI on startup */
  1249. #define DEFAULT_UI_COMPANION_TOGGLE false
  1250. /* Only init the WIMP UI for this session if this is enabled */
  1251. #define DEFAULT_DESKTOP_MENU_ENABLE true
  1252. /* Keep track of how long each core+content has been running for over time */
  1253. #ifdef __WINRT__
  1254. /* Be paranoid about WinRT file I/O performance, and leave this disabled by
  1255. * default */
  1256. #define DEFAULT_CONTENT_RUNTIME_LOG false
  1257. #else
  1258. #define DEFAULT_CONTENT_RUNTIME_LOG true
  1259. #endif
  1260. /* Keep track of how long each content has been running
  1261. * for over time (ignores core) */
  1262. #define DEFAULT_CONTENT_RUNTIME_LOG_AGGREGATE false
  1263. #define DEFAULT_UI_MENUBAR_ENABLE true
  1264. #if defined(__QNX__) || defined(_XBOX1) || defined(_XBOX360) || (defined(__MACH__) && defined(IOS)) || defined(ANDROID) || defined(WIIU) || defined(HAVE_NEON) || defined(GEKKO) || defined(__ARM_NEON__) || defined(__PS3__)
  1265. #define DEFAULT_AUDIO_RESAMPLER_QUALITY_LEVEL RESAMPLER_QUALITY_LOWER
  1266. #elif defined(PSP) || defined(_3DS) || defined(VITA) || defined(PS2) || defined(DINGUX)
  1267. #define DEFAULT_AUDIO_RESAMPLER_QUALITY_LEVEL RESAMPLER_QUALITY_LOWEST
  1268. #else
  1269. #define DEFAULT_AUDIO_RESAMPLER_QUALITY_LEVEL RESAMPLER_QUALITY_NORMAL
  1270. #endif
  1271. /* MIDI */
  1272. #if defined(_WIN32) && !defined(_XBOX) && !defined(__WINRT__)
  1273. #define DEFAULT_MIDI_OUTPUT "Microsoft GS Wavetable Synth"
  1274. #else
  1275. #define DEFAULT_MIDI_OUTPUT "OFF"
  1276. #endif
  1277. #define DEFAULT_MIDI_INPUT "OFF"
  1278. #define DEFAULT_MIDI_VOLUME 100
  1279. #ifdef HAVE_MIST
  1280. /* Steam */
  1281. #define DEFAULT_STEAM_RICH_PRESENCE_FORMAT STEAM_RICH_PRESENCE_FORMAT_CONTENT_SYSTEM
  1282. #endif
  1283. /* Only applies to Android 7.0 (API 24) and up */
  1284. #define DEFAULT_SUSTAINED_PERFORMANCE_MODE false
  1285. #if defined(ANDROID)
  1286. #define DEFAULT_VIBRATE_ON_KEYPRESS true
  1287. #else
  1288. #define DEFAULT_VIBRATE_ON_KEYPRESS false
  1289. #endif
  1290. #define DEFAULT_ENABLE_DEVICE_VIBRATION false
  1291. /* Defines the strength of rumble effects
  1292. * on OpenDingux devices */
  1293. #if defined(DINGUX) && defined(HAVE_LIBSHAKE)
  1294. #define DEFAULT_RUMBLE_GAIN 50
  1295. #else
  1296. #define DEFAULT_RUMBLE_GAIN 100
  1297. #endif
  1298. #ifdef HAVE_VULKAN
  1299. #define DEFAULT_VULKAN_GPU_INDEX 0
  1300. #endif
  1301. #ifdef HAVE_D3D10
  1302. #define DEFAULT_D3D10_GPU_INDEX 0
  1303. #endif
  1304. #ifdef HAVE_D3D11
  1305. #define DEFAULT_D3D11_GPU_INDEX 0
  1306. #endif
  1307. #ifdef HAVE_D3D12
  1308. #define DEFAULT_D3D12_GPU_INDEX 0
  1309. #endif
  1310. #if defined(HAKCHI)
  1311. #define DEFAULT_BUILDBOT_SERVER_URL "http://hakchicloud.com/Libretro_Cores/"
  1312. #elif defined(ANDROID)
  1313. #if defined(ANDROID_ARM_V7)
  1314. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/"
  1315. #elif defined(ANDROID_ARM)
  1316. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/android/latest/armeabi/"
  1317. #elif defined(ANDROID_AARCH64)
  1318. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/android/latest/arm64-v8a/"
  1319. #elif defined(ANDROID_X86)
  1320. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/android/latest/x86/"
  1321. #elif defined(ANDROID_X64)
  1322. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/android/latest/x86_64/"
  1323. #else
  1324. #define DEFAULT_BUILDBOT_SERVER_URL ""
  1325. #endif
  1326. #elif defined(__QNX__)
  1327. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/blackberry/latest/"
  1328. #elif defined(IOS)
  1329. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/apple/ios/latest/"
  1330. #elif defined(OSX)
  1331. #if defined(__x86_64__)
  1332. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/apple/osx/x86_64/latest/"
  1333. #elif defined(__i386__) || defined(__i486__) || defined(__i686__)
  1334. #define DEFAULT_BUILDBOT_SERVER_URL "http://bot.libretro.com/nightly/apple/osx/x86/latest/"
  1335. #elif defined(__aarch64__)
  1336. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/apple/osx/arm64/latest/"
  1337. #else
  1338. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/apple/osx/ppc/latest/"
  1339. #endif
  1340. #elif defined(_WIN32) && !defined(_XBOX)
  1341. #if _MSC_VER >= 1910
  1342. #ifndef __WINRT__
  1343. #if defined(__x86_64__) || defined(_M_X64)
  1344. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows/x86_64/latest/"
  1345. #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
  1346. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/x86/latest/"
  1347. #elif defined(__arm__) || defined(_M_ARM)
  1348. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/arm/latest/"
  1349. #elif defined(__aarch64__) || defined(_M_ARM64)
  1350. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/arm64/latest/"
  1351. #endif
  1352. #else
  1353. #if defined(__x86_64__) || defined(_M_X64)
  1354. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows/x86_64/latest/"
  1355. #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
  1356. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows/x86/latest/"
  1357. #elif defined(__arm__) || defined(_M_ARM)
  1358. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2017-uwp/arm/latest/"
  1359. #elif defined(__aarch64__) || defined(_M_ARM64)
  1360. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2017-uwp/arm64/latest/"
  1361. #endif
  1362. #endif
  1363. #elif _MSC_VER == 1600
  1364. #if defined(__x86_64__) || defined(_M_X64)
  1365. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2010/x86_64/latest/"
  1366. #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
  1367. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2010/x86/latest/"
  1368. #endif
  1369. #elif _MSC_VER == 1400
  1370. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2005/x86/latest/"
  1371. #elif _MSC_VER == 1310
  1372. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows-msvc2003/x86/latest/"
  1373. #else
  1374. #if defined(__x86_64__) || defined(_M_X64)
  1375. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows/x86_64/latest/"
  1376. #elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
  1377. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/windows/x86/latest/"
  1378. #endif
  1379. #endif
  1380. #elif defined(__linux__)
  1381. #if defined(__x86_64__)
  1382. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/linux/x86_64/latest/"
  1383. #elif defined(__i386__) || defined(__i486__) || defined(__i686__)
  1384. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/linux/x86/latest/"
  1385. #elif defined(__arm__) && __ARM_ARCH == 7 && defined(__ARM_PCS_VFP)
  1386. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/linux/armhf/latest/"
  1387. #else
  1388. #define DEFAULT_BUILDBOT_SERVER_URL ""
  1389. #endif
  1390. #elif defined(WIIU)
  1391. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/nintendo/wiiu/latest/"
  1392. #elif defined(HAVE_LIBNX)
  1393. #define DEFAULT_BUILDBOT_SERVER_URL "http://buildbot.libretro.com/nightly/nintendo/switch/libnx/latest/"
  1394. #elif defined(_3DS)
  1395. #define DEFAULT_BUILDBOT_SERVER_URL envIsHomebrew() ? "http://buildbot.libretro.com/nightly/nintendo/3ds/latest/3dsx/" : "http://buildbot.libretro.com/nightly/nintendo/3ds/latest/cia/"
  1396. #else
  1397. #define DEFAULT_BUILDBOT_SERVER_URL ""
  1398. #endif
  1399. #define DEFAULT_BUILDBOT_ASSETS_SERVER_URL "http://buildbot.libretro.com/assets/"
  1400. #define DEFAULT_DISCORD_APP_ID "475456035851599874"
  1401. #define DEFAULT_AI_SERVICE_SOURCE_LANG 0
  1402. #define DEFAULT_AI_SERVICE_TARGET_LANG 0
  1403. #define DEFAULT_AI_SERVICE_ENABLE false
  1404. #define DEFAULT_AI_SERVICE_PAUSE false
  1405. #define DEFAULT_AI_SERVICE_MODE 1
  1406. #define DEFAULT_AI_SERVICE_URL "http://localhost:4404/"
  1407. #if defined(HAVE_FFMPEG) || defined(HAVE_MPV)
  1408. #define DEFAULT_BUILTIN_MEDIAPLAYER_ENABLE true
  1409. #else
  1410. #define DEFAULT_BUILTIN_MEDIAPLAYER_ENABLE false
  1411. #endif
  1412. #if defined(HAVE_IMAGEVIEWER)
  1413. #define DEFAULT_BUILTIN_IMAGEVIEWER_ENABLE true
  1414. #else
  1415. #define DEFAULT_BUILTIN_IMAGEVIEWER_ENABLE false
  1416. #endif
  1417. #define DEFAULT_FILTER_BY_CURRENT_CORE false
  1418. #endif