diff options
| -rw-r--r-- | src/level.cpp | 7 |
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; |
