diff options
Diffstat (limited to 'memory.cpp')
-rw-r--r-- | memory.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/memory.cpp b/memory.cpp new file mode 100644 index 0000000..73d1fb4 --- /dev/null +++ b/memory.cpp @@ -0,0 +1,18 @@ +internal 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; +} + +internal 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; +} |