reman3/Rayman_X/cpa/public/GAM/ZeMem.h

92 lines
2.7 KiB
C

/*=========================================================================
* Memory.h : Contain the memory's functions.
* (based on CAP memory (see Pierrick))
* This is a part of the Game project.
*
* Version 1.0
* Creation date 30/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__ZEMEM_H__)
#define __ZEMEM_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#define ACP_TextMemoryChannel 0
/*XB 98/10/05*/
#if !defined(U64)
#define ACP_FixMemoryChannel 1
#define ACP_LevelMemoryChannel 2
#else
#define ACP_FixMemoryChannel 0
#define ACP_LevelMemoryChannel 1
#define ACP_U64_FixMemoryChannel 2
#define ACP_U64_LevelMemoryChannel 3
//XB 16/06/99
#define ACP_U64_LDDMemoryChannel 4
//End XB 16/06/99
#endif /* !U64 */
/*End XB*/
#define GAM_C_ActionMalloc 0
#define GAM_C_ActionRealloc 1
#define GAM_C_ActionFree 2
/**** Here are functions definition ****/
void fn_vFirstInitGameMemory(void);
void fn_vLastDesinitGameMemory(void);
void GAM_fn_vSetGameMemoryInFix(void);
void GAM_fn_vSetGameMemoryInLevel(void);
void *fnp_vGameDebugMallocInHLM(unsigned long ulSize,char *szFile,unsigned long ulLine);
void *fnp_vGameMallocInHLM(unsigned long ulSize);
void fn_vGameFreeInHLM(void *p_vPointer);
void GAM_fn_vMemoryLogFile(void *p_vPointer,unsigned char ucAction,char *szFile,unsigned long ulLine,unsigned long ulSize);
void GAM_fn_vPrintMemoryInformation(void);
void fn_vGameTestMemory(void);
void GAM_PrintUsedStaticMemory(void);
void GAM_PrintAllUsedStaticMemory(void);
void fn_vFreeFixAllowedMemory(void);
void fn_vFreeLevelAllowedMemory(void);
#if !defined(U64)
SCR_tde_Anl_ReturnValue fn_eScriptCallBackMemoryDescription(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
#ifndef RETAIL
#define M_p_GameMallocInHLM(ulSize) \
fnp_vGameDebugMallocInHLM(ulSize,__FILE__,__LINE__)
#else
#define M_p_GameMallocInHLM(ulSize) \
fnp_vGameMallocInHLM(ulSize)
#endif
#define M_GameFreeInHLM(p_vPointer) \
{ \
GAM_fn_vMemoryLogFile(p_vPointer,GAM_C_ActionFree,__FILE__,__LINE__,0); \
fn_vGameFreeInHLM((void*)p_vPointer); \
p_vPointer = NULL; \
}
EXTERN unsigned char GAM_g_ucHLMMemoryBlock;
#if defined(U64)
extern struct MTH3D_tdstVector_ *g_p_stVectorNull;
extern struct MTH3D_tdstMatrix_ *g_p_stIdentityMatrix;
#endif
#endif /* __ZEMEM_H__ */