static void InitMemoryTable(global_memory *GlobalMemory, memory *Memory, uint64 Size, memory_table_list TableName, char *Name) { memory_table *Table = &Memory->Slot[TableName]; Table->Name = Name; Table->Address = (uint64 *)GlobalMemory->Address + GlobalMemory->CurrentPosition; Table->Size = Size; GlobalMemory->CurrentPosition += Size; } static void* AllocateMemory(memory *Memory, uint64 Size, memory_table_list TableName) { void *Address; memory_table *Table = &Memory->Slot[TableName]; Assert(Table->CurrentPosition + Size < Table->Size); Address = (uint64 *)Table->Address + Table->CurrentPosition; Table->CurrentPosition += Size; return Address; }