Add dropdown list for max users and set index offset by 1 -

doesn't report correct representation values but too much hassle
to implement for now
This commit is contained in:
twinaphex 2018-09-23 13:53:36 +02:00
parent 3f8ec4c067
commit cbfb1cb320
4 changed files with 28 additions and 2 deletions

View File

@ -7710,7 +7710,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
if (setting->get_string_representation)
{
unsigned orig_value = *setting->value.target.unsigned_integer;
for (i = min; i <= max; i += step)
for (i = min; i <= (max + (setting->offset_by)); i += step)
{
char val_s[256], val_d[256];
int val = (int)i;
@ -7735,7 +7735,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
}
else
{
for (i = min; i <= max; i += step)
for (i = min; i <= (max + (setting->offset_by)); i += step)
{
char val_s[16], val_d[16];
int val = (int)i;

View File

@ -175,6 +175,16 @@ static int setting_action_ok_uint(void *data, bool wraparound)
return 0;
}
static void setting_get_string_representation_max_users(void *data,
char *s, size_t len)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
if (!setting)
return;
snprintf(s, len, "%d", *setting->value.target.unsigned_integer);
}
#ifdef HAVE_CHEEVOS
static void setting_get_string_representation_cheevos_password(void *data,
char *s, size_t len)
@ -5522,6 +5532,10 @@ static bool setting_append_list(
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].get_string_representation =
&setting_get_string_representation_max_users;
(*list)[list_info->index - 1].offset_by = 1;
menu_settings_list_current_add_range(list, list_info, 1, MAX_USERS, 1, true, true);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED);

View File

@ -858,6 +858,7 @@ static rarch_setting_t setting_action_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -920,6 +921,7 @@ static rarch_setting_t setting_group_setting(enum setting_type type, const char*
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -993,6 +995,7 @@ static rarch_setting_t setting_float_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1069,6 +1072,7 @@ static rarch_setting_t setting_uint_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1147,6 +1151,7 @@ static rarch_setting_t setting_size_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1223,6 +1228,7 @@ static rarch_setting_t setting_hex_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1300,6 +1306,7 @@ static rarch_setting_t setting_bind_setting(const char* name,
result.index = idx;
result.index_offset = idx_offset;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1459,6 +1466,7 @@ static rarch_setting_t setting_string_setting(enum setting_type type,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1580,6 +1588,7 @@ static rarch_setting_t setting_subgroup_setting(enum setting_type type,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1654,6 +1663,7 @@ static rarch_setting_t setting_bool_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;
@ -1732,6 +1742,7 @@ static rarch_setting_t setting_int_setting(const char* name,
result.index = 0;
result.index_offset = 0;
result.offset_by = 0;
result.min = 0.0;
result.max = 0.0;

View File

@ -102,6 +102,7 @@ struct rarch_setting
uint8_t index;
uint32_t index_offset;
uint8_t offset_by;
unsigned bind_type;
uint32_t size;