Эта версия компилится

This commit is contained in:
2025-08-15 17:35:13 +06:00
parent 4d6355298c
commit e21394c4f1
18 changed files with 745 additions and 583 deletions

View File

@@ -48,7 +48,7 @@ class Entity {
public:
// PosQuat
WorldId_t WorldId;
PortalId_t LastUsedPortal;
// PortalId LastUsedPortal;
Pos::Object Pos;
glm::quat Quat;
static constexpr uint16_t HP_BS = 4096, HP_BS_Bit = 12;
@@ -66,8 +66,8 @@ public:
// Подгрузка двоичных ресурсов
virtual void onBinaryResourceAdd(std::vector<Hash_t>) = 0;
virtual void onContentDefinesAdd(std::unordered_map<EnumDefContent, std::vector<ResourceId_t>>) = 0;
virtual void onContentDefinesLost(std::unordered_map<EnumDefContent, std::vector<ResourceId_t>>) = 0;
virtual void onContentDefinesAdd(std::unordered_map<EnumDefContent, std::vector<ResourceId>>) = 0;
virtual void onContentDefinesLost(std::unordered_map<EnumDefContent, std::vector<ResourceId>>) = 0;
// Сообщаем об изменившихся чанках
virtual void onChunksChange(WorldId_t worldId, const std::unordered_set<Pos::GlobalChunk> &changeOrAddList, const std::unordered_set<Pos::GlobalRegion> &remove) = 0;
@@ -149,17 +149,17 @@ public:
} Binary;
struct {
std::unordered_map<DefVoxelId_t, DefVoxel_t> DefVoxel;
std::unordered_map<DefNodeId_t, DefNode_t> DefNode;
std::unordered_map<DefWorldId_t, DefWorldInfo> DefWorld;
std::unordered_map<DefPortalId_t, DefPortalInfo> DefPortal;
std::unordered_map<DefEntityId_t, DefEntityInfo> DefEntity;
std::unordered_map<DefItemId_t, DefItemInfo> DefItem;
std::unordered_map<DefVoxelId, DefVoxel_t> DefVoxel;
std::unordered_map<DefNodeId, DefNode_t> DefNode;
std::unordered_map<DefWorldId, DefWorldInfo> DefWorld;
std::unordered_map<DefPortalId, DefPortalInfo> DefPortal;
std::unordered_map<DefEntityId, DefEntityInfo> DefEntity;
std::unordered_map<DefItemId, DefItemInfo> DefItem;
} Registry;
struct {
std::unordered_map<WorldId_t, WorldInfo> Worlds;
std::unordered_map<PortalId_t, PortalInfo> Portals;
// std::unordered_map<PortalId_t, PortalInfo> Portals;
std::unordered_map<EntityId_t, EntityInfo> Entityes;
} Data;

View File

@@ -51,38 +51,38 @@ struct PP_Content_RegionRemove : public ParsedPacket {
};
struct PP_Definition_Voxel : public ParsedPacket {
DefVoxelId_t Id;
DefVoxelId Id;
DefVoxel_t Def;
PP_Definition_Voxel(DefVoxelId_t id, DefVoxel_t def)
PP_Definition_Voxel(DefVoxelId id, DefVoxel_t def)
: ParsedPacket(ToClient::L1::Definition, (uint8_t) ToClient::L2Definition::Voxel),
Id(id), Def(def)
{}
};
struct PP_Definition_FreeVoxel : public ParsedPacket {
DefVoxelId_t Id;
DefVoxelId Id;
PP_Definition_FreeVoxel(DefVoxelId_t id)
PP_Definition_FreeVoxel(DefVoxelId id)
: ParsedPacket(ToClient::L1::Definition, (uint8_t) ToClient::L2Definition::FreeVoxel),
Id(id)
{}
};
struct PP_Definition_Node : public ParsedPacket {
DefNodeId_t Id;
DefNodeId Id;
DefNode_t Def;
PP_Definition_Node(DefNodeId_t id, DefNode_t def)
PP_Definition_Node(DefNodeId id, DefNode_t def)
: ParsedPacket(ToClient::L1::Definition, (uint8_t) ToClient::L2Definition::Node),
Id(id), Def(def)
{}
};
struct PP_Definition_FreeNode : public ParsedPacket {
DefNodeId_t Id;
DefNodeId Id;
PP_Definition_FreeNode(DefNodeId_t id)
PP_Definition_FreeNode(DefNodeId id)
: ParsedPacket(ToClient::L1::Definition, (uint8_t) ToClient::L2Definition::FreeNode),
Id(id)
{}
@@ -331,8 +331,8 @@ void ServerSession::atFreeDrawTime(GlobalTime gTime, float dTime) {
{
std::unordered_map<WorldId_t, std::tuple<std::unordered_set<Pos::GlobalChunk>, std::unordered_set<Pos::GlobalRegion>>> changeOrAddList_removeList;
std::unordered_map<EnumDefContent, std::vector<ResourceId_t>> onContentDefinesAdd;
std::unordered_map<EnumDefContent, std::vector<ResourceId_t>> onContentDefinesLost;
std::unordered_map<EnumDefContent, std::vector<ResourceId>> onContentDefinesAdd;
std::unordered_map<EnumDefContent, std::vector<ResourceId>> onContentDefinesLost;
// Пакеты
ParsedPacket *pack;
@@ -601,30 +601,30 @@ coro<> ServerSession::rP_Definition(Net::AsyncSocket &sock) {
switch((ToClient::L2Definition) second) {
case ToClient::L2Definition::World: {
DefWorldId_t cdId = co_await sock.read<DefWorldId_t>();
DefWorldId cdId = co_await sock.read<DefWorldId>();
co_return;
}
case ToClient::L2Definition::FreeWorld: {
DefWorldId_t cdId = co_await sock.read<DefWorldId_t>();
DefWorldId cdId = co_await sock.read<DefWorldId>();
co_return;
}
case ToClient::L2Definition::Voxel: {
DefVoxelId_t cdId = co_await sock.read<DefVoxelId_t>();
DefVoxelId cdId = co_await sock.read<DefVoxelId>();
co_return;
}
case ToClient::L2Definition::FreeVoxel: {
DefVoxelId_t cdId = co_await sock.read<DefVoxelId_t>();
DefVoxelId cdId = co_await sock.read<DefVoxelId>();
co_return;
}
case ToClient::L2Definition::Node:
{
DefNodeId_t id;
DefNodeId id;
DefNode_t def;
id = co_await sock.read<DefNodeId_t>();
id = co_await sock.read<DefNodeId>();
def.DrawType = (DefNode_t::EnumDrawType) co_await sock.read<uint8_t>();
for(int iter = 0; iter < 6; iter++) {
auto &pl = def.Texs[iter].Pipeline;
@@ -643,7 +643,7 @@ coro<> ServerSession::rP_Definition(Net::AsyncSocket &sock) {
}
case ToClient::L2Definition::FreeNode:
{
DefNodeId_t id = co_await sock.read<DefNodeId_t>();
DefNodeId id = co_await sock.read<DefNodeId>();
PP_Definition_FreeNode *packet = new PP_Definition_FreeNode(
id

View File

@@ -24,8 +24,8 @@ void VulkanRenderSession::ThreadVertexObj_t::run() {
LOG.debug() << "Старт потока подготовки чанков к рендеру";
// Контейнеры событий
std::vector<DefVoxelId_t> changedDefines_Voxel;
std::vector<DefNodeId_t> changedDefines_Node;
std::vector<DefVoxelId> changedDefines_Voxel;
std::vector<DefNodeId> changedDefines_Node;
std::unordered_map<WorldId_t, std::vector<Pos::GlobalChunk>> changedContent_Chunk;
std::unordered_map<WorldId_t, std::vector<Pos::GlobalRegion>> changedContent_RegionRemove;
@@ -991,11 +991,11 @@ void VulkanRenderSession::onBinaryResourceAdd(std::vector<Hash_t>) {
}
void VulkanRenderSession::onContentDefinesAdd(std::unordered_map<EnumDefContent, std::vector<ResourceId_t>>) {
void VulkanRenderSession::onContentDefinesAdd(std::unordered_map<EnumDefContent, std::vector<ResourceId>>) {
}
void VulkanRenderSession::onContentDefinesLost(std::unordered_map<EnumDefContent, std::vector<ResourceId_t>>) {
void VulkanRenderSession::onContentDefinesLost(std::unordered_map<EnumDefContent, std::vector<ResourceId>>) {
}

View File

@@ -96,9 +96,9 @@ class VulkanRenderSession : public IRenderSession, public IVulkanDependent {
struct ChunkObj_t {
// Сортированный список уникальных значений
std::vector<DefVoxelId_t> VoxelDefines;
std::vector<DefVoxelId> VoxelDefines;
VertexPool<VoxelVertexPoint>::Pointer VoxelPointer;
std::vector<DefNodeId_t> NodeDefines;
std::vector<DefNodeId> NodeDefines;
VertexPool<NodeVertexStatic>::Pointer NodePointer;
};
@@ -129,7 +129,7 @@ class VulkanRenderSession : public IRenderSession, public IVulkanDependent {
// Сюда входят добавленные/изменённые/удалённые определения нод и вокселей
// Чтобы перерисовать чанки, связанные с ними
void onContentDefinesChange(const std::vector<DefVoxelId_t>& voxels, const std::vector<DefNodeId_t>& nodes) {
void onContentDefinesChange(const std::vector<DefVoxelId>& voxels, const std::vector<DefNodeId>& nodes) {
ChangedDefines_Voxel.insert(ChangedDefines_Voxel.end(), voxels.begin(), voxels.end());
ChangedDefines_Node.insert(ChangedDefines_Node.end(), nodes.begin(), nodes.end());
}
@@ -239,8 +239,8 @@ class VulkanRenderSession : public IRenderSession, public IVulkanDependent {
VertexPool<VoxelVertexPoint> VertexPool_Voxels;
VertexPool<NodeVertexStatic> VertexPool_Nodes;
// Списки изменённых определений
std::vector<DefVoxelId_t> ChangedDefines_Voxel;
std::vector<DefNodeId_t> ChangedDefines_Node;
std::vector<DefVoxelId> ChangedDefines_Voxel;
std::vector<DefNodeId> ChangedDefines_Node;
// Список чанков на перерисовку
std::unordered_map<WorldId_t, std::vector<Pos::GlobalChunk>> ChangedContent_Chunk;
std::unordered_map<WorldId_t, std::vector<Pos::GlobalRegion>> ChangedContent_RegionRemove;
@@ -315,7 +315,7 @@ class VulkanRenderSession : public IRenderSession, public IVulkanDependent {
NodeStaticOpaquePipeline = VK_NULL_HANDLE,
NodeStaticTransparentPipeline = VK_NULL_HANDLE;
std::map<BinTextureId_t, uint16_t> ServerToAtlas;
std::map<AssetsTexture, uint16_t> ServerToAtlas;
struct {
} External;
@@ -338,8 +338,8 @@ public:
}
virtual void onBinaryResourceAdd(std::vector<Hash_t>) override;
virtual void onContentDefinesAdd(std::unordered_map<EnumDefContent, std::vector<ResourceId_t>>) override;
virtual void onContentDefinesLost(std::unordered_map<EnumDefContent, std::vector<ResourceId_t>>) override;
virtual void onContentDefinesAdd(std::unordered_map<EnumDefContent, std::vector<ResourceId>>) override;
virtual void onContentDefinesLost(std::unordered_map<EnumDefContent, std::vector<ResourceId>>) override;
virtual void onChunksChange(WorldId_t worldId, const std::unordered_set<Pos::GlobalChunk>& changeOrAddList, const std::unordered_set<Pos::GlobalRegion>& remove) override;
virtual void setCameraPos(WorldId_t worldId, Pos::Object pos, glm::quat quat) override;