Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarClientContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/StarClientContext.cpp')
-rw-r--r--source/game/StarClientContext.cpp15
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;
+}
+
}