25#include "DemoNetDriver.generated.h"
93 SubObjRepState.CountBytes(Ar);
106 ObjReferences.CountBytes(Ar);
140 FString FuncPathName;
173 ReplayHelper.CurrentLevelIndex =
Index;
239 ENGINE_API bool IsPlayingClientReplay()
const;
249 struct FDemoActorPriority
255 bool bIsFastForwarding;
256 bool bIsFinalizingFastForward;
257 bool bIsRestoringStartupActors;
260 uint8 bChannelsArePaused : 1;
261 uint8 bIsFastForwardingForCheckpoint : 1;
262 uint8 bWasStartStreamingSuccessful : 1;
265 uint8 bPrioritizeActors : 1;
285 double SavedReplicatedWorldTimeSeconds;
288 float SavedSecondsToSkip;
291 FString DemoSessionID;
294 float MaxDesiredRecordTimeMS;
301 float CheckpointSaveMaxMSPerFrame;
310 ENGINE_API void TickFlushInternal(
float DeltaSeconds);
313 uint32 GetLastCheckpointTimeInMS()
const {
return ReplayHelper.GetLastCheckpointTimeInMS(); }
316 ENGINE_API void TickDemoRecordFrame(
float DeltaSeconds);
327 ENGINE_API virtual void FinishDestroy()
override;
328 ENGINE_API virtual FString LowLevelGetNetworkNumber()
override;
331 ENGINE_API virtual void TickFlush(
float DeltaSeconds)
override;
332 ENGINE_API virtual void PostTickFlush()
override;
333 ENGINE_API virtual void TickDispatch(
float DeltaSeconds)
override;
338 UE_DEPRECATED(5.3,
"Internal call will be made private in the future.")
360 virtual void ProcessLocalServerPackets()
override {}
363 ENGINE_API virtual void InitDestroyedStartupActors()
override;
395 ReplayHelper.DemoTotalTime = TotalTime;
403 ReplayHelper.DemoCurrentTime = CurrentTime;
406 FString
GetDemoURL()
const {
return ReplayHelper.DemoURL.ToString(); }
429 ENGINE_API void TickFlushAsyncEndOfFrame(
float DeltaSeconds);
443 ENGINE_API void TickDemoRecord(
float DeltaSeconds);
444 ENGINE_API void PauseChannels(
const bool bPause);
448 ENGINE_API bool ConditionallyProcessPlaybackPackets();
464 ENGINE_API void TickDemoPlayback(
float DeltaSeconds);
466 ENGINE_API void FinalizeFastForward(
const double StartTime);
598 ENGINE_API void OnSeamlessTravelStartDuringRecording(
const FString& LevelName);
604 ENGINE_API bool ShouldTickFlushAsyncEndOfFrame()
const;
609 return ReplayHelper.HasLevelStreamingFixes();
615 return ReplayHelper.HasDeltaCheckpoints();
621 return ReplayHelper.HasGameSpecificFrameData();
630 return ReplayHelper.ActiveReplayName;
635 UE_DEPRECATED(5.2,
"Will be removed in favor of custom versions, use GetPlaybackReplayVersion instead")
639 return ReplayHelper.PlaybackDemoHeader.Version;
669 ENGINE_API void CleanupOutstandingRewindActors();
676 float LastProcessedPacketTime;
679 int32 PlaybackPacketIndex;
722 UE_DEPRECATED(5.1,
"Please use NotifyDemoPlaybackError instead")
726 void NotifyDemoPlaybackError(const
UE::Net::TNetResult<
EReplayResult>& Result);
737 float RecordBuildConsiderAndPrioritizeTimeSlice;
740 float RecordDestructionInfoReplicationTimeSlice;
763 return LastReplayFrameFidelity;
772 bool bSkipStartupActorRollback =
false;
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
EChannelCloseReason
Definition CoreNetTypes.h:49
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
TArray< struct FDemoSavedRepObjectState > FDemoSavedPropertyState
Definition DemoNetDriver.h:132
ENetDormancy
Definition EngineTypes.h:3361
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
ECreateReplicationChangelistMgrFlags
Definition RepLayout.h:1047
EReplayResult
Definition ReplayResult.h:10
EWriteDemoFrameFlags
Definition ReplayTypes.h:43
Definition PlayerController.h:261
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition NetworkGuid.h:12
Definition NetworkDelegates.h:56
Definition UObjectGlobals.h:1292
Definition DemoNetDriver.cpp:370
static bool FastForwardLevels(UDemoNetDriver *DemoNetDriver, const FGotoResult &GotoResult)
Definition DemoNetDriver.cpp:379
Definition DemoNetDriver.h:47
virtual bool ShouldPausePlayback() const
Definition DemoNetDriver.h:60
virtual FName GetName() const =0
virtual ~FQueuedReplayTask()
Definition DemoNetDriver.h:53
FQueuedReplayTask(UDemoNetDriver *InDriver)
Definition DemoNetDriver.h:49
virtual void StartTask()=0
TWeakObjectPtr< UDemoNetDriver > Driver
Definition DemoNetDriver.h:62
Definition DemoNetDriver.cpp:1705
Definition RepLayout.h:672
Definition ReplayHelper.h:33
Definition ObjectMacros.h:180
Definition SocketSubsystem.h:58
Definition ArrayView.h:139
Definition IndirectArray.h:20
Definition UnrealString.h.inl:34
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition ActorChannel.h:78
Definition ActorComponent.h:152
Definition DemoNetConnection.h:20
Definition DemoNetDriver.h:154
bool HasGameSpecificFrameData() const
Definition DemoNetDriver.h:619
bool ProcessPacket(const FPlaybackPacket &PlaybackPacket)
Definition DemoNetDriver.h:454
virtual bool DoesSupportEncryption() const override
Definition DemoNetDriver.h:370
FReplayCustomVersion::Type GetPlaybackReplayVersion() const
Definition DemoNetDriver.h:643
uint32 GetPlaybackCustomVersionVersion(const FGuid &VersionGuid) const
Definition DemoNetDriver.h:648
int32 RecordCountSinceFlush
Definition DemoNetDriver.h:195
bool HasDeltaCheckpoints() const
Definition DemoNetDriver.h:613
uint32 GetPlaybackGameNetworkProtocolVersion() const
Definition DemoNetDriver.h:646
void SetMaxDesiredRecordTimeMS(const float InMaxDesiredRecordTimeMS)
Definition DemoNetDriver.h:409
void SetLastCheckpointTime(double CheckpointTime)
Definition DemoNetDriver.h:208
virtual class ISocketSubsystem * GetSocketSubsystem() override
Definition DemoNetDriver.h:368
float GetLastReplayFrameFidelity() const
Definition DemoNetDriver.h:761
TArray< FPlaybackPacket > PlaybackPackets
Definition DemoNetDriver.h:242
APlayerController * GetSpectatorController() const
Definition DemoNetDriver.h:176
void SetCurrentLevelIndex(int32 Index)
Definition DemoNetDriver.h:171
virtual void ProcessLocalClientPackets() override
Definition DemoNetDriver.h:361
virtual bool IsNetResourceValid(void) override
Definition DemoNetDriver.h:441
bool IsActorPrioritizationEnabled() const
Definition DemoNetDriver.h:419
int32 GetDemoFrameNum() const
Definition DemoNetDriver.h:165
bool GetChannelsArePaused() const
Definition DemoNetDriver.h:167
void SetViewerOverride(APlayerController *const InViewerOverride)
Definition DemoNetDriver.h:414
virtual void LowLevelSend(TSharedPtr< const FInternetAddr > Address, void *Data, int32 CountBits, FOutPacketTraits &Traits) override
Definition DemoNetDriver.h:367
const FString & GetDemoSessionID() const
Definition DemoNetDriver.h:601
uint32 GetPlaybackEngineNetworkProtocolVersion() const
Definition DemoNetDriver.h:645
bool HasLevelStreamingFixes() const
Definition DemoNetDriver.h:607
bool IsLoadingCheckpoint() const
Definition DemoNetDriver.h:237
double GetLastCheckpointTime() const
Definition DemoNetDriver.h:206
TOptional< UE::Net::TNetResult< EReplayResult > > PendingRecordFailure
Definition DemoNetDriver.h:271
uint8 bIsWaitingForStream
Definition DemoNetDriver.h:269
void SetCheckpointSaveMaxMSPerFrame(const float InCheckpointSaveMaxMSPerFrame)
Definition DemoNetDriver.h:422
bool IsRecordingMapChanges() const
Definition DemoNetDriver.h:244
float GetDemoCurrentTime() const
Definition DemoNetDriver.h:399
uint32 GetPlaybackDemoChangelist() const
Definition DemoNetDriver.h:633
bool IsFinalizingFastForward() const
Definition DemoNetDriver.h:552
uint8 bIsWaitingForHeaderDownload
Definition DemoNetDriver.h:268
double MaxRecordTime
Definition DemoNetDriver.h:194
TSharedPtr< class INetworkReplayStreamer > GetReplayStreamer() const
Definition DemoNetDriver.h:187
float GetDemoTotalTime() const
Definition DemoNetDriver.h:391
bool IsFastForwarding() const
Definition DemoNetDriver.h:551
double LastRecordAvgFlush
Definition DemoNetDriver.h:193
bool IsRestoringStartupActors() const
Definition DemoNetDriver.h:553
void SetDemoCurrentTime(float CurrentTime)
Definition DemoNetDriver.h:401
double GetCurrentLevelIndex() const
Definition DemoNetDriver.h:169
void SetActorPrioritizationEnabled(const bool bInPrioritizeActors)
Definition DemoNetDriver.h:417
void SetDemoTotalTime(float TotalTime)
Definition DemoNetDriver.h:393
uint32 GetDemoCurrentTimeInMS() const
Definition DemoNetDriver.h:189
virtual bool IsAvailable() const override
Definition DemoNetDriver.h:335
FString GetDemoURL() const
Definition DemoNetDriver.h:406
void SetPlayingPlaylist(TSharedPtr< struct FReplayPlaylistTracker > InPlaylistTracker)
Definition DemoNetDriver.h:228
const FString & GetActiveReplayName() const
Definition DemoNetDriver.h:628
ENGINE_API const TArray< FLevelNameAndTime > & GetLevelNameAndTimeList()
double AccumulatedRecordTime
Definition DemoNetDriver.h:192
float GetMaxDesiredRecordTimeMS() const
Definition DemoNetDriver.h:411
bool ReadDemoFrameIntoPlaybackPackets(FArchive &Ar)
Definition DemoNetDriver.h:560
Definition LocalPlayer.h:169
Definition NetConnection.h:284
Definition NetDriver.h:799
Definition EngineBaseTypes.h:739
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition NetDriver.h:700
Definition DemoNetDriver.h:111
TSharedPtr< const FRepLayout > RepLayout
Definition DemoNetDriver.h:120
ENGINE_API ~FDemoSavedRepObjectState()
Definition DemoNetDriver.cpp:4727
FRepStateStaticBuffer PropertyData
Definition DemoNetDriver.h:121
void CountBytes(FArchive &Ar) const
Definition DemoNetDriver.h:123
TWeakObjectPtr< const UObject > Object
Definition DemoNetDriver.h:119
CORE_API static const FGuid Guid
Definition EngineNetworkCustomVersion.h:106
CORE_API static const FGuid Guid
Definition EngineNetworkCustomVersion.h:124
Definition NetworkReplayStreaming.h:268
Definition DemoNetDriver.h:136
Definition PacketTraits.h:21
Definition ReplayTypes.h:51
Definition ReplayTypes.h:257
Definition RepLayout.h:377
void CountBytes(FArchive &Ar) const
Definition RepLayout.cpp:1049
Type
Definition ReplayTypes.h:126
Definition DemoNetDriver.h:68
Definition NetworkReplayStreaming.h:228
Definition EngineBaseTypes.h:799
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25