summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/entities.cpp1
-rw-r--r--src/event.cpp2
-rw-r--r--src/game.cpp4
-rw-r--r--src/game.hpp1
-rw-r--r--src/main.cpp1
5 files changed, 8 insertions, 1 deletions
diff --git a/src/entities.cpp b/src/entities.cpp
index 9b088ec..d98d49b 100644
--- a/src/entities.cpp
+++ b/src/entities.cpp
@@ -961,4 +961,5 @@ void EntityType_Teardown() {
vkDestroyPipelineLayout(vkDevice, vkPipelineLayout_Texture, vkAllocator);
if (vkDescriptorSetLayout_Texture != VK_NULL_HANDLE)
vkDestroyDescriptorSetLayout(vkDevice, vkDescriptorSetLayout_Texture, vkAllocator);
+ GlobalEntityTypes.~DynArray();
}
diff --git a/src/event.cpp b/src/event.cpp
index 7d33626..b6e18b3 100644
--- a/src/event.cpp
+++ b/src/event.cpp
@@ -5,7 +5,7 @@ struct EventBucket {
char name[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
DynArray<EventHandler> callbacks{8};
};
-DynArray<EventBucket> eventBuckets{4};
+DynArray<EventBucket> eventBuckets{0};
void EventBucketFind(const char *name, char *safeName, EventBucket*& bkt) {
assert(strlen(name) <= 16);
diff --git a/src/game.cpp b/src/game.cpp
index 2345d72..fd609da 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -657,3 +657,7 @@ void Game_Init() {
}
Event_RegisterCallback("RenderImGui", RecordImGuiEditor);
}
+
+void Game_Teardown() {
+ entityInstancesToCreate.~DynArray();
+}
diff --git a/src/game.hpp b/src/game.hpp
index f66ad69..2156c8f 100644
--- a/src/game.hpp
+++ b/src/game.hpp
@@ -40,5 +40,6 @@ extern GameSettings pkeSettings;
void Game_Init();
void Game_Tick(double delta);
+void Game_Teardown();
#endif /* PKE_GAME_HPP */
diff --git a/src/main.cpp b/src/main.cpp
index 9a6a955..b4b1902 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -97,6 +97,7 @@ int main() {
printf("UNHANDLED EXCEPTION\n");
}
printf("PKE SHUTDOWN INITIATED\n");
+ Game_Teardown();
Event_Teardown();
EntityType_Teardown();
ECS_Teardown();