UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FBaseRewindHistory Struct Referenceabstract

#include <RewindData.h>

+ Inheritance diagram for Chaos::FBaseRewindHistory:

Public Member Functions

virtual FORCEINLINE ~FBaseRewindHistory ()
 
virtual TUniquePtr< FBaseRewindHistoryCreateNew () const =0
 
virtual TUniquePtr< FBaseRewindHistoryClone () const =0
 
virtual void Initialize ()
 
virtual FORCEINLINE void SetPackageMap (class UPackageMap *InPackageMap)
 
virtual FORCEINLINE bool HasValidData (const int32 ValidFrame) const
 
virtual FORCEINLINE int32 CountValidData (const uint32 StartFrame, const uint32 EndFrame, const bool bIncludeUnimportant=true, const bool bIncludeImportant=false)
 
virtual FORCEINLINE int32 CountAlteredData (const bool bIncludeUnimportant=true, const bool bIncludeImportant=false)
 
virtual FORCEINLINE void SetImportant (const bool bImportant, const int32 Frame=INDEX_NONE)
 
virtual FORCEINLINE bool ExtractData (const int32 ExtractFrame, const bool bResetSolver, void *HistoryData, const bool bExactFrame=false)
 
virtual FORCEINLINE void ApplyDataRange (const int32 FromFrame, const int32 ToFrame, void *ActorComponent, const bool bOnlyImportant=false)
 
virtual FORCEINLINE void MergeData (const int32 FromFrame, void *ToData)
 
virtual FORCEINLINE bool RecordData (const int32 RecordFrame, const void *HistoryData)
 
virtual FORCEINLINE bool RecordDataGrowingOrdered (const void *HistoryData)
 
virtual FORCEINLINE void SetRecordDataIncremental (const bool bInIncremental)
 
virtual bool CopyAllData (Chaos::FBaseRewindHistory &OutHistory, bool bIncludeUnimportant=true, bool bIncludeImportant=false)
 
virtual bool CopyAlteredData (Chaos::FBaseRewindHistory &OutHistory, bool bIncludeUnimportant=true, bool bIncludeImportant=false)
 
virtual bool CopyData (Chaos::FBaseRewindHistory &OutHistory, const uint32 StartFrame, const uint32 EndFrame, bool bIncludeUnimportant=true, bool bIncludeImportant=false)
 
virtual bool CopyAllDataGrowingOrdered (Chaos::FBaseRewindHistory &OutHistory)
 
virtual TUniquePtr< FBaseRewindHistoryCopyFramesWithOffset (const uint32 StartFrame, const uint32 EndFrame, const int32 FrameOffset)=0
 
virtual int32 ReceiveNewData (FBaseRewindHistory &NewData, const int32 FrameOffset, const bool CompareDataForRewind=false, const bool bImportant=false, int32 TryInjectAtFrame=INDEX_NONE)
 
virtual int32 ReceiveNewData (FBaseRewindHistory &NewData, const int32 FrameOffset, const bool CompareDataForRewind=false, const bool bImportant=false)
 
virtual void NetSerialize (FArchive &Ar, UPackageMap *PackageMap)
 
virtual void NetSerialize (FArchive &Ar, UPackageMap *PackageMap, TUniqueFunction< void(void *Data, const int32 DataIndex)> DataSetupFunction)
 
virtual void ValidateDataInHistory (const void *ActorComponent)
 
virtual FORCEINLINE void DebugData (const FString &DebugText)
 
virtual FORCEINLINE void DebugData (const Chaos::FBaseRewindHistory &NewData, TArray< int32 > &LocalFrames, TArray< int32 > &ServerFrames, TArray< int32 > &InputFrames)
 
virtual FORCEINLINE bool RewindStates (const int32 RewindFrame, const bool bResetSolver)
 
virtual FORCEINLINE bool ApplyInputs (const int32 ApplyFrame, const bool bResetSolver)
 
virtual const int32 GetLatestFrame () const
 
virtual const int32 GetEarliestFrame () const
 
virtual const int32 GetHistorySize () const
 
virtual const bool HasDataInHistory () const
 
virtual void ResizeDataHistory (const int32 FrameCount, const EAllowShrinking AllowShrinking=EAllowShrinking::Default)
 
virtual void ResetFast ()
 

Detailed Description

Base rewind history used in the rewind data

Constructor & Destructor Documentation

◆ ~FBaseRewindHistory()

virtual FORCEINLINE Chaos::FBaseRewindHistory::~FBaseRewindHistory ( )
inlinevirtual

Member Function Documentation

◆ ApplyDataRange()

virtual FORCEINLINE void Chaos::FBaseRewindHistory::ApplyDataRange ( const int32  FromFrame,
const int32  ToFrame,
void ActorComponent,
const bool  bOnlyImportant = false 
)
inlinevirtual

Call ApplyData on each frame data within range

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ ApplyInputs()

virtual FORCEINLINE bool Chaos::FBaseRewindHistory::ApplyInputs ( const int32  ApplyFrame,
const bool  bResetSolver 
)
inlinevirtual

Legacy interface to apply inputs

◆ Clone()

virtual TUniquePtr< FBaseRewindHistory > Chaos::FBaseRewindHistory::Clone ( ) const
pure virtual

Create a polymorphic copy of the history

Implemented in TNetRewindHistory< DataType, bLegacyData >.

◆ CopyAllData()

virtual bool Chaos::FBaseRewindHistory::CopyAllData ( Chaos::FBaseRewindHistory OutHistory,
bool  bIncludeUnimportant = true,
bool  bIncludeImportant = false 
)
inlinevirtual

Copy all data from local history into into

Parameters
OutHistory
bIncludeUnimportant= If to copy unimportant data entries
bIncludeImportant= If to copy important data entries

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ CopyAllDataGrowingOrdered()

virtual bool Chaos::FBaseRewindHistory::CopyAllDataGrowingOrdered ( Chaos::FBaseRewindHistory OutHistory)
inlinevirtual

Copy all data and record it ordered and growing

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ CopyAlteredData()

virtual bool Chaos::FBaseRewindHistory::CopyAlteredData ( Chaos::FBaseRewindHistory OutHistory,
bool  bIncludeUnimportant = true,
bool  bIncludeImportant = false 
)
inlinevirtual

Copy altered data from local history into into

Parameters
OutHistory
bIncludeUnimportant= If to copy unimportant data entries
bIncludeImportant= If to copy important data entries

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ CopyData()

virtual bool Chaos::FBaseRewindHistory::CopyData ( Chaos::FBaseRewindHistory OutHistory,
const uint32  StartFrame,
const uint32  EndFrame,
bool  bIncludeUnimportant = true,
bool  bIncludeImportant = false 
)
inlinevirtual

Copy data from local history into

Parameters
OutHistory
StartFrame= Included
EndFrame= Included
bIncludeUnimportant= If to copy unimportant data entries
bIncludeImportant= If to copy important data entries

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ CopyFramesWithOffset()

virtual TUniquePtr< FBaseRewindHistory > Chaos::FBaseRewindHistory::CopyFramesWithOffset ( const uint32  StartFrame,
const uint32  EndFrame,
const int32  FrameOffset 
)
pure virtual

Create a polymorphic copy of only a range of frames, applying the frame offset to the copies

Parameters
StartFrame= Included
EndFrame= Excluded

Implemented in TNetRewindHistory< DataType, bLegacyData >.

◆ CountAlteredData()

virtual FORCEINLINE int32 Chaos::FBaseRewindHistory::CountAlteredData ( const bool  bIncludeUnimportant = true,
const bool  bIncludeImportant = false 
)
inlinevirtual

Find how many entries that have been marked as altered, meaning the server has altered the data so that it doesn't match the received data from the client

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ CountValidData()

virtual FORCEINLINE int32 Chaos::FBaseRewindHistory::CountValidData ( const uint32  StartFrame,
const uint32  EndFrame,
const bool  bIncludeUnimportant = true,
const bool  bIncludeImportant = false 
)
inlinevirtual

Find how many entries are valid in frame range

Parameters
StartFrame= Included
EndFrame= Included
bIncludeUnimportant= If to include unimportant data entries
bIncludeImportant= If to include important data entries

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ CreateNew()

virtual TUniquePtr< FBaseRewindHistory > Chaos::FBaseRewindHistory::CreateNew ( ) const
pure virtual

Create a new, empty instance with the same concrete type as this object

Implemented in TNetRewindHistory< DataType, bLegacyData >.

◆ DebugData() [1/2]

virtual FORCEINLINE void Chaos::FBaseRewindHistory::DebugData ( const Chaos::FBaseRewindHistory NewData,
TArray< int32 > &  LocalFrames,
TArray< int32 > &  ServerFrames,
TArray< int32 > &  InputFrames 
)
inlinevirtual

Get arrays of frame values for each entry in the history

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ DebugData() [2/2]

virtual FORCEINLINE void Chaos::FBaseRewindHistory::DebugData ( const FString &  DebugText)
inlinevirtual

Print custom string along with values for each entry in history

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ ExtractData()

virtual FORCEINLINE bool Chaos::FBaseRewindHistory::ExtractData ( const int32  ExtractFrame,
const bool  bResetSolver,
void HistoryData,
const bool  bExactFrame = false 
)
inlinevirtual

Extract data from the history buffer at a given time

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ GetEarliestFrame()

virtual const int32 Chaos::FBaseRewindHistory::GetEarliestFrame ( ) const
inlinevirtual

Return the least up to date frame entry in history, returns INT_MAX if no frame was found

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ GetHistorySize()

virtual const int32 Chaos::FBaseRewindHistory::GetHistorySize ( ) const
inlinevirtual

Return the max size of the history

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ GetLatestFrame()

virtual const int32 Chaos::FBaseRewindHistory::GetLatestFrame ( ) const
inlinevirtual

Return the most up to date frame entry in history, returns INDEX_NONE if no frame was found

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ HasDataInHistory()

virtual const bool Chaos::FBaseRewindHistory::HasDataInHistory ( ) const
inlinevirtual

Return if history has valid data

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ HasValidData()

virtual FORCEINLINE bool Chaos::FBaseRewindHistory::HasValidData ( const int32  ValidFrame) const
inlinevirtual

Check if the history buffer contains an entry for the given frame

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ Initialize()

virtual void Chaos::FBaseRewindHistory::Initialize ( )
inlinevirtual

Initialize history

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ MergeData()

virtual FORCEINLINE void Chaos::FBaseRewindHistory::MergeData ( const int32  FromFrame,
void ToData 
)
inlinevirtual

Iterate over and merge data

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ NetSerialize() [1/2]

virtual void Chaos::FBaseRewindHistory::NetSerialize ( FArchive Ar,
UPackageMap PackageMap 
)
inlinevirtual

Serialize the data to or from a network archive

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ NetSerialize() [2/2]

virtual void Chaos::FBaseRewindHistory::NetSerialize ( FArchive Ar,
UPackageMap PackageMap,
TUniqueFunction< void(void *Data, const int32 DataIndex)>  DataSetupFunction 
)
inlinevirtual

Serialize the data to or from a network archive

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ ReceiveNewData() [1/2]

virtual int32 Chaos::FBaseRewindHistory::ReceiveNewData ( FBaseRewindHistory NewData,
const int32  FrameOffset,
const bool  CompareDataForRewind = false,
const bool  bImportant = false 
)
inlinevirtual

◆ ReceiveNewData() [2/2]

virtual int32 Chaos::FBaseRewindHistory::ReceiveNewData ( FBaseRewindHistory NewData,
const int32  FrameOffset,
const bool  CompareDataForRewind = false,
const bool  bImportant = false,
int32  TryInjectAtFrame = INDEX_NONE 
)
inlinevirtual

Copy new data (received from the network) into this history Returns frame to resimulate from if

Parameters
CompareDataForRewindis set to true and compared data differ enough
TryInjectAtFrameputs the latest of the received data entries at the specified frame (if there isn't data for that frame yet), used to inject the latest data at the head of the buffer if it's empty

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ RecordData()

virtual FORCEINLINE bool Chaos::FBaseRewindHistory::RecordData ( const int32  RecordFrame,
const void HistoryData 
)
inlinevirtual

Record data into the history buffer at a given time

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ RecordDataGrowingOrdered()

virtual FORCEINLINE bool Chaos::FBaseRewindHistory::RecordDataGrowingOrdered ( const void HistoryData)
inlinevirtual

Record data in order and allow growing the history

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ ResetFast()

virtual void Chaos::FBaseRewindHistory::ResetFast ( )
inlinevirtual

Perform a fast reset, marking the data history as reset but not clearing the data or resetting collections

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ ResizeDataHistory()

virtual void Chaos::FBaseRewindHistory::ResizeDataHistory ( const int32  FrameCount,
const EAllowShrinking  AllowShrinking = EAllowShrinking::Default 
)
inlinevirtual

Resize the history

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ RewindStates()

virtual FORCEINLINE bool Chaos::FBaseRewindHistory::RewindStates ( const int32  RewindFrame,
const bool  bResetSolver 
)
inlinevirtual

Legacy interface to rewind states

◆ SetImportant()

virtual FORCEINLINE void Chaos::FBaseRewindHistory::SetImportant ( const bool  bImportant,
const int32  Frame = INDEX_NONE 
)
inlinevirtual

Mark frame important or unimportant

Parameters
Frame= use INDEX_NONE to set importance on all entries

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.

◆ SetPackageMap()

virtual FORCEINLINE void Chaos::FBaseRewindHistory::SetPackageMap ( class UPackageMap InPackageMap)
inlinevirtual

Set the package map for serialization

◆ SetRecordDataIncremental()

virtual FORCEINLINE void Chaos::FBaseRewindHistory::SetRecordDataIncremental ( const bool  bInIncremental)
inlinevirtual

Set if this history should only allow overriding of data if it has a higher value than current recorded data

Reimplemented in Chaos::TDataRewindHistory< DataType >.

◆ ValidateDataInHistory()

virtual void Chaos::FBaseRewindHistory::ValidateDataInHistory ( const void ActorComponent)
inlinevirtual

Validate data in history buffer received from clients on the server

Reimplemented in TNetRewindHistory< DataType, bLegacyData >.


The documentation for this struct was generated from the following file: