diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-09-11 18:22:44 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-09-11 18:22:44 +1000 |
commit | 7408981e131f7cdd897a3c5924ea14b272986e88 (patch) | |
tree | 4e99c67e587aa7c1e9b4dbd046177efbc4ba4011 /source/core/StarNetElement.hpp | |
parent | 5a75473e16afb8152aab943fd316d9820835f465 (diff) |
use a version number rather than a bool
more flexible, allows for backwards compat with older OpenSB versions & not just vanilla Starbound
Diffstat (limited to 'source/core/StarNetElement.hpp')
-rw-r--r-- | source/core/StarNetElement.hpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/source/core/StarNetElement.hpp b/source/core/StarNetElement.hpp index 393dd3d..7d73b85 100644 --- a/source/core/StarNetElement.hpp +++ b/source/core/StarNetElement.hpp @@ -55,23 +55,25 @@ public: // received even if no deltas are produced, so no extrapolation takes place. virtual void blankNetDelta(float interpolationTime); - NetCompatibilityFilter netCompatibilityFilter() const; - void setNetCompatibilityFilter(NetCompatibilityFilter netFilter); + VersionNumber compatibilityVersion() const; + void setCompatibilityVersion(VersionNumber version); bool checkWithRules(NetCompatibilityRules const& rules) const; private: - NetCompatibilityFilter m_netCompatibilityFilter = NetCompatibilityFilter::None; + VersionNumber m_netCompatibilityVersion = AnyVersion; }; -inline NetCompatibilityFilter NetElement::netCompatibilityFilter() const { - return m_netCompatibilityFilter; +inline VersionNumber NetElement::compatibilityVersion() const { + return m_netCompatibilityVersion; } -inline void NetElement::setNetCompatibilityFilter(NetCompatibilityFilter netFilter) { - m_netCompatibilityFilter = netFilter; +inline void NetElement::setCompatibilityVersion(VersionNumber version) { + m_netCompatibilityVersion = version; } inline bool NetElement::checkWithRules(NetCompatibilityRules const& rules) const { - return rules.checkFilter(m_netCompatibilityFilter); + if (m_netCompatibilityVersion != AnyVersion) + return rules.version() >= m_netCompatibilityVersion; + return true; } } |