12 BaseContainer displayUserSettings = engineUserSettings.GetModule(
"DisplayUserSettings");
13 UserSettings videoUserSettings = engineUserSettings.GetModule(
"VideoUserSettings");
14 BaseContainer videoSettings =
game.GetGameUserSettings().GetModule(
"SCR_VideoSettings");
16 if (!displayUserSettings || !videoUserSettings || !videoSettings)
19 if (presetIndex == EVideoQualityPreset.SERIES_S_PRESET_QUALITY)
21 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.SERIES_S_PRESET_QUALITY);
22 videoUserSettings.Set(
"ResolutionScale", 0.7);
23 videoUserSettings.Set(
"Fsaa", 2);
24 videoSettings.Set(
"m_bNearDofEffect",
false);
26 videoUserSettings.Set(
"MaxFps", 30);
27 videoUserSettings.Set(
"Vsync",
true);
28 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.SERIES_S_PRESET_QUALITY);
30 else if (presetIndex == EVideoQualityPreset.SERIES_S_PRESET_PERFORMANCE)
32 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.SERIES_S_PRESET_PERFORMANCE);
33 videoUserSettings.Set(
"ResolutionScale", 0.60);
34 videoUserSettings.Set(
"Fsaa", 0);
35 videoSettings.Set(
"m_bNearDofEffect",
false);
37 videoUserSettings.Set(
"MaxFps", 60);
38 videoUserSettings.Set(
"Vsync",
true);
39 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.SERIES_S_PRESET_PERFORMANCE);
41 else if (presetIndex == EVideoQualityPreset.SERIES_X_PRESET_QUALITY)
43 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.SERIES_X_PRESET_QUALITY);
44 videoUserSettings.Set(
"ResolutionScale", 0.75);
45 videoUserSettings.Set(
"Fsaa", 2);
46 videoSettings.Set(
"m_bNearDofEffect",
false);
48 videoUserSettings.Set(
"MaxFps", 30);
49 videoUserSettings.Set(
"Vsync",
true);
50 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.SERIES_X_PRESET_QUALITY);
52 else if (presetIndex == EVideoQualityPreset.SERIES_X_PRESET_PERFORMANCE)
54 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.SERIES_X_PRESET_PERFORMANCE);
55 videoUserSettings.Set(
"ResolutionScale", 0.50);
56 videoUserSettings.Set(
"Fsaa", 2);
57 videoSettings.Set(
"m_bNearDofEffect",
false);
59 videoUserSettings.Set(
"MaxFps", 60);
60 videoUserSettings.Set(
"Vsync",
true);
61 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.SERIES_X_PRESET_PERFORMANCE);
63 else if (presetIndex == EVideoQualityPreset.PS5_QUALITY)
65 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.PS5_QUALITY);
67 videoUserSettings.Set(
"Fsaa", 2);
68 videoSettings.Set(
"m_bNearDofEffect",
false);
70 videoUserSettings.Set(
"MaxFps", 30);
71 videoUserSettings.Set(
"Vsync",
true);
72 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.PS5_QUALITY);
74 else if (presetIndex == EVideoQualityPreset.PS5_PERFORMANCE)
76 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.PS5_PERFORMANCE);
78 videoUserSettings.Set(
"Fsaa", 2);
79 videoSettings.Set(
"m_bNearDofEffect",
false);
81 videoUserSettings.Set(
"MaxFps", 60);
82 videoUserSettings.Set(
"Vsync",
true);
83 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.PS5_PERFORMANCE);
85 else if (presetIndex == EVideoQualityPreset.PS5_PRO_QUALITY)
87 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.PS5_PRO_QUALITY);
89 videoUserSettings.Set(
"Fsaa", 2);
90 videoSettings.Set(
"m_bNearDofEffect",
false);
92 videoUserSettings.Set(
"MaxFps", 30);
93 videoUserSettings.Set(
"Vsync",
true);
94 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.PS5_PRO_QUALITY);
96 else if (presetIndex == EVideoQualityPreset.PS5_PRO_PERFORMANCE)
98 displayUserSettings.Set(
"OverallQuality", EVideoQualityPreset.PS5_PRO_PERFORMANCE);
100 videoUserSettings.Set(
"Fsaa", 2);
101 videoSettings.Set(
"m_bNearDofEffect",
false);
103 videoUserSettings.Set(
"MaxFps", 60);
104 videoUserSettings.Set(
"Vsync",
true);
105 videoSettings.Set(
"m_iLastUsedPreset", EVideoQualityPreset.PS5_PRO_PERFORMANCE);
108 GetGame().ApplySettingsPreset();
109 GetGame().UserSettingsChanged();
123 if (!engineUserSettings)
126 UserSettings videoUserSettings = engineUserSettings.GetModule(
"VideoUserSettings");
127 if (!videoUserSettings)
130 float resolutionScale;
133 System.GetNativeResolution(width, height);
134 SCR_EResolutionName resolution =
SCR_SystemHelper.GetResolutionName(width, height);
136 if (resolution == SCR_EResolutionName.E1080p || (resolution == SCR_EResolutionName.E1440p && preset != EVideoQualityPreset.PS5_PERFORMANCE))
138 videoUserSettings.Set(
"ResolutionScale", 1);
141 else if (resolution == SCR_EResolutionName.E1440p && preset == EVideoQualityPreset.PS5_PERFORMANCE)
143 videoUserSettings.Set(
"ResolutionScale", 0.75);
149 case EVideoQualityPreset.PS5_PERFORMANCE:
150 resolutionScale = 0.5;
152 case EVideoQualityPreset.PS5_QUALITY:
153 resolutionScale = 0.75;
155 case EVideoQualityPreset.PS5_PRO_PERFORMANCE:
156 resolutionScale = 0.6666;
158 case EVideoQualityPreset.PS5_PRO_QUALITY:
159 resolutionScale = 0.9;
163 videoUserSettings.Set(
"ResolutionScale",resolutionScale);