diff --git a/360/frontend-xdk/menu.cpp b/360/frontend-xdk/menu.cpp
index 34452566e1..2368947c62 100644
--- a/360/frontend-xdk/menu.cpp
+++ b/360/frontend-xdk/menu.cpp
@@ -379,6 +379,7 @@ HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled)
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_extern.console.rmenu.state.msg_info.enable ? L"Info messages: ON" : L"Info messages: OFF");
+ m_settingslist.SetText(SETTING_EMU_SHOW_DEBUG_INFO_MSG, g_extern.console.rmenu.state.msg_fps.enable ? L"Debug Info messages: ON" : L"Debug Info messages: OFF");
m_settingslist.SetText(SETTING_EMU_MENUS, g_extern.console.rmenu.state.rmenu_hd.enable ? L"Menus: HD" : L"Menus: SD");
m_settingslist.SetText(SETTING_GAMMA_CORRECTION_ENABLED, g_extern.console.screen.gamma_correction ? 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");
@@ -419,6 +420,10 @@ HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled
g_extern.console.rmenu.state.msg_info.enable = !g_extern.console.rmenu.state.msg_info.enable;
m_settingslist.SetText(SETTING_EMU_SHOW_INFO_MSG, g_extern.console.rmenu.state.msg_info.enable ? L"Info messages: ON" : L"Info messages: OFF");
break;
+ case SETTING_EMU_SHOW_DEBUG_INFO_MSG:
+ g_extern.console.rmenu.state.msg_fps.enable = !g_extern.console.rmenu.state.msg_fps.enable;
+ m_settingslist.SetText(SETTING_EMU_SHOW_DEBUG_INFO_MSG, g_extern.console.rmenu.state.msg_fps.enable ? L"Debug Info messages: ON" : L"Debug Info messages: OFF");
+ break;
case SETTING_EMU_MENUS:
g_extern.console.rmenu.state.rmenu_hd.enable = !g_extern.console.rmenu.state.rmenu_hd.enable;
m_settingslist.SetText(SETTING_EMU_MENUS, g_extern.console.rmenu.state.rmenu_hd.enable ? L"Menus: HD" : L"Menus: SD");
@@ -511,6 +516,10 @@ HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pContro
g_extern.console.rmenu.state.msg_info.enable = !g_extern.console.rmenu.state.msg_info.enable;
m_settingslist.SetText(SETTING_EMU_SHOW_INFO_MSG, g_extern.console.rmenu.state.msg_info.enable ? L"Info messages: ON" : L"Info messages: OFF");
break;
+ case SETTING_EMU_SHOW_DEBUG_INFO_MSG:
+ g_extern.console.rmenu.state.msg_fps.enable = !g_extern.console.rmenu.state.msg_fps.enable;
+ m_settingslist.SetText(SETTING_EMU_SHOW_DEBUG_INFO_MSG, g_extern.console.rmenu.state.msg_fps.enable ? L"Debug Info messages: ON" : L"Debug Info messages: OFF");
+ break;
case SETTING_EMU_MENUS:
g_extern.console.rmenu.state.rmenu_hd.enable = !g_extern.console.rmenu.state.rmenu_hd.enable;
m_settingslist.SetText(SETTING_EMU_MENUS, g_extern.console.rmenu.state.rmenu_hd.enable ? L"Menus: HD" : L"Menus: SD");
@@ -566,6 +575,10 @@ HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pContro
g_extern.console.rmenu.state.msg_info.enable = !g_extern.console.rmenu.state.msg_info.enable;
m_settingslist.SetText(SETTING_EMU_SHOW_INFO_MSG, g_extern.console.rmenu.state.msg_info.enable ? L"Info messages: ON" : L"Info messages: OFF");
break;
+ case SETTING_EMU_SHOW_DEBUG_INFO_MSG:
+ g_extern.console.rmenu.state.msg_fps.enable = !g_extern.console.rmenu.state.msg_fps.enable;
+ m_settingslist.SetText(SETTING_EMU_SHOW_DEBUG_INFO_MSG, g_extern.console.rmenu.state.msg_fps.enable ? L"Debug Info messages: ON" : L"Debug Info messages: OFF");
+ break;
case SETTING_EMU_MENUS:
g_extern.console.rmenu.state.rmenu_hd.enable = !g_extern.console.rmenu.state.rmenu_hd.enable;
m_settingslist.SetText(SETTING_EMU_MENUS, g_extern.console.rmenu.state.rmenu_hd.enable ? L"Menus: HD" : L"Menus: SD");
diff --git a/360/frontend-xdk/menu.h b/360/frontend-xdk/menu.h
index 1c84d48120..2847fe6cde 100644
--- a/360/frontend-xdk/menu.h
+++ b/360/frontend-xdk/menu.h
@@ -24,6 +24,7 @@ enum
{
SETTING_EMU_REWIND_ENABLED = 0,
SETTING_EMU_SHOW_INFO_MSG,
+ SETTING_EMU_SHOW_DEBUG_INFO_MSG,
SETTING_EMU_MENUS,
SETTING_GAMMA_CORRECTION_ENABLED,
SETTING_SHADER,
diff --git a/360/media/hd/rarch_settings.xui b/360/media/hd/rarch_settings.xui
index 4625c913e1..afbf60e396 100644
--- a/360/media/hd/rarch_settings.xui
+++ b/360/media/hd/rarch_settings.xui
@@ -32,6 +32,7 @@
44.880005,64.959991,0.000000
Rewind:
Info messages:
+Debug info messages:
Menus:
Gamma Correction:
Shader #1:
@@ -247,6 +248,18 @@ Extract ZIP:
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 272510cb1d..8119579c43 100644
--- a/360/media/sd/rarch_settings.xui
+++ b/360/media/sd/rarch_settings.xui
@@ -32,6 +32,7 @@
44.880005,64.959991,0.000000
Rewind:
Info messages:
+Debug info messages:
Menus:
Gamma Correction:
Shader #1:
@@ -223,6 +224,18 @@ Extract ZIP:
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/xdk/xdk_d3d.cpp b/xdk/xdk_d3d.cpp
index 88a1d2a65b..14f2c94f4f 100644
--- a/xdk/xdk_d3d.cpp
+++ b/xdk/xdk_d3d.cpp
@@ -797,6 +797,19 @@ static bool xdk_d3d_frame(void *data, const void *frame,
#endif
#if defined(_XBOX1)
+#define fonts_render_msg_place_func(device, x, y, scale, msg) xfonts_render_msg_place(device, x, y, scale, msg)
+ float width = font_x + 30;
+ float height = font_y + 50;
+ float msg_width = 60;
+ float msg_height = 365;
+#elif defined(_XBOX360)
+#define fonts_render_msg_place_func(device, x, y, scale, msg) xdk_render_msg_place(device, x, y, msg)
+ float mem_width = g_extern.console.rmenu.state.rmenu_hd.enable ? 160 : 100;
+ float mem_height = 70;
+ float msg_width = mem_width;
+ float msg_height = mem_height + 50;
+#endif
+
if(fps_enable)
{
MEMORYSTATUS stat;
@@ -804,28 +817,20 @@ static bool xdk_d3d_frame(void *data, const void *frame,
char fps_txt[128];
char buf[128];
+
snprintf(buf, sizeof(buf), "%.2f MB free / %.2f MB total", stat.dwAvailPhys/(1024.0f*1024.0f), stat.dwTotalPhys/(1024.0f*1024.0f));
- xfonts_render_msg_place(d3d, font_x + 30, font_y + 50, 0 /* scale */, buf);
+ fonts_render_msg_place_func(d3d, mem_width, mem_height, 0, buf);
gfx_fps_title(fps_txt, sizeof(fps_txt));
- xfonts_render_msg_place(d3d, font_x + 30, font_y + 70, 0 /* scale */, fps_txt);
+ fonts_render_msg_place_func(d3d, mem_width, mem_height + 30, 0, fps_txt);
}
- if (msg)
- xfonts_render_msg_place(d3d, 60, 365, 0, msg); //TODO: dehardcode x/y here for HD (720p) mode
-#elif defined(_XBOX360)
- if(fps_enable)
- {
- char fps_txt[128];
- gfx_fps_title(fps_txt, sizeof(fps_txt));
- xdk_render_msg_place(d3d, g_extern.console.rmenu.state.rmenu_hd.enable ? 160 : 100, 90, fps_txt);
- }
-
- if (msg && !menu_enabled)
- {
- xdk_render_msg(d3d, msg);
- }
+ if (msg
+#ifdef _XBOX360
+ && !menu_enabled
#endif
+ )
+ fonts_render_msg_place_func(d3d, msg_width, msg_height, 0, msg); //TODO: dehardcode x/y here for HD (720p) mode
if(!d3d->block_swap)
gfx_ctx_xdk_swap_buffers();