Beispiel #1
0
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();
}
Beispiel #3
0
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);
        }
    }

}