105 lines
2.9 KiB
C
105 lines
2.9 KiB
C
/*****************
|
||
loadCB.c
|
||
Ver 1.0
|
||
|
||
LDT version of
|
||
collision set
|
||
loading
|
||
*****************/
|
||
|
||
#include "ldt.h"
|
||
|
||
/*****************************************************************
|
||
Name:
|
||
Description: Create callback for LDT
|
||
Author: Mircea Petrescu
|
||
Date: 6/29/98
|
||
Modified:
|
||
*****************************************************************/
|
||
int CS_iCreateGeneral( LDT_tdst_Link *pLink )
|
||
{
|
||
PCS_tdxHandleToPhysicalCollSet _hCollideSet;
|
||
|
||
_hCollideSet = PCS_fn_hCreatePhysicalCollideSet(1);
|
||
|
||
|
||
pLink->pObject=(void *)_hCollideSet;
|
||
return 0;
|
||
}
|
||
|
||
/*****************************************************************
|
||
Name:
|
||
Description: Load callback for LDT
|
||
Author: Mircea Petrescu
|
||
Date: 6/29/98
|
||
Modified:
|
||
*****************************************************************/
|
||
extern HREF g_hRefPO;
|
||
|
||
#define iPOGeneral_VS 0
|
||
#define iCSGeneral_ZDR 1
|
||
|
||
int CS_iLoadGeneral( LDT_tdst_Link *pLink )
|
||
{
|
||
LDT_tdeParseResult result=ParseResult_BeginSection;
|
||
PCS_tdxHandleToPhysicalCollSet _hCollideSet=( PCS_tdxHandleToPhysicalCollSet )pLink->pObject;
|
||
ACP_tdxHandleOfObject _hGeometricObject;
|
||
int iLen;
|
||
char sz_LongPathForLinkTable[256];
|
||
|
||
iLen=LDT_ComputeSectionName(pLink, sz_LongPathForLinkTable);
|
||
SCR_M_v_Link_SetAdditionalLong(SCR_fnp_st_Link_SetValue(&CS_g_stLinkTable,sz_LongPathForLinkTable,(unsigned long)_hCollideSet),1,iLen);
|
||
|
||
while( result!=ParseResult_EndSection )
|
||
{
|
||
result=LDT_GetNextEntry();
|
||
switch( result )
|
||
{
|
||
case ParseResult_Entry: /* an entry */
|
||
{
|
||
char *szEntry=LDT_szGetEntryName();
|
||
switch (*(long*)szEntry)
|
||
{
|
||
case 'RDZ' : /* ZDR */
|
||
{
|
||
_hGeometricObject = GLI_pLoadGeometricInFile( LDT_szGetParam( 1 ) );
|
||
LDT_AddToRefsTable( g_hRefPO, pLink, iCSGeneral_ZDR, 0); //1, (long)_hGeometricObject );
|
||
}
|
||
break;
|
||
case 'EDZ' : /* ZDE */
|
||
{
|
||
_hGeometricObject = GLI_pLoadGeometricInFile( LDT_szGetParam( 1 ) );
|
||
PCS_fn_vSetZdeGeoObjOfPhysicalCollSet(_hCollideSet,_hGeometricObject);
|
||
}
|
||
break;
|
||
case 'DDZ' : /* ZDD */
|
||
{
|
||
_hGeometricObject = GLI_pLoadGeometricInFile( LDT_szGetParam( 1 ) );
|
||
PCS_fn_vSetZddGeoObjOfPhysicalCollSet(_hCollideSet,_hGeometricObject);
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
break;
|
||
case ParseResult_BeginSection: /* a subsection */
|
||
LDT_LoadSection( NULL );
|
||
}
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
|
||
/*-----------------------------------------------------------------------------
|
||
/*-----------------------------------------------------------------------------
|
||
* Description : Used to register all script callback functions
|
||
*-----------------------------------------------------------------------------
|
||
* Creation date : 05/05/97 Author : Sebastien DAVID (G<>zmo)
|
||
*-----------------------------------------------------------------------------*/
|
||
void CS_fn_vRegisterAllScriptSections(void)
|
||
{
|
||
#if !defined(U64)
|
||
LDT_RegisterType( C_Section_CSGeneral, CS_iCreateGeneral, CS_iLoadGeneral, LDT_REG_SECTION );
|
||
#endif /* U64 */
|
||
}
|