diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2024-01-03 16:35:09 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2024-01-03 16:35:09 -0500 |
| commit | 1ffa486edd70406627f3e329351184dafebc1aea (patch) | |
| tree | 494a3289a185260b089b3396944d7268090bceba /src/entities.hpp | |
| parent | be543940e3c561ee2ab8eb315211112b97065476 (diff) | |
checkpoint - EntityTypeDetails array
Diffstat (limited to 'src/entities.hpp')
| -rw-r--r-- | src/entities.hpp | 31 |
1 files changed, 15 insertions, 16 deletions
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 <BulletCollision/CollisionShapes/btCollisionShape.h> #include <vulkan/vulkan_core.h> -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<EntityType> 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); |
