summaryrefslogtreecommitdiff
path: root/src/level.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2024-01-10 19:24:12 -0500
committerJonathan Bradley <jcb@pikum.xyz>2024-01-10 19:24:12 -0500
commitf07294ca65143fac8b1b426d1854212403721226 (patch)
tree2edeb8f2c9beea1cbb065f69910d53957ebda0ce /src/level.cpp
parent294c85f91ac5b2ff9e4ad3d99588ed0d1a72e6b7 (diff)
checkpoint - handle breaking ECS changes - compiles
Diffstat (limited to 'src/level.cpp')
-rw-r--r--src/level.cpp28
1 files changed, 7 insertions, 21 deletions
diff --git a/src/level.cpp b/src/level.cpp
index 123d5e2..d4e4075 100644
--- a/src/level.cpp
+++ b/src/level.cpp
@@ -11,7 +11,7 @@ PkeLevel LEVELS[MAX_LEVEL_COUNT];
PkeLevel *PkeLevel_Get_Inner(LevelHandle handle) {
for (long i = 0; i < MAX_LEVEL_COUNT; ++i) {
- if (LEVELS[i].handle == handle) {
+ if (LEVELS[i].levelHandle == handle) {
return &LEVELS[i];
}
}
@@ -28,13 +28,13 @@ LevelHandle PkeLevel_Create(const char *levelName) {
if (lvl->bkt == nullptr) {
lvl->bkt = Pke_BeginTransientBucket();
}
- lvl->handle = nextHandle;
+ lvl->levelHandle = nextHandle;
++nextHandle;
auto len = strlen(levelName);
auto start = len <= (LEVEL_NAME_LENGTH - 1) ? 0 : len - (LEVEL_NAME_LENGTH - 1);
strncpy(lvl->name, levelName + start, LEVEL_NAME_LENGTH);
- return lvl->handle;
+ return lvl->levelHandle;
}
PkeLevel *PkeLevel_Get(LevelHandle handle) {
@@ -47,23 +47,15 @@ LevelHandle PkeLevel_GetHandle(const char *levelName) {
auto start = len <= (LEVEL_NAME_LENGTH - 1) ? 0 : len - (LEVEL_NAME_LENGTH - 1);
strncpy(safeName, levelName + start, LEVEL_NAME_LENGTH);
for (long i = 0; i < MAX_LEVEL_COUNT; ++i) {
- if (LEVELS[i].handle != LevelHandle_MAX) {
+ if (LEVELS[i].levelHandle != LevelHandle_MAX) {
if (strcmp(safeName, LEVELS[i].name)) {
- return LEVELS[i].handle;
+ return LEVELS[i].levelHandle;
}
}
}
return LevelHandle_MAX;
}
-void PkeLevel_RegisterWrappingEntity(LevelHandle levelHandle, EntityHandle entityHandle) {
- assert(levelHandle != LevelHandle_MAX);
- assert(entityHandle != EntityHandle_MAX);
- PkeLevel *lvl = PkeLevel_Get_Inner(levelHandle);
- assert(lvl != nullptr && "Failed to find level by requested LevelHandle");
- PkeArray_Add(&lvl->wrappingEntities, entityHandle, lvl->bkt);
-}
-
void PkeLevel_RegisterCamera(LevelHandle levelHandle, CameraHandle cameraHandle) {
assert(levelHandle != LevelHandle_MAX);
assert(cameraHandle != CameraHandle_MAX);
@@ -76,17 +68,11 @@ void PkeLevel_Remove(LevelHandle handle) {
PkeLevel *lvl = PkeLevel_Get_Inner(handle);
assert(lvl != nullptr && "Failed to find level to remove by requested LevelHandle");
levelCount -= 1;
- for (long i = 0; i < lvl->wrappingEntities.next; ++i) {
- ECS_MarkForRemoval(lvl->wrappingEntities.data[i]);
- }
+ ECS_MarkForRemoval(lvl);
for (long i = 0; i < lvl->cameras.next; ++i) {
PkeCamera_Destroy(lvl->cameras.data[i]);
}
- PkeArray_HardReset<EntityHandle>(&lvl->wrappingEntities);
PkeArray_HardReset<CameraHandle>(&lvl->cameras);
Pke_ResetBucket(lvl->bkt);
- lvl->handle = LevelHandle_MAX;
- lvl->wrappingEntities.next = 0;
- lvl->wrappingEntities.reserved = 0;
- lvl->wrappingEntities.data = CAFE_BABE(EntityHandle);
+ lvl->levelHandle = LevelHandle_MAX;
}