F4MP/tiltedcode/Code/encoding/Structs/ActionReplayChain.cpp
Jous99 37b16f1547 code upload
codigo original de f4mp y tilted para referencias
2026-01-06 18:45:00 +01:00

35 lines
1 KiB
C++

#include <Structs/ActionReplayChain.h>
using TiltedPhoques::Serialization;
bool ActionReplayChain::operator==(const ActionReplayChain& acRhs) const noexcept
{
return ResetAnimationGraph == acRhs.ResetAnimationGraph && Actions == acRhs.Actions;
}
bool ActionReplayChain::operator!=(const ActionReplayChain& acRhs) const noexcept
{
return !this->operator==(acRhs);
}
void ActionReplayChain::Serialize(TiltedPhoques::Buffer::Writer& aWriter) const noexcept
{
Serialization::WriteBool(aWriter, ResetAnimationGraph);
aWriter.WriteBits(Actions.size() & 0xFF, 8);
for (size_t i = 0; i < Actions.size(); ++i)
{
Actions[i].GenerateDifferential(ActionEvent{}, aWriter);
}
}
void ActionReplayChain::Deserialize(TiltedPhoques::Buffer::Reader& aReader) noexcept
{
ResetAnimationGraph = Serialization::ReadBool(aReader);
uint64_t actionsCount = 0;
aReader.ReadBits(actionsCount, 8);
Actions.resize(actionsCount);
for (ActionEvent& replayAction : Actions)
{
replayAction.ApplyDifferential(aReader);
}
}