5#include "Containers/Array.h"
6#include "Containers/UnrealString.h"
9#include "Delegates/Delegate.h"
10#include "HAL/PlatformCrt.h"
11#include "HAL/PlatformMisc.h"
12#include "HAL/PlatformProcess.h"
13#include "Misc/Build.h"
14#include "Misc/CString.h"
15#include "Misc/CommandLine.h"
16#include "Misc/CoreMisc.h"
17#include "Misc/FrameRate.h"
19#include "Misc/Optional.h"
20#include "Misc/Parse.h"
21#include "Misc/QualifiedFrameTime.h"
22#include "Misc/Timecode.h"
23#include "Templates/UnrealTemplate.h"
24#include "UObject/NameTypes.h"
27
28
34
35
36
37
41
42
43
44
48
49
50
51
56
57
58
59
64
65
66
67
71
72
73
74
78
79
80
81
85
86
91
92
96
97
101
102
103
104
111
112
113
114
115
122 if (ExecutableName.FindChar(TCHAR(
'-'), ChopIndex))
124 return ExecutableName
.Left(ChopIndex
);
127 if (ExecutableName.FindChar(TCHAR(
'.'), ChopIndex))
129 return ExecutableName
.Left(ChopIndex
);
132 return ExecutableName;
136
137
138
139
142 return (IsProjectNameEmpty() ==
false) && (FCString::Stricmp(GInternalProjectName,
TEXT(
"None")) != 0);
146
147
148
149
150
151
152
153
157 return !GIsEditor || GIsPlayInEditorWorld || IsRunningGame();
164
165
166
167
174
175
176
177
181 FCString::Strncpy(GInternalProjectName, InProjectName,
UE_ARRAY_COUNT(GInternalProjectName));
189
190
191
192
193
196 SessionUsers.AddUnique(UserName);
200
201
202
203
206 SessionUsers.Empty();
210
211
212
213
214
217 SessionUsers.Remove(UserName);
221
222
223
224
228
229
230
231
232
233
234
235
243
244
245
246
247
248
255
256
257
258
259
260
261
262
263
264
271
272
273
274
281
282
283
284
285
286
287
288
289
296
297
301
302
303
304
305
306
309 return ((FPlatformProcess::UserName(
false) == UserName) || (SessionOwner == UserName) || SessionUsers.Contains(UserName));
313
314
315
316
317
318
319
326
327
328
329
330
337
338
339
340
341
348
349
350
351
352
362#if !UE_SERVER && defined(_MSC_VER
) && _MSC_VER
>= 1924
&& _MSC_VER
<= 1925
363#define INLINE_CANEVERRENDER FORCENOINLINE
369
370
371
372
373
374
386
387
388
389
390
391
399 return !bApplicationTypeDoesNotRenderAudio && !bHasNoAudioOnCommandline;
404
405
406
407
408
409
410
411
412
413
414
415
416
420
421
422
423
424
425
426
427
428
432
433
434
435
436
437
438
442
443
444
445
446
447
448
452
453
454
455
462
463
464
465
472
473
474
475
482
483
484
485
492
493
494
495
498#if WITH_FIXED_TIME_STEP_SUPPORT
499 return bUseFixedTimeStep;
506
507
508
509
516
517
518
519
526
527
528
529
536
537
538
539
552
553
554
555
562
563
564
565
572
573
574
575
582
583
584
585
592
593
594
595
602
603
604
605
612
613
614
615
622
623
624
625
632
633
634
635
636
640
641
642
643
644
648
649
650
651
652
653
656 return CurrentFrameTime;
660
661
662
663
664
672
673
674
675
684 CurrentFrameTime.Reset();
688
689
690
691
698
699
700
701
708
709
710
711
715
716
720
721
722
723
727
728
734
735
736
737
738
742
743
744
751
752
753
754
758
759
760
849
850
854
855
bool IsServerForOnlineSubsystems(FName WorldContextHandle)
#define INLINE_CANEVERRENDER
void SetIsServerForOnlineSubsystemsDelegate(FQueryIsRunningServer NewDelegate)
#define UE_BUILD_DEVELOPMENT
FORCEINLINE bool IsRunningCommandlet()
FORCEINLINE bool IsAllowCommandletRendering()
FORCEINLINE bool IsAllowCommandletAudio()
TCHAR GInternalProjectName[64]
FORCEINLINE bool IsRunningDedicatedServer()
#define UE_DEPRECATED(Version, Message)
#define DECLARE_DELEGATE_RetVal_OneParam(ReturnValueType, DelegateName, Param1Type)
#define UE_ARRAY_COUNT(array)
static void SetUnfocusedVolumeMultiplier(float InVolumeMultiplier)
static bool(* HasFocusFunction)()
static void InvalidateCurrentFrameTime()
static FTimecode GetTimecode()
static FORCEINLINE double GetDeltaTime()
static FORCEINLINE bool IsAuthorizedUser(const FString &UserName)
static FORCEINLINE double GetIdleTime()
static FORCEINLINE const TCHAR * GetProjectName()
static void SetUseVRFocus(bool bInUseVRFocus)
static FString GraphicsRHI
static FORCEINLINE void DenyAllUsers()
static INLINE_CANEVERRENDER bool CanEverRenderAudio()
static void UpdateLastTime()
static void SetGameTime(double Seconds)
static FORCEINLINE void AuthorizeUser(const FString &UserName)
static FFrameRate GetTimecodeFrameRate()
static FString GetGraphicsRHI()
static void SetCurrentFrameTime(FQualifiedFrameTime InFrameTime)
static void InitializeSession()
static double IdleTimeOvershoot
static bool bUseFixedTimeStep
static void SetUseFixedTimeStep(bool bVal)
static FORCEINLINE bool IsProjectNameEmpty()
static FORCEINLINE float GetVolumeMultiplier()
static FORCEINLINE double GetIdleTimeOvershoot()
static float VolumeMultiplier
static EBuildTargetType GetBuildTargetType()
static FORCEINLINE bool IsStandalone()
static float UnfocusedVolumeMultiplier
static FString GetZenStoreProjectId()
static TArray< FString > SessionUsers
static FString SessionName
static FORCEINLINE bool IsGame()
static bool IsUnattended()
static FORCEINLINE void SetProjectName(const TCHAR *InProjectName)
static bool bUseFixedSeed
static FORCEINLINE void SetSessionOwner(const FString &NewOwner)
static bool IsEngineInstalled()
static double FixedDeltaTime
static FString GetInstanceName()
static void SetIdleTimeOvershoot(double Seconds)
static EBuildConfiguration GetBuildConfiguration()
static FORCEINLINE bool UseVRFocus()
static FString SessionOwner
static int32 GetEngineIsPromotedBuild()
static void SetFixedDeltaTime(double Seconds)
static const TCHAR * GetBuildVersion()
static FORCEINLINE void SetVolumeMultiplier(float InVolumeMultiplier)
static FORCEINLINE double GetFixedDeltaTime()
static void PrintStartupLogMessages()
static FORCEINLINE bool IsThisInstance(const FGuid &InInstanceId)
static bool UseFixedTimeStep()
static void SetHasFocusFunction(bool(*InHasFocusFunction)())
static FORCEINLINE FString GetSessionOwner()
static double CurrentTime
static FORCEINLINE void SetSessionName(const FString &NewName)
static FORCEINLINE bool HasProjectName()
static FORCEINLINE FString GetSessionName()
static FORCEINLINE double GetLastTime()
static FORCEINLINE FGuid GetSessionId()
static FORCEINLINE bool HasVRFocus()
static FORCEINLINE bool IsBenchmarking()
static bool bIsBenchmarking
static bool IsInstalled()
static FORCEINLINE TOptional< FQualifiedFrameTime > GetCurrentFrameTime()
static float GetUnfocusedVolumeMultiplier()
static void SetCurrentTime(double Seconds)
static void SetHasVRFocus(bool bInHasVRFocus)
static void SetDeltaTime(double Seconds)
static TOptional< FQualifiedFrameTime > CurrentFrameTime
static void SetTimecodeAndFrameRate(FTimecode InTimecode, FFrameRate InTimecodeFrameRate)
static FORCEINLINE FGuid GetInstanceId()
static FString GetEpicProductIdentifier()
static FString GetBuildDate()
static void SetIdleTime(double Seconds)
static void SetGraphicsRHI(FString RHIString)
static FORCEINLINE void DenyUser(const FString &UserName)
static FORCEINLINE double GetGameTime()
static FString GetBranchName()
static bool ShouldUseThreadingForPerformance()
static void SetBenchmarking(bool bVal)
static bool bUseDropFrameFormatWhenSupported
static INLINE_CANEVERRENDER bool CanEverRender()
UE_NODISCARD int32 Find(const FString &SubStr, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase, ESearchDir::Type SearchDir=ESearchDir::FromStart, int32 StartPosition=INDEX_NONE) const
UE_NODISCARD FORCEINLINE FString Left(int32 Count) const &
FString & operator=(const FString &)=default
static const TCHAR * Get()
friend bool operator==(const FGuid &X, const FGuid &Y)
FQualifiedFrameTime(const FTimecode &InTimecode, const FFrameRate &InRate)