diff options
Diffstat (limited to 'source/game/StarClientContext.cpp')
-rw-r--r-- | source/game/StarClientContext.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/source/game/StarClientContext.cpp b/source/game/StarClientContext.cpp index a91c40e..3061368 100644 --- a/source/game/StarClientContext.cpp +++ b/source/game/StarClientContext.cpp @@ -77,11 +77,12 @@ ShipUpgrades ClientContext::shipUpgrades() const { return m_shipUpgrades.get(); } -void ClientContext::readUpdate(ByteArray data) { +void ClientContext::readUpdate(ByteArray data, NetCompatibilityRules rules) { if (data.empty()) return; DataStreamBuffer ds(std::move(data)); + ds.setStreamCompatibilityVersion(rules); m_rpc->receive(ds.read<ByteArray>()); @@ -89,10 +90,10 @@ void ClientContext::readUpdate(ByteArray data) { if (!shipUpdates.empty()) m_newShipUpdates.merge(DataStreamBuffer::deserialize<WorldChunks>(std::move(shipUpdates)), true); - m_netGroup.readNetState(ds.read<ByteArray>()); + m_netGroup.readNetState(ds.read<ByteArray>(), 0.0f, rules); } -ByteArray ClientContext::writeUpdate() { +ByteArray ClientContext::writeUpdate(NetCompatibilityRules rules) { return m_rpc->send(); } @@ -104,4 +105,12 @@ ConnectionId ClientContext::connectionId() const { return m_connectionId; } +void ClientContext::setNetCompatibilityRules(NetCompatibilityRules netCompatibilityRules) { + m_netCompatibilityRules = netCompatibilityRules; +} + +NetCompatibilityRules ClientContext::netCompatibilityRules() const { + return m_netCompatibilityRules; +} + } |