summaryrefslogtreecommitdiff
path: root/src/entities.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-03-21 20:54:14 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-03-21 21:40:21 -0400
commit677a3cbec2f7908ee0897b97d508a6bd66a0a344 (patch)
treefc88b21dd61dbb10dd8b5c8aef73702d15514f00 /src/entities.cpp
parentcae76dd98e301a4560bb46ecb59b5952dff04149 (diff)
pke: first-pass level is a collection of scenes
Diffstat (limited to 'src/entities.cpp')
-rw-r--r--src/entities.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/entities.cpp b/src/entities.cpp
index 1abe632..2ec6c60 100644
--- a/src/entities.cpp
+++ b/src/entities.cpp
@@ -108,6 +108,9 @@ 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.bucketIndex) 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;