From da673b0965dfb6273e329a6738906a90ee69bb1a Mon Sep 17 00:00:00 2001 From: DrSocalkwe3n Date: Sun, 18 Jan 2026 09:07:25 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE=D1=84?= =?UTF-8?q?=D0=B8=D0=BB=D0=B5=D0=B9=20=D0=BF=D0=BE=20=D1=83=D0=BC=D0=BE?= =?UTF-8?q?=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=82=D0=B5=D1=80=D1=8F=D0=BD=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D1=82=D0=BE=D1=80=D0=BE=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Src/Client/ServerSession.cpp | 18 ++++++++++++++++++ Src/Client/ServerSession.hpp | 1 + 2 files changed, 19 insertions(+) diff --git a/Src/Client/ServerSession.cpp b/Src/Client/ServerSession.cpp index 1d2df59..d0becc9 100644 --- a/Src/Client/ServerSession.cpp +++ b/Src/Client/ServerSession.cpp @@ -703,20 +703,38 @@ void ServerSession::update(GlobalTime gTime, float dTime) { for(auto& [resId, def] : profile_Voxel_AddOrChange) Profiles.DefVoxels[resId] = def; + for(ResourceId resId : profile_Voxel_Lost) + Profiles.DefVoxels[resId] = DefVoxel(); + for(auto& [resId, def] : profile_Node_AddOrChange) Profiles.DefNodes[resId] = def; + for(ResourceId resId : profile_Node_Lost) + Profiles.DefNodes[resId] = DefNode(); + for(auto& [resId, def] : profile_World_AddOrChange) Profiles.DefWorlds[resId] = def; + for(ResourceId resId : profile_World_Lost) + Profiles.DefWorlds[resId] = DefWorld(); + for(auto& [resId, def] : profile_Portal_AddOrChange) Profiles.DefPortals[resId] = def; + + for(ResourceId resId : profile_Portal_Lost) + Profiles.DefPortals[resId] = DefPortal(); for(auto& [resId, def] : profile_Entity_AddOrChange) Profiles.DefEntitys[resId] = def; + for(ResourceId resId : profile_Entity_Lost) + Profiles.DefEntitys[resId] = DefEntity(); + for(auto& [resId, def] : profile_Item_AddOrChange) Profiles.DefItems[resId] = def; + + for(ResourceId resId : profile_Item_Lost) + Profiles.DefItems[resId] = DefItem(); } // Чанки diff --git a/Src/Client/ServerSession.hpp b/Src/Client/ServerSession.hpp index 8ea44e5..831eaf0 100644 --- a/Src/Client/ServerSession.hpp +++ b/Src/Client/ServerSession.hpp @@ -119,6 +119,7 @@ private: std::vector BindsDK; // Полученные изменения привязок Hash+Header std::vector BindsHH; + // Потерянные привязываются к hash_t(0) // Полученные с сервера ресурсы std::vector> ReceivedAssets;