Fixed external door geometry

This commit is contained in:
2026-04-06 23:00:20 +03:00
parent 19e4d80741
commit 3798f227a7
3 changed files with 7068 additions and 6355 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -43,8 +43,8 @@ private:
Procedural::TriangleBuffer& extWallTb,
Procedural::TriangleBuffer& intWallTb,
Procedural::TriangleBuffer& intWindowsTb);
void buildDoors(const struct CellGridComponent& grid, std::vector<Procedural::TriangleBuffer>& doorTbs);
void buildWindows(const struct CellGridComponent& grid, std::vector<Procedural::TriangleBuffer>& windowTbs);
void buildDoors(const struct CellGridComponent& grid, Procedural::TriangleBuffer& extDoorsTb, Procedural::TriangleBuffer& intDoorsTb);
void buildWindows(const struct CellGridComponent& grid, Procedural::TriangleBuffer& extWindowsTb, Procedural::TriangleBuffer& intWindowsTb);
void buildCorners(const struct CellGridComponent& grid, Procedural::TriangleBuffer& extWallTb);
void buildInternalCorners(const struct CellGridComponent& grid, Procedural::TriangleBuffer& intWallTb);
@@ -63,8 +63,8 @@ private:
const std::string& meshPrefix, flecs::entity materialEntity);
void createDoorFrameMeshes(const struct CellGridComponent& grid, const std::string& materialName,
const std::string& meshPrefix, flecs::entity materialEntity);
void placeWindowFrames(flecs::entity entity, const struct CellGridComponent& grid, Ogre::StaticGeometry* geo, std::vector<Ogre::Entity*>& frameEntities);
void placeDoorFrames(flecs::entity entity, const struct CellGridComponent& grid, Ogre::StaticGeometry* geo, std::vector<Ogre::Entity*>& frameEntities);
void placeWindowFrames(flecs::entity entity, const struct CellGridComponent& grid, Ogre::SceneNode* parentNode, std::vector<Ogre::Entity*>& frameEntities);
void placeDoorFrames(flecs::entity entity, const struct CellGridComponent& grid, Ogre::SceneNode* parentNode, std::vector<Ogre::Entity*>& frameEntities);
void destroyFrames(flecs::entity entity);
// Convert triangle buffer to mesh
@@ -98,8 +98,8 @@ private:
std::string externalDoorFrameMesh;
std::string internalDoorFrameMesh;
// StaticGeometry for frames (per CellGrid)
Ogre::StaticGeometry* framesStaticGeo = nullptr;
// Frame entities attached to the SceneNode (so they move with transform)
std::vector<Ogre::Entity*> frameEntities;
};
std::unordered_map<uint64_t, MeshData> m_entityMeshes;