void UGameUserSettings::SetToDefaults() { ResolutionSizeX = LastUserConfirmedResolutionSizeX = GetDefaultResolution().X; ResolutionSizeY = LastUserConfirmedResolutionSizeY = GetDefaultResolution().Y; WindowPosX = GetDefaultWindowPosition().X; WindowPosY = GetDefaultWindowPosition().Y; FullscreenMode = GetDefaultWindowMode(); ScalabilityQuality.SetDefaults(); }
void UGameUserSettings::PreloadResolutionSettings() { // Note: This preloads resolution settings without loading the user settings object. // When changing this code care must be taken to ensure the window starts at the same resolution as the in game resolution LoadConfigIni(); FString ScriptEngineCategory = TEXT("/Script/Engine.Engine"); FString GameUserSettingsCategory = TEXT("/Script/Engine.GameUserSettings"); GConfig->GetString(*ScriptEngineCategory, TEXT("GameUserSettingsClassName"), GameUserSettingsCategory, GEngineIni); int32 ResolutionX = GetDefaultResolution().X; int32 ResolutionY = GetDefaultResolution().Y; EWindowMode::Type WindowMode = GetDefaultWindowMode(); bool bUseDesktopResolution = false; int32 Version=0; if( GConfig->GetInt(*GameUserSettingsCategory, TEXT("Version"), Version, GGameUserSettingsIni ) && Version == UE_GAMEUSERSETTINGS_VERSION ) { GConfig->GetBool(*GameUserSettingsCategory, TEXT("bUseDesktopResolution"), bUseDesktopResolution, GGameUserSettingsIni ); int32 WindowModeInt = (int32)WindowMode; GConfig->GetInt(*GameUserSettingsCategory, TEXT("FullscreenMode"), WindowModeInt, GGameUserSettingsIni); WindowMode = EWindowMode::ConvertIntToWindowMode(WindowModeInt); GConfig->GetInt(*GameUserSettingsCategory, TEXT("ResolutionSizeX"), ResolutionX, GGameUserSettingsIni); GConfig->GetInt(*GameUserSettingsCategory, TEXT("ResolutionSizeY"), ResolutionY, GGameUserSettingsIni); #if PLATFORM_DESKTOP if (bUseDesktopResolution && ResolutionX == 0 && ResolutionY == 0 && WindowMode != EWindowMode::Windowed) { // Grab display metrics so we can get the primary display output size. FDisplayMetrics DisplayMetrics; FDisplayMetrics::GetDisplayMetrics(DisplayMetrics); ResolutionX = DisplayMetrics.PrimaryDisplayWidth; ResolutionY = DisplayMetrics.PrimaryDisplayHeight; } #endif } { auto CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.FullScreenMode")); CVar->Set((int32)WindowMode); } RequestResolutionChange(ResolutionX, ResolutionY, WindowMode, false); IConsoleManager::Get().CallAllConsoleVariableSinks(); }
static void SsParameter(void) { AV_PORT port; BOOLEAN reserve; HD_RESOLUTION resolution; HD_RESOLUTION valid_resolution; HD_RESOLUTION invalid_resolution; VIDEO_SCAN_MODE scan_mode; ULONG cnt; CTINewSubset(MyTest, "Parameter"); /***************************************************************************** * SUBSET : Parameter * TESTCASE : A * * Check the HDIReserveHDPortXt function. ******************************************************************************/ CTINewTestcase(MyTest, "A"); /* Invalid port */ port = (AV_PORT)5; reserve = TRUE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, PARAMETER_ERROR, __LINE__, "HDIReserveHDPortXt", NULL); /* Reserve AV port */ port = default_port; reserve = TRUE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); /* Call HDIReserveHDPortXt again for the port which was already reserved.*/ port = default_port; reserve = TRUE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); /* Unreserve AV port */ port = default_port; reserve = FALSE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); /***************************************************************************** * SUBSET : Parameter * TESTCASE : B * * Check the HDISetHDResolutionXt function. ******************************************************************************/ CTINewTestcase(MyTest, "B"); GetDefaultResolution(&valid_resolution, &invalid_resolution); /* Invalid port */ port = (AV_PORT)5; resolution = valid_resolution; scan_mode = PROGRESSIVE; Stat = HDISetHDResolutionXt(decoder, port, &resolution, scan_mode); CTLAssertStatEx(MyTest, Stat, PARAMETER_ERROR, __LINE__, "HDISetHDResolutionXt", NULL); /* each av port is not reserved */ for(cnt = (int)DVI; cnt < (int)SD; cnt++) { if (port_array[cnt].supported == TRUE) { port = port_array[cnt].port; resolution = valid_resolution; scan_mode = PROGRESSIVE; Stat = HDISetHDResolutionXt(decoder, port, &resolution, scan_mode); CTLAssertStatEx(MyTest, Stat, PORT_ERROR, __LINE__, "HDISetHDResolutionXt", NULL); } } /* Set invalid resolution of video decoder for each port */ for(cnt = (int)DVI; cnt < (int)SD; cnt++) { if (port_array[cnt].supported == TRUE) { port = port_array[cnt].port; resolution = invalid_resolution; scan_mode = PROGRESSIVE; reserve = TRUE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); Stat = HDISetHDResolutionXt(decoder, port, &resolution, scan_mode); CTLAssertStatEx(MyTest, Stat, HARDWARE_RESTRICTION, __LINE__, "HDISetHDResolutionXt", NULL); reserve = FALSE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); } } /* Set NULL in pointer of resolution parameter for each decoder and each port */ for(cnt = (int)DVI; cnt< (int)SD; cnt++) { if (port_array[cnt].supported == TRUE) { port = port_array[cnt].port; scan_mode = PROGRESSIVE; reserve = TRUE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); Stat = HDISetHDResolutionXt(decoder, port, NULL, scan_mode); CTLAssertStatEx(MyTest, Stat, PARAMETER_ERROR, __LINE__, "HDISetHDResolutionXt", NULL); reserve = FALSE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); } } /* Set invalid scan mdoe of video decoder for each port */ for(cnt = (int)DVI; cnt < (int)SD; cnt++) { if (port_array[cnt].supported == TRUE) { port = port_array[cnt].port; resolution = valid_resolution; scan_mode = (VIDEO_SCAN_MODE)2; reserve = TRUE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); Stat = HDISetHDResolutionXt(decoder, port, &resolution, scan_mode); CTLAssertStatEx(MyTest, Stat, PARAMETER_ERROR, __LINE__, "HDISetHDResolutionXt", NULL); reserve = FALSE; Stat = HDIReserveHDPortXt(decoder, port, reserve); CTLAssertStatEx(MyTest, Stat, OK, __LINE__, "HDIReserveHDPortXt", NULL); } } }