Day 35 complete.
This commit is contained in:
+20
@@ -143,6 +143,26 @@ typedef struct memory_arena {
|
||||
U64 Used;
|
||||
} memory_arena;
|
||||
|
||||
static void InitializeArena(memory_arena *Arena, U64 Size, U8 *Base)
|
||||
{
|
||||
Arena->Size = Size;
|
||||
Arena->Base = Base;
|
||||
Arena->Used = 0;
|
||||
}
|
||||
|
||||
#define PUSH_STRUCT(Arena, type) (type *)PushSize_(Arena, sizeof(type))
|
||||
#define PUSH_ARRAY(Arena, Count, type) (type *)PushSize_(Arena, (Count)*sizeof(type))
|
||||
static void *PushSize_(memory_arena *Arena, U64 Size)
|
||||
{
|
||||
void *Result;
|
||||
|
||||
ASSERT((Arena->Used + Size) <= Arena->Size);
|
||||
|
||||
Result = (void *)(Arena->Base + Arena->Used);
|
||||
Arena->Used += Size;
|
||||
return Result;
|
||||
}
|
||||
|
||||
typedef struct world {
|
||||
tile_map *TileMap;
|
||||
} world;
|
||||
|
||||
Reference in New Issue
Block a user