reaction/code/game/g_mem.c

61 lines
1.3 KiB
C
Raw Normal View History

//-----------------------------------------------------------------------------
//
// $Id$
//
//-----------------------------------------------------------------------------
//
2001-12-31 16:28:42 +00:00
// $Log$
// Revision 1.6 2002/06/16 20:06:14 jbravo
// Reindented all the source files with "indent -kr -ut -i8 -l120 -lc120 -sob -bad -bap"
//
// Revision 1.5 2002/01/11 19:48:30 jbravo
// Formatted the source in non DOS format.
//
2001-12-31 16:28:42 +00:00
// Revision 1.4 2001/12/31 16:28:42 jbravo
// I made a Booboo with the Log tag.
//
//
//-----------------------------------------------------------------------------
2001-05-06 20:50:27 +00:00
// 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;
2001-05-06 20:50:27 +00:00
void *G_Alloc(int size)
{
char *p;
2001-05-06 20:50:27 +00:00
if (g_debugAlloc.integer) {
G_Printf("G_Alloc of %i bytes (%i left)\n", size, POOLSIZE - allocPoint - ((size + 31) & ~31));
2001-05-06 20:50:27 +00:00
}
if (allocPoint + size > POOLSIZE) {
2012-10-04 14:43:32 +00:00
G_Error("G_Alloc: failed on allocation of %i bytes", size);
2001-05-06 20:50:27 +00:00
return NULL;
}
p = &memoryPool[allocPoint];
allocPoint += (size + 31) & ~31;
2001-05-06 20:50:27 +00:00
return p;
}
void G_InitMemory(void)
{
2001-05-06 20:50:27 +00:00
allocPoint = 0;
}
void Svcmd_GameMem_f(void)
{
G_Printf("Game memory status: %i out of %i bytes allocated\n", allocPoint, POOLSIZE);
2001-05-06 20:50:27 +00:00
}