]> git.localhorst.tv Git - blank.git/blobdiff - src/server/net.cpp
compress protocol a little
[blank.git] / src / server / net.cpp
index 6ceb186644d3a9f7d5d24526d3cfb2376492db8c..b681eec3f74c5d1f3ea576c48d9a2e7138073c7e 100644 (file)
@@ -317,10 +317,12 @@ void ClientConnection::QueueUpdate(SpawnStatus &status) {
 }
 
 void ClientConnection::SendUpdates() {
+       auto base = PlayerChunks().Base();
        auto pack = Prepare<Packet::EntityUpdate>();
+       pack.WriteChunkBase(base);
        int entity_pos = 0;
        for (SpawnStatus *status : entity_updates) {
-               pack.WriteEntity(*status->entity, entity_pos);
+               pack.WriteEntity(*status->entity, base, entity_pos);
                ++entity_pos;
                if (entity_pos == Packet::EntityUpdate::MAX_ENTITIES) {
                        pack.WriteEntityCount(entity_pos);
@@ -431,12 +433,17 @@ void ClientConnection::AttachPlayer(Player &player) {
                GetPlayerModel().Instantiate(PlayerEntity().GetModel());
        }
 
-       cout << "player \"" << player.Name() << "\" joined" << endl;
+       string msg = "player \"" + player.Name() + "\" joined";
+       cout << msg << endl;
+       server.DistributeMessage(0, 0, msg);
 }
 
 void ClientConnection::DetachPlayer() {
        if (!HasPlayer()) return;
-       cout << "player \"" << input->GetPlayer().Name() << "\" left" << endl;
+       string msg = "player \"" + input->GetPlayer().Name() + "\" left";
+       cout << msg << endl;
+       server.DistributeMessage(0, 0, msg);
+
        server.GetWorldSave().Write(input->GetPlayer());
        PlayerEntity().Kill();
        PlayerEntity().UnRef();