void UGameUserSettings::ApplyNonResolutionSettings() { ValidateSettings(); bool bIsDirty = IsDirty(); EWindowMode::Type NewWindowMode = GetFullscreenMode(); { IConsoleVariable* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.FullScreenMode")); CVar->Set(NewWindowMode); } // Update vsync cvar { auto CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.VSync")); CVar->Set(IsVSyncEnabled()); } // in init those are loaded earlier, after that we apply consolevariables.ini if(GEngine->IsInitialized()) { Scalability::SetQualityLevels(ScalabilityQuality); } IConsoleManager::Get().CallAllConsoleVariableSinks(); }
bool UGameUserSettings::IsFullscreenModeDirty() const { bool bIsDirty = false; if ( GEngine && GEngine->GameViewport && GEngine->GameViewport->ViewportFrame ) { EWindowMode::Type WindowMode = GEngine->GameViewport->IsFullScreenViewport() ? EWindowMode::Fullscreen : EWindowMode::Windowed; EWindowMode::Type CurrentFullscreenMode = GetWindowModeType(WindowMode); EWindowMode::Type NewFullscreenMode = GetFullscreenMode(); bIsDirty = (CurrentFullscreenMode != NewFullscreenMode) ? true : false; } return bIsDirty; }
void UGameUserSettings::ApplyResolutionSettings(bool bCheckForCommandLineOverrides) { #if UE_SERVER return; #endif ValidateSettings(); EWindowMode::Type NewFullscreenMode = GetFullscreenMode(); // Request a resolution change RequestResolutionChange(ResolutionSizeX, ResolutionSizeY, NewFullscreenMode, bCheckForCommandLineOverrides); IConsoleManager::Get().CallAllConsoleVariableSinks(); }
void UGameUserSettings::ApplyNonResolutionSettings() { ValidateSettings(); bool bIsDirty = IsDirty(); EWindowMode::Type NewWindowMode = GetFullscreenMode(); // Update vsync cvar { FString ConfigSection = TEXT("SystemSettings"); #if WITH_EDITOR if (GIsEditor) { ConfigSection = TEXT("SystemSettingsEditor"); } #endif int32 VSyncValue = 0; if (GConfig->GetInt(*ConfigSection, TEXT("r.Vsync"), VSyncValue, GEngineIni)) { // VSync was already set by system settings. We are capable of setting it here. } else { static auto CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.VSync")); CVar->Set(IsVSyncEnabled(), ECVF_SetByGameSetting); } } if (!IsRunningDedicatedServer()) { // Update MaxFPS cvar static IConsoleVariable* MaxFPSCVar = IConsoleManager::Get().FindConsoleVariable(TEXT("t.MaxFPS")); if (ensure(MaxFPSCVar) && (FrameRateLimit >= 0.0f)) { MaxFPSCVar->Set(FrameRateLimit, ECVF_SetByGameSetting); } } // in init those are loaded earlier, after that we apply consolevariables.ini if(GEngine->IsInitialized()) { Scalability::SetQualityLevels(ScalabilityQuality); } IConsoleManager::Get().CallAllConsoleVariableSinks(); }
void UGameUserSettings::ApplyResolutionSettings(bool bCheckForCommandLineOverrides) { ValidateSettings(); EWindowMode::Type NewFullscreenMode = GetFullscreenMode(); { IConsoleVariable* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.FullScreenMode")); CVar->Set(NewFullscreenMode); } // Request a resolution change RequestResolutionChange(ResolutionSizeX, ResolutionSizeY, NewFullscreenMode, bCheckForCommandLineOverrides); IConsoleManager::Get().CallAllConsoleVariableSinks(); SaveSettings(); }