mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 13:20:43 +00:00
Rewrite populate_settings_string
This commit is contained in:
parent
fa84305016
commit
3c9014db78
@ -3056,48 +3056,60 @@ int populate_settings_float(settings_t *settings, struct config_float_setting *o
|
|||||||
return ARRAY_SIZE(out);
|
return ARRAY_SIZE(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define SETTING_STRING(key, configval) \
|
||||||
|
{ \
|
||||||
|
if (count == 0) \
|
||||||
|
tmp = (struct config_string_setting*)malloc(sizeof(struct config_string_setting) * (count + 1)); \
|
||||||
|
else \
|
||||||
|
tmp = (struct config_string_setting*)realloc(tmp, sizeof(struct config_string_setting) * (count + 1)); \
|
||||||
|
tmp[count].ident = key; \
|
||||||
|
tmp[count].value = configval; \
|
||||||
|
count++; \
|
||||||
|
} \
|
||||||
|
|
||||||
int populate_settings_string(settings_t *settings, struct config_string_setting *out)
|
int populate_settings_string(settings_t *settings, struct config_string_setting *out)
|
||||||
{
|
{
|
||||||
|
unsigned count = 0;
|
||||||
|
struct config_string_setting *tmp = NULL;
|
||||||
#ifdef HAVE_NETPLAY
|
#ifdef HAVE_NETPLAY
|
||||||
global_t *global = global_get_ptr();
|
global_t *global = global_get_ptr();
|
||||||
#endif
|
#endif
|
||||||
struct config_string_setting tmp[] = {
|
SETTING_STRING("bundle_assets_dst_path_subdir", settings->path.bundle_assets_dst_subdir);
|
||||||
{ "bundle_assets_dst_path_subdir", settings->path.bundle_assets_dst_subdir},
|
SETTING_STRING("video_filter", settings->path.softfilter_plugin);
|
||||||
{ "video_filter", settings->path.softfilter_plugin},
|
SETTING_STRING("audio_dsp_plugin", settings->path.audio_dsp_plugin);
|
||||||
{ "audio_dsp_plugin", settings->path.audio_dsp_plugin},
|
SETTING_STRING("playlist_names", settings->playlist_names);
|
||||||
{ "playlist_names", settings->playlist_names},
|
SETTING_STRING("playlist_cores", settings->playlist_cores);
|
||||||
{ "playlist_cores", settings->playlist_cores},
|
SETTING_STRING("video_driver", settings->video.driver);
|
||||||
{ "video_driver", settings->video.driver},
|
SETTING_STRING("record_driver", settings->record.driver);
|
||||||
{ "record_driver", settings->record.driver},
|
SETTING_STRING("camera_driver", settings->camera.driver);
|
||||||
{ "camera_driver", settings->camera.driver},
|
SETTING_STRING("location_driver", settings->location.driver);
|
||||||
{ "location_driver", settings->location.driver},
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
{ "menu_driver", settings->menu.driver},
|
SETTING_STRING("menu_driver", settings->menu.driver);
|
||||||
#endif
|
#endif
|
||||||
{ "audio_device", settings->audio.device},
|
SETTING_STRING("audio_device", settings->audio.device);
|
||||||
{ "core_updater_buildbot_url",settings->network.buildbot_url},
|
SETTING_STRING("core_updater_buildbot_url",settings->network.buildbot_url);
|
||||||
{ "core_updater_buildbot_assets_url",settings->network.buildbot_assets_url},
|
SETTING_STRING("core_updater_buildbot_assets_url",settings->network.buildbot_assets_url);
|
||||||
{ "camera_device", settings->camera.device},
|
SETTING_STRING("camera_device", settings->camera.device);
|
||||||
#ifdef HAVE_CHEEVOS
|
#ifdef HAVE_CHEEVOS
|
||||||
{ "cheevos_username", settings->cheevos.username},
|
SETTING_STRING("cheevos_username", settings->cheevos.username);
|
||||||
{ "cheevos_password", settings->cheevos.password},
|
SETTING_STRING("cheevos_password", settings->cheevos.password);
|
||||||
#endif
|
#endif
|
||||||
{ "video_context_driver", settings->video.context_driver},
|
SETTING_STRING("video_context_driver", settings->video.context_driver);
|
||||||
{ "audio_driver", settings->audio.driver},
|
SETTING_STRING("audio_driver", settings->audio.driver);
|
||||||
{ "audio_resampler", settings->audio.resampler},
|
SETTING_STRING("audio_resampler", settings->audio.resampler);
|
||||||
#ifdef HAVE_NETPLAY
|
#ifdef HAVE_NETPLAY
|
||||||
{ "netplay_ip_address", global->netplay.server},
|
SETTING_STRING("netplay_ip_address", global->netplay.server);
|
||||||
#endif
|
#endif
|
||||||
{ "netplay_nickname", settings->username},
|
SETTING_STRING("netplay_nickname", settings->username);
|
||||||
{ "input_driver", settings->input.driver},
|
SETTING_STRING("input_driver", settings->input.driver);
|
||||||
{ "input_joypad_driver", settings->input.joypad_driver},
|
SETTING_STRING("input_joypad_driver", settings->input.joypad_driver);
|
||||||
{ "input_keyboard_layout", settings->input.keyboard_layout},
|
SETTING_STRING("input_keyboard_layout", settings->input.keyboard_layout);
|
||||||
{ "bundle_assets_src_path", settings->path.bundle_assets_src},
|
SETTING_STRING("bundle_assets_src_path", settings->path.bundle_assets_src);
|
||||||
{ "bundle_assets_dst_path", settings->path.bundle_assets_dst}
|
SETTING_STRING("bundle_assets_dst_path", settings->path.bundle_assets_dst);
|
||||||
};
|
|
||||||
|
|
||||||
memcpy(out, tmp, sizeof(tmp));
|
memcpy(out, tmp, sizeof(*tmp));
|
||||||
return ARRAY_SIZE(tmp);
|
free(tmp);
|
||||||
|
return ARRAY_SIZE(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SETTING_PATH(key, defval, configval) \
|
#define SETTING_PATH(key, defval, configval) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user