Fix deinitialization

This commit is contained in:
2023-12-29 07:46:05 +01:00
parent 5bcab7a23c
commit b667f18b8e

View File

@@ -231,21 +231,25 @@ void deinit(void *userData) {
Game *game = ecs_singleton_get_mut(ECS, Game); Game *game = ecs_singleton_get_mut(ECS, Game);
InputState *input = ecs_singleton_get_mut(ECS, InputState); InputState *input = ecs_singleton_get_mut(ECS, InputState);
unloadMap(game); // Destroy queries
bzTilesetDestroy(&game->tileset); ecs_query_fini(input->queries.selected);
Game gameCopy = *game; Game gameCopy = *game;
InputState inputCopy = *input; InputState inputCopy = *input;
// Destroy queries // Destroy ECS
ecs_query_fini(inputCopy.queries.selected);
ecs_fini(ECS); ecs_fini(ECS);
ECS = NULL; ECS = NULL;
bzStackAllocDestroy(&gameCopy.stackAlloc); game = &gameCopy;
bzObjectPoolDestroy(gameCopy.pools.pathData); input = &inputCopy;
bzObjectPoolDestroy(gameCopy.pools.actions);
unloadMap(game);
bzTilesetDestroy(&game->tileset);
bzStackAllocDestroy(&game->stackAlloc);
bzObjectPoolDestroy(game->pools.pathData);
bzObjectPoolDestroy(game->pools.actions);
bzUIDestroy(UI); bzUIDestroy(UI);
UI = NULL; UI = NULL;
@@ -375,8 +379,9 @@ static void renderMainMenu(Game *game, float dt) {
.type = BZ_UI_LAYOUT_FLEX_BOX, .type = BZ_UI_LAYOUT_FLEX_BOX,
.flags = BZ_UI_FLEX_DIR_COLUMN | BZ_UI_FLEX_ALIGN_CENTER .flags = BZ_UI_FLEX_DIR_COLUMN | BZ_UI_FLEX_ALIGN_CENTER
}); });
if (uiMainMenuButton("Play")) { if (uiMainMenuButton("Play") || true) {
game->screen = SCREEN_GAME; game->screen = SCREEN_GAME;
loadMap(game, "assets/maps/map_01.tmj");
} }
if (uiMainMenuButton("Settings")) { if (uiMainMenuButton("Settings")) {
game->screen = SCREEN_SETTINGS; game->screen = SCREEN_SETTINGS;