167 lines
5.1 KiB
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 */
|
|
|
|
/**************************************************************************/
|