示例#1
0
HRESULT CRetroArchMain::OnInit(XUIMessageInit * pInitData, BOOL& bHandled)
{
   struct retro_system_info info;
   retro_get_system_info(&info);
   const char *id = info.library_name ? info.library_name : "Unknown";

   GetChildById(L"XuiLogo", &m_logoimage);
   GetChildById(L"XuiBtnRomBrowser", &m_filebrowser);
   GetChildById(L"XuiBtnSettings", &m_settings);
   GetChildById(L"XuiBtnQuickMenu", &m_quick_menu);
   GetChildById(L"XuiBtnControls", &m_controls);
   GetChildById(L"XuiBtnQuit", &m_quit);
   GetChildById(L"XuiTxtTitle", &m_title);
   GetChildById(L"XuiTxtCoreText", &m_core);
   GetChildById(L"XuiBtnLibretroCore", &m_change_libretro_core);

   char core_text[256];
   snprintf(core_text, sizeof(core_text), "%s %s", id, info.library_version);

   convert_char_to_wchar(strw_buffer, core_text, sizeof(strw_buffer));
   m_core.SetText(strw_buffer);
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_RARCH_VERSION, sizeof(strw_buffer));
   m_title.SetText(strw_buffer);

   g_extern.console.rmenu.input_loop = INPUT_LOOP_NONE;

   return 0;
}
示例#2
0
HRESULT CRetroArchQuickMenu::OnInit(XUIMessageInit * pInitData, BOOL& bHandled)
{
   GetChildById(L"XuiQuickMenuList", &m_quickmenulist);
   GetChildById(L"XuiBackButton", &m_back);

   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
   m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);

   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer));
   m_quickmenulist.SetText(MENU_ITEM_KEEP_ASPECT_RATIO, strw_buffer);

   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_LOAD_STATE_SLOT, sizeof(strw_buffer));
   m_quickmenulist.SetText(MENU_ITEM_LOAD_STATE, strw_buffer);

   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SAVE_STATE_SLOT, sizeof(strw_buffer));
   m_quickmenulist.SetText(MENU_ITEM_SAVE_STATE, strw_buffer);

   return 0;
}
示例#3
0
HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled)
{
   GetChildById(L"XuiSettingsList", &m_settingslist);
   GetChildById(L"XuiBackButton", &m_back);

   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");
   m_settingslist.SetText(SETTING_SCALE_ENABLED, g_console.fbo_enabled ? L"Custom Scaling/Dual Shaders: ON" : L"Custom Scaling/Dual Shaders: OFF");
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SHADER, sizeof(strw_buffer));
   m_settingslist.SetText(SETTING_SHADER, strw_buffer);
   m_settingslist.SetText(SETTING_COLOR_FORMAT, g_console.color_format ? L"Color format: 32bit ARGB" : L"Color format: 16bit RGBA");
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SHADER_2, sizeof(strw_buffer));
   m_settingslist.SetText(SETTING_SHADER_2, strw_buffer);
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
   m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer);

   return 0;
}
示例#4
0
HRESULT CRetroArchSettings::OnInit(XUIMessageInit * pInitData, BOOL& bHandled)
{
   GetChildById(L"XuiSettingsList", &m_settingslist);
   GetChildById(L"XuiBackButton", &m_back);

   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");
   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_SCALE_ENABLED, g_settings.video.render_to_texture ? L"Custom Scaling/Dual Shaders: ON" : L"Custom Scaling/Dual Shaders: OFF");
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SHADER, sizeof(strw_buffer));
   m_settingslist.SetText(SETTING_SHADER, strw_buffer);
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SHADER_2, sizeof(strw_buffer));
   m_settingslist.SetText(SETTING_SHADER_2, strw_buffer);
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
   m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer);
   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ZIP_EXTRACT, sizeof(strw_buffer));
   m_settingslist.SetText(SETTING_ZIP_EXTRACT, strw_buffer);

   return 0;
}
示例#5
0
HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed,  int & bHandled )
{
   xdk_d3d_video_t *device_ptr = (xdk_d3d_video_t*)driver.video_data;
   int current_index;

   if ( hObjPressed == m_quickmenulist)
   {
      current_index = m_quickmenulist.GetCurSel();

      switch(current_index)
      {
         case MENU_ITEM_LOAD_STATE:
            if (g_extern.console.emulator_initialized)
            {
               rarch_load_state();
               rarch_settings_change(S_RETURN_TO_GAME);
            }
            break;
         case MENU_ITEM_SAVE_STATE:
            if (g_extern.console.emulator_initialized)
            {
               rarch_save_state();
               rarch_settings_change(S_RETURN_TO_GAME);
            }
            break;
         case MENU_ITEM_KEEP_ASPECT_RATIO:
            rarch_settings_default(S_DEF_ASPECT_RATIO);
            driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
            rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer));
            m_quickmenulist.SetText(MENU_ITEM_KEEP_ASPECT_RATIO, strw_buffer);
            break;
         case MENU_ITEM_OVERSCAN_AMOUNT:
            if (g_extern.console.rmenu.state.msg_info.enable)
               rarch_settings_msg(S_MSG_NOT_IMPLEMENTED, S_DELAY_180);
            break;
         case MENU_ITEM_ORIENTATION:
            rarch_settings_default(S_DEF_ROTATION);
            rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
            m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
            video_xdk_d3d.set_rotation(driver.video_data, g_extern.console.screen.orientation);
            break;
         case MENU_ITEM_RESIZE_MODE:
            g_extern.console.rmenu.input_loop = INPUT_LOOP_RESIZE_MODE;

            if (g_extern.console.rmenu.state.msg_info.enable)
               rarch_settings_msg(S_MSG_RESIZE_SCREEN, S_DELAY_270);
            break;
         case MENU_ITEM_FRAME_ADVANCE:
            if (g_extern.console.emulator_initialized)
            {
               g_extern.lifecycle_state |= (1ULL << RARCH_FRAMEADVANCE);
               rarch_settings_change(S_FRAME_ADVANCE);
            }
            break;
         case MENU_ITEM_SCREENSHOT_MODE:
            if (g_extern.console.rmenu.state.msg_info.enable)
               device_ptr->ctx_driver->rmenu_screenshot_dump(NULL);
            break;
         case MENU_ITEM_RESET:
            if (g_extern.console.emulator_initialized)
            {
               rarch_settings_change(S_RETURN_TO_GAME);
               rarch_game_reset();
            }
            break;
         case MENU_ITEM_RETURN_TO_GAME:
            if (g_extern.console.emulator_initialized)
               rarch_settings_change(S_RETURN_TO_GAME);
            break;
         case MENU_ITEM_QUIT_RARCH:
            rarch_settings_change(S_QUIT_RARCH);
            break;
      }
   }

   bHandled = TRUE;

   return 0;
}
示例#6
0
HRESULT CRetroArchQuickMenu::OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled)
{
   bool aspectratio_changed = false;
   int current_index;
   xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;

   current_index = m_quickmenulist.GetCurSel();

   switch(pControlNavigateData->nControlNavigate)
   {
      case XUI_CONTROL_NAVIGATE_LEFT:
         switch(current_index)
         {
            case MENU_ITEM_LOAD_STATE:
            case MENU_ITEM_SAVE_STATE:
               rarch_state_slot_decrease();
               rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_LOAD_STATE_SLOT, sizeof(strw_buffer));
               m_quickmenulist.SetText(MENU_ITEM_LOAD_STATE, strw_buffer);
               rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SAVE_STATE_SLOT, sizeof(strw_buffer));
               m_quickmenulist.SetText(MENU_ITEM_SAVE_STATE, strw_buffer);
               break;
            case MENU_ITEM_KEEP_ASPECT_RATIO:
               rarch_settings_change(S_ASPECT_RATIO_DECREMENT);
               aspectratio_changed = true;
               break;
            case MENU_ITEM_ORIENTATION:
               rarch_settings_change(S_ROTATION_DECREMENT);
               rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
               m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
               video_xdk_d3d.set_rotation(driver.video_data, g_extern.console.screen.orientation);
               break;
            default:
               break;
         }
         break;
      case XUI_CONTROL_NAVIGATE_RIGHT:
         switch(current_index)
         {
            case MENU_ITEM_LOAD_STATE:
            case MENU_ITEM_SAVE_STATE:
               rarch_state_slot_increase();
               rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_LOAD_STATE_SLOT, sizeof(strw_buffer));
               m_quickmenulist.SetText(MENU_ITEM_LOAD_STATE, strw_buffer);
               rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SAVE_STATE_SLOT, sizeof(strw_buffer));
               m_quickmenulist.SetText(MENU_ITEM_SAVE_STATE, strw_buffer);
               break;
            case MENU_ITEM_KEEP_ASPECT_RATIO:
               rarch_settings_change(S_ASPECT_RATIO_INCREMENT);
               aspectratio_changed = true;
               break;
            case MENU_ITEM_ORIENTATION:
               rarch_settings_change(S_ROTATION_INCREMENT);
               rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
               m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
               video_xdk_d3d.set_rotation(driver.video_data, g_extern.console.screen.orientation);
               break;
            default:
               break;
         }
         break;
      case XUI_CONTROL_NAVIGATE_UP:
      case XUI_CONTROL_NAVIGATE_DOWN:
         break;
   }

   if(aspectratio_changed)
   {
      driver.video->set_aspect_ratio(driver.video_data, g_settings.video.aspect_ratio_idx);
      rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer));
      m_quickmenulist.SetText(MENU_ITEM_KEEP_ASPECT_RATIO, strw_buffer);
   }

   bHandled = TRUE;

   switch(pControlNavigateData->nControlNavigate)
   {
      case XUI_CONTROL_NAVIGATE_LEFT:
      case XUI_CONTROL_NAVIGATE_RIGHT:
      case XUI_CONTROL_NAVIGATE_UP:
      case XUI_CONTROL_NAVIGATE_DOWN:
         pControlNavigateData->hObjDest = pControlNavigateData->hObjSource;
         break;
      default:
         break;
   }

   return 0;
}
示例#7
0
HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled)
{
   int current_index;
   xdk_d3d_video_t *device_ptr = (xdk_d3d_video_t*)driver.video_data;

   current_index = m_settingslist.GetCurSel();

   switch(pControlNavigateData->nControlNavigate)
   {
      case XUI_CONTROL_NAVIGATE_LEFT:
         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_SCALE_FACTOR:
               if(device_ptr->fbo_inited)
               {
                  if((g_settings.video.fbo.scale_x > MIN_SCALING_FACTOR))
                  {
                     rarch_settings_change(S_SCALE_FACTOR_DECREMENT);
                     device_ptr->ctx_driver->set_fbo(FBO_REINIT);
                     rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
                     m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer);
                  }
               }
               break;
            case SETTING_ZIP_EXTRACT:
               if(g_extern.file_state.zip_extract_mode)
                  g_extern.file_state.zip_extract_mode--;
               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;
            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;
            default:
               break;
         }
         break;
      case XUI_CONTROL_NAVIGATE_RIGHT:
         switch(current_index)
         {
            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_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_SCALE_FACTOR:
               if(device_ptr->fbo_inited)
               {
                  if((g_settings.video.fbo.scale_x < MAX_SCALING_FACTOR))
                  {
                     rarch_settings_change(S_SCALE_FACTOR_INCREMENT);
                     device_ptr->ctx_driver->set_fbo(FBO_REINIT);
                     rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
                     m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer);
                  }
               }
               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++;
               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;
            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;
            default:
               break;
         }
         break;
      case XUI_CONTROL_NAVIGATE_UP:
      case XUI_CONTROL_NAVIGATE_DOWN:
         break;
   }

   bHandled = TRUE;

   switch(pControlNavigateData->nControlNavigate)
   {
      case XUI_CONTROL_NAVIGATE_LEFT:
      case XUI_CONTROL_NAVIGATE_RIGHT:
      case XUI_CONTROL_NAVIGATE_UP:
      case XUI_CONTROL_NAVIGATE_DOWN:
         pControlNavigateData->hObjDest = pControlNavigateData->hObjSource;
         break;
      default:
         break;
   }

   return 0;
}
示例#8
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;
}
示例#9
0
HRESULT CRetroArchQuickMenu::OnNotifyPress( HXUIOBJ hObjPressed,  int & bHandled )
{
   xdk360_video_t *d3d9 = (xdk360_video_t*)driver.video_data;
   int current_index;

   if ( hObjPressed == m_quickmenulist)
   {
      current_index = m_quickmenulist.GetCurSel();

      switch(current_index)
      {
         case MENU_ITEM_LOAD_STATE:
            if (g_console.emulator_initialized)
            {
               rarch_load_state();
               rarch_settings_change(S_RETURN_TO_GAME);
            }
            break;
	 case MENU_ITEM_SAVE_STATE:
	    if (g_console.emulator_initialized)
	    {
           rarch_save_state();
           rarch_settings_change(S_RETURN_TO_GAME);
	    }
	    break;
	 case MENU_ITEM_KEEP_ASPECT_RATIO:
	    {
           rarch_settings_default(S_DEF_ASPECT_RATIO);

	       gfx_ctx_set_aspect_ratio(d3d9, g_console.aspect_ratio_index);
		   rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ASPECT_RATIO, sizeof(strw_buffer));
	       m_quickmenulist.SetText(MENU_ITEM_KEEP_ASPECT_RATIO, strw_buffer);
	    }
	    break;
	 case MENU_ITEM_OVERSCAN_AMOUNT:
        if(g_console.info_msg_enable)
           rarch_settings_msg(S_MSG_NOT_IMPLEMENTED, S_DELAY_180);
	    break;
	 case MENU_ITEM_ORIENTATION:
        rarch_settings_default(S_DEF_ROTATION);
        rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_ROTATION, sizeof(strw_buffer));
        m_quickmenulist.SetText(MENU_ITEM_ORIENTATION, strw_buffer);
	    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;
	    if (g_console.info_msg_enable)
           rarch_settings_msg(S_MSG_RESIZE_SCREEN, S_DELAY_270);
	    break;
	 case MENU_ITEM_FRAME_ADVANCE:
	    if (g_console.emulator_initialized)
               rarch_settings_change(S_FRAME_ADVANCE);
	    break;
	 case MENU_ITEM_SCREENSHOT_MODE:
	    if (g_console.info_msg_enable)
           rarch_settings_msg(S_MSG_NOT_IMPLEMENTED, S_DELAY_180);
	    break;
	 case MENU_ITEM_RESET:
	    if (g_console.emulator_initialized)
	    {
           rarch_settings_change(S_RETURN_TO_GAME);
           rarch_game_reset();
	    }
	    break;
	 case MENU_ITEM_RETURN_TO_GAME:
	    if (g_console.emulator_initialized)
               rarch_settings_change(S_RETURN_TO_GAME);
	    break;
	 case MENU_ITEM_RETURN_TO_DASHBOARD:
	    rarch_settings_change(S_RETURN_TO_DASHBOARD);
	    break;
      }
   }

   bHandled = TRUE;

   return 0;
}
示例#10
0
HRESULT CRetroArchSettings::OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled)
{
   int current_index;
   xdk360_video_t *vid = (xdk360_video_t*)driver.video_data;
   
   current_index = m_settingslist.GetCurSel();

   switch(pControlNavigateData->nControlNavigate)
   {
      case XUI_CONTROL_NAVIGATE_LEFT:
         switch(current_index)
         {
            case SETTING_SCALE_FACTOR:
               if(vid->fbo_enabled)
               {
                  if((g_settings.video.fbo_scale_x > MIN_SCALING_FACTOR))
                  {
                     rarch_settings_change(S_SCALE_FACTOR_DECREMENT);
                     //xdk360_gfx_init_fbo(vid);
                     rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
                     m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer);
                  }
               }
            default:
               break;
         }
         break;
    case XUI_CONTROL_NAVIGATE_RIGHT:
        switch(current_index)
        {
            case SETTING_SCALE_FACTOR:
                if(vid->fbo_enabled)
                {
                   if((g_settings.video.fbo_scale_x < MAX_SCALING_FACTOR))
                   {
                       rarch_settings_change(S_SCALE_FACTOR_INCREMENT);
                       //xdk360_gfx_init_fbo(vid);
                       rarch_settings_create_menu_item_label_w(strw_buffer, S_LBL_SCALE_FACTOR, sizeof(strw_buffer));
                       m_settingslist.SetText(SETTING_SCALE_FACTOR, strw_buffer);
                   }
                }
            default:
                break;
        }
        break;
    case XUI_CONTROL_NAVIGATE_UP:
    case XUI_CONTROL_NAVIGATE_DOWN:
        break;
   }

    bHandled = TRUE;
	
    switch(pControlNavigateData->nControlNavigate)
	{
       case XUI_CONTROL_NAVIGATE_LEFT:
       case XUI_CONTROL_NAVIGATE_RIGHT:
       case XUI_CONTROL_NAVIGATE_UP:
       case XUI_CONTROL_NAVIGATE_DOWN:
          pControlNavigateData->hObjDest = pControlNavigateData->hObjSource;
          break;
    }

	return 0;
}