/****************************************************************************
*
* MALLOC.H
*
* PROGRAMMER : Chris
*    VERSION : 00.00
*    CREATED : 04/06/98
*   MODIFIED : 04/06/98
*       TABS : 5
*
* DESCRIPTION
*	Header file for MALLOC.C
*
*****************************************************************************/

#ifndef _MALLOC_H
#define _MALLOC_H

/*---------------------------------------------------------------------------
 *	Constants
\*--------------------------------------------------------------------------*/

/* -------- malloc types */

enum {
	TEMP_ALLOC,
	TEXTURE_PAGES,
	MESH_POINTERS,
	MESHES,
	ANIMS,
	STRUCTS,
	RANGES,
	COMMANDS,
	BONES,
	FRAMES,
	ROOM_TEXTURES,
	ROOM_INFOS,
	ROOM_MESH,
	ROOM_DOOR,
	ROOM_FLOOR,
	ROOM_LIGHTS,
	ROOM_STATIC_MESH_INFOS,
	FLOOR_DATA,
	ITEMS,
	CAMERAS,
	SOUND_FX,
	BOXES,
	OVERLAPS,
	GROUNDZONE,
	FLYZONE,
	ANIMATING_TEXTURE_RANGES,
	CINEMATIC_FRAMES,
	LOADDEMO_BUFFER,
	SAVEDEMO_BUFFER,
	CINEMATIC_EFFECTS,
	MUMMY_HEAD_TURN,
	EXTRA_DOOR_STUFF,
	EFFECTS_ARRAY,
	CREATURE_DATA,
	CREATURE_LOT,
	SAMPLEINFOS,
	SAMPLES,
	SAMPLEOFFSETS,
	ROLLINGBALL_STUFF,
	SKIDOO_STUFF,
	LOAD_PICCY_BUFFER,
	FMV_BUFFERS,
	POLYGON_BUFFERS,
	ORDER_TABLES,
	CLUTS,
	TEXTURE_INFOS,
	SPRITE_INFOS,
	SCRIPT_DATA
};

/*---------------------------------------------------------------------------
 *	Prototypes
\*--------------------------------------------------------------------------*/

extern int malloc_used;
extern int script_malloc_size;

extern void init_game_malloc();
extern char *game_malloc( int size, int type );
extern void game_free( int size, int type );
extern void show_game_malloc_totals( void );

#endif
