diff options
| author | wyatt8740 <wyatt8740@yahoo.com> | 2014-01-06 12:02:16 -0500 |
|---|---|---|
| committer | wyatt8740 <wyatt8740@yahoo.com> | 2014-01-06 12:02:16 -0500 |
| commit | a8f828a066773a59fdf646299359d35ae0e845af (patch) | |
| tree | 86123409fc6f231cf4136e81159b63cb1e9ec102 /WinQuake/zone.h | |
| parent | b2951690415054ae8705c07f8df7a4ba7cde382a (diff) | |
| download | quake-pum-a8f828a066773a59fdf646299359d35ae0e845af.tar.gz | |
Removed accidental upload of copyrighted map files
Diffstat (limited to 'WinQuake/zone.h')
| -rw-r--r-- | WinQuake/zone.h | 262 |
1 files changed, 131 insertions, 131 deletions
diff --git a/WinQuake/zone.h b/WinQuake/zone.h index 7655ad9..b63006f 100644 --- a/WinQuake/zone.h +++ b/WinQuake/zone.h @@ -1,131 +1,131 @@ -/* -Copyright (C) 1996-1997 Id Software, Inc. - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ -/* - memory allocation - - -H_??? The hunk manages the entire memory block given to quake. It must be -contiguous. Memory can be allocated from either the low or high end in a -stack fashion. The only way memory is released is by resetting one of the -pointers. - -Hunk allocations should be given a name, so the Hunk_Print () function -can display usage. - -Hunk allocations are guaranteed to be 16 byte aligned. - -The video buffers are allocated high to avoid leaving a hole underneath -server allocations when changing to a higher video mode. - - -Z_??? Zone memory functions used for small, dynamic allocations like text -strings from command input. There is only about 48K for it, allocated at -the very bottom of the hunk. - -Cache_??? Cache memory is for objects that can be dynamically loaded and -can usefully stay persistant between levels. The size of the cache -fluctuates from level to level. - -To allocate a cachable object - - -Temp_??? Temp memory is used for file loading and surface caching. The size -of the cache memory is adjusted so that there is a minimum of 512k remaining -for temp memory. - - ------- Top of Memory ------- - -high hunk allocations - -<--- high hunk reset point held by vid - -video buffer - -z buffer - -surface cache - -<--- high hunk used - -cachable memory - -<--- low hunk used - -client and server low hunk allocations - -<-- low hunk reset point held by host - -startup hunk allocations - -Zone block - ------ Bottom of Memory ----- - - - -*/ - -void Memory_Init (void *buf, int size); - -void Z_Free (void *ptr); -void *Z_Malloc (int size); // returns 0 filled memory -void *Z_TagMalloc (int size, int tag); - -void Z_DumpHeap (void); -void Z_CheckHeap (void); -int Z_FreeMemory (void); - -void *Hunk_Alloc (int size); // returns 0 filled memory -void *Hunk_AllocName (int size, char *name); - -void *Hunk_HighAllocName (int size, char *name); - -int Hunk_LowMark (void); -void Hunk_FreeToLowMark (int mark); - -int Hunk_HighMark (void); -void Hunk_FreeToHighMark (int mark); - -void *Hunk_TempAlloc (int size); - -void Hunk_Check (void); - -typedef struct cache_user_s -{ - void *data; -} cache_user_t; - -void Cache_Flush (void); - -void *Cache_Check (cache_user_t *c); -// returns the cached data, and moves to the head of the LRU list -// if present, otherwise returns NULL - -void Cache_Free (cache_user_t *c); - -void *Cache_Alloc (cache_user_t *c, int size, char *name); -// Returns NULL if all purgable data was tossed and there still -// wasn't enough room. - -void Cache_Report (void); - - - +/*
+Copyright (C) 1996-1997 Id Software, Inc.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+/*
+ memory allocation
+
+
+H_??? The hunk manages the entire memory block given to quake. It must be
+contiguous. Memory can be allocated from either the low or high end in a
+stack fashion. The only way memory is released is by resetting one of the
+pointers.
+
+Hunk allocations should be given a name, so the Hunk_Print () function
+can display usage.
+
+Hunk allocations are guaranteed to be 16 byte aligned.
+
+The video buffers are allocated high to avoid leaving a hole underneath
+server allocations when changing to a higher video mode.
+
+
+Z_??? Zone memory functions used for small, dynamic allocations like text
+strings from command input. There is only about 48K for it, allocated at
+the very bottom of the hunk.
+
+Cache_??? Cache memory is for objects that can be dynamically loaded and
+can usefully stay persistant between levels. The size of the cache
+fluctuates from level to level.
+
+To allocate a cachable object
+
+
+Temp_??? Temp memory is used for file loading and surface caching. The size
+of the cache memory is adjusted so that there is a minimum of 512k remaining
+for temp memory.
+
+
+------ Top of Memory -------
+
+high hunk allocations
+
+<--- high hunk reset point held by vid
+
+video buffer
+
+z buffer
+
+surface cache
+
+<--- high hunk used
+
+cachable memory
+
+<--- low hunk used
+
+client and server low hunk allocations
+
+<-- low hunk reset point held by host
+
+startup hunk allocations
+
+Zone block
+
+----- Bottom of Memory -----
+
+
+
+*/
+
+void Memory_Init (void *buf, int size);
+
+void Z_Free (void *ptr);
+void *Z_Malloc (int size); // returns 0 filled memory
+void *Z_TagMalloc (int size, int tag);
+
+void Z_DumpHeap (void);
+void Z_CheckHeap (void);
+int Z_FreeMemory (void);
+
+void *Hunk_Alloc (int size); // returns 0 filled memory
+void *Hunk_AllocName (int size, char *name);
+
+void *Hunk_HighAllocName (int size, char *name);
+
+int Hunk_LowMark (void);
+void Hunk_FreeToLowMark (int mark);
+
+int Hunk_HighMark (void);
+void Hunk_FreeToHighMark (int mark);
+
+void *Hunk_TempAlloc (int size);
+
+void Hunk_Check (void);
+
+typedef struct cache_user_s
+{
+ void *data;
+} cache_user_t;
+
+void Cache_Flush (void);
+
+void *Cache_Check (cache_user_t *c);
+// returns the cached data, and moves to the head of the LRU list
+// if present, otherwise returns NULL
+
+void Cache_Free (cache_user_t *c);
+
+void *Cache_Alloc (cache_user_t *c, int size, char *name);
+// Returns NULL if all purgable data was tossed and there still
+// wasn't enough room.
+
+void Cache_Report (void);
+
+
+
|
