summaryrefslogtreecommitdiff
path: root/src/entities.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/entities.cpp')
-rw-r--r--src/entities.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/entities.cpp b/src/entities.cpp
index 6b9cff4..09e9398 100644
--- a/src/entities.cpp
+++ b/src/entities.cpp
@@ -116,9 +116,10 @@ EntityType *EntityType_FindByTypeCode(const char *typeCode) {
EntityType *EntityType_FindByEntityHandle_Inner(EntityHandle handle) {
if (handle == EntityHandle_MAX) return nullptr;
- if (handle.bucketIndex > EntityType_BC.limits.bucketIndex) return nullptr;
- if (handle.itemIndex > EntityType_BC.limits.itemIndex) return nullptr;
- if (handle.bucketIndex == EntityType_BC.pkeHandle.bucketIndex && handle.itemIndex >= EntityType_BC.pkeHandle.itemIndex) return nullptr;
+ // 2025-05-29 JCB these are wrong
+ if (handle.b> EntityType_BC.limits.bucketIndex) return nullptr;
+ if (handle.i> EntityType_BC.limits.itemIndex) return nullptr;
+ if (handle.b== EntityType_BC.pkeHandle.bucketIndex && handle.i>= EntityType_BC.pkeHandle.itemIndex) return nullptr;
for (pk_handle_bucket_index_T b = 0; b <= EntityType_BC.pkeHandle.bucketIndex; ++b) {
auto &bkt = EntityType_BC.buckets[b];
long itemCount = EntityType_BC.pkeHandle.bucketIndex == b ? EntityType_BC.pkeHandle.itemIndex : EntityType_BC.limits.itemIndex;
@@ -281,8 +282,8 @@ void EntityType_Inner_UpdateDescriptorSets_EvCallabck(void *mgr_data, void *enti
(void)ev_data;
EntityHandle eh;
uint64_t id = reinterpret_cast<uint64_t>(entity_data);
- eh.bucketIndex = (pk_handle_bucket_index_T)(id >> 32);
- eh.itemIndex = (pk_handle_item_index_T)((id << 32) >> 32);
+ eh.b = (pk_handle_bucket_index_T)(id >> 32);
+ eh.i = (pk_handle_item_index_T)((id << 32) >> 32);
EntityType *et = EntityType_FindByEntityHandle(eh);
assert(et != nullptr);
@@ -1129,8 +1130,8 @@ void EntityType_Load(EntityType &et) {
EntityType_LoadMesh(helper, i);
}
uint64_t id = 0;
- id |= ((uint64_t)helper.et.handle.bucketIndex << 32);
- id |= ((uint64_t)helper.et.handle.itemIndex);
+ id |= ((uint64_t)helper.et.handle.b << 32);
+ id |= ((uint64_t)helper.et.handle.i);
helper.et.pke_ev_cb_id_framebuffer_resized = pk_ev_register_cb(pke_ev_mgr_id_window, pke_ev_id_framebuffer_length_changed, EntityType_Inner_UpdateDescriptorSets_EvCallabck, reinterpret_cast<void *>(id));
// TODO DeviceMemory