5#include "CoreMinimal.h"
7#include "UObject/NoExportTypes.h"
8#include "GameFramework/GameUserSettings.h"
9#include "SaveManager.generated.h"
11#define MINIMUM_INPUT_SCALE 0.1f
12#define MAXIMUM_INPUT_SCALE 5.0f
13#define DEFAULT_INPUT_SCALE_X 2.5f
14#define DEFAULT_INPUT_SCALE_Y 1.75f
15#define MINIMUM_ADS_MUTIPLIER 0.0f
16#define MAXIMUM_ADS_MUTIPLIER 1.0f
17#define DEFAULT_ADS_MUTIPLIER 1.0f
18#define DEFAULT_GAMMA 2.0f
19#define DEFAULT_BLOOM true
20#define DEFAULT_CAMERA_MOTION_EFFECTS true
21#define DEFAULT_NVIDIA_REFLEX_STATS true
22#define DEFAULT_DLSS 2.0f
27#define DEFAULT_NVIDIA_REFLEX 0.0f;
28#define DEFAULT_MOTION_BLUR true
29#define SLOTNAME "ProjectXSaveData"
31#define DEFAULT_MASTER_VOLUME 1.0f
32#define DEFAULT_MUSIC_VOLUME 1.0f
33#define DEFAULT_VOIP_VOLUME 1.0f
34#define DEFAULT_EFFECTS_VOLUME 1.0f
35#define DEFAULT_AMBIENT_VOLUME 1.0f
36#define DEFAULT_INTERFACE_VOLUME 1.0f
37#define DEFAULT_ANNOUNCER_VOLUME 1.0f
38#define DEFAULT_FOV 90.0f;
39#define MIN_VOLUME_SETTING 0.0f
40#define MAX_VOLUME_SETTING 1.0f
41#define MIN_FOV_SETTING 70.0f
42#define MAX_FOV_SETTING 110.0f
44#define DEFAULT_HIDE_EMPTY_SERVER false;
45#define DEFAULT_HIDE_CUSTOM_SERVER false;
46#define DEFAULT_HIDE_FULL_SERVER false;
47#define DEFAULT_HIDE_OFFICIAL_SERVER false;
48#define DEFAULT_HIDE_VERSION_MISMATCH true;
49#define DEFAULT_HIDE_ANTI_CHEAT false;
50#define DEFAULT_HIDE_MOD_SERVER false;
51#define DEFAULT_HIDE_PASSWORD_PROTECTED_SERVER false;
52#define DEFAULT_REGION_FILTER "";
53#define DEFAULT_SORT_PARAMETER 0;
54#define DEFAULT_FIRST_RUN true;
55#define DEFAULT_HOLD_FOR_VEHICLE_SPAWN false;
56#define DEFAULT_SPAWN_IN_PERSONAL_VEHICLE true;
57#define DEFAULT_AUTO_CLAMBER true;
58#define DEFAULT_DAMAGE_TEXT_ENABLED true;
59#define DEFAULT_INCOMING__DAMAGE_IS_3D true;
60#define DEFAULT_PUSH_TO_TALK true;
61#define DEFAULT_SUBTITLES true;
62#define DEFAULT_CULTURE_INDEX 0;
63#define DEFAULT_MATURITY_FILTER true;
64#define DEFAULT_MOUSE_SMOOTHING false;
65#define DEFAULT_FOV_SCALING true;
66#define DEFAULT_DESCENDING true;
67#define DEFAULT_PV_CAMERA_SMOOTHING true;
69#define INPUT_VERSION (int)6;
72class UReflexBlueprintLibrary;
84 UFUNCTION(BlueprintPure, Category =
"Game Settings")
88 UFUNCTION(BlueprintPure, Category = "Game Settings")
92 virtual
void SetToDefaults() override;
94 UFUNCTION(BlueprintCallable, Category = "Game Settings")
95 static
void SetGameSettingsToDefaults();
96 UFUNCTION(BlueprintCallable, Category = "Game Settings")
97 static
void ApplyGameSettings(
bool bCheckForCommandLineOverrides, UObject* WorldContextObject,
bool bCalledFromSettingsMenu = false);
98 UFUNCTION(BlueprintCallable, Category = "Game Settings")
99 static
void ApplyGammaSetting(UObject* WorldContextObject);
100 UFUNCTION(BlueprintCallable, Category = "Game Settings")
101 static
void ApplyCultureSetting(UObject* WorldContextObject,
bool bReload = false);
102 UFUNCTION(BlueprintCallable, Category = "Game Settings")
103 static
void ApplyDLSS(UObject* WorldContextObject);
104 UFUNCTION(BlueprintCallable, Category = "Game Settings")
105 static
void ApplyReflex();
106 virtual
void ApplySettings(
bool bCheckForCommandLineOverrides) override;
107 static
void Cleanup();
109 UFUNCTION(BlueprintPure, Category = "Game Settings|Defaults")
110 static
float GetADSMultiplier();
111 UFUNCTION(BlueprintPure, Category = "Game Settings|Defaults")
113 UFUNCTION(BlueprintPure, Category =
"Game Settings|Defaults")
115 UFUNCTION(BlueprintPure, Category =
"Game Settings|Defaults")
117 UFUNCTION(BlueprintPure, Category =
"Game Settings|Defaults")
119 UFUNCTION(BlueprintPure, Category =
"Game Settings|Defaults")
122 UFUNCTION(BlueprintPure, Category =
"Game Settings|Controls")
123 static
float GetInputVerticalScale();
124 UFUNCTION(BlueprintPure, Category = "Game Settings|Controls")
125 static
float GetInputHorizontalScale();
126 UFUNCTION(BlueprintPure, Category = "Game Settings|Controls")
127 static
float GetInputADSVerticalScale();
128 UFUNCTION(BlueprintPure, Category = "Game Settings|Controls")
129 static
float GetInputADSHorizontalScale();
130 UFUNCTION(BlueprintPure, Category = "Game Settings|Controls")
131 static
bool GetInputLookInversion();
132 UFUNCTION(BlueprintCallable, Category = "Game Settings")
133 static
void SetADSMultiplier(
float ADSMultiplier);
134 UFUNCTION(BlueprintCallable, Category = "Game Settings|Controls")
135 static
void SetInputVerticalScale(
float InputVerticalScale);
136 UFUNCTION(BlueprintCallable, Category = "Game Settings|Controls")
137 static
void SetInputHorizontalScale(
float InputHorizontalScale);
138 UFUNCTION(BlueprintCallable, Category = "Game Settings|Controls")
139 static
void SetInputADSVerticalScale(
float InputADSVerticalScale);
140 UFUNCTION(BlueprintCallable, Category = "Game Settings|Controls")
141 static
void SetInputADSHorizontalScale(
float InputADSHorizontalScale);
142 UFUNCTION(BlueprintCallable, Category = "Game Settings|Controls")
143 static
void SetInputLookInversion(
bool bInputLookInversion);
145 UFUNCTION(BlueprintCallable, Category = "Game Settings|Graphics")
146 static
void SetMotionBlurEnabled(
bool bEnabled);
147 UFUNCTION(BlueprintPure, Category = "Game Settings|Graphics")
148 static
bool GetMotionBlurEnabled();
149 UFUNCTION(BlueprintCallable, Category = "Game Settings|Graphics")
150 static
void SetDLSS(
float DLSS);
151 UFUNCTION(BlueprintPure, Category = "Game Settings|Graphics")
152 static
float GetDLSS();
153 UFUNCTION(BlueprintCallable, Category = "Game Settings|Graphics")
154 static
void SetReflex(
float Reflex);
155 UFUNCTION(BlueprintPure, Category = "Game Settings|Graphics")
156 static
float GetReflex();
157 UFUNCTION(BlueprintCallable, Category = "Game Settings|Graphics")
158 static
void SetGamma(
float Gamma);
159 UFUNCTION(BlueprintPure, Category = "Game Settings|Graphics")
160 static
float GetGamma();
161 UFUNCTION(BlueprintCallable, Category = "Game Settings|Graphics")
162 static
void SetBloom(
bool bInEnableBloom);
163 UFUNCTION(BlueprintPure, Category = "Game Settings|Graphics")
164 static
bool GetBloom();
165 UFUNCTION(BlueprintCallable, Category = "Game Settings|Graphics")
166 static
void SetCameraMotionEffects(
bool bInCameraMotionEffects);
167 UFUNCTION(BlueprintPure, Category = "Game Settings|Graphics")
168 static
bool GetCameraMotionEffects();
169 UFUNCTION(BlueprintCallable, Category = "Game Settings|Graphics")
170 static
void SetNVIDIAReflexStats(
bool bInNVIDIAReflexStats);
171 UFUNCTION(BlueprintPure, Category = "Game Settings|Graphics")
172 static
bool GetNVIDIAReflexStats();
174 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
175 static
void SetCameraAnimationToggleState(
bool bToggle);
176 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
177 static
bool GetCameraAnimationToggleState();
179 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
180 static
void SetVisualHitmarkersEnabled(
bool bNewVisualHitmarkerstEnabled);
181 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
182 static
bool GetVisualHitmarkersEnabled();
184 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
185 static
void SetFOV(
float DesiredFOV);
186 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
187 static
float GetFOV();
189 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
190 static
void SetMouseSmoothing(
bool bInEnableMouseSmoothing);
191 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
192 static
bool GetMouseSmoothing();
194 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
195 static
void SetFOVScaling(
bool bInEnableFOVScaling);
196 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
197 static
bool GetFOVScaling();
199 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
200 static
void SetSpawnInPersonalVehicle(
bool bNewSpawnInPV);
201 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
202 static
bool GetSpawnInPersonalVehicle();
203 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
204 static
void SetAutoClamber(
bool bNewAutoClamber);
205 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
206 static
bool GetAutoClamber();
207 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
208 static
void SetDamageTextEnabled(
bool bNewDamageTextEnabled);
209 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
210 static
bool GetDamageTextEnabled();
211 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
212 static
void SetIncomingDamageIndicatorIs3D(
bool bNewIncomingDamageIndicatorIs3D);
213 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
214 static
bool GetIncomingDamageIndicatorIs3D();
215 UFUNCTION(BlueprintCallable, Category = "Game Settings|Gameplay")
216 static
void SetPVCameraSmoothing(
bool bInPVCameraSmoothing);
217 UFUNCTION(BlueprintPure, Category = "Game Settings|Gameplay")
218 static
bool GetPVCameraSmoothing();
220 UFUNCTION(BlueprintCallable, Category = "Game Settings|Audio")
221 static
void SetMasterVolume(
float Volume);
222 UFUNCTION(BlueprintPure, Category = "Game Settings|Audio")
223 static
float GetMasterVolume();
224 UFUNCTION(BlueprintCallable, Category = "Game Settings|Audio")
225 static
void SetMusicVolume(
float Volume);
226 UFUNCTION(BlueprintPure, Category = "Game Settings|Audio")
227 static
float GetMusicVolume();
228 UFUNCTION(BlueprintCallable, Category = "Game Settings|Audio")
229 static
void SetVOIPVolume(
float Volume);
230 UFUNCTION(BlueprintPure, Category = "Game Settings|Audio")
231 static
float GetVOIPVolume();
232 UFUNCTION(BlueprintCallable, Category = "Game Settings|Audio")
233 static
void SetEffectsVolume(
float Volume);
234 UFUNCTION(BlueprintPure, Category = "Game Settings|Audio")
235 static
float GetEffectsVolume();
236 UFUNCTION(BlueprintCallable, Category = "Game Settings|Audio")
237 static
void SetAmbientVolume(
float Volume);
238 UFUNCTION(BlueprintPure, Category = "Game Settings|Audio")
239 static
float GetAmbientVolume();
240 UFUNCTION(BlueprintCallable, Category = "Game Settings|Audio")
241 static
void SetInterfaceVolume(
float Volume);
242 UFUNCTION(BlueprintPure, Category = "Game Settings|Audio")
243 static
float GetInterfaceVolume();
244 UFUNCTION(BlueprintCallable, Category = "Game Settings|Audio")
245 static
void SetAnnouncerVolume(
float Volume);
246 UFUNCTION(BlueprintPure, Category = "Game Settings|Audio")
247 static
float GetAnnouncerVolume();
249 UFUNCTION(BlueprintCallable,BlueprintPure, Category = "Game Settings|
Server")
250 static
bool GetHideEmptyServer();
251 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
252 static
void SetHideEmptyServer(
bool bHideEmptyServers);
253 UFUNCTION(BlueprintCallable, BlueprintPure,Category = "Game Settings|
Server")
254 static
bool GetHideCustomServer();
255 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
256 static
void SetHideCustomServer(
bool bHideCustomServers);
257 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
258 static
bool GetHideFullServer();
259 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
260 static
void SetHideFullServer(
bool bHideFullServers);
261 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
262 static
bool GetHideOfficialServer();
263 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
264 static
void SetHideOfficialServer(
bool bHideOfficialServers);
265 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
266 static
bool GetHideVersionMismatch();
267 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
268 static
void SetHideVersionMismatch(
bool bHideVersionMismatchServers);
269 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
270 static
void SetHideAntiCheat(
bool bHideAntiCheat);
271 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
272 static
bool GetHideAntiCheat();
273 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
274 static
void SetHideModServer(
bool bHideModeServer);
275 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
276 static
bool GetHideModeServer();
277 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
278 static
void SetHidePasswordProtectedServer(
bool bHidePasswordProtectedServer);
279 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
280 static
bool GetHidePasswordProtectedServer();
281 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
282 static
void SetHoldToSpawnVehicle(
bool bHoldToSpawnVehicle);
283 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
284 static
bool GetHoldToSpawnVehicle();
285 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
286 static FString GetRegionFilter();
287 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
288 static
void SetRegionFilter(const FString& RegionFilter);
289 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
291 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
293 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Game Settings|
Server")
294 static
bool GetDescendingSort();
295 UFUNCTION(BlueprintCallable, Category = "Game Settings|
Server")
296 static
void SetDescendingSort(
bool bDescending);
297 UFUNCTION(BlueprintCallable, Category = "PlayerSave")
298 static
int GetSavedInputVersion();
299 UFUNCTION(BlueprintCallable, Category = "PlayerSave")
300 static
void SetSavedInputVersion(
int NewSavedInputVersion);
301 UFUNCTION(BlueprintCallable, Category = "PlayerSave")
302 static
bool ShouldIncrementSavedInputVersion();
303 UFUNCTION(BlueprintCallable, Category = "PlayerSave")
304 static
void SetIsFirstRun(
bool bFirstRun);
305 UFUNCTION(BlueprintPure,Category = "PlayerSave")
306 static
bool IsFirstRun();
307 UFUNCTION(BlueprintCallable, Category = "PlayerSave")
308 static
void SetCultureIndex(int32 CultureIndex);
309 UFUNCTION(BlueprintPure, Category = "PlayerSave")
310 static int32 GetCultureIndex();
312 UFUNCTION(BlueprintCallable, Category = "Game Settings| Audio")
313 static
void SetPushToTalk(const
bool bInPushToTalk);
314 UFUNCTION(BlueprintCallable, Category = "Game Settings| Audio")
315 static
bool GetPushToTalk();
317 UFUNCTION(BlueprintCallable, Category = "Game Settings")
318 static
void SetMaturityFilter(const
bool bInMaturityFilter);
319 UFUNCTION(BlueprintPure, Category = "Game Settings")
320 static
bool GetMaturityFilter();
322 UFUNCTION(BlueprintCallable)
323 static
void SetMuteListText(const TArray<FString>& MutelistText);
324 UFUNCTION(BlueprintCallable)
325 static
void GetMuteListText(TArray<FString>& OutArray);
327 UFUNCTION(BlueprintCallable)
328 static
void SetUninspectedNewItemsShortCodes(const TArray<FString>& NewUninspectedNewItemsShortCodes);
329 UFUNCTION(BlueprintCallable)
330 static
void GetUninspectedNewItemsShortCodes(TArray<FString>& OutArray);
331 UFUNCTION(BlueprintCallable)
332 static
void RemoveUninspectedNewItem(FString ItemShortCode, UObject* WorldContextObject);
333 UFUNCTION(BlueprintCallable)
334 static
bool IsItemUninspected(FString ItemShortCode);
335 UFUNCTION(BlueprintCallable)
336 static
void ReadAllUninspectedNewItemsShortCodes();
338 UFUNCTION(BlueprintCallable, Category = "Game Settings| Audio")
339 static
void SetSubtitles(const
bool bInSubtitles);
340 UFUNCTION(BlueprintCallable, Category = "Game Settings| Audio")
341 static
bool GetSubtitles();
343 UFUNCTION(BlueprintCallable)
344 static
void AddNewSteamToNakamaID(const FString& SteamID, const FString& NakamaID);
345 UFUNCTION(BlueprintCallable)
346 static
bool GetNakamaIDFromSteamID(const FString& SteamID, FString& FoundNakamaID);
347 UFUNCTION(BlueprintCallable)
348 static TMap<FString,FString>& GetSteamToNakamaIDMap();
350 UPROPERTY(BlueprintAssignable, Category = "Settings")
351 FOnSettingsApplied OnSettingsApplied;
355 bool bIncomingDamageIndicatorIs3D = true;
357 bool bDamageTextEnabled = true;
359 bool bMotionBlurEnabled = true;
361 bool bCameraAnimations = true;
363 bool bVisualHitmarkersEnabled = true;
365 bool bInputLookInversion = false;
367 float InputHorizontalScale = 1.0f;
369 float InputVerticalScale = 1.0f;
371 float InputADSHorizontalScale = 1.0f;
373 float InputADSVerticalScale = 1.0f;
375 float ADSSensitivityMultiplier = 1.0f;
383 bool bEnableNVIDIAReflexStats = false;
385 bool CameraMotionEffects = true;
391 float MasterVolume = 1.0f;
393 float MusicVolume = 1.0f;
395 float VOIPVolume = 1.0f;
397 float EffectsVolume = 1.0f;
399 float AmbientVolume = 1.0f;
401 float InterfaceVolume = 1.0f;
403 float AnnouncerVolume = 1.0f;
405 bool bHideEmptyServer = false;
407 bool bHideCustomServer = false;
409 bool bHideFullServer = false;
411 bool bHideOfficialServer = false;
413 bool bHideVersionMismatch = true;
415 bool bHideAntiCheat = false;
417 bool bHideModServer = false;
419 bool bHidePasswordProtectedServer = false;
421 bool bSpawnInPV = true;
423 bool bAutoClamber = true;
425 FString RegionFilter = "";
427 uint8 SortParameter = 4;
429 bool bDescendingSort = true;
431 bool bHoldForVehicleSpawn = false;
433 bool bPushToTalkEnabled = true;
435 int SavedInputVersion = 0;
437 bool bIsFirstRun = true;
439 int32 CultureIndex = 0;
441 bool bMaturityFilter = true;
443 bool bSubtitlesEnabled = true;
445 bool bEnableMouseSmoothing = true;
447 bool bEnableFOVScaling = true;
449 bool bPVCameraSmoothing = true;
451 TArray<FString> MutelistText;
454 TArray<FString> UninspectedNewItemsShortCodes;
456 TMap<FString,FString> SteamToNakamaIDs = TMap<FString,FString>();
458 bool bAsyncSaving = false;
ESortParameter
Definition: ProjectXGameInstance.h:173
#define MINIMUM_INPUT_SCALE
Definition: SaveManager.h:11
#define MAXIMUM_INPUT_SCALE
Definition: SaveManager.h:12
#define MIN_FOV_SETTING
Definition: SaveManager.h:41
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnSettingsApplied)
#define MAX_GAMMA
Definition: SaveManager.h:26
#define MIN_GAMMA
Definition: SaveManager.h:25
#define DEFAULT_INPUT_SCALE_Y
Definition: SaveManager.h:14
#define DEFAULT_INPUT_SCALE_X
Definition: SaveManager.h:13
#define DEFAULT_GAMMA
Definition: SaveManager.h:18
#define MAX_FOV_SETTING
Definition: SaveManager.h:42
Definition: ProjectXCharacter.h:128
Definition: ProjectXSaveGame.h:16
Definition: SaveManager.h:78
static TWeakObjectPtr< class UProjectXSaveGame > LoadedGameData
Definition: SaveManager.h:82