7#include "entt/entity/fwd.hpp"
9#include <entt/entt.hpp>
27std::vector<uint8_t>
serialize(
const entt::registry& registry);
56std::vector<uint8_t>
encodeDelta(
const std::vector<uint8_t>& baseline,
const std::vector<uint8_t>& current);
68applyDelta(
const std::vector<uint8_t>& baseline,
const uint8_t* patch, std::size_t patchSize, std::size_t outputSize);
90 void apply(
const uint8_t* data,
92 std::optional<entt::entity> localPlayerServerEntity = std::nullopt,
93 uint32_t* outServerAckedClientTick =
nullptr);
98 [[nodiscard]] entt::entity
map(entt::entity e)
const;
entt::entity map(entt::entity e) const
Map a server-side entity ID to its local equivalent.
Definition RegistrySerialization.cpp:354
void apply(const uint8_t *data, size_t size, std::optional< entt::entity > localPlayerServerEntity=std::nullopt, uint32_t *outServerAckedClientTick=nullptr)
Apply a serialized registry snapshot to the local registry.
Definition RegistrySerialization.cpp:298
Loader(entt ::registry ®istry)
Construct a Loader bound to the given registry.
Definition RegistrySerialization.hpp:76
entt::registry & registry
Definition RegistrySerialization.hpp:101
entt::continuous_loader loader
Definition RegistrySerialization.hpp:102
Utilities for serializing and deserializing the ECS registry over the network.
Definition RegistrySerialization.cpp:127
std::vector< uint8_t > serialize(const entt::registry ®istry)
Serialize the full registry state into a byte buffer for transmission.
Definition RegistrySerialization.cpp:261
std::vector< uint8_t > encodeDelta(const std::vector< uint8_t > &baseline, const std::vector< uint8_t > ¤t)
Compute an RLE byte-diff patch from baseline to current.
Definition RegistrySerialization.cpp:177
std::vector< uint8_t > applyDelta(const std::vector< uint8_t > &baseline, const uint8_t *patch, std::size_t patchSize, std::size_t outputSize)
Reconstruct current from baseline + patch.
Definition RegistrySerialization.cpp:224