Add stackAllocReset method
This commit is contained in:
@@ -20,6 +20,10 @@ void bzStackAllocDestroy(BzStackAlloc *alloc) {
|
|||||||
alloc->allocated = 0;
|
alloc->allocated = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void bzStackAllocReset(BzStackAlloc *alloc) {
|
||||||
|
alloc->allocated = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void *bzStackAlloc(BzStackAlloc *alloc, size_t numBytes) {
|
void *bzStackAlloc(BzStackAlloc *alloc, size_t numBytes) {
|
||||||
BZ_ASSERT(alloc->allocated + numBytes < alloc->size);
|
BZ_ASSERT(alloc->allocated + numBytes < alloc->size);
|
||||||
void *allocated = (u8 *) alloc->memory + alloc->allocated;
|
void *allocated = (u8 *) alloc->memory + alloc->allocated;
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ typedef struct BzStackAlloc {
|
|||||||
BzStackAlloc bzStackAllocCreate(size_t size);
|
BzStackAlloc bzStackAllocCreate(size_t size);
|
||||||
void bzStackAllocDestroy(BzStackAlloc *alloc);
|
void bzStackAllocDestroy(BzStackAlloc *alloc);
|
||||||
|
|
||||||
|
void bzStackAllocReset(BzStackAlloc *alloc);
|
||||||
|
|
||||||
void *bzStackAlloc(BzStackAlloc *alloc, size_t numBytes);
|
void *bzStackAlloc(BzStackAlloc *alloc, size_t numBytes);
|
||||||
void bzStackAllocFree(BzStackAlloc *alloc, void *ptr);
|
void bzStackAllocFree(BzStackAlloc *alloc, void *ptr);
|
||||||
|
|
||||||
|
|||||||
@@ -203,7 +203,12 @@ void update(float dt, void *userData) {
|
|||||||
snprintf(titleBuf, sizeof(titleBuf), "FPS: %d | %.2f ms", GetFPS(), GetFrameTime() * 1000);
|
snprintf(titleBuf, sizeof(titleBuf), "FPS: %d | %.2f ms", GetFPS(), GetFrameTime() * 1000);
|
||||||
SetWindowTitle(titleBuf);
|
SetWindowTitle(titleBuf);
|
||||||
|
|
||||||
updatePlayerInput(NULL);
|
Game *game = ecs_singleton_get_mut(ECS, Game);
|
||||||
|
|
||||||
|
BZ_ASSERT(game->stackAlloc.allocated == 0);
|
||||||
|
bzStackAllocReset(&game->stackAlloc);
|
||||||
|
|
||||||
|
updatePlayerInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
void render(float dt, void *userData) {
|
void render(float dt, void *userData) {
|
||||||
@@ -216,7 +221,7 @@ void render(float dt, void *userData) {
|
|||||||
|
|
||||||
bzTileMapDraw(&game->map);
|
bzTileMapDraw(&game->map);
|
||||||
|
|
||||||
drawPlayerInputUI(NULL);
|
drawPlayerInputUI();
|
||||||
|
|
||||||
ecs_progress(ECS, dt);
|
ecs_progress(ECS, dt);
|
||||||
ecs_enable(ECS, renderDebugPathSystem, game->debugDraw.path);
|
ecs_enable(ECS, renderDebugPathSystem, game->debugDraw.path);
|
||||||
|
|||||||
Reference in New Issue
Block a user