21class PredictedMovementComponent {
36 struct HistoryTimestampData {
47 HistoryTimestampData& operator=(HistoryTimestampData
const&);
48 HistoryTimestampData(HistoryTimestampData
const&);
49 HistoryTimestampData();
54 MCAPI
static uint& mSequenceIdGenerator();
61 enum class ItemType :
int {
77 HistoryItem& operator=(HistoryItem
const&);
78 HistoryItem(HistoryItem
const&);
84 virtual ~HistoryItem() =
default;
86 virtual bool isValidStartItem()
const = 0;
88 virtual bool isAddedActorItem()
const = 0;
90 virtual bool isMotionHintItem()
const = 0;
92 virtual ::std::string toString()
const;
94 virtual ::Vec3
const& getPos()
const = 0;
96 virtual ::Vec2
const& getRot()
const = 0;
98 virtual float getYHeadRot()
const = 0;
100 virtual bool isOnGround()
const = 0;
106 MCAPI ::std::string $toString()
const;
112 struct PredictionDbgWindowData {
131 PredictionDbgWindowData& operator=(PredictionDbgWindowData
const&);
132 PredictionDbgWindowData(PredictionDbgWindowData
const&);
133 PredictionDbgWindowData();
136 struct PredictionDbgData {
150 PredictionDbgData& operator=(PredictionDbgData
const&);
151 PredictionDbgData(PredictionDbgData
const&);
155 struct RuntimePredictionData {
163 struct LerpedInterval {
175 LerpedInterval& operator=(LerpedInterval
const&);
176 LerpedInterval(LerpedInterval
const&);
198 RuntimePredictionData& operator=(RuntimePredictionData
const&);
199 RuntimePredictionData(RuntimePredictionData
const&);
200 RuntimePredictionData();
205 virtual ~RuntimePredictionData() =
default;
233 HistoryCache& operator=(HistoryCache
const&);
234 HistoryCache(HistoryCache
const&);
241 MCAPI
void _addHistoryItem(::std::shared_ptr<::PredictedMovementComponent::HistoryItem const>
const& item);
244 MCAPI
void _clearHistory();
248 addHistory(
::AddActorPacket const& actorData, ::std::chrono::steady_clock::time_point
const& receiveTimepoint);
250 MCAPI
void addHistory(
252 ::std::chrono::steady_clock::time_point
const& receiveTimepoint
255 MCAPI
void addHistory(
257 ::std::chrono::steady_clock::time_point
const& receiveTimepoint
261 MCAPI
void addHistory(
263 ::std::chrono::steady_clock::time_point
const& receiveTimepoint
285 MotionHistoryItem& operator=(MotionHistoryItem
const&);
286 MotionHistoryItem(MotionHistoryItem
const&);
292 virtual bool isValidStartItem()
const ;
294 virtual bool isAddedActorItem()
const ;
296 virtual bool isMotionHintItem()
const ;
298 virtual ::Vec3
const& getPos()
const ;
300 virtual ::Vec2
const& getRot()
const ;
302 virtual float getYHeadRot()
const ;
304 virtual bool isOnGround()
const ;
311 MCAPI MotionHistoryItem(
314 bool isMotionHintItem,
315 ::std::chrono::steady_clock::time_point
const& timepoint,
316 ::std::shared_ptr<::PredictedMovementComponent::MoveHistoryItem const>
const& prevMoveItem,
317 ::std::shared_ptr<::PredictedMovementComponent::MotionHistoryItem const>
const& prevMotionItem,
318 bool didAdjustTimepoint,
319 ::std::chrono::milliseconds
const& timepointDiff
331 bool isMotionHintItem,
332 ::std::chrono::steady_clock::time_point
const& timepoint,
333 ::std::shared_ptr<::PredictedMovementComponent::MoveHistoryItem const>
const& prevMoveItem,
334 ::std::shared_ptr<::PredictedMovementComponent::MotionHistoryItem const>
const& prevMotionItem,
335 bool didAdjustTimepoint,
336 ::std::chrono::milliseconds
const& timepointDiff
345 MCFOLD
bool $isValidStartItem()
const;
347 MCAPI
bool $isAddedActorItem()
const;
349 MCAPI
bool $isMotionHintItem()
const;
351 MCAPI ::Vec3
const& $getPos()
const;
353 MCFOLD ::Vec2
const& $getRot()
const;
355 MCAPI
float $getYHeadRot()
const;
357 MCFOLD
bool $isOnGround()
const;
377 MoveHistoryItem& operator=(MoveHistoryItem
const&);
378 MoveHistoryItem(MoveHistoryItem
const&);
384 virtual bool isValidStartItem()
const ;
386 virtual bool isAddedActorItem()
const ;
388 virtual bool isMotionHintItem()
const ;
390 virtual ::Vec3
const& getPos()
const ;
392 virtual ::Vec2
const& getRot()
const ;
394 virtual float getYHeadRot()
const ;
396 virtual bool isOnGround()
const ;
402 MCFOLD
bool $isValidStartItem()
const;
404 MCFOLD
bool $isAddedActorItem()
const;
406 MCFOLD
bool $isMotionHintItem()
const;
408 MCFOLD ::Vec3
const& $getPos()
const;
410 MCAPI ::Vec2
const& $getRot()
const;
412 MCAPI
float $getYHeadRot()
const;
414 MCFOLD
bool $isOnGround()
const;
426 using PredictionEventsListenerFunction = ::std::function<void(::MovePredictionType)>;
431 ::ll::TypedStorage<1, 1, ::brstd::bitset<2, uchar>> mDisableConditions;
432 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PredictedMovementComponent::RuntimePredictionData>>
433 mRuntimePredictionData;
434 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PredictedMovementComponent::HistoryItem const>> mLastStartItem;
435 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PredictedMovementComponent::HistoryItem const>> mLastEndItem;
436 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PredictedMovementComponent::HistoryCache>> mHistoryCache;
437 ::ll::TypedStorage<1, 1, bool> mForceTeleportAfterResuming;
438 ::ll::TypedStorage<1, 1, bool> mAllowTeleportingWithoutRegion;
439 ::ll::TypedStorage<4, 4, uint> mLastCompletedInterpolationSequenceID;
440 ::ll::TypedStorage<8, 64, ::std::function<void(::MovePredictionType)>> mPredictionEventsListenerFunc;
441 ::ll::TypedStorage<8, 16, ::PredictedMovementValues> mPredictedMovementValues;
447 MCAPI PredictedMovementComponent();
449 MCAPI
void _debugLog(
459 MCAPI ~PredictedMovementComponent();
465 MCAPI static ::std::unique_ptr<::PredictedMovementComponent::RuntimePredictionData>& mGlobalRuntimePredictionData();
Definition PredictedMovementComponent.h:221
Definition PredictedMovementComponent.h:58
Definition PredictedMovementComponent.h:36
Definition PredictedMovementComponent.h:268
Definition PredictedMovementComponent.h:364