Add rayman2 source files
This commit is contained in:
248
Rayman_X/cpa/tempgrp/PCS/Specif/PhysColl.c
Normal file
248
Rayman_X/cpa/tempgrp/PCS/Specif/PhysColl.c
Normal file
@@ -0,0 +1,248 @@
|
||||
/* ##C_FILE#
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
FILE : PhysColl.c
|
||||
|
||||
DESCRIPTION : Physical collide set module
|
||||
|
||||
VERSION : 1.00/Olivier Jourdan/Creation
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
*/
|
||||
|
||||
#define PCS_MAIN
|
||||
|
||||
#include "ACP_Base.h"
|
||||
|
||||
#include "GEO.h"
|
||||
|
||||
#include "PCS\PCS_Cst.h"
|
||||
#include "PCS\PCS_Str.h"
|
||||
#include "PCS\PCS_Mcr.h"
|
||||
#include "PCS\PCS_Hdl.h"
|
||||
#include "PCS\PCS_Prt.h"
|
||||
#include "PCS\PCS_Fct.h"
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_hCreatePhysicalCollideSet
|
||||
DESCRIPTION : Create and init a Physical Collide Set structure
|
||||
OUTPUT : handle to physical collide set
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
PCS_tdxHandleToPhysicalCollSet PCS_fn_hCreatePhysicalCollideSet()
|
||||
{
|
||||
tdstPhysicalCollSet * p_stPCS;
|
||||
|
||||
MMG_fn_vAddMemoryInfo (MMG_C_lTypePCS , MMG_C_lSubTypePCSStructure , NULL);
|
||||
GEO_M_CPAMalloc(p_stPCS,tdstPhysicalCollSet *,sizeof(tdstPhysicalCollSet),E_uwGEONotEnoughtMemory);
|
||||
p_stPCS->hZde = NULL;
|
||||
p_stPCS->hZdm = NULL;
|
||||
p_stPCS->hZdr = NULL;
|
||||
p_stPCS->hZdd = NULL;
|
||||
return( (PCS_tdxHandleToPhysicalCollSet)p_stPCS );
|
||||
}
|
||||
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_hGetZddGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Get the Zdd in Physical Collide Set
|
||||
INPUT : handle to phyical collide set
|
||||
OUTPUT : handle of object Zdd
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
ACP_tdxHandleOfObject PCS_fn_hGetZddGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet)
|
||||
{
|
||||
return( PCS_M_hGetZddGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
}
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_hGetZdeGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Get the Zde in Physical Collide Set
|
||||
INPUT : handle to phyical collide set
|
||||
OUTPUT : handle of object Zde
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
ACP_tdxHandleOfObject PCS_fn_hGetZdeGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet)
|
||||
{
|
||||
return( PCS_M_hGetZdeGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
}
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_hGetZdrGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Get the Zdr in Physical Collide Set
|
||||
INPUT : handle to phyical collide set
|
||||
OUTPUT : handle of object Zdr
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
ACP_tdxHandleOfObject PCS_fn_hGetZdrGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet)
|
||||
{
|
||||
return( PCS_M_hGetZdrGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
}
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_hGetZdmGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Get the Zdm in Physical Collide Set
|
||||
INPUT : handle to phyical collide set
|
||||
OUTPUT : handle of object Zdm
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
#ifndef _FIRE_DEADCODE_U64_
|
||||
ACP_tdxHandleOfObject PCS_fn_hGetZdmGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet)
|
||||
{
|
||||
return( PCS_M_hGetZdmGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
}
|
||||
#endif /* _FIRE_DEADCODE_U64_ */
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_hGetGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Get the Zdx of type in Physical Collide Set
|
||||
INPUT : zone type
|
||||
handle to physical collide set
|
||||
OUTPUT : handle of object Zdx
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
ACP_tdxHandleOfObject PCS_fn_hGetGeoObjOfPhysicalCollSet(unsigned char ucZoneType,PCS_tdxHandleToPhysicalCollSet _hPhyCollSet)
|
||||
{
|
||||
switch( ucZoneType )
|
||||
{
|
||||
case C_ucTypeZdd:
|
||||
return( PCS_M_hGetZddGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
break;
|
||||
case C_ucTypeZdm:
|
||||
return( PCS_M_hGetZdmGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
break;
|
||||
case C_ucTypeZdr:
|
||||
return( PCS_M_hGetZdrGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
break;
|
||||
case C_ucTypeZde:
|
||||
return( PCS_M_hGetZdeGeoObjOfPhysicalCollSet(_hPhyCollSet) );
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_vSetZddGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Set the Zdd in Physical Collide Set
|
||||
INPUT : handle to physical collide set
|
||||
handle of object Zdd
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
void PCS_fn_vSetZddGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet,ACP_tdxHandleOfObject _hGeoObj)
|
||||
{
|
||||
PCS_M_vSetZddGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
}
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_vSetZdeGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Set the Zde in Physical Collide Set
|
||||
INPUT : handle to phyical collide set
|
||||
handle of object Zde
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
void PCS_fn_vSetZdeGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet,ACP_tdxHandleOfObject _hGeoObj)
|
||||
{
|
||||
PCS_M_vSetZdeGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
}
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_vSetZdmGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Set the Zdm in Physical Collide Set
|
||||
INPUT : handle to phyical collide set
|
||||
handle of object Zdm
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
void PCS_fn_vSetZdmGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet,ACP_tdxHandleOfObject _hGeoObj)
|
||||
{
|
||||
PCS_M_vSetZdmGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
}
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_vSetZdrGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Set the Zdr in Physical Collide Set
|
||||
INPUT : handle to phyical collide set
|
||||
handle of object Zdr
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
void PCS_fn_vSetZdrGeoObjOfPhysicalCollSet(PCS_tdxHandleToPhysicalCollSet _hPhyCollSet,ACP_tdxHandleOfObject _hGeoObj)
|
||||
{
|
||||
PCS_M_vSetZdrGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
}
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_vSetGeoObjOfPhysicalCollSet
|
||||
DESCRIPTION : Set the Zdx in Physical Collide Set
|
||||
INPUT : zone type
|
||||
handle to phyical collide set
|
||||
handle of object Zdx
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
#ifndef _FIRE_DEADCODE_U64_
|
||||
void PCS_fn_vSetGeoObjOfPhysicalCollSet(unsigned char ucZoneType,PCS_tdxHandleToPhysicalCollSet _hPhyCollSet,ACP_tdxHandleOfObject _hGeoObj)
|
||||
{
|
||||
switch( ucZoneType )
|
||||
{
|
||||
case C_ucTypeZdd:
|
||||
PCS_M_vSetZddGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
break;
|
||||
case C_ucTypeZdm:
|
||||
PCS_M_vSetZdmGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
break;
|
||||
case C_ucTypeZdr:
|
||||
PCS_M_vSetZdrGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
break;
|
||||
case C_ucTypeZde:
|
||||
PCS_M_vSetZdeGeoObjOfPhysicalCollSet(_hPhyCollSet,_hGeoObj);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif /* _FIRE_DEADCODE_U64_ */
|
||||
|
||||
|
||||
/* ##F===================================================================================
|
||||
NAME : PCS_fn_vAddPhysicalCollSetToBoundingVolume
|
||||
DESCRIPTION : Compute the bouding volume of the physical collide set
|
||||
INPUT : handle to bounding volume
|
||||
handle to physical collide set
|
||||
=========================================================================================
|
||||
CREATION : Olivier Jourdan
|
||||
=======================================================================================*/
|
||||
#ifndef _FIRE_DEADCODE_U64_
|
||||
/*
|
||||
void PCS_fn_vAddPhysicalCollSetToBoundingVolume(
|
||||
ACP_tdxHandleOfObject _hBoundingVolume,
|
||||
PCS_tdxHandleToPhysicalCollSet _hPhyCollSet)
|
||||
{
|
||||
if( PCS_M_hGetZddGeoObjOfPhysicalCollSet(_hPhyCollSet) )
|
||||
GEO_fn_vAddObjectToBoundingVolume( PCS_M_hGetZddGeoObjOfPhysicalCollSet(_hPhyCollSet),_hBoundingVolume );
|
||||
if( PCS_M_hGetZdeGeoObjOfPhysicalCollSet(_hPhyCollSet) )
|
||||
GEO_fn_vAddObjectToBoundingVolume( PCS_M_hGetZddGeoObjOfPhysicalCollSet(_hPhyCollSet),_hBoundingVolume );
|
||||
if( PCS_M_hGetZdrGeoObjOfPhysicalCollSet(_hPhyCollSet) )
|
||||
GEO_fn_vAddObjectToBoundingVolume( PCS_M_hGetZddGeoObjOfPhysicalCollSet(_hPhyCollSet),_hBoundingVolume );
|
||||
if( PCS_M_hGetZdmGeoObjOfPhysicalCollSet(_hPhyCollSet) )
|
||||
GEO_fn_vAddObjectToBoundingVolume( PCS_M_hGetZddGeoObjOfPhysicalCollSet(_hPhyCollSet),_hBoundingVolume );
|
||||
}
|
||||
*/
|
||||
#endif /* _FIRE_DEADCODE_U64_ */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
************************************************************************
|
||||
* Do not add anything after this block of comment
|
||||
************************************************************************
|
||||
*----------------------------------------------------------------------*/
|
||||
#undef PCS_MAIN
|
Reference in New Issue
Block a user