X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fserver%2Fnet.cpp;h=b681eec3f74c5d1f3ea576c48d9a2e7138073c7e;hb=7c5e04a4af82947ae8e26db3d03f13a555c10aba;hp=6ceb186644d3a9f7d5d24526d3cfb2376492db8c;hpb=dbd214ac278019c20c883cbb76456b0b0fddc063;p=blank.git diff --git a/src/server/net.cpp b/src/server/net.cpp index 6ceb186..b681eec 100644 --- a/src/server/net.cpp +++ b/src/server/net.cpp @@ -317,10 +317,12 @@ void ClientConnection::QueueUpdate(SpawnStatus &status) { } void ClientConnection::SendUpdates() { + auto base = PlayerChunks().Base(); auto pack = Prepare(); + 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();