mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-10 07:11:34 +00:00
a39565b783
... not quite content with where the project files lie but it is ok for now. ... compiling works fine so far (only tested mingw32 right now)
41 lines
735 B
C
41 lines
735 B
C
// Copyright (C) 1999-2000 Id Software, Inc.
|
|
//
|
|
//
|
|
// g_mem.c
|
|
//
|
|
|
|
|
|
#include "g_local.h"
|
|
|
|
|
|
#define POOLSIZE (256 * 1024)
|
|
|
|
static char memoryPool[POOLSIZE];
|
|
static int allocPoint;
|
|
|
|
void *G_Alloc( int size ) {
|
|
char *p;
|
|
|
|
if ( g_debugAlloc.integer ) {
|
|
G_Printf( "G_Alloc of %i bytes (%i left)\n", size, POOLSIZE - allocPoint - ( ( size + 31 ) & ~31 ) );
|
|
}
|
|
|
|
if ( allocPoint + size > POOLSIZE ) {
|
|
G_Error( "G_Alloc: failed on allocation of %u bytes\n", size );
|
|
return NULL;
|
|
}
|
|
|
|
p = &memoryPool[allocPoint];
|
|
|
|
allocPoint += ( size + 31 ) & ~31;
|
|
|
|
return p;
|
|
}
|
|
|
|
void G_InitMemory( void ) {
|
|
allocPoint = 0;
|
|
}
|
|
|
|
void Svcmd_GameMem_f( void ) {
|
|
G_Printf( "Game memory status: %i out of %i bytes allocated\n", allocPoint, POOLSIZE );
|
|
}
|