76 lines
2.1 KiB
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;
|
|
}
|
|
|