diff --git a/360/media/hd/rarch_settings.xui b/360/media/hd/rarch_settings.xui
index 351e530561..df33f2460f 100644
--- a/360/media/hd/rarch_settings.xui
+++ b/360/media/hd/rarch_settings.xui
@@ -31,6 +31,8 @@
383.040009
44.880005,64.959991,0.000000
Rewind:
+Info messages:
+Menus:
Gamma Correction:
Color Format:
Shader #1:
@@ -197,6 +199,18 @@ Custom Scaling Factor:
0.000000,10.000000,0.000000
+
+
+control_ListItem
+226.000000
+45.000000
+7.000000,22.000000,0.000000
+5
+false
+XuiButton
+0.000000,10.000000,0.000000
+
+
diff --git a/360/media/sd/rarch_settings.xui b/360/media/sd/rarch_settings.xui
index e04bd092bf..3b63a8a502 100644
--- a/360/media/sd/rarch_settings.xui
+++ b/360/media/sd/rarch_settings.xui
@@ -31,6 +31,8 @@
232.720001
44.880005,64.959991,0.000000
Rewind:
+Info messages:
+Menus:
Color Format:
Gamma Correction:
Shader #1:
@@ -173,6 +175,18 @@ Cutom Scaling Factor:
0.000000,10.000000,0.000000
+
+
+control_ListItem
+226.000000
+45.000000
+7.000000,22.000000,0.000000
+5
+false
+XuiButton
+0.000000,10.000000,0.000000
+
+
diff --git a/360/menu.cpp b/360/menu.cpp
index 2f61ac54fe..21f5c187e2 100644
--- a/360/menu.cpp
+++ b/360/menu.cpp
@@ -31,7 +31,6 @@ CRetroArch app;
HXUIOBJ hCur;
filebrowser_t browser;
filebrowser_t tmp_browser;
-bool hdmenus_allowed;
uint32_t set_shader = 0;
static void return_to_game (void)
@@ -239,6 +238,8 @@ HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled)
snprintf(scalefactor, sizeof(scalefactor), "Scale Factor: %f (X) / %f (Y)", g_settings.video.fbo_scale_x, g_settings.video.fbo_scale_y);
m_settingslist.SetText(SETTING_EMU_REWIND_ENABLED, g_settings.rewind_enable ? L"Rewind: ON" : L"Rewind: OFF");
+ m_settingslist.SetText(SETTING_EMU_SHOW_INFO_MSG, g_console.info_msg_enable ? L"Info messages: ON" : L"Info messages: OFF");
+ m_settingslist.SetText(SETTING_EMU_MENUS, g_console.menus_hd_enable ? L"Menus: HD" : L"Menus: SD");
m_settingslist.SetText(SETTING_GAMMA_CORRECTION_ENABLED, g_console.gamma_correction_enable ? L"Gamma correction: ON" : L"Gamma correction: OFF");
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_2, g_settings.video.second_pass_smooth ? L"Hardware filtering shader #2: Linear interpolation" : L"Hardware filtering shader #2: Point filtering");
@@ -629,24 +630,35 @@ 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_EMU_SHOW_INFO_MSG:
+ g_console.info_msg_enable = !g_console.info_msg_enable;
+ m_settingslist.SetText(SETTING_EMU_SHOW_INFO_MSG, g_console.info_msg_enable ? L"Info messages: ON" : L"Info messages: OFF");
+ break;
+ case SETTING_EMU_MENUS:
+ g_console.menus_hd_enable = !g_console.menus_hd_enable;
+ m_settingslist.SetText(SETTING_EMU_MENUS, g_console.menus_hd_enable ? L"Menus: HD" : L"Menus: SD");
+ break;
case SETTING_GAMMA_CORRECTION_ENABLED:
g_console.gamma_correction_enable = !g_console.gamma_correction_enable;
m_settingslist.SetText(SETTING_GAMMA_CORRECTION_ENABLED, g_console.gamma_correction_enable ? L"Gamma correction: ON" : L"Gamma correction: 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_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");
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);
- }
+ {
+ 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);
+ hr = XuiSceneCreate(g_console.menus_hd_enable ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_shader_browser.xur", NULL, &app.hShaderBrowser);
if (hr < 0)
{
@@ -654,25 +666,25 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
}
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);
+ hr = XuiSceneCreate(g_console.menus_hd_enable ? 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:
@@ -699,7 +711,7 @@ HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled )
{
xdk360_video_t *vid = (xdk360_video_t*)driver.video_data;
- hdmenus_allowed = vid->video_mode.fIsHiDef && (g_console.aspect_ratio_index >= ASPECT_RATIO_16_9);
+ bool hdmenus_allowed = g_console.menus_hd_enable;
HRESULT hr;
diff --git a/360/menu.h b/360/menu.h
index fed2d54ca8..04152cc3d2 100644
--- a/360/menu.h
+++ b/360/menu.h
@@ -23,6 +23,8 @@
enum
{
SETTING_EMU_REWIND_ENABLED = 0,
+ SETTING_EMU_SHOW_INFO_MSG,
+ SETTING_EMU_MENUS,
SETTING_GAMMA_CORRECTION_ENABLED,
SETTING_COLOR_FORMAT,
SETTING_SHADER,
diff --git a/360/xdk360_video.cpp b/360/xdk360_video.cpp
index 3610e992fc..fec1db6fd9 100644
--- a/360/xdk360_video.cpp
+++ b/360/xdk360_video.cpp
@@ -454,6 +454,8 @@ static void *xdk360_init(const video_info_t *video, const input_driver_t **input
// unsupported
if(!d3d9->video_mode.fIsWideScreen)
d3d9->d3dpp.Flags |= D3DPRESENTFLAG_NO_LETTERBOX;
+
+ g_console.menus_hd_enable = d3d9->video_mode.fIsHiDef;
d3d9->d3dpp.BackBufferWidth = d3d9->video_mode.fIsHiDef ? 1280 : 640;
d3d9->d3dpp.BackBufferHeight = d3d9->video_mode.fIsHiDef ? 720 : 480;
diff --git a/general.h b/general.h
index 9a2ec4a612..3a0c31a013 100644
--- a/general.h
+++ b/general.h
@@ -207,6 +207,9 @@ struct console_settings
bool default_savestate_dir_enable;
bool fbo_enabled;
bool frame_advance_enable;
+#ifdef _XBOX
+ bool menus_hd_enable;
+#endif
bool initialize_rarch_enable;
bool info_msg_enable;
bool gamma_correction_enable;