2001-12-31 16:16:59 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//
|
|
|
|
// $Id$
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//
|
2001-12-31 16:28:42 +00:00
|
|
|
// $Log$
|
2002-06-16 20:06:15 +00:00
|
|
|
// 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"
|
|
|
|
//
|
2002-01-11 19:48:33 +00:00
|
|
|
// 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-12-31 16:16:59 +00:00
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
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)
|
|
|
|
|
2002-06-16 20:06:15 +00:00
|
|
|
static char memoryPool[POOLSIZE];
|
|
|
|
static int allocPoint;
|
2001-05-06 20:50:27 +00:00
|
|
|
|
2002-06-16 20:06:15 +00:00
|
|
|
void *G_Alloc(int size)
|
|
|
|
{
|
|
|
|
char *p;
|
2001-05-06 20:50:27 +00:00
|
|
|
|
2002-06-16 20:06:15 +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
|
|
|
}
|
|
|
|
|
2002-06-16 20:06:15 +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];
|
|
|
|
|
2002-06-16 20:06:15 +00:00
|
|
|
allocPoint += (size + 31) & ~31;
|
2001-05-06 20:50:27 +00:00
|
|
|
|
|
|
|
return p;
|
|
|
|
}
|
|
|
|
|
2002-06-16 20:06:15 +00:00
|
|
|
void G_InitMemory(void)
|
|
|
|
{
|
2001-05-06 20:50:27 +00:00
|
|
|
allocPoint = 0;
|
|
|
|
}
|
|
|
|
|
2002-06-16 20:06:15 +00:00
|
|
|
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
|
|
|
}
|