From 0cc36302575b2bc3b2f1dc56648f7c8365a70a82 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 16 Aug 2021 21:53:45 +0200 Subject: Update core options --- libretro.h | 20 ++++++++++++++++++++ libretro_core_options.h | 17 +++++++++++------ 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 = { -- cgit v1.2.3