X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Flibretro_core_options.h;h=1ecc9a9bd0633a5136c8b2fe0362ba0cadda2702;hb=a0cffa0ffa785fbaff1c563627d6ce9dc0523287;hp=e6b5e72ce4ec4a3c86818bebf36fb0936a9ce5fd;hpb=ef2683f1cae601159513afc7a94e0af0bb4bb055;p=pcsx_rearmed.git diff --git a/frontend/libretro_core_options.h b/frontend/libretro_core_options.h index e6b5e72c..1ecc9a9b 100644 --- a/frontend/libretro_core_options.h +++ b/frontend/libretro_core_options.h @@ -7,6 +7,28 @@ #include #include +#ifndef HAVE_NO_LANGEXTRA +#include "libretro_core_options_intl.h" +#endif + +/* + ******************************** + * VERSION: 1.3 + ******************************** + * + * - 1.3: Move translations to libretro_core_options_intl.h + * - libretro_core_options_intl.h includes BOM and utf-8 + * fix for MSVC 2010-2013 + * - Added HAVE_NO_LANGEXTRA flag to disable translations + * on platforms/compilers without BOM support + * - 1.2: Use core options v1 interface when + * RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION is >= 1 + * (previously required RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION == 1) + * - 1.1: Support generation of core options v0 retro_core_option_value + * arrays containing options with a single value + * - 1.0: First commit +*/ + #ifdef __cplusplus extern "C" { #endif @@ -27,14 +49,6 @@ extern "C" { * frontend language definition */ -#ifdef HAVE_PRE_ARMV7 -#define PSX_CLOCK_DEFAULT "50" -#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 50" -#else -#define PSX_CLOCK_DEFAULT "57" -#define PSX_CLOCK_LABEL "Overclock or underclock the PSX clock. Default is 57" -#endif - struct retro_core_option_definition option_defs_us[] = { { "pcsx_rearmed_frameskip", @@ -45,7 +59,7 @@ struct retro_core_option_definition option_defs_us[] = { { "1", NULL }, { "2", NULL }, { "3", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "0", }, @@ -55,8 +69,8 @@ struct retro_core_option_definition option_defs_us[] = { "Allows you to use real bios file (if available) or emulated bios (HLE). Its recommended to use official bios file for better compatibility.", { { "auto", "auto" }, - { "HLE", "hle" }, - { NULL, NULL}, + { "HLE", "hle" }, + { NULL, NULL }, }, "auto", }, @@ -67,8 +81,8 @@ struct retro_core_option_definition option_defs_us[] = { { { "auto", "auto" }, { "NTSC", "ntsc" }, - { "PAL", "pal" }, - { NULL, NULL}, + { "PAL", "pal" }, + { NULL, NULL }, }, "auto", }, @@ -77,23 +91,23 @@ struct retro_core_option_definition option_defs_us[] = { "Enable Second Memory Card (Shared)", "Enabled the memory card slot 2. This memory card is shared amongst all games.", { - { "disable", NULL }, + { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, - "disable", + "disabled", }, { "pcsx_rearmed_pad1type", "Pad 1 Type", "Pad type for player 1", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "standard", }, @@ -102,12 +116,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 2 Type", "Pad type for player 2", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "standard", }, @@ -116,12 +130,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 3 Type", "Pad type for player 3", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", }, @@ -130,12 +144,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 4 Type", "Pad type for player 4", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", }, @@ -144,12 +158,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 5 Type", "Pad type for player 5", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", },{ @@ -157,12 +171,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 6 Type", "Pad type for player 6", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", },{ @@ -170,12 +184,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 7 Type", "Pad type for player 7", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", },{ @@ -183,12 +197,12 @@ struct retro_core_option_definition option_defs_us[] = { "Pad 8 Type", "Pad type for player 8", { - { "standard", NULL }, - { "analog", NULL }, + { "standard", NULL }, + { "analog", NULL }, { "dualshock", NULL }, - { "negcon", NULL }, - { "none", NULL }, - { NULL, NULL}, + { "negcon", NULL }, + { "none", NULL }, + { NULL, NULL }, }, "none", }, @@ -197,10 +211,10 @@ struct retro_core_option_definition option_defs_us[] = { "Multitap 1", "Enables/Disables multitap on port 1, allowing upto 5 players in games that permit it.", { - { "auto", NULL }, + { "auto", NULL }, { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "auto", }, @@ -209,10 +223,10 @@ struct retro_core_option_definition option_defs_us[] = { "Multitap 2", "Enables/Disables multitap on port 2, allowing up to 8 players in games that permit it. Multitap 1 has to be enabled for this to work.", { - { "auto", NULL }, - { "disabled", NULL }, - { "enabled", NULL }, - { NULL, NULL}, + { "auto", NULL }, + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, }, "auto", }, @@ -228,7 +242,7 @@ struct retro_core_option_definition option_defs_us[] = { { "20", NULL }, { "25", NULL }, { "30", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "0", }, @@ -237,10 +251,10 @@ struct retro_core_option_definition option_defs_us[] = { "NegCon Twist Response", "Specifies the analog response when using a RetroPad left analog stick to simulate the 'twist' action of emulated neGcon Controllers.", { - { "linear", NULL }, + { "linear", NULL }, { "quadratic", NULL }, - { "cubic", NULL }, - { NULL, NULL}, + { "cubic", NULL }, + { NULL, NULL }, }, "linear", }, @@ -251,7 +265,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -262,7 +276,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -275,89 +289,97 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, { "pcsx_rearmed_psxclock", "PSX CPU Clock", - PSX_CLOCK_LABEL, +#ifdef HAVE_PRE_ARMV7 + "Overclock or underclock the PSX clock. Default is 50", +#else + "Overclock or underclock the PSX clock. Default is 57", +#endif { - { "30", NULL }, - { "31", NULL }, - { "32", NULL }, - { "33", NULL }, - { "34", NULL }, - { "35", NULL }, - { "36", NULL }, - { "37", NULL }, - { "38", NULL }, - { "39", NULL }, - { "40", NULL }, - { "41", NULL }, - { "42", NULL }, - { "43", NULL }, - { "44", NULL }, - { "45", NULL }, - { "46", NULL }, - { "47", NULL }, - { "48", NULL }, - { "49", NULL }, - { "50", NULL }, - { "51", NULL }, - { "52", NULL }, - { "53", NULL }, - { "54", NULL }, - { "55", NULL }, - { "56", NULL }, - { "57", NULL }, - { "58", NULL }, - { "59", NULL }, - { "60", NULL }, - { "61", NULL }, - { "62", NULL }, - { "63", NULL }, - { "64", NULL }, - { "65", NULL }, - { "66", NULL }, - { "67", NULL }, - { "68", NULL }, - { "69", NULL }, - { "70", NULL }, - { "71", NULL }, - { "72", NULL }, - { "73", NULL }, - { "74", NULL }, - { "75", NULL }, - { "76", NULL }, - { "77", NULL }, - { "78", NULL }, - { "79", NULL }, - { "80", NULL }, - { "81", NULL }, - { "82", NULL }, - { "83", NULL }, - { "84", NULL }, - { "85", NULL }, - { "86", NULL }, - { "87", NULL }, - { "88", NULL }, - { "89", NULL }, - { "90", NULL }, - { "91", NULL }, - { "92", NULL }, - { "93", NULL }, - { "94", NULL }, - { "95", NULL }, - { "96", NULL }, - { "97", NULL }, - { "98", NULL }, - { "99", NULL }, + { "30", NULL }, + { "31", NULL }, + { "32", NULL }, + { "33", NULL }, + { "34", NULL }, + { "35", NULL }, + { "36", NULL }, + { "37", NULL }, + { "38", NULL }, + { "39", NULL }, + { "40", NULL }, + { "41", NULL }, + { "42", NULL }, + { "43", NULL }, + { "44", NULL }, + { "45", NULL }, + { "46", NULL }, + { "47", NULL }, + { "48", NULL }, + { "49", NULL }, + { "50", NULL }, + { "51", NULL }, + { "52", NULL }, + { "53", NULL }, + { "54", NULL }, + { "55", NULL }, + { "56", NULL }, + { "57", NULL }, + { "58", NULL }, + { "59", NULL }, + { "60", NULL }, + { "61", NULL }, + { "62", NULL }, + { "63", NULL }, + { "64", NULL }, + { "65", NULL }, + { "66", NULL }, + { "67", NULL }, + { "68", NULL }, + { "69", NULL }, + { "70", NULL }, + { "71", NULL }, + { "72", NULL }, + { "73", NULL }, + { "74", NULL }, + { "75", NULL }, + { "76", NULL }, + { "77", NULL }, + { "78", NULL }, + { "79", NULL }, + { "80", NULL }, + { "81", NULL }, + { "82", NULL }, + { "83", NULL }, + { "84", NULL }, + { "85", NULL }, + { "86", NULL }, + { "87", NULL }, + { "88", NULL }, + { "89", NULL }, + { "90", NULL }, + { "91", NULL }, + { "92", NULL }, + { "93", NULL }, + { "94", NULL }, + { "95", NULL }, + { "96", NULL }, + { "97", NULL }, + { "98", NULL }, + { "99", NULL }, { "100", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, - PSX_CLOCK_DEFAULT, +#ifdef HAVE_PRE_ARMV7 + "50", +#else + "57", +#endif }, #endif /* DRC_DISABLE */ @@ -369,7 +391,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -380,7 +402,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -391,7 +413,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -404,7 +426,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -415,125 +437,195 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, /* GPU PEOPS OPTIONS */ -#ifdef DRC_DISABLE +#ifdef GPU_PEOPS { "pcsx_rearmed_show_gpu_peops_settings", - "Show Advance GPU Settings", - "Enable or disable various GPU fixes. A core restart might be needed for settings to take effect. NOTE: Quick Menu must be toggled for this setting to take effect.", + "Advanced GPU P.E.Op.S. Settings", + "Shows or hides advanced GPU plugin settings. NOTE: Quick Menu must be toggled for this setting to take effect.", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_0", + "pcsx_rearmed_gpu_peops_odd_even_bit", "(GPU) Odd/Even Bit Hack", "Needed for Chrono Cross.", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_1", + "pcsx_rearmed_gpu_peops_expand_screen_width", "(GPU) Expand Screen Width", "Capcom fighting games", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_2", + "pcsx_rearmed_gpu_peops_ignore_brightness", "(GPU) Ignore Brightness Color", "Black screens in Lunar Silver Star Story games", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_3", + "pcsx_rearmed_gpu_peops_disable_coord_check", "(GPU) Disable Coordinate Check", "Compatibility mode", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_6", + "pcsx_rearmed_gpu_peops_lazy_screen_update", "(GPU) Lazy Screen Update", "Pandemonium 2", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_7", + "pcsx_rearmed_gpu_peops_old_frame_skip", "(GPU) Old Frame Skipping", "Skip every second frame", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, { - "pcsx_rearmed_gpu_peops_fix_8", + "pcsx_rearmed_gpu_peops_repeated_triangles", "(GPU) Repeated Flat Tex Triangles", "Needed by Star Wars: Dark Forces", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_9", + "pcsx_rearmed_gpu_peops_quads_with_triangles", "(GPU) Draw Quads with Triangles", "Better g-colors, worse textures", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, { - "pcsx_rearmed_gpu_peops_fix_10", + "pcsx_rearmed_gpu_peops_fake_busy_state", "(GPU) Fake 'Gpu Busy' States", "Toggle busy flags after drawing", { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, #endif + /* GPU UNAI Advanced Options */ +#ifdef GPU_UNAI + { + "pcsx_rearmed_show_gpu_unai_settings", + "Advance GPU UNAI/PCSX4All Settings", + "Shows or hides advanced gpu settings. A core restart might be needed for settings to take effect. NOTE: Quick Menu must be toggled for this setting to take effect.", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL}, + }, + "disabled", + }, + { + "pcsx_rearmed_gpu_unai_blending", + "(GPU) Enable Blending", + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL}, + }, + "enabled", + }, + { + "pcsx_rearmed_gpu_unai_lighting", + "(GPU) Enable Lighting", + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL}, + }, + "enabled", + }, + { + "pcsx_rearmed_gpu_unai_fast_lighting", + "(GPU) Enable Fast Lighting", + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL}, + }, + "enabled", + }, + { + "pcsx_rearmed_gpu_unai_ilace_force", + "(GPU) Enable Forced Interlace", + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL}, + }, + "disabled", + }, + { + "pcsx_rearmed_gpu_unai_pixel_skip", + "(GPU) Enable Pixel Skip", + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL}, + }, + "disabled", + }, +#endif /* GPU UNAI Advanced Settings */ + { "pcsx_rearmed_show_bios_bootlogo", "Show Bios Bootlogo", @@ -541,7 +633,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -552,7 +644,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -561,11 +653,11 @@ struct retro_core_option_definition option_defs_us[] = { "Sound Interpolation", NULL, { - { "simple", NULL }, - { "gaussian", NULL }, - { "cubic", NULL }, - { "off", NULL }, - { NULL, NULL}, + { "simple", "Simple" }, + { "gaussian", "Gaussian" }, + { "cubic", "Cubic" }, + { "off", "disabled" }, + { NULL, NULL }, }, "simple", }, @@ -576,7 +668,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -587,7 +679,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -598,7 +690,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -611,7 +703,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -622,7 +714,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "enabled", }, @@ -635,7 +727,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -646,7 +738,7 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, @@ -657,57 +749,22 @@ struct retro_core_option_definition option_defs_us[] = { { { "disabled", NULL }, { "enabled", NULL }, - { NULL, NULL}, + { NULL, NULL }, }, "disabled", }, #endif /* DRC_DISABLE */ - { NULL, NULL, NULL, { NULL, NULL }, NULL }, + { NULL, NULL, NULL, {{0}}, NULL }, }; -/* RETRO_LANGUAGE_JAPANESE */ - -/* RETRO_LANGUAGE_FRENCH */ - -/* RETRO_LANGUAGE_SPANISH */ - -/* RETRO_LANGUAGE_GERMAN */ - -/* RETRO_LANGUAGE_ITALIAN */ - -/* RETRO_LANGUAGE_DUTCH */ - -/* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */ - -/* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */ - -/* RETRO_LANGUAGE_RUSSIAN */ - -/* RETRO_LANGUAGE_KOREAN */ - -/* RETRO_LANGUAGE_CHINESE_TRADITIONAL */ - -/* RETRO_LANGUAGE_CHINESE_SIMPLIFIED */ - -/* RETRO_LANGUAGE_ESPERANTO */ - -/* RETRO_LANGUAGE_POLISH */ - -/* RETRO_LANGUAGE_VIETNAMESE */ - -/* RETRO_LANGUAGE_ARABIC */ - -/* RETRO_LANGUAGE_GREEK */ - -/* RETRO_LANGUAGE_TURKISH */ - /* ******************************** * Language Mapping ******************************** */ +#ifndef HAVE_NO_LANGEXTRA struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = { option_defs_us, /* RETRO_LANGUAGE_ENGLISH */ NULL, /* RETRO_LANGUAGE_JAPANESE */ @@ -727,8 +784,9 @@ struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = { NULL, /* RETRO_LANGUAGE_VIETNAMESE */ NULL, /* RETRO_LANGUAGE_ARABIC */ NULL, /* RETRO_LANGUAGE_GREEK */ - NULL, /* RETRO_LANGUAGE_TURKISH */ + option_defs_tr, /* RETRO_LANGUAGE_TURKISH */ }; +#endif /* ******************************** @@ -737,7 +795,8 @@ struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = { */ /* Handles configuration/setting of core options. - * Should only be called inside retro_set_environment(). + * Should be called as early as possible - ideally inside + * retro_set_environment(), and no later than retro_load_game() * > We place the function body in the header to avoid the * necessity of adding more .c files (i.e. want this to * be as painless as possible for core devs) @@ -750,8 +809,9 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb) if (!environ_cb) return; - if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version == 1)) + if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version >= 1)) { +#ifndef HAVE_NO_LANGEXTRA struct retro_core_options_intl core_options_intl; unsigned language = 0; @@ -763,6 +823,9 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb) core_options_intl.local = option_defs_intl[language]; environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL, &core_options_intl); +#else + environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS, &option_defs_us); +#endif } else { @@ -832,7 +895,7 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb) } /* Build values string */ - if (num_values > 1) + if (num_values > 0) { size_t j;