HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) { xdk360_video_t *vid = (xdk360_video_t*)g_d3d; bool hdmenus_allowed = vid->video_mode.fIsHiDef && (g_console.aspect_ratio_index >= ASPECT_RATIO_16_9); HRESULT hr; if ( hObjPressed == m_filebrowser ) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_filebrowser.xur", NULL, &app.hFileBrowser); if (FAILED(hr)) { RARCH_ERR("Failed to load scene.\n"); } NavigateForward(app.hFileBrowser); } else if ( hObjPressed == m_quick_menu) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_quickmenu.xur", NULL, &app.hQuickMenu); if (FAILED(hr)) RARCH_ERR("Failed to load scene.\n"); NavigateForward(app.hQuickMenu); } else if ( hObjPressed == m_change_libretro_core ) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_libretrocore_browser.xur", NULL, &app.hCoreBrowser); if (FAILED(hr)) { RARCH_ERR("Failed to load scene.\n"); } NavigateForward(app.hCoreBrowser); } else if ( hObjPressed == m_settings ) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_settings.xur", NULL, &app.hRetroArchSettings); if (FAILED(hr)) RARCH_ERR("Failed to load scene.\n"); NavigateForward(app.hRetroArchSettings); } else if ( hObjPressed == m_quit ) return_to_dashboard(); bHandled = TRUE; return S_OK; }
HRESULT CRetroArchMain::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) { xdk_d3d_video_t *vid = (xdk_d3d_video_t*)driver.video_data; bool hdmenus_allowed = g_extern.console.rmenu.state.rmenu_hd.enable; HRESULT hr; if ( hObjPressed == m_filebrowser ) { g_extern.console.rmenu.input_loop = INPUT_LOOP_FILEBROWSER; 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; NavigateForward(app.hFileBrowser); } else if ( hObjPressed == m_quick_menu) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_quickmenu.xur", NULL, &app.hQuickMenu); if (hr < 0) { RARCH_ERR("Failed to load scene.\n"); } hCur = app.hQuickMenu; NavigateForward(app.hQuickMenu); } else if ( hObjPressed == m_controls) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_controls.xur", NULL, &app.hControlsMenu); if (hr < 0) { RARCH_ERR("Failed to load scene.\n"); } hCur = app.hControlsMenu; if (g_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_CHANGE_CONTROLS, S_DELAY_180); NavigateForward(app.hControlsMenu); } else if ( hObjPressed == m_change_libretro_core ) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_libretrocore_browser.xur", NULL, &app.hCoreBrowser); if (hr < 0) { RARCH_ERR("Failed to load scene.\n"); } hCur = app.hCoreBrowser; if (g_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_SELECT_LIBRETRO_CORE, S_DELAY_180); NavigateForward(app.hCoreBrowser); } else if ( hObjPressed == m_settings ) { hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_settings.xur", NULL, &app.hRetroArchSettings); if (hr < 0) RARCH_ERR("Failed to load scene.\n"); hCur = app.hRetroArchSettings; NavigateForward(app.hRetroArchSettings); } else if ( hObjPressed == m_quit ) rarch_settings_change(S_QUIT_RARCH); bHandled = TRUE; return 0; }
HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) { xdk_d3d_video_t *device_ptr = (xdk_d3d_video_t*)driver.video_data; int current_index; HRESULT hr; if ( hObjPressed == m_settingslist) { current_index = m_settingslist.GetCurSel(); switch(current_index) { case SETTING_EMU_REWIND_ENABLED: rarch_settings_change(S_REWIND); m_settingslist.SetText(SETTING_EMU_REWIND_ENABLED, g_settings.rewind_enable ? L"Rewind: ON" : L"Rewind: OFF"); if (g_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180); break; case SETTING_EMU_SHOW_INFO_MSG: 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"); break; case SETTING_GAMMA_CORRECTION_ENABLED: g_extern.console.screen.gamma_correction = g_extern.console.screen.gamma_correction ? 0 : 1; m_settingslist.SetText(SETTING_GAMMA_CORRECTION_ENABLED, g_extern.console.screen.gamma_correction ? L"Gamma correction: ON" : L"Gamma correction: OFF"); if (g_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180); break; case SETTING_SHADER: set_shader = 1; hr = XuiSceneCreate(g_extern.console.rmenu.state.rmenu_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_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_SELECT_SHADER, S_DELAY_180); NavigateForward(app.hShaderBrowser); break; case SETTING_SHADER_2: set_shader = 2; hr = XuiSceneCreate(g_extern.console.rmenu.state.rmenu_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_extern.console.rmenu.state.msg_info.enable) rarch_settings_msg(S_MSG_SELECT_SHADER, S_DELAY_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"); 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"); break; case SETTING_SCALE_ENABLED: g_settings.video.render_to_texture = !g_settings.video.render_to_texture; m_settingslist.SetText(SETTING_SCALE_ENABLED, g_settings.video.render_to_texture ? L"Custom Scaling/Dual Shaders: ON" : L"Custom Scaling/Dual Shaders: OFF"); if(g_settings.video.render_to_texture) device_ptr->ctx_driver->set_fbo(FBO_INIT); else device_ptr->ctx_driver->set_fbo(FBO_DEINIT); break; case SETTING_ZIP_EXTRACT: if(g_extern.file_state.zip_extract_mode < ZIP_EXTRACT_TO_CACHE_DIR) g_extern.file_state.zip_extract_mode++; else g_extern.file_state.zip_extract_mode = 0; rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ZIP_EXTRACT, sizeof(strw_buffer)); m_settingslist.SetText(SETTING_ZIP_EXTRACT, strw_buffer); break; } } bHandled = TRUE; return 0; }
HRESULT CRetroArchSettings::OnNotifyPress( HXUIOBJ hObjPressed, int & bHandled ) { int current_index; HRESULT hr; if ( hObjPressed == m_settingslist) { current_index = m_settingslist.GetCurSel(); switch(current_index) { case SETTING_EMU_REWIND_ENABLED: rarch_settings_change(S_REWIND); m_settingslist.SetText(SETTING_EMU_REWIND_ENABLED, g_settings.rewind_enable ? L"Rewind: ON" : L"Rewind: OFF"); if (g_console.info_msg_enable) rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_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"); if(g_console.info_msg_enable) rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_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) rarch_settings_msg(S_MSG_RESTART_RARCH, S_DELAY_180); break; case SETTING_SHADER: set_shader = 1; 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) rarch_settings_msg(S_MSG_SELECT_SHADER, S_DELAY_180); NavigateForward(app.hShaderBrowser); break; case SETTING_SHADER_2: set_shader = 2; 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) rarch_settings_msg(S_MSG_SELECT_SHADER, S_DELAY_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"); 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"); 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; } } bHandled = TRUE; return 0; }