static void* rmenu_xui_init(void) { HRESULT hr; TypefaceDescriptor typeface = {0}; menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu)); if (!menu) return NULL; d3d_video_t *d3d= (d3d_video_t*)driver.video_data; bool hdmenus_allowed = (g_extern.lifecycle_state & (1ULL << MODE_MENU_HD)); if (hdmenus_allowed) RARCH_LOG("HD menus enabled.\n"); D3DPRESENT_PARAMETERS d3dpp; video_info_t video_info = {0}; video_info.vsync = g_settings.video.vsync; video_info.force_aspect = false; video_info.smooth = g_settings.video.smooth; video_info.input_scale = 2; video_info.fullscreen = true; video_info.rgb32 = false; d3d_make_d3dpp(d3d, &video_info, &d3dpp); hr = app.InitShared(d3d->dev, &d3dpp, XuiPNGTextureLoader); if (FAILED(hr)) { RARCH_ERR("Failed initializing XUI application.\n"); goto error; } /* Register font */ typeface.szTypeface = L"Arial Unicode MS"; typeface.szLocator = L"file://game:/media/rarch.ttf"; typeface.szReserved1 = NULL; hr = XuiRegisterTypeface( &typeface, TRUE ); if (FAILED(hr)) { RARCH_ERR("Failed to register default typeface.\n"); goto error; } hr = XuiLoadVisualFromBinary( L"file://game:/media/rarch_scene_skin.xur", NULL); if (FAILED(hr)) { RARCH_ERR("Failed to load skin.\n"); goto error; } hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_main.xur", NULL, &root_menu); if (FAILED(hr)) { RARCH_ERR("Failed to create scene 'rarch_main.xur'.\n"); goto error; } current_menu = root_menu; hr = XuiSceneNavigateFirst(app.GetRootObj(), current_menu, XUSER_INDEX_FOCUS); if (FAILED(hr)) { RARCH_ERR("XuiSceneNavigateFirst failed.\n"); goto error; } if (driver.video_data && driver.video_poke && driver.video_poke->set_texture_enable) driver.video_poke->set_texture_frame(driver.video_data, NULL, true, 0, 0, 1.0f); xui_msg_queue = msg_queue_new(16); return menu; error: free(menu); return NULL; }
static void* xui_init(void **userdata, bool video_is_threaded) { HRESULT hr; d3d9_video_t *d3d = NULL; D3DPRESENT_PARAMETERS d3dpp = {0}; video_info_t video_info = {0}; TypefaceDescriptor typeface = {0}; settings_t *settings = config_get_ptr(); menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu)); if (!menu) return NULL; d3d = (d3d9_video_t*)video_driver_get_ptr(false); if (d3d->resolution_hd_enable) RARCH_LOG("HD menus enabled.\n"); video_info.vsync = settings->bools.video_vsync; video_info.force_aspect = false; video_info.smooth = settings->bools.video_smooth; video_info.input_scale = 2; video_info.fullscreen = true; video_info.rgb32 = false; d3d9_make_d3dpp(d3d, &video_info, &d3dpp); hr = app.InitShared((D3DDevice*)d3d->dev, &d3dpp, (PFN_XUITEXTURELOADER)XuiTextureLoader); if (FAILED(hr)) { RARCH_ERR("Failed initializing XUI application.\n"); goto error; } /* Register font */ typeface.szTypeface = L"Arial Unicode MS"; typeface.szLocator = L"file://game:/media/rarch.ttf"; typeface.szReserved1 = NULL; hr = XuiRegisterTypeface( &typeface, TRUE ); if (FAILED(hr)) { RARCH_ERR("Failed to register default typeface.\n"); goto error; } hr = XuiLoadVisualFromBinary( L"file://game:/media/rarch_scene_skin.xur", NULL); if (FAILED(hr)) { RARCH_ERR("Failed to load skin.\n"); goto error; } hr = XuiSceneCreate(d3d->resolution_hd_enable ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_main.xur", NULL, &root_menu); if (FAILED(hr)) { RARCH_ERR("Failed to create scene 'rarch_main.xur'.\n"); goto error; } current_menu = root_menu; hr = XuiSceneNavigateFirst(app.GetRootObj(), current_menu, XUSER_INDEX_FOCUS); if (FAILED(hr)) { RARCH_ERR("XuiSceneNavigateFirst failed.\n"); goto error; } video_driver_set_texture_frame(NULL, true, 0, 0, 1.0f); xui_msg_queue = msg_queue_new(16); return menu; error: free(menu); return NULL; }
static void* rgui_init (void) { HRESULT hr; rgui_handle_t *rgui = (rgui_handle_t*)calloc(1, sizeof(*rgui)); if (rgui == NULL) { RARCH_ERR("Could not allocate RGUI handle.\n"); return NULL; } xdk_d3d_video_t *device_ptr = (xdk_d3d_video_t*)driver.video_data; bool hdmenus_allowed = (g_extern.lifecycle_mode_state & (1ULL << MODE_MENU_HD)); if (hdmenus_allowed) RARCH_LOG("HD menus enabled.\n"); D3DPRESENT_PARAMETERS d3dpp; video_info_t video_info = {0}; video_info.vsync = g_settings.video.vsync; video_info.force_aspect = false; video_info.smooth = g_settings.video.smooth; video_info.input_scale = 2; video_info.fullscreen = true; video_info.rgb32 = false; xdk_d3d_generate_pp(&d3dpp, &video_info); hr = app.InitShared(device_ptr->d3d_render_device, &d3dpp, XuiPNGTextureLoader); if (hr != S_OK) { RARCH_ERR("Failed initializing XUI application.\n"); free(rgui); return NULL; } /* Register font */ TypefaceDescriptor typeface = {0}; typeface.szTypeface = L"Arial Unicode MS"; typeface.szLocator = L"file://game:/media/rarch.ttf"; typeface.szReserved1 = NULL; hr = XuiRegisterTypeface( &typeface, TRUE ); if (hr != S_OK) { RARCH_ERR("Failed to register default typeface.\n"); free(rgui); return NULL; } hr = XuiLoadVisualFromBinary( L"file://game:/media/rarch_scene_skin.xur", NULL); if (hr != S_OK) { RARCH_ERR("Failed to load skin.\n"); free(rgui); return NULL; } hr = XuiSceneCreate(hdmenus_allowed ? L"file://game:/media/hd/" : L"file://game:/media/sd/", L"rarch_main.xur", NULL, &root_menu); if (hr != S_OK) { RARCH_ERR("Failed to create scene 'rarch_main.xur'.\n"); free(rgui); return NULL; } current_menu = root_menu; hr = XuiSceneNavigateFirst(app.GetRootObj(), current_menu, XUSER_INDEX_FOCUS); if (hr != S_OK) { RARCH_ERR("XuiSceneNavigateFirst failed.\n"); free(rgui); return NULL; } if (driver.video_poke && driver.video_poke->set_texture_enable) driver.video_poke->set_texture_frame(driver.video_data, NULL, true, 0, 0, 1.0f); return rgui; }