reman3/Rayman_X/cpa/tempgrp/GMT/GmtZnLodCB.c

76 lines
2.1 KiB
C

#include "ldt.h"
/*****************************************************************
Name:
Description: Create callback for LDT
Author: Mircea Petrescu
Date: 8/25/98
Modified:
*****************************************************************/
int fn_iCreateCollideMaterial( LDT_tdst_Link *pLink )
{
GMT_tdxHandleToCollideMaterial h_CollideMaterial;
h_CollideMaterial = GMT_fn_hCreateCollideMaterial();
pLink->pObject=(void *)h_CollideMaterial;
return 0;
}
/*****************************************************************
Name:
Description: Load callback for LDT
Author: Mircea Petrescu
Date: 8/25/98
Modified:
*****************************************************************/
int fn_iLoadCollideMaterial( LDT_tdst_Link *pLink )
{
LDT_tdeParseResult result=ParseResult_BeginSection;
GMT_tdxHandleToCollideMaterial _h_CollideMaterial=(GMT_tdxHandleToCollideMaterial)pLink->pObject;
char a255_cLongName[255];
int iLen;
iLen=LDT_ComputeSectionName(pLink,a255_cLongName);
SCR_M_v_Link_SetAdditionalLong(SCR_fnp_st_Link_SetValue(&g_stGmtZoneLinkTable,
a255_cLongName,
(unsigned long)_h_CollideMaterial),
1,iLen);
while( result!=ParseResult_EndSection )
{
result=LDT_GetNextEntry();
switch( result )
{
case ParseResult_Entry: /* an entry */
{
short wValue;
char *szEntry=LDT_szGetEntryName();
if( strcmp( szEntry, C_EntryCollideMaterial )!=0 )
break;
szEntry=LDT_szGetParam(1);
switch( *(long *)szEntry )
{
case 'mdZ' : /* Zdm */
GMT_fn_vSetTypeOfCollideMaterial(_h_CollideMaterial,GMT_C_wZDM);
break;
case 'rdZ' : /* Zdr */
GMT_fn_vSetTypeOfCollideMaterial(_h_CollideMaterial,GMT_C_wZDR);
break;
case 'edZ' : /* Zde */
GMT_fn_vSetTypeOfCollideMaterial(_h_CollideMaterial,GMT_C_wZDE);
break;
case 'ddZ' : /* Zdd */
GMT_fn_vSetTypeOfCollideMaterial(_h_CollideMaterial,GMT_C_wZDD);
break;
}
wValue=(short)atoi( LDT_szGetParam( 2 ) );
GMT_fn_hSetCollideMaterialIdentifier(_h_CollideMaterial,wValue);
}
}
}
return 0;
}