[Scummvm-git-logs] scummvm master -> 982dc5c9d3e1a97e390ae8eefbba9ffdcd47da28
spleen1981
noreply at scummvm.org
Sun Mar 12 21:19:17 UTC 2023
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3c424aee9c LIBRETRO: migrate core options to v2
982dc5c9d3 LIBRETRO: group core settings per category
Commit: 3c424aee9c5b62f0bbd1a423a618df2dbd97491d
https://github.com/scummvm/scummvm/commit/3c424aee9c5b62f0bbd1a423a618df2dbd97491d
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2023-03-12T22:18:48+01:00
Commit Message:
LIBRETRO: migrate core options to v2
Changed paths:
backends/platform/libretro/include/libretro-core-options-intl.h
backends/platform/libretro/include/libretro-core-options.h
backends/platform/libretro/src/libretro.cpp
diff --git a/backends/platform/libretro/include/libretro-core-options-intl.h b/backends/platform/libretro/include/libretro-core-options-intl.h
index 42b1b6ad731..9ab47187581 100644
--- a/backends/platform/libretro/include/libretro-core-options-intl.h
+++ b/backends/platform/libretro/include/libretro-core-options-intl.h
@@ -32,9 +32,10 @@
/*
********************************
- * VERSION: 1.3
+ * VERSION: 2.0
********************************
*
+ * - 2.0: Add support for core options v2 interface
* - 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
@@ -67,11 +68,19 @@ extern "C" {
/* RETRO_LANGUAGE_GERMAN */
/* RETRO_LANGUAGE_ITALIAN */
-struct retro_core_option_definition option_defs_it[] = {
+
+struct retro_core_option_v2_category option_cats_it[] = {
+ { NULL, NULL, NULL },
+};
+
+struct retro_core_option_v2_definition option_defs_it[] = {
{
"scummvm_gamepad_cursor_speed",
"Velocità del cursore",
+ NULL,
"Moltiplicatore della velocità del cursore del mouse quando si usa la leva analogica sinistra o il D-Pad del RetroPad. Il valore di default di '1.0' è ottimizzato per i giochi con risoluzione nativa di '320x200' o '320x240'. Per i giochi ad 'alta definizione' con risoluzione di '640x400' or '640x480', si raccomanda il valore di '2.0'",
+ NULL,
+ NULL,
{
{NULL, NULL},
},
@@ -80,7 +89,10 @@ struct retro_core_option_definition option_defs_it[] = {
{
"scummvm_gamepad_cursor_acceleration_time",
"Accelerazione del cursore",
+ NULL,
"Il tempo (in secondi) necessario al cursore del mouse per raggiungere la piena velocità quando si usa la leva analogica sinistra o il D-Pad del RetroPad.",
+ NULL,
+ NULL,
{
{NULL, NULL},
},
@@ -89,7 +101,10 @@ struct retro_core_option_definition option_defs_it[] = {
{
"scummvm_analog_response",
"Risposta analogica del cursore",
+ NULL,
"Modalità di risposta della velocità del cursore del mouse allo spostamento della leva analogica sinistra del RetroPad. 'Lineare': La velocità è direttamente proporzionale allo spostamento della leva. Questa è l'impostazione di default adatta alla maggior parte degli utenti. 'Quadratica': La velocità aumenta con il quadrato dello spostamento della leva. Questo permette maggior precisione nei piccoli movimenti senza sacrificare il raggiungimento della velocità massima a spostamento completo. Questa modalità può richiedere pratica per un uso efficace.",
+ NULL,
+ NULL,
{
{"linear", "Lineare"},
{"quadratic", "Quadratica"},
@@ -100,7 +115,10 @@ struct retro_core_option_definition option_defs_it[] = {
{
"scummvm_analog_deadzone",
"Zona morta analogica (percentuale)",
+ NULL,
"Zona morta della leva analogica sinistra del RetroPad. Può essere usata per eliminare scorrimenti indesiderati del cursore.",
+ NULL,
+ NULL,
{
{NULL, NULL},
},
@@ -109,7 +127,10 @@ struct retro_core_option_definition option_defs_it[] = {
{
"scummvm_mouse_speed",
"Velocità del mouse",
+ NULL,
"Moltiplicatore della velocità del cursore del mouse quando si usa RetroMouse.",
+ NULL,
+ NULL,
{
{NULL, NULL},
},
@@ -118,13 +139,21 @@ struct retro_core_option_definition option_defs_it[] = {
{
"scummvm_speed_hack",
"Speed Hack (riavvio necessario)",
+ NULL,
"Modalità che riduce significativamente le richeste di CPU consentendo lievi inaccuratezze di timing. Questo 'hack' è considerato 'sicuro' - non dovrebbe causare errori e la maggior parte delle inaccuratezze sono impercettibili. Rimane comunque un hack, e gli utenti con macchine di classe desktop dovrebbero lasciarlo disabilitato. Su hardware a basse prestazioni (vecchi device Android, computer su singola scheda), questo hack è essenziale per il funzionamento del core a velocità piena.",
+ NULL,
+ NULL,
{
{NULL, NULL},
},
NULL
},
- {NULL, NULL, NULL, {{0}}, NULL},
+ { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL },
+};
+
+struct retro_core_options_v2 options_it = {
+ option_cats_it,
+ option_defs_it
};
/* RETRO_LANGUAGE_DUTCH */
diff --git a/backends/platform/libretro/include/libretro-core-options.h b/backends/platform/libretro/include/libretro-core-options.h
index 33d3df12c8f..40c6182d9a2 100644
--- a/backends/platform/libretro/include/libretro-core-options.h
+++ b/backends/platform/libretro/include/libretro-core-options.h
@@ -34,9 +34,10 @@
/*
********************************
- * VERSION: 1.3
+ * VERSION: 2.0
********************************
*
+ * - 2.0: Add support for core options v2 interface
* - 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
@@ -69,11 +70,19 @@ extern "C" {
* - Will be used as a fallback for any missing entries in
* frontend language definition */
-struct retro_core_option_definition option_defs_us[] = {
+
+struct retro_core_option_v2_category option_cats_us[] = {
+ { NULL, NULL, NULL },
+};
+
+struct retro_core_option_v2_definition option_defs_us[] = {
{
"scummvm_gamepad_cursor_speed",
"Gamepad Cursor Speed",
+ NULL,
"Sets the mouse cursor speed multiplier when moving the cursor with the RetroPad left analog stick or D-Pad. The default value of '1.0' is optimised for games that have a native resolution of '320x200' or '320x240'. When running 'high definition' games with a resolution of '640x400' or '640x480', a Gamepad Cursor Speed of '2.0' is recommended.",
+ NULL,
+ NULL,
{
{"0.25", NULL},
{"0.5", NULL},
@@ -90,7 +99,10 @@ struct retro_core_option_definition option_defs_us[] = {
{
"scummvm_gamepad_cursor_acceleration_time",
"Gamepad Cursor Acceleration",
+ NULL,
"The amount of time (In seconds) it takes for the cursor to reach full speed",
+ NULL,
+ NULL,
{
{"off", NULL},
{"0.1", NULL},
@@ -110,7 +122,10 @@ struct retro_core_option_definition option_defs_us[] = {
{
"scummvm_analog_response",
"Analog Cursor Response",
+ NULL,
"Determines how the speed of the cursor varies when tilting the RetroPad left analog stick. 'Linear': Speed is directly proportional to analog stick displacement. This is standard behaviour with which most users will be familiar. 'Quadratic': Speed increases quadratically with analog stick displacement. This allows for greater precision when making small movements without sacrificing maximum speed at full analog range. This mode may require practice for effective use.",
+ NULL,
+ NULL,
{
{"linear", "Linear"},
{"quadratic", "Quadratic"},
@@ -121,7 +136,10 @@ struct retro_core_option_definition option_defs_us[] = {
{
"scummvm_analog_deadzone",
"Analog Deadzone (Percent)",
+ NULL,
"Sets the deadzone of the RetroPad analog sticks. Used to eliminate cursor drift/unwanted input.",
+ NULL,
+ NULL,
{
{"0", NULL},
{"5", NULL},
@@ -137,7 +155,10 @@ struct retro_core_option_definition option_defs_us[] = {
{
"scummvm_mouse_speed",
"Mouse Speed",
+ NULL,
"Sets the mouse cursor speed multiplier when moving the cursor with the RetroMouse.",
+ NULL,
+ NULL,
{
{"0.05", NULL},
{"0.1", NULL},
@@ -167,7 +188,10 @@ struct retro_core_option_definition option_defs_us[] = {
{
"scummvm_speed_hack",
"Speed Hack (Restart)",
+ NULL,
"Enables a speed hack that significantly reduces CPU requirements by allowing subtle timing inaccuracies. This hack is considered 'safe' - it should cause no errors, and most timing deviations are imperceptible. It remains a hack, though, and users of desktop-class machines are advised to keep it disabled. On low power hardware (weak Android devices, single board computers), this hack is essential for full speed operation of the core.",
+ NULL,
+ NULL,
{
{"disabled", NULL},
{"enabled", NULL},
@@ -179,7 +203,12 @@ struct retro_core_option_definition option_defs_us[] = {
"disabled"
#endif
},
- {NULL, NULL, NULL, {{0}}, NULL},
+ { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL },
+};
+
+struct retro_core_options_v2 options_us = {
+ option_cats_us,
+ option_defs_us
};
/*
@@ -189,13 +218,13 @@ struct retro_core_option_definition option_defs_us[] = {
*/
#ifndef HAVE_NO_LANGEXTRA
-struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = {
- option_defs_us, /* RETRO_LANGUAGE_ENGLISH */
+struct retro_core_options_v2 *options_intl[RETRO_LANGUAGE_LAST] = {
+ &options_us, /* RETRO_LANGUAGE_ENGLISH */
NULL, /* RETRO_LANGUAGE_JAPANESE */
NULL, /* RETRO_LANGUAGE_FRENCH */
NULL, /* RETRO_LANGUAGE_SPANISH */
NULL, /* RETRO_LANGUAGE_GERMAN */
- option_defs_it, /* RETRO_LANGUAGE_ITALIAN */
+ &options_it, /* RETRO_LANGUAGE_ITALIAN */
NULL, /* RETRO_LANGUAGE_DUTCH */
NULL, /* RETRO_LANGUAGE_PORTUGUESE_BRAZIL */
NULL, /* RETRO_LANGUAGE_PORTUGUESE_PORTUGAL */
@@ -226,34 +255,57 @@ struct retro_core_option_definition *option_defs_intl[RETRO_LANGUAGE_LAST] = {
* be as painless as possible for core devs)
*/
-static INLINE void libretro_set_core_options(retro_environment_t environ_cb) {
- unsigned version = 0;
+static INLINE void libretro_set_core_options(retro_environment_t environ_cb,
+ bool *categories_supported) {
+ unsigned version = 0;
+#ifndef HAVE_NO_LANGEXTRA
+ unsigned language = 0;
+#endif
- if (!environ_cb)
+ if (!environ_cb || !categories_supported)
return;
- if (environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version) && (version >= 1)) {
+ *categories_supported = false;
+
+ if (!environ_cb(RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION, &version))
+ version = 0;
+
+ if (version >= 2) {
#ifndef HAVE_NO_LANGEXTRA
- struct retro_core_options_intl core_options_intl;
- unsigned language = 0;
+ struct retro_core_options_v2_intl core_options_intl;
- core_options_intl.us = option_defs_us;
+ core_options_intl.us = &options_us;
core_options_intl.local = NULL;
- if (environ_cb(RETRO_ENVIRONMENT_GET_LANGUAGE, &language) && (language < RETRO_LANGUAGE_LAST) && (language != RETRO_LANGUAGE_ENGLISH))
- core_options_intl.local = option_defs_intl[language];
+ if (environ_cb(RETRO_ENVIRONMENT_GET_LANGUAGE, &language) &&
+ (language < RETRO_LANGUAGE_LAST) && (language != RETRO_LANGUAGE_ENGLISH))
+ core_options_intl.local = options_intl[language];
- environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL, &core_options_intl);
+ *categories_supported = environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2_INTL,
+ &core_options_intl);
#else
- environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS, &option_defs_us);
+ *categories_supported = environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2,
+ &options_us);
#endif
} else {
- size_t i;
- size_t num_options = 0;
+ size_t i, j;
+ size_t option_index = 0;
+ size_t num_options = 0;
+ struct retro_core_option_definition
+ *option_v1_defs_us = NULL;
+#ifndef HAVE_NO_LANGEXTRA
+ size_t num_options_intl = 0;
+ struct retro_core_option_v2_definition
+ *option_defs_intl = NULL;
+ struct retro_core_option_definition
+ *option_v1_defs_intl = NULL;
+ struct retro_core_options_intl
+ core_options_v1_intl;
+#endif
struct retro_variable *variables = NULL;
- char **values_buf = NULL;
+ char **values_buf = NULL;
- /* Determine number of options */
+ /* Determine total number of options */
while (true) {
if (option_defs_us[num_options].key)
num_options++;
@@ -261,78 +313,168 @@ static INLINE void libretro_set_core_options(retro_environment_t environ_cb) {
break;
}
- /* Allocate arrays */
- variables = (struct retro_variable *)calloc(num_options + 1, sizeof(struct retro_variable));
- values_buf = (char **)calloc(num_options, sizeof(char *));
-
- if (!variables || !values_buf)
- goto error;
-
- /* Copy parameters from option_defs_us array */
- for (i = 0; i < num_options; i++) {
- const char *key = option_defs_us[i].key;
- const char *desc = option_defs_us[i].desc;
- const char *default_value = option_defs_us[i].default_value;
- struct retro_core_option_value *values = option_defs_us[i].values;
- size_t buf_len = 3;
- size_t default_index = 0;
+ if (version >= 1) {
+ /* Allocate US array */
+ option_v1_defs_us = (struct retro_core_option_definition *)
+ calloc(num_options + 1, sizeof(struct retro_core_option_definition));
- values_buf[i] = NULL;
+ /* Copy parameters from option_defs_us array */
+ for (i = 0; i < num_options; i++) {
+ struct retro_core_option_v2_definition *option_def_us = &option_defs_us[i];
+ struct retro_core_option_value *option_values = option_def_us->values;
+ struct retro_core_option_definition *option_v1_def_us = &option_v1_defs_us[i];
+ struct retro_core_option_value *option_v1_values = option_v1_def_us->values;
+
+ option_v1_def_us->key = option_def_us->key;
+ option_v1_def_us->desc = option_def_us->desc;
+ option_v1_def_us->info = option_def_us->info;
+ option_v1_def_us->default_value = option_def_us->default_value;
+
+ /* Values must be copied individually... */
+ while (option_values->value) {
+ option_v1_values->value = option_values->value;
+ option_v1_values->label = option_values->label;
+
+ option_values++;
+ option_v1_values++;
+ }
+ }
- if (desc) {
- size_t num_values = 0;
+#ifndef HAVE_NO_LANGEXTRA
+ if (environ_cb(RETRO_ENVIRONMENT_GET_LANGUAGE, &language) &&
+ (language < RETRO_LANGUAGE_LAST) && (language != RETRO_LANGUAGE_ENGLISH) &&
+ options_intl[language])
+ option_defs_intl = options_intl[language]->definitions;
- /* Determine number of values */
+ if (option_defs_intl) {
+ /* Determine number of intl options */
while (true) {
- if (values[num_values].value) {
- /* Check if this is the default value */
- if (default_value)
- if (strcmp(values[num_values].value, default_value) == 0)
- default_index = num_values;
-
- buf_len += strlen(values[num_values].value);
- num_values++;
- } else
+ if (option_defs_intl[num_options_intl].key)
+ num_options_intl++;
+ else
break;
}
- /* Build values string */
- if (num_values > 0) {
- size_t j;
+ /* Allocate intl array */
+ option_v1_defs_intl = (struct retro_core_option_definition *)
+ calloc(num_options_intl + 1, sizeof(struct retro_core_option_definition));
+
+ /* Copy parameters from option_defs_intl array */
+ for (i = 0; i < num_options_intl; i++) {
+ struct retro_core_option_v2_definition *option_def_intl = &option_defs_intl[i];
+ struct retro_core_option_value *option_values = option_def_intl->values;
+ struct retro_core_option_definition *option_v1_def_intl = &option_v1_defs_intl[i];
+ struct retro_core_option_value *option_v1_values = option_v1_def_intl->values;
+
+ option_v1_def_intl->key = option_def_intl->key;
+ option_v1_def_intl->desc = option_def_intl->desc;
+ option_v1_def_intl->info = option_def_intl->info;
+ option_v1_def_intl->default_value = option_def_intl->default_value;
+
+ /* Values must be copied individually... */
+ while (option_values->value) {
+ option_v1_values->value = option_values->value;
+ option_v1_values->label = option_values->label;
+
+ option_values++;
+ option_v1_values++;
+ }
+ }
+ }
+
+ core_options_v1_intl.us = option_v1_defs_us;
+ core_options_v1_intl.local = option_v1_defs_intl;
+
+ environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL, &core_options_v1_intl);
+#else
+ environ_cb(RETRO_ENVIRONMENT_SET_CORE_OPTIONS, option_v1_defs_us);
+#endif
+ } else {
+ /* Allocate arrays */
+ variables = (struct retro_variable *)calloc(num_options + 1,
+ sizeof(struct retro_variable));
+ values_buf = (char **)calloc(num_options, sizeof(char *));
+
+ if (!variables || !values_buf)
+ goto error;
- buf_len += num_values - 1;
- buf_len += strlen(desc);
+ /* Copy parameters from option_defs_us array */
+ for (i = 0; i < num_options; i++) {
+ const char *key = option_defs_us[i].key;
+ const char *desc = option_defs_us[i].desc;
+ const char *default_value = option_defs_us[i].default_value;
+ struct retro_core_option_value *values = option_defs_us[i].values;
+ size_t buf_len = 3;
+ size_t default_index = 0;
+
+ values_buf[i] = NULL;
+
+ if (desc) {
+ size_t num_values = 0;
+
+ /* Determine number of values */
+ while (true) {
+ if (values[num_values].value) {
+ /* Check if this is the default value */
+ if (default_value)
+ if (strcmp(values[num_values].value, default_value) == 0)
+ default_index = num_values;
+
+ buf_len += strlen(values[num_values].value);
+ num_values++;
+ } else
+ break;
+ }
- values_buf[i] = (char *)calloc(buf_len, sizeof(char));
- if (!values_buf[i])
- goto error;
+ /* Build values string */
+ if (num_values > 0) {
+ buf_len += num_values - 1;
+ buf_len += strlen(desc);
- strcpy(values_buf[i], desc);
- strcat(values_buf[i], "; ");
+ values_buf[i] = (char *)calloc(buf_len, sizeof(char));
+ if (!values_buf[i])
+ goto error;
- /* Default value goes first */
- strcat(values_buf[i], values[default_index].value);
+ strcpy(values_buf[i], desc);
+ strcat(values_buf[i], "; ");
- /* Add remaining values */
- for (j = 0; j < num_values; j++) {
- if (j != default_index) {
- strcat(values_buf[i], "|");
- strcat(values_buf[i], values[j].value);
+ /* Default value goes first */
+ strcat(values_buf[i], values[default_index].value);
+
+ /* Add remaining values */
+ for (j = 0; j < num_values; j++) {
+ if (j != default_index) {
+ strcat(values_buf[i], "|");
+ strcat(values_buf[i], values[j].value);
+ }
}
}
}
+
+ variables[option_index].key = key;
+ variables[option_index].value = values_buf[i];
+ option_index++;
}
- variables[i].key = key;
- variables[i].value = values_buf[i];
+ /* Set variables */
+ environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, variables);
}
- /* Set variables */
- environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, variables);
-
error:
-
/* Clean up */
+
+ if (option_v1_defs_us) {
+ free(option_v1_defs_us);
+ option_v1_defs_us = NULL;
+ }
+
+#ifndef HAVE_NO_LANGEXTRA
+ if (option_v1_defs_intl) {
+ free(option_v1_defs_intl);
+ option_v1_defs_intl = NULL;
+ }
+#endif
+
if (values_buf) {
for (i = 0; i < num_options; i++) {
if (values_buf[i]) {
diff --git a/backends/platform/libretro/src/libretro.cpp b/backends/platform/libretro/src/libretro.cpp
index 4c0b9fc9abf..7fd4b42b589 100644
--- a/backends/platform/libretro/src/libretro.cpp
+++ b/backends/platform/libretro/src/libretro.cpp
@@ -264,9 +264,10 @@ void retro_set_input_state(retro_input_state_t cb) {
void retro_set_environment(retro_environment_t cb) {
environ_cb = cb;
bool tmp = true;
+ bool has_categories;
environ_cb(RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME, &tmp);
- libretro_set_core_options(environ_cb);
+ libretro_set_core_options(environ_cb, &has_categories);
}
unsigned retro_api_version(void) {
Commit: 982dc5c9d3e1a97e390ae8eefbba9ffdcd47da28
https://github.com/scummvm/scummvm/commit/982dc5c9d3e1a97e390ae8eefbba9ffdcd47da28
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2023-03-12T22:18:48+01:00
Commit Message:
LIBRETRO: group core settings per category
Changed paths:
backends/platform/libretro/include/libretro-core-options-intl.h
backends/platform/libretro/include/libretro-core-options.h
diff --git a/backends/platform/libretro/include/libretro-core-options-intl.h b/backends/platform/libretro/include/libretro-core-options-intl.h
index 9ab47187581..8c0e86dfbea 100644
--- a/backends/platform/libretro/include/libretro-core-options-intl.h
+++ b/backends/platform/libretro/include/libretro-core-options-intl.h
@@ -70,6 +70,11 @@ extern "C" {
/* RETRO_LANGUAGE_ITALIAN */
struct retro_core_option_v2_category option_cats_it[] = {
+ {
+ "cursor",
+ "Movimento del cursore",
+ "Impostazioni relative al movimento del cursore"
+ },
{ NULL, NULL, NULL },
};
diff --git a/backends/platform/libretro/include/libretro-core-options.h b/backends/platform/libretro/include/libretro-core-options.h
index 40c6182d9a2..aebd1bdf11b 100644
--- a/backends/platform/libretro/include/libretro-core-options.h
+++ b/backends/platform/libretro/include/libretro-core-options.h
@@ -72,6 +72,11 @@ extern "C" {
struct retro_core_option_v2_category option_cats_us[] = {
+ {
+ "cursor",
+ "Cursor Movement",
+ "Configure cursor movement settings"
+ },
{ NULL, NULL, NULL },
};
@@ -82,7 +87,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
NULL,
"Sets the mouse cursor speed multiplier when moving the cursor with the RetroPad left analog stick or D-Pad. The default value of '1.0' is optimised for games that have a native resolution of '320x200' or '320x240'. When running 'high definition' games with a resolution of '640x400' or '640x480', a Gamepad Cursor Speed of '2.0' is recommended.",
NULL,
- NULL,
+ "cursor",
{
{"0.25", NULL},
{"0.5", NULL},
@@ -102,7 +107,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
NULL,
"The amount of time (In seconds) it takes for the cursor to reach full speed",
NULL,
- NULL,
+ "cursor",
{
{"off", NULL},
{"0.1", NULL},
@@ -125,7 +130,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
NULL,
"Determines how the speed of the cursor varies when tilting the RetroPad left analog stick. 'Linear': Speed is directly proportional to analog stick displacement. This is standard behaviour with which most users will be familiar. 'Quadratic': Speed increases quadratically with analog stick displacement. This allows for greater precision when making small movements without sacrificing maximum speed at full analog range. This mode may require practice for effective use.",
NULL,
- NULL,
+ "cursor",
{
{"linear", "Linear"},
{"quadratic", "Quadratic"},
@@ -139,7 +144,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
NULL,
"Sets the deadzone of the RetroPad analog sticks. Used to eliminate cursor drift/unwanted input.",
NULL,
- NULL,
+ "cursor",
{
{"0", NULL},
{"5", NULL},
@@ -158,7 +163,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
NULL,
"Sets the mouse cursor speed multiplier when moving the cursor with the RetroMouse.",
NULL,
- NULL,
+ "cursor",
{
{"0.05", NULL},
{"0.1", NULL},
More information about the Scummvm-git-logs
mailing list