From 1ffa486edd70406627f3e329351184dafebc1aea Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Wed, 3 Jan 2024 16:35:09 -0500 Subject: checkpoint - EntityTypeDetails array --- src/entities.hpp | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'src/entities.hpp') diff --git a/src/entities.hpp b/src/entities.hpp index 41ae7fd..f822336 100644 --- a/src/entities.hpp +++ b/src/entities.hpp @@ -12,38 +12,37 @@ #include #include -struct EntityType { - AssetKey modelAssetKey; +struct EntityTypeDetails { AssetKey textureAssetKey; - const char *entityTypeCode = nullptr; - EntityHandle entityHandle; + EntityHandle entityHandle = EntityHandle_MAX; GrBindsHandle grBindsHandle = GrBindsHandle_MAX; - VkDeviceMemory deviceMemoryVert = VK_NULL_HANDLE; - VkDeviceMemory deviceMemoryInst = VK_NULL_HANDLE; - VkDeviceMemory deviceMemoryPhysVert = VK_NULL_HANDLE; - VkDeviceMemory deviceMemoryTexture = VK_NULL_HANDLE; VkImage textureImage = VK_NULL_HANDLE; VkImageView textureImageView = VK_NULL_HANDLE; VkDescriptorPool vkDescriptorPool = VK_NULL_HANDLE; - uint32_t startingInstanceCount = 1024; - struct Importer_GLTF { - int16_t AccessorIndexVertex = 0; - int16_t AccessorIndexNormal = 1; - int16_t AccessorIndexUV = 2; - int16_t AccessorIndexIndex = 3; - } Importer_GLTF; struct { btCollisionShape *shape = nullptr; btScalar startingMass = 1.f; PhysicsCollision startingCollisionLayer = PhysicsCollision{1}; PhysicsCollision startingCollisionMask = PhysicsCollision{1}; } bt; + uint32_t startingInstanceCount = 1024; +}; +struct EntityType { + AssetKey modelAssetKey; + const char *entityTypeCode = nullptr; + EntityHandle entityHandle = EntityHandle_MAX; + VkDeviceMemory deviceMemoryVert = VK_NULL_HANDLE; + VkDeviceMemory deviceMemoryInst = VK_NULL_HANDLE; + VkDeviceMemory deviceMemoryPhysVert = VK_NULL_HANDLE; + VkDeviceMemory deviceMemoryTexture = VK_NULL_HANDLE; + int64_t detailsCount = 1; + EntityTypeDetails details[1]; }; extern DynArray GlobalEntityTypes; void EntityType_Init(); int64_t EntityType_FindByTypeCode(const char *typeCode); -int64_t EntityType_FindByEntityHandle(EntityHandle handle); +int64_t EntityType_FindByEntityHandle(EntityHandle handle, int64_t &detailIndex); void EntityType_Load(EntityType &et); void EntityType_Tick_Late(double delta); void EntityType_RolloverInstances(EntityType &et, CompGrBinds &grBinds); -- cgit v1.2.3