diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-07-27 14:09:12 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-07-27 14:09:12 +1000 |
commit | 951fe787c437d43982f5eda77e1f19bf83998bfd (patch) | |
tree | d2e0c9a57451be75a968fedb6b7c407911ffbef4 /source/game/StarNetPackets.hpp | |
parent | 9e7a2e9bb9976a0f23fad5c0c91b151ffa2db24c (diff) |
Networking changes (needs P2P testing, requires clients to update unfortunately)
Diffstat (limited to 'source/game/StarNetPackets.hpp')
-rw-r--r-- | source/game/StarNetPackets.hpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/source/game/StarNetPackets.hpp b/source/game/StarNetPackets.hpp index 475f57a..bfaea6e 100644 --- a/source/game/StarNetPackets.hpp +++ b/source/game/StarNetPackets.hpp @@ -116,16 +116,23 @@ enum class PacketType : uint8_t { }; extern EnumMap<PacketType> const PacketTypeNames; +enum class NetCompressionMode : uint8_t { + None, + Zstd +}; +extern EnumMap<NetCompressionMode> const NetCompressionModeNames; + enum class PacketCompressionMode : uint8_t { Disabled, - Enabled, - Automatic + Automatic, + Enabled }; struct Packet { virtual ~Packet(); virtual PacketType type() const = 0; + virtual String const& typeName() const = 0; virtual void readLegacy(DataStream& ds); virtual void read(DataStream& ds) = 0; @@ -149,6 +156,7 @@ struct PacketBase : public Packet { static PacketType const Type = PacketT; PacketType type() const override { return Type; } + String const& typeName() const override { return PacketTypeNames.getRight(Type); } }; struct ProtocolRequestPacket : PacketBase<PacketType::ProtocolRequest> { @@ -162,12 +170,14 @@ struct ProtocolRequestPacket : PacketBase<PacketType::ProtocolRequest> { }; struct ProtocolResponsePacket : PacketBase<PacketType::ProtocolResponse> { - ProtocolResponsePacket(bool allowed = false); + ProtocolResponsePacket(bool allowed = false, Json info = {}); void read(DataStream& ds) override; + void writeLegacy(DataStream& ds) const override; void write(DataStream& ds) const override; bool allowed; + Json info; }; struct ServerDisconnectPacket : PacketBase<PacketType::ServerDisconnect> { |