mirror of
https://github.com/Jous99/F4MP.git
synced 2026-01-13 00:00:54 +01:00
56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
|
|
#include <Structs/CharacterData.h>
|
||
|
|
#include <TiltedCore/Serialization.hpp>
|
||
|
|
|
||
|
|
using TiltedPhoques::Serialization;
|
||
|
|
|
||
|
|
void CharacterData::Serialize(TiltedPhoques::Buffer::Writer& aWriter) const noexcept
|
||
|
|
{
|
||
|
|
ReferenceId.Serialize(aWriter);
|
||
|
|
FormId.Serialize(aWriter);
|
||
|
|
CellId.Serialize(aWriter);
|
||
|
|
WorldSpaceId.Serialize(aWriter);
|
||
|
|
Position.Serialize(aWriter);
|
||
|
|
Rotation.Serialize(aWriter);
|
||
|
|
aWriter.WriteBits(ChangeFlags, 32);
|
||
|
|
Serialization::WriteString(aWriter, AppearanceBuffer);
|
||
|
|
InventoryContent.Serialize(aWriter);
|
||
|
|
FactionsContent.Serialize(aWriter);
|
||
|
|
LatestAction.GenerateDifferential(ActionEvent{}, aWriter);
|
||
|
|
QuestContent.Serialize(aWriter);
|
||
|
|
FaceTints.Serialize(aWriter);
|
||
|
|
AllActorValues.Serialize(aWriter);
|
||
|
|
Serialization::WriteBool(aWriter, IsDead);
|
||
|
|
Serialization::WriteBool(aWriter, IsWeaponDrawn);
|
||
|
|
}
|
||
|
|
|
||
|
|
void CharacterData::Deserialize(TiltedPhoques::Buffer::Reader& aReader) noexcept
|
||
|
|
{
|
||
|
|
ReferenceId.Deserialize(aReader);
|
||
|
|
FormId.Deserialize(aReader);
|
||
|
|
CellId.Deserialize(aReader);
|
||
|
|
WorldSpaceId.Deserialize(aReader);
|
||
|
|
Position.Deserialize(aReader);
|
||
|
|
Rotation.Deserialize(aReader);
|
||
|
|
|
||
|
|
uint64_t dest = 0;
|
||
|
|
aReader.ReadBits(dest, 32);
|
||
|
|
ChangeFlags = dest & 0xFFFFFFFF;
|
||
|
|
|
||
|
|
AppearanceBuffer = Serialization::ReadString(aReader);
|
||
|
|
InventoryContent = {};
|
||
|
|
InventoryContent.Deserialize(aReader);
|
||
|
|
|
||
|
|
FactionsContent = {};
|
||
|
|
FactionsContent.Deserialize(aReader);
|
||
|
|
|
||
|
|
LatestAction = ActionEvent{};
|
||
|
|
LatestAction.ApplyDifferential(aReader);
|
||
|
|
|
||
|
|
QuestContent.Deserialize(aReader);
|
||
|
|
FaceTints.Deserialize(aReader);
|
||
|
|
AllActorValues.Deserialize(aReader);
|
||
|
|
|
||
|
|
IsDead = Serialization::ReadBool(aReader);
|
||
|
|
IsWeaponDrawn = Serialization::ReadBool(aReader);
|
||
|
|
}
|