(PS3) Add info message enable/disable option

This commit is contained in:
Twinaphex 2012-05-28 22:43:08 +02:00
parent 75c1e56edf
commit 705a0dd62e
8 changed files with 172 additions and 86 deletions

View File

@ -178,6 +178,7 @@ static void set_default_settings (void)
g_console.viewports.custom_vp.x = 0; g_console.viewports.custom_vp.x = 0;
g_console.viewports.custom_vp.y = 0; g_console.viewports.custom_vp.y = 0;
g_console.color_format = 0; g_console.color_format = 0;
g_console.info_msg_enable = true;
//g_extern //g_extern
g_extern.state_slot = 0; g_extern.state_slot = 0;

View File

@ -375,20 +375,24 @@ HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
} }
break; break;
case MENU_ITEM_OVERSCAN_AMOUNT: case MENU_ITEM_OVERSCAN_AMOUNT:
msg_queue_clear(g_extern.msg_queue); msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "TODO - Not yet implemented.", 1, 180); if(g_console.info_msg_enable)
{
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "TODO - Not yet implemented.", 1, 180);
}
break; break;
case MENU_ITEM_ORIENTATION: case MENU_ITEM_ORIENTATION:
switch(g_console.screen_orientation) switch(g_console.screen_orientation)
{ {
case ORIENTATION_NORMAL: case ORIENTATION_NORMAL:
g_console.screen_orientation = ORIENTATION_VERTICAL; g_console.screen_orientation = ORIENTATION_VERTICAL;
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Vertical"); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Vertical");
break; break;
case ORIENTATION_VERTICAL: case ORIENTATION_VERTICAL:
g_console.screen_orientation = ORIENTATION_FLIPPED; g_console.screen_orientation = ORIENTATION_FLIPPED;
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Flipped"); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Flipped");
break; break;
case ORIENTATION_FLIPPED: case ORIENTATION_FLIPPED:
g_console.screen_orientation = ORIENTATION_FLIPPED_ROTATED; g_console.screen_orientation = ORIENTATION_FLIPPED_ROTATED;
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Flipped Rotated"); m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Flipped Rotated");
@ -401,9 +405,12 @@ HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
video_xdk360.set_rotation(driver.video_data, g_console.screen_orientation); video_xdk360.set_rotation(driver.video_data, g_console.screen_orientation);
break; break;
case MENU_ITEM_RESIZE_MODE: case MENU_ITEM_RESIZE_MODE:
g_console.input_loop = INPUT_LOOP_RESIZE_MODE; g_console.input_loop = INPUT_LOOP_RESIZE_MODE;
msg_queue_clear(g_extern.msg_queue); if (g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - Resize the screen by moving around the two analog sticks.\nPress Y to reset to default values, and B to go back.\nTo select the resized screen mode, set Aspect Ratio to: 'Custom'.", 1, 270); {
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - Resize the screen by moving around the two analog sticks.\nPress Y to reset to default values, and B to go back.\nTo select the resized screen mode, set Aspect Ratio to: 'Custom'.", 1, 270);
}
break; break;
case MENU_ITEM_FRAME_ADVANCE: case MENU_ITEM_FRAME_ADVANCE:
if (g_console.emulator_initialized) if (g_console.emulator_initialized)
@ -414,8 +421,11 @@ HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
} }
break; break;
case MENU_ITEM_SCREENSHOT_MODE: case MENU_ITEM_SCREENSHOT_MODE:
msg_queue_clear(g_extern.msg_queue); if (g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "TODO - Not yet implemented.", 1, 180); {
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "TODO - Not yet implemented.", 1, 180);
}
break; break;
case MENU_ITEM_RESET: case MENU_ITEM_RESET:
if (g_console.emulator_initialized) if (g_console.emulator_initialized)
@ -516,8 +526,11 @@ HRESULT CRetroArchFileBrowser::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHandle
{ {
filebrowser_new(&browser, "cache:", rarch_console_get_rom_ext()); filebrowser_new(&browser, "cache:", rarch_console_get_rom_ext());
filebrowser_fetch_directory_entries("cache:", &browser, &m_romlist, &m_rompathtitle); filebrowser_fetch_directory_entries("cache:", &browser, &m_romlist, &m_rompathtitle);
msg_queue_clear(g_extern.msg_queue); if (g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - All the contents of the ZIP files you have selected in the filebrowser\nare extracted to this partition.", 1, 180); {
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - All the contents of the ZIP files you have selected in the filebrowser\nare extracted to this partition.", 1, 180);
}
} }
bHandled = TRUE; bHandled = TRUE;
@ -534,29 +547,33 @@ HRESULT CRetroArchShaderBrowser::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHand
int index = m_shaderlist.GetCurSel(); int index = m_shaderlist.GetCurSel();
if(tmp_browser.cur[index].d_type != FILE_ATTRIBUTE_DIRECTORY) if(tmp_browser.cur[index].d_type != FILE_ATTRIBUTE_DIRECTORY)
{ {
const char * strbuffer = rarch_convert_wchar_to_const_char((const wchar_t *)m_shaderlist.GetText(index)); const char * strbuffer = rarch_convert_wchar_to_const_char((const wchar_t *)m_shaderlist.GetText(index));
switch(set_shader) switch(set_shader)
{ {
case 1: case 1:
snprintf(g_settings.video.cg_shader_path, sizeof(g_settings.video.cg_shader_path), "%s\\%s", FILEBROWSER_GET_CURRENT_DIRECTORY_NAME(tmp_browser), strbuffer); snprintf(g_settings.video.cg_shader_path, sizeof(g_settings.video.cg_shader_path), "%s\\%s", FILEBROWSER_GET_CURRENT_DIRECTORY_NAME(tmp_browser), strbuffer);
hlsl_load_shader(set_shader, g_settings.video.cg_shader_path); hlsl_load_shader(set_shader, g_settings.video.cg_shader_path);
break; break;
case 2: case 2:
snprintf (g_settings.video.second_pass_shader, sizeof(g_settings.video.second_pass_shader), "%s\\%s", FILEBROWSER_GET_CURRENT_DIRECTORY_NAME(tmp_browser), strbuffer); snprintf (g_settings.video.second_pass_shader, sizeof(g_settings.video.second_pass_shader), "%s\\%s", FILEBROWSER_GET_CURRENT_DIRECTORY_NAME(tmp_browser), strbuffer);
hlsl_load_shader(set_shader, g_settings.video.second_pass_shader); hlsl_load_shader(set_shader, g_settings.video.second_pass_shader);
break; break;
default: default:
break; break;
} }
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - Shader successfully loaded.", 1, 180); if (g_console.info_msg_enable)
{
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - Shader successfully loaded.", 1, 180);
}
} }
else if(tmp_browser.cur[index].d_type == FILE_ATTRIBUTE_DIRECTORY) else if(tmp_browser.cur[index].d_type == FILE_ATTRIBUTE_DIRECTORY)
{ {
const char * strbuffer = rarch_convert_wchar_to_const_char((const wchar_t *)m_shaderlist.GetText(index)); const char * strbuffer = rarch_convert_wchar_to_const_char((const wchar_t *)m_shaderlist.GetText(index));
snprintf(path, sizeof(path), "%s\\%s", FILEBROWSER_GET_CURRENT_DIRECTORY_NAME(tmp_browser), strbuffer); snprintf(path, sizeof(path), "%s\\%s", FILEBROWSER_GET_CURRENT_DIRECTORY_NAME(tmp_browser), strbuffer);
filebrowser_fetch_directory_entries(path, &tmp_browser, &m_shaderlist, &m_shaderpathtitle); filebrowser_fetch_directory_entries(path, &tmp_browser, &m_shaderlist, &m_shaderpathtitle);
} }
} }
@ -606,8 +623,11 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
case SETTING_EMU_REWIND_ENABLED: case SETTING_EMU_REWIND_ENABLED:
g_settings.rewind_enable = !g_settings.rewind_enable; g_settings.rewind_enable = !g_settings.rewind_enable;
m_settingslist.SetText(SETTING_EMU_REWIND_ENABLED, g_settings.rewind_enable ? L"Rewind: ON" : L"Rewind: OFF"); m_settingslist.SetText(SETTING_EMU_REWIND_ENABLED, g_settings.rewind_enable ? L"Rewind: ON" : L"Rewind: OFF");
msg_queue_clear(g_extern.msg_queue); if (g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180); {
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180);
}
break; break;
case SETTING_GAMMA_CORRECTION_ENABLED: case SETTING_GAMMA_CORRECTION_ENABLED:
g_console.gamma_correction_enable = !g_console.gamma_correction_enable; g_console.gamma_correction_enable = !g_console.gamma_correction_enable;
@ -616,50 +636,58 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180); msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180);
break; break;
case SETTING_COLOR_FORMAT: case SETTING_COLOR_FORMAT:
g_console.color_format = !g_console.color_format; g_console.color_format = !g_console.color_format;
m_settingslist.SetText(SETTING_COLOR_FORMAT, g_console.color_format ? L"Color format: 32bit ARGB" : L"Color format: 16bit RGBA"); m_settingslist.SetText(SETTING_COLOR_FORMAT, g_console.color_format ? L"Color format: 32bit ARGB" : L"Color format: 16bit RGBA");
msg_queue_clear(g_extern.msg_queue); if (g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180); {
break; msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180);
}
break;
case SETTING_SHADER: case SETTING_SHADER:
set_shader = 1; set_shader = 1;
hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_shader_browser.xur", NULL, &app.hShaderBrowser); hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_shader_browser.xur", NULL, &app.hShaderBrowser);
if (hr < 0) if (hr < 0)
{ {
RARCH_ERR("Failed to load scene.\n"); RARCH_ERR("Failed to load scene.\n");
} }
hCur = app.hShaderBrowser; hCur = app.hShaderBrowser;
msg_queue_clear(g_extern.msg_queue); if (g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - Select a shader from the menu by pressing the A button.", 1, 180); {
NavigateForward(app.hShaderBrowser); msg_queue_clear(g_extern.msg_queue);
break; msg_queue_push(g_extern.msg_queue, "INFO - Select a shader from the menu by pressing the A button.", 1, 180);
}
NavigateForward(app.hShaderBrowser);
break;
case SETTING_SHADER_2: case SETTING_SHADER_2:
set_shader = 2; set_shader = 2;
hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_shader_browser.xur", NULL, &app.hShaderBrowser); hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_shader_browser.xur", NULL, &app.hShaderBrowser);
if (hr < 0)
if (hr < 0) {
{ RARCH_ERR("Failed to load scene.\n");
RARCH_ERR("Failed to load scene.\n"); }
} hCur = app.hShaderBrowser;
hCur = app.hShaderBrowser; if (g_console.info_msg_enable)
msg_queue_clear(g_extern.msg_queue); {
msg_queue_push(g_extern.msg_queue, "INFO - Select a shader from the menu by pressing the A button.", 1, 180); msg_queue_clear(g_extern.msg_queue);
NavigateForward(app.hShaderBrowser); msg_queue_push(g_extern.msg_queue, "INFO - Select a shader from the menu by pressing the A button.", 1, 180);
break; }
NavigateForward(app.hShaderBrowser);
break;
case SETTING_HW_TEXTURE_FILTER: case SETTING_HW_TEXTURE_FILTER:
g_settings.video.smooth = !g_settings.video.smooth; g_settings.video.smooth = !g_settings.video.smooth;
m_settingslist.SetText(SETTING_HW_TEXTURE_FILTER, g_settings.video.smooth ? L"Hardware filtering shader #1: Linear interpolation" : L"Hardware filtering shader #1: Point filtering"); m_settingslist.SetText(SETTING_HW_TEXTURE_FILTER, g_settings.video.smooth ? L"Hardware filtering shader #1: Linear interpolation" : L"Hardware filtering shader #1: Point filtering");
break; break;
case SETTING_HW_TEXTURE_FILTER_2: case SETTING_HW_TEXTURE_FILTER_2:
g_settings.video.second_pass_smooth = !g_settings.video.second_pass_smooth; g_settings.video.second_pass_smooth = !g_settings.video.second_pass_smooth;
m_settingslist.SetText(SETTING_HW_TEXTURE_FILTER_2, g_settings.video.second_pass_smooth ? L"Hardware filtering shader #2: Linear interpolation" : L"Hardware filtering shader #2: Point filtering"); m_settingslist.SetText(SETTING_HW_TEXTURE_FILTER_2, g_settings.video.second_pass_smooth ? L"Hardware filtering shader #2: Linear interpolation" : L"Hardware filtering shader #2: Point filtering");
break; break;
case SETTING_SCALE_ENABLED: case SETTING_SCALE_ENABLED:
g_console.fbo_enabled = !g_console.fbo_enabled; g_console.fbo_enabled = !g_console.fbo_enabled;
m_settingslist.SetText(SETTING_SCALE_ENABLED, g_console.fbo_enabled ? L"Custom Scaling/Dual Shaders: ON" : L"Custom Scaling/Dual Shaders: OFF"); m_settingslist.SetText(SETTING_SCALE_ENABLED, g_console.fbo_enabled ? L"Custom Scaling/Dual Shaders: ON" : L"Custom Scaling/Dual Shaders: OFF");
gfx_ctx_set_fbo(g_console.fbo_enabled); gfx_ctx_set_fbo(g_console.fbo_enabled);
break; break;
} }
} }
@ -680,10 +708,9 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_filebrowser.xur", NULL, &app.hFileBrowser); hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_filebrowser.xur", NULL, &app.hFileBrowser);
if (hr < 0) if (hr < 0)
{
RARCH_ERR("Failed to load scene.\n"); RARCH_ERR("Failed to load scene.\n");
}
hCur = app.hFileBrowser; hCur = app.hFileBrowser;
NavigateForward(app.hFileBrowser); NavigateForward(app.hFileBrowser);
} }
else if ( hObjPressed == m_quick_menu) else if ( hObjPressed == m_quick_menu)
@ -692,7 +719,8 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
if (hr < 0) if (hr < 0)
RARCH_ERR("Failed to load scene.\n"); RARCH_ERR("Failed to load scene.\n");
hCur = app.hQuickMenu;
hCur = app.hQuickMenu;
NavigateForward(app.hQuickMenu); NavigateForward(app.hQuickMenu);
} }
else if ( hObjPressed == m_controls) else if ( hObjPressed == m_controls)
@ -701,9 +729,13 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
if (hr < 0) if (hr < 0)
RARCH_ERR("Failed to load scene.\n"); RARCH_ERR("Failed to load scene.\n");
hCur = app.hControlsMenu;
msg_queue_clear(g_extern.msg_queue); hCur = app.hControlsMenu;
msg_queue_push(g_extern.msg_queue, "INFO - Press LEFT/RIGHT to change the controls, and press\nSTART/A to reset a button to default values.", 1, 180); if (g_console.info_msg_enable)
{
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - Press LEFT/RIGHT to change the controls, and press\nSTART/A to reset a button to default values.", 1, 180);
}
NavigateForward(app.hControlsMenu); NavigateForward(app.hControlsMenu);
} }
else if ( hObjPressed == m_change_libretro_core ) else if ( hObjPressed == m_change_libretro_core )
@ -714,9 +746,12 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
{ {
RARCH_ERR("Failed to load scene.\n"); RARCH_ERR("Failed to load scene.\n");
} }
hCur = app.hCoreBrowser; hCur = app.hCoreBrowser;
msg_queue_clear(g_extern.msg_queue); if (g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - Select a Libretro core from the menu by pressing the A button.", 1, 180); {
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - Select a Libretro core from the menu by pressing the A button.", 1, 180);
}
NavigateForward(app.hCoreBrowser); NavigateForward(app.hCoreBrowser);
} }
else if ( hObjPressed == m_settings ) else if ( hObjPressed == m_settings )
@ -725,7 +760,8 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
if (hr < 0) if (hr < 0)
RARCH_ERR("Failed to load scene.\n"); RARCH_ERR("Failed to load scene.\n");
hCur = app.hRetroArchSettings;
hCur = app.hRetroArchSettings;
NavigateForward(app.hRetroArchSettings); NavigateForward(app.hRetroArchSettings);
} }
else if ( hObjPressed == m_quit ) else if ( hObjPressed == m_quit )

View File

@ -200,8 +200,11 @@ int rarch_extract_zipfile(const char *zip_path)
} }
} }
msg_queue_clear(g_extern.msg_queue); if(g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - ZIP file extracted to cache partition.", 1, 180); {
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - ZIP file extracted to cache partition.", 1, 180);
}
return 0; return 0;
} }
@ -776,6 +779,7 @@ void rarch_config_load(const char * conf_name, const char * libretro_dir_path, c
CONFIG_GET_BOOL_CONSOLE(screenshots_enable, "screenshots_enable"); CONFIG_GET_BOOL_CONSOLE(screenshots_enable, "screenshots_enable");
CONFIG_GET_BOOL_CONSOLE(throttle_enable, "throttle_enable"); CONFIG_GET_BOOL_CONSOLE(throttle_enable, "throttle_enable");
CONFIG_GET_BOOL_CONSOLE(triple_buffering_enable, "triple_buffering_enable"); CONFIG_GET_BOOL_CONSOLE(triple_buffering_enable, "triple_buffering_enable");
CONFIG_GET_BOOL_CONSOLE(info_msg_enable, "info_msg_enable");
CONFIG_GET_INT_CONSOLE(aspect_ratio_index, "aspect_ratio_index"); CONFIG_GET_INT_CONSOLE(aspect_ratio_index, "aspect_ratio_index");
CONFIG_GET_INT_CONSOLE(current_resolution_id, "current_resolution_id"); CONFIG_GET_INT_CONSOLE(current_resolution_id, "current_resolution_id");
CONFIG_GET_INT_CONSOLE(viewports.custom_vp.x, "custom_viewport_x"); CONFIG_GET_INT_CONSOLE(viewports.custom_vp.x, "custom_viewport_x");
@ -844,6 +848,7 @@ void rarch_config_save(const char * conf_name)
#endif #endif
config_set_bool(conf, "throttle_enable", g_console.throttle_enable); config_set_bool(conf, "throttle_enable", g_console.throttle_enable);
config_set_bool(conf, "triple_buffering_enable", g_console.triple_buffering_enable); config_set_bool(conf, "triple_buffering_enable", g_console.triple_buffering_enable);
config_set_bool(conf, "info_msg_enable", g_console.info_msg_enable);
config_set_int(conf, "sound_mode", g_console.sound_mode); config_set_int(conf, "sound_mode", g_console.sound_mode);
config_set_int(conf, "aspect_ratio_index", g_console.aspect_ratio_index); config_set_int(conf, "aspect_ratio_index", g_console.aspect_ratio_index);
config_set_int(conf, "current_resolution_id", g_console.current_resolution_id); config_set_int(conf, "current_resolution_id", g_console.current_resolution_id);

View File

@ -207,8 +207,9 @@ struct console_settings
bool default_savestate_dir_enable; bool default_savestate_dir_enable;
bool fbo_enabled; bool fbo_enabled;
bool frame_advance_enable; bool frame_advance_enable;
bool gamma_correction_enable;
bool initialize_rarch_enable; bool initialize_rarch_enable;
bool info_msg_enable;
bool gamma_correction_enable;
bool ingame_menu_enable; bool ingame_menu_enable;
bool menu_enable; bool menu_enable;
bool overscan_enable; bool overscan_enable;

View File

@ -146,6 +146,7 @@ static void set_default_settings(void)
g_console.viewports.custom_vp.x = 0; g_console.viewports.custom_vp.x = 0;
g_console.viewports.custom_vp.y = 0; g_console.viewports.custom_vp.y = 0;
g_console.custom_bgm_enable = true; g_console.custom_bgm_enable = true;
g_console.info_msg_enable = true;
// g_extern // g_extern
g_extern.state_slot = 0; g_extern.state_slot = 0;

View File

@ -327,7 +327,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0, 0,
1 1
}, },
/* port-specific */
{ {
SETTING_EMU_CURRENT_SAVE_STATE_SLOT, SETTING_EMU_CURRENT_SAVE_STATE_SLOT,
"Current save state slot", "Current save state slot",
@ -343,6 +342,21 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0, 0,
1 1
}, },
{
SETTING_EMU_SHOW_INFO_MSG,
"Info messages",
"",
0.0f,
0.0f,
YELLOW,
"INFO - Show onscreen info messages in the menu.",
WHITE,
0.91f,
0.09f,
0.83f,
0,
1
},
{ {
SETTING_RARCH_DEFAULT_EMU, SETTING_RARCH_DEFAULT_EMU,
"Default emulator core", "Default emulator core",

View File

@ -548,6 +548,18 @@ static void set_setting_label(menu * menu_obj, uint64_t currentsetting)
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), "%d", g_extern.state_slot); snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), "%d", g_extern.state_slot);
break; break;
/* emu-specific */ /* emu-specific */
case SETTING_EMU_SHOW_INFO_MSG:
if(g_console.info_msg_enable)
{
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), "ON");
menu_obj->items[currentsetting].text_color = GREEN;
}
else
{
snprintf(menu_obj->items[currentsetting].setting_text, sizeof(menu_obj->items[currentsetting].setting_text), "OFF");
menu_obj->items[currentsetting].text_color = ORANGE;
}
break;
case SETTING_EMU_DEFAULT_ALL: case SETTING_EMU_DEFAULT_ALL:
if(menu_obj->selected == currentsetting) if(menu_obj->selected == currentsetting)
menu_obj->items[currentsetting].text_color = GREEN; menu_obj->items[currentsetting].text_color = GREEN;
@ -1558,14 +1570,29 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
if(CTRL_START(state)) if(CTRL_START(state))
g_extern.state_slot = 0; g_extern.state_slot = 0;
break; break;
case SETTING_EMU_SHOW_INFO_MSG:
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state))
{
g_console.info_msg_enable = !g_console.info_msg_enable;
set_delay = DELAY_MEDIUM;
}
if(CTRL_START(state))
{
g_console.info_msg_enable = true;
set_delay = DELAY_MEDIUM;
}
break;
case SETTING_EMU_REWIND_ENABLED: case SETTING_EMU_REWIND_ENABLED:
if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state)) if(CTRL_LEFT(state) || CTRL_LSTICK_LEFT(state) || CTRL_RIGHT(state) || CTRL_LSTICK_RIGHT(state) || CTRL_CROSS(state))
{ {
g_settings.rewind_enable = !g_settings.rewind_enable; g_settings.rewind_enable = !g_settings.rewind_enable;
set_delay = DELAY_MEDIUM; set_delay = DELAY_MEDIUM;
msg_queue_clear(g_extern.msg_queue); if(g_console.info_msg_enable)
msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180); {
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - You need to restart RetroArch for this change to take effect.", 1, 180);
}
} }
if(CTRL_START(state)) if(CTRL_START(state))
{ {

View File

@ -102,6 +102,7 @@ enum
SETTING_ENABLE_CUSTOM_BGM, SETTING_ENABLE_CUSTOM_BGM,
SETTING_DEFAULT_AUDIO_ALL, SETTING_DEFAULT_AUDIO_ALL,
SETTING_EMU_CURRENT_SAVE_STATE_SLOT, SETTING_EMU_CURRENT_SAVE_STATE_SLOT,
SETTING_EMU_SHOW_INFO_MSG,
SETTING_RARCH_DEFAULT_EMU, SETTING_RARCH_DEFAULT_EMU,
SETTING_EMU_DEFAULT_ALL, SETTING_EMU_DEFAULT_ALL,
SETTING_EMU_REWIND_ENABLED, SETTING_EMU_REWIND_ENABLED,