summaryrefslogtreecommitdiff
path: root/src/level.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-12-14 18:01:51 -0500
committerJonathan Bradley <jcb@pikum.xyz>2023-12-23 11:41:03 -0500
commit2fcf25308c142cfee47d5a55ca916ef1ad115b53 (patch)
tree94ef04ee654275bd62c86188421d4f8039d131e9 /src/level.cpp
parent7741f7c9ae0b8ff0b22eb60210a72182470740f6 (diff)
reset the bucket instead of creating a new one
Diffstat (limited to 'src/level.cpp')
-rw-r--r--src/level.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/level.cpp b/src/level.cpp
index fcca5bd..123d5e2 100644
--- a/src/level.cpp
+++ b/src/level.cpp
@@ -25,7 +25,9 @@ LevelHandle PkeLevel_Create(const char *levelName) {
PkeLevel *lvl = PkeLevel_Get_Inner(LevelHandle_MAX);
assert(lvl != nullptr && "max level count not reached, but failed to find a valid level slot");
- lvl->bkt = Pke_BeginTransientBucket();
+ if (lvl->bkt == nullptr) {
+ lvl->bkt = Pke_BeginTransientBucket();
+ }
lvl->handle = nextHandle;
++nextHandle;
@@ -82,8 +84,7 @@ void PkeLevel_Remove(LevelHandle handle) {
}
PkeArray_HardReset<EntityHandle>(&lvl->wrappingEntities);
PkeArray_HardReset<CameraHandle>(&lvl->cameras);
- Pke_EndTransientBucket(lvl->bkt);
- lvl->bkt = CAFE_BABE(MemBucket);
+ Pke_ResetBucket(lvl->bkt);
lvl->handle = LevelHandle_MAX;
lvl->wrappingEntities.next = 0;
lvl->wrappingEntities.reserved = 0;