mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 17:43:02 +00:00
Merge branch 'master' of github.com:Themaister/RetroArch
This commit is contained in:
commit
30fd6ddca0
@ -18,70 +18,72 @@
|
||||
|
||||
#include "retroarch_console.h"
|
||||
|
||||
static void rarch_manage_libretro_install(char *libretro_core_installed, size_t sizeof_libretro_core, const char *full_path, const char *path, const char *exe_ext)
|
||||
// if a CORE executable exists (full_path), this means we have just installed
|
||||
// a new libretro port and therefore we need to change it to a more
|
||||
// sane name.
|
||||
|
||||
static bool rarch_manage_libretro_install(char *libretro_core_installed, size_t sizeof_libretro_core, const char *full_path, const char *path, const char *exe_ext)
|
||||
{
|
||||
int ret;
|
||||
char tmp_path2[1024], tmp_pathnewfile[1024];
|
||||
|
||||
RARCH_LOG("Assumed path of CORE executable: [%s]\n", full_path);
|
||||
rarch_console_name_from_id(tmp_path2, sizeof(tmp_path2));
|
||||
strlcat(tmp_path2, exe_ext, sizeof(tmp_path2));
|
||||
snprintf(tmp_pathnewfile, sizeof(tmp_pathnewfile), "%s%s", path, tmp_path2);
|
||||
|
||||
if (path_file_exists(full_path))
|
||||
if (path_file_exists(tmp_pathnewfile))
|
||||
{
|
||||
// if CORE executable exists, this means we have just installed
|
||||
// a new libretro port and therefore we need to change it to a more
|
||||
// sane name.
|
||||
// if libretro core already exists, this means we are
|
||||
// upgrading the libretro core - so delete pre-existing
|
||||
// file first.
|
||||
|
||||
rarch_console_name_from_id(tmp_path2, sizeof(tmp_path2));
|
||||
strlcat(tmp_path2, exe_ext, sizeof(tmp_path2));
|
||||
snprintf(tmp_pathnewfile, sizeof(tmp_pathnewfile), "%s%s", path, tmp_path2);
|
||||
|
||||
if (path_file_exists(tmp_pathnewfile))
|
||||
{
|
||||
// if libretro core already exists, this means we are
|
||||
// upgrading the libretro core - so delete pre-existing
|
||||
// file first.
|
||||
|
||||
RARCH_LOG("Upgrading emulator core...\n");
|
||||
|
||||
ret = remove(tmp_pathnewfile);
|
||||
|
||||
if (ret == 0)
|
||||
{
|
||||
RARCH_LOG("Succeeded in removing pre-existing libretro core: [%s].\n", tmp_pathnewfile);
|
||||
}
|
||||
else
|
||||
RARCH_ERR("Failed to remove pre-existing libretro core: [%s].\n", tmp_pathnewfile);
|
||||
}
|
||||
|
||||
//now attempt the renaming.
|
||||
ret = rename(full_path, tmp_pathnewfile);
|
||||
RARCH_LOG("Upgrading emulator core...\n");
|
||||
ret = remove(tmp_pathnewfile);
|
||||
|
||||
if (ret == 0)
|
||||
{
|
||||
RARCH_LOG("Libsnes core [%s] renamed to: [%s].\n", full_path, tmp_pathnewfile);
|
||||
strlcpy(libretro_core_installed, tmp_pathnewfile, sizeof_libretro_core);
|
||||
}
|
||||
RARCH_LOG("Succeeded in removing pre-existing libretro core: [%s].\n", tmp_pathnewfile);
|
||||
else
|
||||
{
|
||||
RARCH_ERR("Failed to rename CORE executable.\n");
|
||||
RARCH_WARN("CORE executable was not found, or some other errors occurred. Will attempt to load libretro core path from config file.\n");
|
||||
}
|
||||
RARCH_ERR("Failed to remove pre-existing libretro core: [%s].\n", tmp_pathnewfile);
|
||||
}
|
||||
|
||||
//now attempt the renaming.
|
||||
ret = rename(full_path, tmp_pathnewfile);
|
||||
|
||||
if (ret == 0)
|
||||
{
|
||||
RARCH_LOG("Libsnes core [%s] renamed to: [%s].\n", full_path, tmp_pathnewfile);
|
||||
strlcpy(libretro_core_installed, tmp_pathnewfile, sizeof_libretro_core);
|
||||
ret = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
RARCH_ERR("Failed to rename CORE executable.\n");
|
||||
RARCH_WARN("CORE executable was not found, or some other errors occurred. Will attempt to load libretro core path from config file.\n");
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool rarch_configure_libretro_core(const char *full_path, const char *tmp_path,
|
||||
const char *libretro_path, const char *config_path, const char *extension)
|
||||
{
|
||||
bool libretro_core_was_installed = false;
|
||||
bool find_libretro_file = false;
|
||||
char libretro_core_installed[1024];
|
||||
|
||||
g_extern.verbose = true;
|
||||
|
||||
rarch_manage_libretro_install(libretro_core_installed, sizeof(libretro_core_installed), full_path, tmp_path, extension);
|
||||
//install and rename libretro core first if 'CORE' executable exists
|
||||
if (path_file_exists(full_path))
|
||||
libretro_core_was_installed = rarch_manage_libretro_install(
|
||||
libretro_core_installed, sizeof(libretro_core_installed), full_path, tmp_path, extension);
|
||||
|
||||
g_extern.verbose = false;
|
||||
|
||||
bool find_libretro_file = false;
|
||||
//if we have just installed a libretro core, set libretro path in settings to newly installed libretro core
|
||||
|
||||
if(libretro_core_installed != NULL)
|
||||
if(libretro_core_was_installed)
|
||||
strlcpy(g_settings.libretro, libretro_core_installed, sizeof(g_settings.libretro));
|
||||
else
|
||||
find_libretro_file = true;
|
||||
|
@ -818,7 +818,7 @@ void rarch_config_load(const char * conf_name, const char * libretro_dir_path, c
|
||||
{
|
||||
CONFIG_GET_STRING(libretro, "libretro_path");
|
||||
|
||||
if(!strcmp(g_settings.libretro, ""))
|
||||
if(strcmp(g_settings.libretro, "") == 0)
|
||||
{
|
||||
char first_file[PATH_MAX];
|
||||
rarch_manage_libretro_set_first_file(first_file, sizeof(first_file), libretro_dir_path, exe_ext);
|
||||
|
@ -48,34 +48,42 @@
|
||||
|
||||
menu menuStack[10];
|
||||
int menuStackindex = 0;
|
||||
static bool set_initial_dir_tmpbrowser;
|
||||
static bool set_libretro_core_as_launch;
|
||||
|
||||
filebrowser_t browser; /* main file browser->for rom browser*/
|
||||
filebrowser_t tmpBrowser; /* tmp file browser->for everything else*/
|
||||
filebrowser_t browser;
|
||||
filebrowser_t tmpBrowser;
|
||||
unsigned set_shader = 0;
|
||||
static unsigned currently_selected_controller_menu = 0;
|
||||
static char strw_buffer[PATH_MAX];
|
||||
|
||||
static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
static void set_setting_label_write_on_or_off(bool cond, unsigned currentsetting)
|
||||
{
|
||||
if(cond)
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
else
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
}
|
||||
|
||||
static void set_setting_label_color(bool cond, unsigned currentsetting)
|
||||
{
|
||||
if(cond)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
|
||||
static void set_setting_label(menu * menu_obj, unsigned currentsetting)
|
||||
{
|
||||
switch(currentsetting)
|
||||
{
|
||||
case SETTING_CHANGE_RESOLUTION:
|
||||
if(g_console.initial_resolution_id == g_console.supported_resolutions[g_console.current_resolution_index])
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(g_console.initial_resolution_id == g_console.supported_resolutions[g_console.current_resolution_index], currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), ps3_get_resolution_label(g_console.supported_resolutions[g_console.current_resolution_index]));
|
||||
break;
|
||||
case SETTING_SHADER_PRESETS:
|
||||
{
|
||||
char fname[PATH_MAX];
|
||||
if(g_console.cgp_path == DEFAULT_PRESET_FILE)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_color(g_console.cgp_path == DEFAULT_PRESET_FILE, currentsetting);
|
||||
fill_pathname_base(fname, g_console.cgp_path, sizeof(fname));
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), fname);
|
||||
}
|
||||
@ -85,11 +93,8 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
char fname[PATH_MAX];
|
||||
fill_pathname_base(fname, g_settings.video.cg_shader_path, sizeof(fname));
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "%s", fname);
|
||||
|
||||
if(strcmp(g_settings.video.cg_shader_path,DEFAULT_SHADER_FILE) == 0)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_color(strcmp(g_settings.video.cg_shader_path,DEFAULT_SHADER_FILE) == 0,
|
||||
currentsetting);
|
||||
}
|
||||
break;
|
||||
case SETTING_SHADER_2:
|
||||
@ -97,124 +102,58 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
char fname[PATH_MAX];
|
||||
fill_pathname_base(fname, g_settings.video.second_pass_shader, sizeof(fname));
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "%s", fname);
|
||||
|
||||
if(strcmp(g_settings.video.second_pass_shader,DEFAULT_SHADER_FILE) == 0)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_color(strcmp(g_settings.video.second_pass_shader,DEFAULT_SHADER_FILE) == 0,
|
||||
currentsetting);
|
||||
}
|
||||
break;
|
||||
case SETTING_FONT_SIZE:
|
||||
if(g_console.menu_font_size == 1.0f)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_color(g_console.menu_font_size == 1.0f, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "%f", g_console.menu_font_size);
|
||||
break;
|
||||
case SETTING_KEEP_ASPECT_RATIO:
|
||||
if(g_console.aspect_ratio_index == ASPECT_RATIO_4_3)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_color(g_console.aspect_ratio_index == ASPECT_RATIO_4_3, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), aspectratio_lut[g_console.aspect_ratio_index].name);
|
||||
break;
|
||||
case SETTING_HW_TEXTURE_FILTER:
|
||||
set_setting_label_color(g_settings.video.smooth, currentsetting);
|
||||
if(g_settings.video.smooth)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Linear interpolation");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Linear interpolation");
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Point filtering");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Point filtering");
|
||||
break;
|
||||
case SETTING_HW_TEXTURE_FILTER_2:
|
||||
set_setting_label_color(g_settings.video.second_pass_smooth, currentsetting);
|
||||
if(g_settings.video.second_pass_smooth)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Linear interpolation");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Linear interpolation");
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Point filtering");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "Point filtering");
|
||||
break;
|
||||
case SETTING_SCALE_ENABLED:
|
||||
if(g_console.fbo_enabled)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
set_setting_label_write_on_or_off(g_console.fbo_enabled, currentsetting);
|
||||
set_setting_label_color(g_console.fbo_enabled, currentsetting);
|
||||
break;
|
||||
case SETTING_SCALE_FACTOR:
|
||||
if(g_settings.video.fbo_scale_x == 2.0f)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(g_settings.video.fbo_scale_x == 2.0f, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "%fx (X) / %fx (Y)", g_settings.video.fbo_scale_x, g_settings.video.fbo_scale_y);
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [Custom Scaling Factor] is set to: '%fx (X) / %fx (Y)'.", g_settings.video.fbo_scale_x, g_settings.video.fbo_scale_y);
|
||||
break;
|
||||
case SETTING_HW_OVERSCAN_AMOUNT:
|
||||
if(g_console.overscan_amount == 0.0f)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(g_console.overscan_amount == 0.0f, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "%f", g_console.overscan_amount);
|
||||
break;
|
||||
case SETTING_THROTTLE_MODE:
|
||||
if(g_console.throttle_enable)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
set_setting_label_write_on_or_off(g_console.throttle_enable, currentsetting);
|
||||
set_setting_label_color(g_console.throttle_enable, currentsetting);
|
||||
break;
|
||||
case SETTING_TRIPLE_BUFFERING:
|
||||
if(g_console.triple_buffering_enable)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
set_setting_label_write_on_or_off(g_console.triple_buffering_enable, currentsetting);
|
||||
set_setting_label_color(g_console.triple_buffering_enable, currentsetting);
|
||||
break;
|
||||
case SETTING_ENABLE_SCREENSHOTS:
|
||||
if(g_console.screenshots_enable)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
break;
|
||||
case SETTING_SAVE_SHADER_PRESET:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_write_on_or_off(g_console.screenshots_enable, currentsetting);
|
||||
set_setting_label_color(g_console.screenshots_enable, currentsetting);
|
||||
break;
|
||||
case SETTING_APPLY_SHADER_PRESET_ON_STARTUP:
|
||||
break;
|
||||
case SETTING_DEFAULT_VIDEO_ALL:
|
||||
break;
|
||||
case SETTING_SOUND_MODE:
|
||||
@ -238,52 +177,29 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
}
|
||||
break;
|
||||
case SETTING_RSOUND_SERVER_IP_ADDRESS:
|
||||
if(strcmp(g_settings.audio.device,"0.0.0.0") == 0)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(strcmp(g_settings.audio.device,"0.0.0.0") == 0, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), g_settings.audio.device);
|
||||
break;
|
||||
case SETTING_DEFAULT_AUDIO_ALL:
|
||||
break;
|
||||
case SETTING_EMU_CURRENT_SAVE_STATE_SLOT:
|
||||
if(g_extern.state_slot == 0)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(g_extern.state_slot == 0, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "%d", g_extern.state_slot);
|
||||
break;
|
||||
/* emu-specific */
|
||||
case SETTING_EMU_SHOW_INFO_MSG:
|
||||
if(g_console.info_msg_enable)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
break;
|
||||
case SETTING_EMU_DEFAULT_ALL:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_write_on_or_off(g_console.info_msg_enable, currentsetting);
|
||||
set_setting_label_color(g_console.info_msg_enable, currentsetting);
|
||||
break;
|
||||
case SETTING_EMU_REWIND_ENABLED:
|
||||
set_setting_label_write_on_or_off(g_settings.rewind_enable, currentsetting);
|
||||
if(g_settings.rewind_enable)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [Rewind] feature is set to 'ON'. You can rewind the game in real-time.");
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [Rewind] feature is set to 'OFF'.");
|
||||
}
|
||||
@ -298,121 +214,48 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
}
|
||||
break;
|
||||
case SETTING_EMU_AUDIO_MUTE:
|
||||
set_setting_label_write_on_or_off(g_extern.audio_data.mute, currentsetting);
|
||||
set_setting_label_color(!g_extern.audio_data.mute, currentsetting);
|
||||
if(g_extern.audio_data.mute)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [Audio Mute] feature is set to 'ON'. The game audio will be muted.");
|
||||
}
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [Audio Mute] feature is set to 'ON'. The game audio will be muted.");
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [Audio Mute] feature is set to 'OFF'.");
|
||||
}
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [Audio Mute] feature is set to 'OFF'.");
|
||||
break;
|
||||
case SETTING_ENABLE_CUSTOM_BGM:
|
||||
if(g_console.custom_bgm_enable)
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
}
|
||||
break;
|
||||
case SETTING_EMU_VIDEO_DEFAULT_ALL:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
break;
|
||||
case SETTING_EMU_AUDIO_DEFAULT_ALL:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_write_on_or_off(g_console.custom_bgm_enable, currentsetting);
|
||||
set_setting_label_color(g_console.custom_bgm_enable, currentsetting);
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
|
||||
if(!(strcmp(g_console.default_rom_startup_dir, "/")))
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(!(strcmp(g_console.default_rom_startup_dir, "/")), currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), g_console.default_rom_startup_dir);
|
||||
break;
|
||||
case SETTING_PATH_SAVESTATES_DIRECTORY:
|
||||
if(!(strcmp(g_console.default_savestate_dir, usrDirPath)))
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(!(strcmp(g_console.default_savestate_dir, usrDirPath)), currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), g_console.default_savestate_dir);
|
||||
break;
|
||||
case SETTING_PATH_SRAM_DIRECTORY:
|
||||
if(!(strcmp(g_console.default_sram_dir, usrDirPath)))
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(!(strcmp(g_console.default_sram_dir, usrDirPath)), currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), g_console.default_sram_dir);
|
||||
break;
|
||||
case SETTING_PATH_CHEATS:
|
||||
if(!(strcmp(g_settings.cheat_database, usrDirPath)))
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(!(strcmp(g_settings.cheat_database, usrDirPath)), currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), g_settings.cheat_database);
|
||||
break;
|
||||
case SETTING_ENABLE_SRAM_PATH:
|
||||
if(g_console.default_sram_dir_enable)
|
||||
{
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
}
|
||||
else
|
||||
{
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
}
|
||||
|
||||
set_setting_label_write_on_or_off(g_console.default_sram_dir_enable, currentsetting);
|
||||
set_setting_label_color(!g_console.default_sram_dir_enable, currentsetting);
|
||||
break;
|
||||
case SETTING_ENABLE_STATE_PATH:
|
||||
if(g_console.default_savestate_dir_enable)
|
||||
{
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "ON");
|
||||
}
|
||||
else
|
||||
{
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "OFF");
|
||||
}
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ALL:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
set_setting_label_write_on_or_off(g_console.default_savestate_dir_enable, currentsetting);
|
||||
set_setting_label_color(!g_console.default_savestate_dir_enable, currentsetting);
|
||||
break;
|
||||
case SETTING_CONTROLS_SCHEME:
|
||||
if(strcmp(g_console.input_cfg_path,"") == 0)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(strcmp(g_console.input_cfg_path,"") == 0, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - Input scheme preset [%s] is selected.", g_console.input_cfg_path);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), g_console.input_cfg_path);
|
||||
break;
|
||||
case SETTING_CONTROLS_NUMBER:
|
||||
if(currently_selected_controller_menu == 0)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
|
||||
set_setting_label_color(currently_selected_controller_menu == 0, currentsetting);
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "Controller %d is currently selected.", currently_selected_controller_menu+1);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), "%d", currently_selected_controller_menu+1);
|
||||
break;
|
||||
@ -433,28 +276,22 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
|
||||
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_L3:
|
||||
case SETTING_CONTROLS_RETRO_DEVICE_ID_JOYPAD_R3:
|
||||
{
|
||||
if(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey == rarch_default_keybind_lut[currentsetting-FIRST_CONTROL_BIND])
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
const char * value = rarch_input_find_platform_key_label(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey);
|
||||
unsigned id = currentsetting - FIRST_CONTROL_BIND;
|
||||
snprintf(items_generalsettings[currentsetting].text, sizeof(items_generalsettings[currentsetting].text), rarch_input_get_default_keybind_name(id));
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [%s] on the PS3 controller is mapped to action:\n[%s].", items_generalsettings[currentsetting].text, value);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), value);
|
||||
set_setting_label_color(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey == rarch_default_keybind_lut[currentsetting-FIRST_CONTROL_BIND], currentsetting);
|
||||
const char * value = rarch_input_find_platform_key_label(g_settings.input.binds[currently_selected_controller_menu][currentsetting-(FIRST_CONTROL_BIND)].joykey);
|
||||
unsigned id = currentsetting - FIRST_CONTROL_BIND;
|
||||
snprintf(items_generalsettings[currentsetting].text, sizeof(items_generalsettings[currentsetting].text), rarch_input_get_default_keybind_name(id));
|
||||
snprintf(items_generalsettings[currentsetting].comment, sizeof(items_generalsettings[currentsetting].comment), "INFO - [%s] on the PS3 controller is mapped to action:\n[%s].", items_generalsettings[currentsetting].text, value);
|
||||
snprintf(items_generalsettings[currentsetting].setting_text, sizeof(items_generalsettings[currentsetting].setting_text), value);
|
||||
}
|
||||
break;
|
||||
case SETTING_CONTROLS_SAVE_CUSTOM_CONTROLS:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
break;
|
||||
case SETTING_CONTROLS_DEFAULT_ALL:
|
||||
if(menu_obj->selected == currentsetting)
|
||||
items_generalsettings[currentsetting].text_color = GREEN;
|
||||
else
|
||||
items_generalsettings[currentsetting].text_color = ORANGE;
|
||||
case SETTING_EMU_VIDEO_DEFAULT_ALL:
|
||||
case SETTING_EMU_AUDIO_DEFAULT_ALL:
|
||||
case SETTING_PATH_DEFAULT_ALL:
|
||||
case SETTING_EMU_DEFAULT_ALL:
|
||||
case SETTING_SAVE_SHADER_PRESET:
|
||||
set_setting_label_color(menu_obj->selected == currentsetting, currentsetting);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -513,12 +350,73 @@ static void menu_stack_push(unsigned stack_idx, unsigned menu_id)
|
||||
menuStack[stack_idx].category_id = CATEGORY_INGAME_MENU;
|
||||
break;
|
||||
case FILE_BROWSER_MENU:
|
||||
strlcpy(menuStack[stack_idx].title, "FILE BROWSER |", sizeof(menuStack[stack_idx].title));
|
||||
menuStack[stack_idx].enum_id = menu_id;
|
||||
menuStack[stack_idx].selected = 0;
|
||||
menuStack[stack_idx].page = 0;
|
||||
menuStack[stack_idx].category_id = CATEGORY_FILEBROWSER;
|
||||
menu_stack_refresh(stack_idx);
|
||||
strlcpy(browser.extensions, rarch_console_get_rom_ext(), sizeof(browser.extensions));
|
||||
filebrowser_set_root(&browser, "/");
|
||||
filebrowser_iterate(&browser, FILEBROWSER_ACTION_RESET);
|
||||
break;
|
||||
case LIBRETRO_CHOICE:
|
||||
strlcpy(menuStack[stack_idx].title, "FILE BROWSER |", sizeof(menuStack[stack_idx].title));
|
||||
menuStack[stack_idx].enum_id = menu_id;
|
||||
menuStack[stack_idx].selected = 0;
|
||||
menuStack[stack_idx].page = 0;
|
||||
menuStack[stack_idx].category_id = CATEGORY_FILEBROWSER;
|
||||
menu_stack_refresh(stack_idx);
|
||||
strlcpy(tmpBrowser.extensions, "self|SELF|bin|BIN", sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, LIBRETRO_DIR_PATH);
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
break;
|
||||
case PRESET_CHOICE:
|
||||
strlcpy(menuStack[stack_idx].title, "FILE BROWSER |", sizeof(menuStack[stack_idx].title));
|
||||
menuStack[stack_idx].enum_id = menu_id;
|
||||
menuStack[stack_idx].selected = 0;
|
||||
menuStack[stack_idx].page = 0;
|
||||
menuStack[stack_idx].category_id = CATEGORY_FILEBROWSER;
|
||||
menu_stack_refresh(stack_idx);
|
||||
strlcpy(tmpBrowser.extensions, "cgp|CGP", sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, PRESETS_DIR_PATH);
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
break;
|
||||
case INPUT_PRESET_CHOICE:
|
||||
strlcpy(menuStack[stack_idx].title, "FILE BROWSER |", sizeof(menuStack[stack_idx].title));
|
||||
menuStack[stack_idx].enum_id = menu_id;
|
||||
menuStack[stack_idx].selected = 0;
|
||||
menuStack[stack_idx].page = 0;
|
||||
menuStack[stack_idx].category_id = CATEGORY_FILEBROWSER;
|
||||
menu_stack_refresh(stack_idx);
|
||||
strlcpy(tmpBrowser.extensions, "cfg|CFG", sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, INPUT_PRESETS_DIR_PATH);
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
break;
|
||||
case SHADER_CHOICE:
|
||||
strlcpy(menuStack[stack_idx].title, "FILE BROWSER |", sizeof(menuStack[stack_idx].title));
|
||||
menuStack[stack_idx].enum_id = menu_id;
|
||||
menuStack[stack_idx].selected = 0;
|
||||
menuStack[stack_idx].page = 0;
|
||||
menuStack[stack_idx].category_id = CATEGORY_FILEBROWSER;
|
||||
menu_stack_refresh(stack_idx);
|
||||
strlcpy(tmpBrowser.extensions, "cg|CG", sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, SHADERS_DIR_PATH);
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
break;
|
||||
case BORDER_CHOICE:
|
||||
strlcpy(menuStack[stack_idx].title, "FILE BROWSER |", sizeof(menuStack[stack_idx].title));
|
||||
menuStack[stack_idx].enum_id = menu_id;
|
||||
menuStack[stack_idx].selected = 0;
|
||||
menuStack[stack_idx].page = 0;
|
||||
menuStack[stack_idx].category_id = CATEGORY_FILEBROWSER;
|
||||
menu_stack_refresh(stack_idx);
|
||||
strlcpy(tmpBrowser.extensions, "png|PNG|jpg|JPG|JPEG|jpeg", sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, BORDERS_DIR_PATH);
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
break;
|
||||
case PATH_DEFAULT_ROM_DIR_CHOICE:
|
||||
case PATH_SAVESTATES_DIR_CHOICE:
|
||||
case PRESET_CHOICE:
|
||||
case INPUT_PRESET_CHOICE:
|
||||
case SHADER_CHOICE:
|
||||
case PATH_SRAM_DIR_CHOICE:
|
||||
case PATH_CHEATS_DIR_CHOICE:
|
||||
strlcpy(menuStack[stack_idx].title, "FILE BROWSER |", sizeof(menuStack[stack_idx].title));
|
||||
@ -527,6 +425,9 @@ static void menu_stack_push(unsigned stack_idx, unsigned menu_id)
|
||||
menuStack[stack_idx].page = 0;
|
||||
menuStack[stack_idx].category_id = CATEGORY_FILEBROWSER;
|
||||
menu_stack_refresh(stack_idx);
|
||||
strlcpy(tmpBrowser.extensions, "empty", sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, "/");
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
break;
|
||||
case GENERAL_VIDEO_MENU:
|
||||
strlcpy(menuStack[stack_idx].title, "VIDEO |", sizeof(menuStack[stack_idx].title));
|
||||
@ -603,7 +504,6 @@ static void menu_stack_push(unsigned stack_idx, unsigned menu_id)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//forward decls
|
||||
extern const char *ps3_get_resolution_label(unsigned resolution);
|
||||
|
||||
@ -720,20 +620,18 @@ static void apply_scaling (unsigned init_mode)
|
||||
static void select_file(void)
|
||||
{
|
||||
unsigned menu_id = menuStack[menuStackindex].enum_id;
|
||||
char extensions[256], title[256], object[256], comment[256], dir_path[PATH_MAX], path[PATH_MAX];
|
||||
char extensions[256], title[256], object[256], comment[256], path[PATH_MAX];
|
||||
gl_t * gl = driver.video_data;
|
||||
|
||||
switch(menu_id)
|
||||
{
|
||||
case SHADER_CHOICE:
|
||||
strlcpy(dir_path, SHADERS_DIR_PATH, sizeof(dir_path));
|
||||
strlcpy(extensions, "cg|CG", sizeof(extensions));
|
||||
strlcpy(title, "SHADER SELECTION", sizeof(title));
|
||||
strlcpy(object, "Shader", sizeof(object));
|
||||
strlcpy(comment, "INFO - Select a shader from the menu by pressing the X button.", sizeof(comment));
|
||||
break;
|
||||
case PRESET_CHOICE:
|
||||
strlcpy(dir_path, PRESETS_DIR_PATH, sizeof(dir_path));
|
||||
strlcpy(extensions, "cgp|CGP", sizeof(extensions));
|
||||
strlcpy(title, "SHADER PRESETS SELECTION", sizeof(title));
|
||||
strlcpy(object, "Shader", sizeof(object));
|
||||
@ -741,7 +639,6 @@ static void select_file(void)
|
||||
strlcpy(comment, "INFO - Select a shader preset from the menu by pressing the X button.", sizeof(comment));
|
||||
break;
|
||||
case INPUT_PRESET_CHOICE:
|
||||
strlcpy(dir_path, INPUT_PRESETS_DIR_PATH, sizeof(dir_path));
|
||||
strlcpy(extensions, "cfg|CFG", sizeof(extensions));
|
||||
strlcpy(title, "INPUT PRESETS SELECTION", sizeof(title));
|
||||
strlcpy(object, "Input", sizeof(object));
|
||||
@ -749,7 +646,6 @@ static void select_file(void)
|
||||
strlcpy(comment, "INFO - Select an input preset from the menu by pressing the X button.", sizeof(comment));
|
||||
break;
|
||||
case BORDER_CHOICE:
|
||||
strlcpy(dir_path, BORDERS_DIR_PATH, sizeof(dir_path));
|
||||
strlcpy(extensions, "png|PNG|jpg|JPG|JPEG|jpeg", sizeof(extensions));
|
||||
strlcpy(title, "BORDER SELECTION", sizeof(title));
|
||||
strlcpy(object, "Border", sizeof(object));
|
||||
@ -757,7 +653,6 @@ static void select_file(void)
|
||||
strlcpy(comment, "INFO - Select a border image file from the menu by pressing the X button.", sizeof(comment));
|
||||
break;
|
||||
case LIBRETRO_CHOICE:
|
||||
strlcpy(dir_path, LIBRETRO_DIR_PATH, sizeof(dir_path));
|
||||
strlcpy(extensions, "self|SELF|bin|BIN", sizeof(extensions));
|
||||
strlcpy(title, "LIBRETRO CORE SELECTION", sizeof(title));
|
||||
strlcpy(object, "Libretro", sizeof(object));
|
||||
@ -766,14 +661,6 @@ static void select_file(void)
|
||||
break;
|
||||
}
|
||||
|
||||
if(set_initial_dir_tmpbrowser)
|
||||
{
|
||||
strlcpy(tmpBrowser.extensions, extensions, sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, dir_path);
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
set_initial_dir_tmpbrowser = false;
|
||||
}
|
||||
|
||||
browser_update(&tmpBrowser, extensions);
|
||||
|
||||
if (CTRL_CROSS(trigger_state))
|
||||
@ -850,14 +737,6 @@ static void select_directory(void)
|
||||
char path[1024];
|
||||
gl_t * gl = driver.video_data;
|
||||
|
||||
if(set_initial_dir_tmpbrowser)
|
||||
{
|
||||
strlcpy(tmpBrowser.extensions, "empty", sizeof(tmpBrowser.extensions));
|
||||
filebrowser_set_root(&tmpBrowser, "/");
|
||||
filebrowser_iterate(&tmpBrowser, FILEBROWSER_ACTION_RESET);
|
||||
set_initial_dir_tmpbrowser = false;
|
||||
}
|
||||
|
||||
{
|
||||
browser_update(&tmpBrowser, "empty");
|
||||
|
||||
@ -1026,7 +905,7 @@ static void rarch_filename_input_and_save (unsigned filename_type)
|
||||
}
|
||||
}
|
||||
|
||||
static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
static void producesettingentry(menu * menu_obj, unsigned switchvalue)
|
||||
{
|
||||
switch(switchvalue)
|
||||
{
|
||||
@ -1076,7 +955,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, PRESET_CHOICE);
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
@ -1090,7 +968,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, SHADER_CHOICE);
|
||||
set_shader = 0;
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
{
|
||||
@ -1105,7 +982,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, SHADER_CHOICE);
|
||||
set_shader = 1;
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
{
|
||||
@ -1118,19 +994,15 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
if(CTRL_LEFT(trigger_state) || CTRL_LSTICK_LEFT(trigger_state) || CTRL_CROSS(trigger_state))
|
||||
{
|
||||
if(g_console.menu_font_size > 0)
|
||||
{
|
||||
g_console.menu_font_size -= 0.01f;
|
||||
}
|
||||
g_console.menu_font_size -= 0.01f;
|
||||
}
|
||||
if(CTRL_RIGHT(trigger_state) || CTRL_LSTICK_RIGHT(trigger_state) || CTRL_CROSS(trigger_state))
|
||||
{
|
||||
if((g_console.menu_font_size < 2.0f))
|
||||
{
|
||||
g_console.menu_font_size += 0.01f;
|
||||
}
|
||||
g_console.menu_font_size += 0.01f;
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
g_console.menu_font_size = 1.0f;
|
||||
g_console.menu_font_size = 1.0f;
|
||||
break;
|
||||
case SETTING_KEEP_ASPECT_RATIO:
|
||||
if(CTRL_LEFT(trigger_state) || CTRL_LSTICK_LEFT(trigger_state))
|
||||
@ -1387,7 +1259,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, LIBRETRO_CHOICE);
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
set_libretro_core_as_launch = false;
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
@ -1430,7 +1301,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, PATH_DEFAULT_ROM_DIR_CHOICE);
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
|
||||
if(CTRL_START(trigger_state))
|
||||
@ -1441,7 +1311,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, PATH_SAVESTATES_DIR_CHOICE);
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
|
||||
if(CTRL_START(trigger_state))
|
||||
@ -1453,7 +1322,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, PATH_SRAM_DIR_CHOICE);
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
|
||||
if(CTRL_START(trigger_state))
|
||||
@ -1464,7 +1332,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, PATH_CHEATS_DIR_CHOICE);
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
|
||||
if(CTRL_START(trigger_state))
|
||||
@ -1510,7 +1377,6 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
|
||||
{
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, INPUT_PRESET_CHOICE);
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
menu_stack_refresh(menuStackindex);
|
||||
@ -1907,6 +1773,7 @@ static void ingame_menu(void)
|
||||
char comment[256];
|
||||
static unsigned menuitem_colors[MENU_ITEM_LAST];
|
||||
gl_t * gl = driver.video_data;
|
||||
menu *menu_obj = &menuStack[menuStackindex];
|
||||
|
||||
float x_position = 0.3f;
|
||||
float font_size = 1.1f;
|
||||
@ -1934,7 +1801,7 @@ static void ingame_menu(void)
|
||||
if(CTRL_RIGHT(trigger_state) || CTRL_LSTICK_RIGHT(trigger_state))
|
||||
rarch_state_slot_increase();
|
||||
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the current save state slot.\nPress CROSS to load the trigger_state from the currently selected save state slot.", sizeof(comment));
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the current save state slot.\nPress CROSS to load the state from the currently selected save state slot.", sizeof(comment));
|
||||
break;
|
||||
case MENU_ITEM_SAVE_STATE:
|
||||
if(CTRL_CROSS(trigger_state))
|
||||
@ -1947,42 +1814,14 @@ static void ingame_menu(void)
|
||||
if(CTRL_RIGHT(trigger_state) || CTRL_LSTICK_RIGHT(trigger_state))
|
||||
rarch_state_slot_increase();
|
||||
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the current save state slot.\nPress CROSS to save the trigger_state to the currently selected save state slot.", sizeof(comment));
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the current save state slot.\nPress CROSS to save the state to the currently selected save state slot.", sizeof(comment));
|
||||
break;
|
||||
case MENU_ITEM_KEEP_ASPECT_RATIO:
|
||||
if(CTRL_LEFT(trigger_state) || CTRL_LSTICK_LEFT(trigger_state))
|
||||
{
|
||||
rarch_settings_change(S_ASPECT_RATIO_DECREMENT);
|
||||
gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index);
|
||||
}
|
||||
if(CTRL_RIGHT(trigger_state) || CTRL_LSTICK_RIGHT(trigger_state))
|
||||
{
|
||||
rarch_settings_change(S_ASPECT_RATIO_INCREMENT);
|
||||
gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index);
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
{
|
||||
rarch_settings_default(S_DEF_ASPECT_RATIO);
|
||||
gfx_ctx_set_aspect_ratio(NULL, g_console.aspect_ratio_index);
|
||||
}
|
||||
producesettingentry(menu_obj, SETTING_KEEP_ASPECT_RATIO);
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the [Aspect Ratio].\nPress START to reset back to default values.", sizeof(comment));
|
||||
break;
|
||||
case MENU_ITEM_OVERSCAN_AMOUNT:
|
||||
if(CTRL_LEFT(trigger_state) || CTRL_LSTICK_LEFT(trigger_state) || CTRL_CROSS(trigger_state) || CTRL_LSTICK_LEFT(trigger_state))
|
||||
{
|
||||
rarch_settings_change(S_OVERSCAN_DECREMENT);
|
||||
gfx_ctx_set_overscan();
|
||||
}
|
||||
if(CTRL_RIGHT(trigger_state) || CTRL_LSTICK_RIGHT(trigger_state) || CTRL_CROSS(trigger_state) || CTRL_LSTICK_RIGHT(trigger_state))
|
||||
{
|
||||
rarch_settings_change(S_OVERSCAN_INCREMENT);
|
||||
gfx_ctx_set_overscan();
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
{
|
||||
rarch_settings_default(S_DEF_OVERSCAN);
|
||||
gfx_ctx_set_overscan();
|
||||
}
|
||||
producesettingentry(menu_obj, SETTING_HW_OVERSCAN_AMOUNT);
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the [Overscan] settings.\nPress START to reset back to default values.", sizeof(comment));
|
||||
break;
|
||||
case MENU_ITEM_ORIENTATION:
|
||||
@ -2006,33 +1845,7 @@ static void ingame_menu(void)
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the [Orientation] settings.\nPress START to reset back to default values.", sizeof(comment));
|
||||
break;
|
||||
case MENU_ITEM_SCALE_FACTOR:
|
||||
if(CTRL_LEFT(trigger_state) || CTRL_LSTICK_LEFT(trigger_state))
|
||||
{
|
||||
if(g_console.fbo_enabled)
|
||||
{
|
||||
if((g_settings.video.fbo_scale_x > MIN_SCALING_FACTOR))
|
||||
{
|
||||
rarch_settings_change(S_SCALE_FACTOR_DECREMENT);
|
||||
apply_scaling(FBO_REINIT);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(CTRL_RIGHT(trigger_state) || CTRL_LSTICK_RIGHT(trigger_state) || CTRL_CROSS(trigger_state))
|
||||
{
|
||||
if(g_console.fbo_enabled)
|
||||
{
|
||||
if((g_settings.video.fbo_scale_x < MAX_SCALING_FACTOR))
|
||||
{
|
||||
rarch_settings_change(S_SCALE_FACTOR_INCREMENT);
|
||||
apply_scaling(FBO_REINIT);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(CTRL_START(trigger_state))
|
||||
{
|
||||
rarch_settings_default(S_DEF_SCALE_FACTOR);
|
||||
apply_scaling(FBO_REINIT);
|
||||
}
|
||||
producesettingentry(menu_obj, SETTING_SCALE_FACTOR);
|
||||
strlcpy(comment, "Press LEFT or RIGHT to change the [Scaling] settings.\nPress START to reset back to default values.", sizeof(comment));
|
||||
break;
|
||||
case MENU_ITEM_FRAME_ADVANCE:
|
||||
@ -2086,7 +1899,6 @@ static void ingame_menu(void)
|
||||
menu_stack_increment();
|
||||
menu_stack_push(menuStackindex, LIBRETRO_CHOICE);
|
||||
set_libretro_core_as_launch = true;
|
||||
set_initial_dir_tmpbrowser = true;
|
||||
}
|
||||
strlcpy(comment, "Press 'CROSS' to choose a different emulator core.", sizeof(comment));
|
||||
break;
|
||||
@ -2187,10 +1999,8 @@ static void ingame_menu(void)
|
||||
|
||||
void menu_init (void)
|
||||
{
|
||||
filebrowser_set_root(&browser, "/");
|
||||
menu_stack_push(0, FILE_BROWSER_MENU);
|
||||
filebrowser_set_root(&tmpBrowser, "/");
|
||||
strlcpy(browser.extensions, rarch_console_get_rom_ext(), sizeof(browser.extensions));
|
||||
filebrowser_iterate(&browser, FILEBROWSER_ACTION_RESET);
|
||||
}
|
||||
|
||||
void menu_free (void)
|
||||
@ -2215,17 +2025,11 @@ static bool check_shoulder_buttons(uint64_t state_tmp)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void menu_loop(void)
|
||||
{
|
||||
gl_t * gl = driver.video_data;
|
||||
|
||||
menu_stack_push(0, FILE_BROWSER_MENU);
|
||||
|
||||
g_console.menu_enable = true;
|
||||
|
||||
|
||||
gl->block_swap = true;
|
||||
|
||||
if(g_console.ingame_menu_enable)
|
||||
|
Loading…
x
Reference in New Issue
Block a user