#include #include #include void RequestFactionsChanges::SerializeRaw(TiltedPhoques::Buffer::Writer& aWriter) const noexcept { assert(Changes.size() < 0x100); aWriter.WriteBits(Changes.size() & 0xFF, 8); for (auto& change : Changes) { Serialization::WriteVarInt(aWriter, change.first); change.second.Serialize(aWriter); } } void RequestFactionsChanges::DeserializeRaw(TiltedPhoques::Buffer::Reader& aReader) noexcept { ClientMessage::DeserializeRaw(aReader); uint64_t count = 0; aReader.ReadBits(count, 8); for (auto i = 0u; i < count; ++i) { auto& change = Changes[Serialization::ReadVarInt(aReader) & 0xFFFFFFFF]; change.Deserialize(aReader); } }