reman3/Rayman_X/cpa/tempgrp/GAM/Locale/fonmem.c

167 lines
5.1 KiB
C

/*=========================================================================
* mnubase.c : MEmory management of the menus
*
* Version 1.0
* Creation date 27/05/97
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi R&D 1997
*=======================================================================*/
/*
*=======================================================================
Modifications:
*=======================================================================*/
/*#include "fonhdls.h"*/
#include "ACP_Base.h"
#include "ToolsCPA.h"
#include "fonerm.h"
#include "fonmem.h"
static unsigned long gs_ulFontTextMemorySize;
//FB300699
#ifdef U64
#ifndef FINAL_VERSION
#define CHECK_STRING
#endif
#endif
/**************************************************************************/
void *FON_fn_p_vAllocInBloc(enum e_ucFONStaticBlocks eBloc,unsigned long lSize)
{
void *p_vPointer;
/* Note : should not use Mmg_M_BigBoundSize !!*/
/* Mmg_M_BigBoundSize (lSize , C_uwAllocSize);*/
Mmg_M_SetModeAlloc4Ch(FON,(unsigned char)eBloc,C_ucMmgDefaultChannel);
MMG_fn_vAddMemoryInfo (MMG_C_lTypeGAM , MMG_C_lSubTypeFont , NULL);
p_vPointer = Mmg_fn_p_vAlloc4Ch(lSize,C_ucMmgDefaultChannel);
#ifndef CHECK_STRING
if (p_vPointer==NULL)
M_FONFatalError(E_uwFONMemoryError);
memset(p_vPointer,0,lSize);
#endif
return (p_vPointer);
}
/**************************************************************************/
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
void *FON_fn_p_vReallocInBloc(enum e_ucFONStaticBlocks eBloc,void *p_vPointer,unsigned long lSize)
{
Mmg_M_SetModeAlloc4Ch(FON,(unsigned char)eBloc,C_ucMmgDefaultChannel);
p_vPointer = Mmg_fn_p_vRealloc4Ch(p_vPointer,lSize,C_ucMmgDefaultChannel);
if (p_vPointer==NULL)
M_FONFatalError(E_uwFONMemoryError);
return (p_vPointer);
}
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
/**************************************************************************/
//XB 21/04/99
//#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
//End XB
void FON_fn_vFreeInBloc(enum e_ucFONStaticBlocks eBloc,void *p_vPointer)
{
Mmg_M_SetModeAlloc4Ch(FON,(unsigned char)eBloc,C_ucMmgDefaultChannel);
MMG_fn_vAddMemoryInfo (MMG_C_lTypeGAM , MMG_C_lSubTypeFont , NULL);
Mmg_fn_vFree4Ch(p_vPointer,C_ucMmgDefaultChannel);
}
//XB 21/04/99
//#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
//End XB
/**************************************************************************/
void FON_fn_vFirstInitFONMemory(unsigned long _ulFontTextMemorySize)
{
Erm_M_InitErrMsg(FON); /* Init the error module*/
Mmg_M_InitMmg(FON);
#if !defined(U64)
/**** Check the ACP memory module ****/
Mmg_fn_cCheckAlignmentValidity();
Mmg_M_InitBlock(FON,E_ucFONTextMemoryBlock,_ulFontTextMemorySize);
#else /* !U64 */
#ifdef CHECK_MEMORY
Mmg_M_InitSpecificBlock(FON,E_ucFONTextMemoryBlock, _ulFontTextMemorySize, 10000, 4, C_BlockWithFreeFlag | C_Check_AlignementFlag | C_Check_OverflowFlag);
#else /* CHECK_MEMORY */
//XB 21/04/99
//Mmg_M_InitSpecificBlock(FON,E_ucFONTextMemoryBlock, _ulFontTextMemorySize, 10000, 4, C_BlockWithoutFreeFlag | C_Check_AlignementFlag | C_Check_OverflowFlag);
Mmg_M_InitSpecificBlock(FON,E_ucFONTextMemoryBlock, _ulFontTextMemorySize, 10000, 4, C_BlockWithFreeFlag | C_Check_AlignementFlag | C_Check_OverflowFlag);
//End XB
#endif /* CHECK_MEMORY */
#endif /* U64 */
/**** Save memory size (for reinit) ****/
gs_ulFontTextMemorySize = _ulFontTextMemorySize;
}
/**************************************************************************/
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
void FON_fn_vDesinitFONMemory(void)
{
/*Mmg_M_FreeBlock(FON,E_ucFONMemoryBlock);*/
/*Mmg_M_DeleteBlock(FON,E_ucFONMemoryBlock);*/
Mmg_M_FreeBlock(FON,E_ucFONTextMemoryBlock);
Mmg_M_DeleteBlock(FON,E_ucFONTextMemoryBlock);
}
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
/**************************************************************************/
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
void FON_fn_vReinitFONMemory(void)
{
/**** free the block*/
Mmg_M_FreeBlock(FON,E_ucFONTextMemoryBlock);
Mmg_M_DeleteBlock(FON,E_ucFONTextMemoryBlock);
/**** Check the ACP memory module ****/
Mmg_fn_cCheckAlignmentValidity();
/**** Reinit the block*/
Mmg_M_InitBlock(FON,E_ucFONTextMemoryBlock,gs_ulFontTextMemorySize);
}
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
/**************************************************************************/
#if !defined(RETAIL) || defined(FINAL_VERSION_FOR_TESTERS)
void FON_PrintUsedStaticMemory(void)
{
Mmg_M_PrintUsedStaticMemoryInModule(FON);
}
#endif /* !defined(RETAIL) || defined(FINAL_VERSION_FOR_TESTERS) */
/**************************************************************************/
/*XB*/
#ifdef CHECK_MEMORY
void FON_CheckMemory(void)
{
Mmg_M_CheckMemory(FON);
}
#endif /* CHECK_MEMORY */
/*End XB*/
/**************************************************************************/
/* XB 02/06/99 */
#ifndef FINAL_VERSION
unsigned long FON_fn_ulGetUsedStaticMemory(void)
{
return Mmg_M_GetUsedStaticMemory(FON);
}
#endif /* FINAL_VERSION */
/* End XB 02/06/99 */
/**************************************************************************/