(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.y = 0;
g_console.color_format = 0;
g_console.info_msg_enable = true;
//g_extern
g_extern.state_slot = 0;

View File

@ -375,20 +375,24 @@ HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
}
break;
case MENU_ITEM_OVERSCAN_AMOUNT:
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "TODO - Not yet implemented.", 1, 180);
msg_queue_clear(g_extern.msg_queue);
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;
case MENU_ITEM_ORIENTATION:
switch(g_console.screen_orientation)
{
case ORIENTATION_NORMAL:
g_console.screen_orientation = ORIENTATION_VERTICAL;
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Vertical");
break;
case ORIENTATION_VERTICAL:
g_console.screen_orientation = ORIENTATION_FLIPPED;
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Flipped");
break;
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Vertical");
break;
case ORIENTATION_VERTICAL:
g_console.screen_orientation = ORIENTATION_FLIPPED;
m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, L"Orientation: Flipped");
break;
case ORIENTATION_FLIPPED:
g_console.screen_orientation = 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);
break;
case MENU_ITEM_RESIZE_MODE:
g_console.input_loop = INPUT_LOOP_RESIZE_MODE;
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);
g_console.input_loop = INPUT_LOOP_RESIZE_MODE;
if (g_console.info_msg_enable)
{
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;
case MENU_ITEM_FRAME_ADVANCE:
if (g_console.emulator_initialized)
@ -414,8 +421,11 @@ HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
}
break;
case MENU_ITEM_SCREENSHOT_MODE:
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;
case MENU_ITEM_RESET:
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_fetch_directory_entries("cache:", &browser, &m_romlist, &m_rompathtitle);
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);
if (g_console.info_msg_enable)
{
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;
@ -534,29 +547,33 @@ HRESULT CRetroArchShaderBrowser::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHand
int index = m_shaderlist.GetCurSel();
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)
{
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);
hlsl_load_shader(set_shader, g_settings.video.cg_shader_path);
break;
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);
hlsl_load_shader(set_shader, g_settings.video.second_pass_shader);
break;
default:
break;
}
msg_queue_clear(g_extern.msg_queue);
msg_queue_push(g_extern.msg_queue, "INFO - Shader successfully loaded.", 1, 180);
switch(set_shader)
{
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);
hlsl_load_shader(set_shader, g_settings.video.cg_shader_path);
break;
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);
hlsl_load_shader(set_shader, g_settings.video.second_pass_shader);
break;
default:
break;
}
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)
{
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);
filebrowser_fetch_directory_entries(path, &tmp_browser, &m_shaderlist, &m_shaderpathtitle);
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);
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:
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");
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 (g_console.info_msg_enable)
{
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_GAMMA_CORRECTION_ENABLED:
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);
break;
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");
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;
if (g_console.info_msg_enable)
{
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:
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);
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);
if (hr < 0)
{
RARCH_ERR("Failed to load scene.\n");
}
hCur = app.hShaderBrowser;
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);
NavigateForward(app.hShaderBrowser);
break;
if (hr < 0)
{
RARCH_ERR("Failed to load scene.\n");
}
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);
}
NavigateForward(app.hShaderBrowser);
break;
case SETTING_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);
if (hr < 0)
{
RARCH_ERR("Failed to load scene.\n");
}
hCur = app.hShaderBrowser;
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);
NavigateForward(app.hShaderBrowser);
break;
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);
if (hr < 0)
{
RARCH_ERR("Failed to load scene.\n");
}
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);
}
NavigateForward(app.hShaderBrowser);
break;
case SETTING_HW_TEXTURE_FILTER:
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;
case SETTING_HW_TEXTURE_FILTER_2:
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;
case SETTING_SCALE_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");
gfx_ctx_set_fbo(g_console.fbo_enabled);
break;
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");
gfx_ctx_set_fbo(g_console.fbo_enabled);
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);
if (hr < 0)
{
RARCH_ERR("Failed to load scene.\n");
}
hCur = app.hFileBrowser;
hCur = app.hFileBrowser;
NavigateForward(app.hFileBrowser);
}
else if ( hObjPressed == m_quick_menu)
@ -692,7 +719,8 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
if (hr < 0)
RARCH_ERR("Failed to load scene.\n");
hCur = app.hQuickMenu;
hCur = app.hQuickMenu;
NavigateForward(app.hQuickMenu);
}
else if ( hObjPressed == m_controls)
@ -701,9 +729,13 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
if (hr < 0)
RARCH_ERR("Failed to load scene.\n");
hCur = app.hControlsMenu;
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);
hCur = app.hControlsMenu;
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);
}
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");
}
hCur = app.hCoreBrowser;
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);
hCur = app.hCoreBrowser;
if (g_console.info_msg_enable)
{
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);
}
else if ( hObjPressed == m_settings )
@ -725,7 +760,8 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
if (hr < 0)
RARCH_ERR("Failed to load scene.\n");
hCur = app.hRetroArchSettings;
hCur = app.hRetroArchSettings;
NavigateForward(app.hRetroArchSettings);
}
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);
msg_queue_push(g_extern.msg_queue, "INFO - ZIP file extracted to cache partition.", 1, 180);
if(g_console.info_msg_enable)
{
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;
}
@ -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(throttle_enable, "throttle_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(current_resolution_id, "current_resolution_id");
CONFIG_GET_INT_CONSOLE(viewports.custom_vp.x, "custom_viewport_x");
@ -844,6 +848,7 @@ void rarch_config_save(const char * conf_name)
#endif
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, "info_msg_enable", g_console.info_msg_enable);
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, "current_resolution_id", g_console.current_resolution_id);

View File

@ -207,8 +207,9 @@ struct console_settings
bool default_savestate_dir_enable;
bool fbo_enabled;
bool frame_advance_enable;
bool gamma_correction_enable;
bool initialize_rarch_enable;
bool info_msg_enable;
bool gamma_correction_enable;
bool ingame_menu_enable;
bool menu_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.y = 0;
g_console.custom_bgm_enable = true;
g_console.info_msg_enable = true;
// g_extern
g_extern.state_slot = 0;

View File

@ -327,7 +327,6 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0,
1
},
/* port-specific */
{
SETTING_EMU_CURRENT_SAVE_STATE_SLOT,
"Current save state slot",
@ -343,6 +342,21 @@ static item items_generalsettings[MAX_NO_OF_CONTROLS_SETTINGS] =
0,
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,
"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);
break;
/* 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:
if(menu_obj->selected == currentsetting)
menu_obj->items[currentsetting].text_color = GREEN;
@ -1558,14 +1570,29 @@ static void producesettingentry(menu * menu_obj, uint64_t switchvalue)
if(CTRL_START(state))
g_extern.state_slot = 0;
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:
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;
set_delay = DELAY_MEDIUM;
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(g_console.info_msg_enable)
{
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))
{

View File

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