mirror of
https://github.com/libretro/RetroArch
synced 2025-04-11 00:44:20 +00:00
Buildfix cheevos
This commit is contained in:
parent
ec9fbdf21c
commit
5c87abe639
@ -1597,7 +1597,8 @@ static int rcheevos_match_value(const char* val, const char* match)
|
|||||||
|
|
||||||
void rcheevos_validate_config_settings(void)
|
void rcheevos_validate_config_settings(void)
|
||||||
{
|
{
|
||||||
const rc_disallowed_core_settings_t* core_filter = rc_disallowed_core_settings;
|
const rc_disallowed_core_settings_t
|
||||||
|
*core_filter = rc_disallowed_core_settings;
|
||||||
struct retro_system_info* system = runloop_get_libretro_system_info();
|
struct retro_system_info* system = runloop_get_libretro_system_info();
|
||||||
if (!system->library_name || !rcheevos_hardcore_active())
|
if (!system->library_name || !rcheevos_hardcore_active())
|
||||||
return;
|
return;
|
||||||
@ -1610,29 +1611,35 @@ void rcheevos_validate_config_settings(void)
|
|||||||
|
|
||||||
if (rarch_ctl(RARCH_CTL_CORE_OPTIONS_LIST_GET, &coreopts))
|
if (rarch_ctl(RARCH_CTL_CORE_OPTIONS_LIST_GET, &coreopts))
|
||||||
{
|
{
|
||||||
const rc_disallowed_setting_t* disallowed_setting = core_filter->disallowed_settings;
|
|
||||||
const char* key;
|
|
||||||
const char* val;
|
|
||||||
int i;
|
int i;
|
||||||
int allowed = 1;
|
const char *key = NULL;
|
||||||
size_t key_len;
|
const char *val = NULL;
|
||||||
|
const rc_disallowed_setting_t
|
||||||
|
*disallowed_setting = core_filter->disallowed_settings;
|
||||||
|
int allowed = 1;
|
||||||
|
|
||||||
for (; disallowed_setting->setting; ++disallowed_setting)
|
for (; disallowed_setting->setting; ++disallowed_setting)
|
||||||
{
|
{
|
||||||
key = disallowed_setting->setting;
|
key = disallowed_setting->setting;
|
||||||
key_len = strlen(key);
|
size_t key_len = strlen(key);
|
||||||
|
|
||||||
if (key[key_len - 1] == '*')
|
if (key[key_len - 1] == '*')
|
||||||
{
|
{
|
||||||
for (i = 0; i < coreopts->size; i++)
|
for (i = 0; i < coreopts->size; i++)
|
||||||
{
|
{
|
||||||
if (string_starts_with_size(coreopts->opts[i].key, key, key_len - 1))
|
if (string_starts_with_size(
|
||||||
|
coreopts->opts[i].key, key, key_len - 1))
|
||||||
{
|
{
|
||||||
val = core_option_manager_get_val(coreopts, i);
|
const char* val =core_option_manager_get_val(coreopts, i);
|
||||||
if (rcheevos_match_value(val, disallowed_setting->value))
|
if (val)
|
||||||
{
|
{
|
||||||
key = coreopts->opts[i].key;
|
if (rcheevos_match_value(
|
||||||
allowed = 0;
|
val, disallowed_setting->value))
|
||||||
break;
|
{
|
||||||
|
key = coreopts->opts[i].key;
|
||||||
|
allowed = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user