diff options
| author | untodesu <kirill@untode.su> | 2025-09-12 16:16:06 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-09-12 16:16:06 +0500 |
| commit | fc80fa024fc93dac6ea89461ef36f455c5e468a2 (patch) | |
| tree | 7c4ea8f03b6778572d59784dc28b600e3f8f2268 /game/shared/protocol.cc | |
| parent | 12947aafcc6a6eb362cc454e2149796ec9265743 (diff) | |
| parent | 522a7514012da86f7b9643179f0763746f3b232e (diff) | |
| download | voxelius-fc80fa024fc93dac6ea89461ef36f455c5e468a2.tar.bz2 voxelius-fc80fa024fc93dac6ea89461ef36f455c5e468a2.zip | |
Merge pull request #15 from untodesu/metavoxels
Metavoxels
Diffstat (limited to 'game/shared/protocol.cc')
| -rw-r--r-- | game/shared/protocol.cc | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/game/shared/protocol.cc b/game/shared/protocol.cc index 576502e..7115807 100644 --- a/game/shared/protocol.cc +++ b/game/shared/protocol.cc @@ -21,7 +21,7 @@ ENetPacket* protocol::encode(const protocol::StatusRequest& packet, enet_uint32 {
write_buffer.reset();
write_buffer.write<std::uint16_t>(protocol::StatusRequest::ID);
- write_buffer.write<std::uint32_t>(packet.version);
+ write_buffer.write<std::uint32_t>(packet.game_version_major);
return write_buffer.to_packet(flags);
}
@@ -29,10 +29,12 @@ ENetPacket* protocol::encode(const protocol::StatusResponse& packet, enet_uint32 {
write_buffer.reset();
write_buffer.write<std::uint16_t>(protocol::StatusResponse::ID);
- write_buffer.write<std::uint32_t>(packet.version);
+ write_buffer.write<std::uint32_t>(packet.game_version_major);
write_buffer.write<std::uint16_t>(packet.max_players);
write_buffer.write<std::uint16_t>(packet.num_players);
write_buffer.write<std::string_view>(packet.motd);
+ write_buffer.write<std::uint32_t>(packet.game_version_minor);
+ write_buffer.write<std::uint32_t>(packet.game_version_patch);
return write_buffer.to_packet(flags);
}
@@ -40,11 +42,13 @@ ENetPacket* protocol::encode(const protocol::LoginRequest& packet, enet_uint32 f {
write_buffer.reset();
write_buffer.write<std::uint16_t>(protocol::LoginRequest::ID);
- write_buffer.write<std::uint32_t>(packet.version);
+ write_buffer.write<std::uint32_t>(packet.game_version_major);
write_buffer.write<std::uint64_t>(packet.voxel_registry_checksum);
write_buffer.write<std::uint64_t>(packet.item_registry_checksum);
write_buffer.write<std::uint64_t>(packet.password_hash);
write_buffer.write<std::string_view>(packet.username.substr(0, protocol::MAX_USERNAME));
+ write_buffer.write<std::uint32_t>(packet.game_version_minor);
+ write_buffer.write<std::uint32_t>(packet.game_version_patch);
return write_buffer.to_packet(flags);
}
@@ -268,26 +272,30 @@ void protocol::decode(entt::dispatcher& dispatcher, const ENetPacket* packet, EN switch(id) {
case protocol::StatusRequest::ID:
status_request.peer = peer;
- status_request.version = read_buffer.read<std::uint32_t>();
+ status_request.game_version_major = read_buffer.read<std::uint32_t>();
dispatcher.trigger(status_request);
break;
case protocol::StatusResponse::ID:
status_response.peer = peer;
- status_response.version = read_buffer.read<std::uint32_t>();
+ status_response.game_version_major = read_buffer.read<std::uint32_t>();
status_response.max_players = read_buffer.read<std::uint16_t>();
status_response.num_players = read_buffer.read<std::uint16_t>();
status_response.motd = read_buffer.read<std::string>();
+ status_response.game_version_minor = read_buffer.read<std::uint32_t>();
+ status_response.game_version_patch = read_buffer.read<std::uint32_t>();
dispatcher.trigger(status_response);
break;
case protocol::LoginRequest::ID:
login_request.peer = peer;
- login_request.version = read_buffer.read<std::uint32_t>();
+ login_request.game_version_major = read_buffer.read<std::uint32_t>();
login_request.voxel_registry_checksum = read_buffer.read<std::uint64_t>();
login_request.item_registry_checksum = read_buffer.read<std::uint64_t>();
login_request.password_hash = read_buffer.read<std::uint64_t>();
login_request.username = read_buffer.read<std::string>();
+ login_request.game_version_minor = read_buffer.read<std::uint32_t>();
+ login_request.game_version_patch = read_buffer.read<std::uint32_t>();
dispatcher.trigger(login_request);
break;
|
