aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libretro.h20
-rw-r--r--libretro_core_options.h17
2 files changed, 31 insertions, 6 deletions
diff --git a/libretro.h b/libretro.h
index 076dd25..2c30120 100644
--- a/libretro.h
+++ b/libretro.h
@@ -3519,6 +3519,26 @@ struct retro_core_option_v2_definition
* in the retro_core_option_value array, otherwise will be
* ignored */
const char *default_value;
+
+ /* Specify the type this option represents so the frontend
+ * can present the user an alternative input method besides
+ * a limited list of possible values.
+ * > If set to "int", all values need to be integers
+ * and a frontend with support for numerical input will
+ * allow input of any number betwen the lowest and
+ * highest defined value.
+ * > If set to "float", all values need to be numbers
+ * and a frontend with support for numerical input will
+ * allow input of any number betwen the lowest and
+ * highest defined value.
+ * > If set to "bool", there should be only two values
+ * "true" and "false" (label can be anything)
+ * The frontend can choose to show a checkbox for it.
+ * > If NULL or set to "enum", the frontend will show
+ * the list of values and input will be limited to them.
+ * Future versions of the specs could allow this for more
+ * types or to be "TYPE:MORE:OPTIONS" */
+ const char *type_info;
};
struct retro_core_options_v2
diff --git a/libretro_core_options.h b/libretro_core_options.h
index 9b89154..7588801 100644
--- a/libretro_core_options.h
+++ b/libretro_core_options.h
@@ -77,7 +77,8 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "PAL", NULL },
{ NULL, NULL },
},
- "auto"
+ "auto",
+ NULL
},
{
"snes9x_2005_frameskip",
@@ -92,7 +93,8 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "manual", "Manual" },
{ NULL, NULL },
},
- "disabled"
+ "disabled",
+ NULL
},
{
"snes9x_2005_frameskip_threshold",
@@ -120,7 +122,8 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "60", NULL },
{ NULL, NULL },
},
- "33"
+ "33",
+ "int"
},
{
"snes9x_2005_overclock_cycles",
@@ -135,7 +138,8 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "max", "Max" },
{ NULL, NULL },
},
- "disabled"
+ "disabled",
+ NULL
},
{
"snes9x_2005_reduce_sprite_flicker",
@@ -149,9 +153,10 @@ struct retro_core_option_v2_definition option_defs_us[] = {
{ "enabled", NULL },
{ NULL, NULL },
},
- "disabled"
+ "disabled",
+ "bool"
},
- { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL },
+ { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL, NULL },
};
struct retro_core_options_v2 options_us = {