reman3/Rayman_X/cpa/tempgrp/PO/Specif/csloadCB.c

105 lines
2.9 KiB
C
Raw Blame History

/*****************
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 */
}