summaryrefslogtreecommitdiff
path: root/src/entities.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-05-29 16:11:37 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-05-29 16:11:37 -0400
commitd9dc3559296661249f9e5f1c3d0a8320cbf8fc29 (patch)
tree2a0203b676f15e8933960e786c8181354f73b121 /src/entities.cpp
parenta9bc23377bd9193cd3eb3ef2e91431d088d13d5d (diff)
pke: ecs: BucketContainer > pk_bkt_arr_t & cleanup
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