95 lines
2.7 KiB
C
95 lines
2.7 KiB
C
/*
|
|
MODULE : PRT (Particle system Library)
|
|
AUTHOR : Frederic PHILIPPE
|
|
UBI R&D
|
|
FILE : PRT.h (Principal header file)
|
|
*/
|
|
#ifndef D_THROW_PRT
|
|
|
|
#ifndef PRT_PRTSYST_H
|
|
#define PRT_PRTSYST_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#include "cpa_expt.h"
|
|
|
|
/* For Global declaration in C files : */
|
|
#ifdef PRT_GLOBALS
|
|
#define PRT_EXTERN extern
|
|
#else /* !PRT_GLOBALS */
|
|
#define PRT_EXTERN
|
|
#endif /* !PRT_GLOBALS */
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
INCLUDES FILES
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
CONSTANT DECLARATION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
#define PRT_C_xNullParticles 0
|
|
#define PRT_C_xBubbleParticles 1
|
|
#define PRT_C_xPointParticles 2
|
|
#define PRT_C_xSegmentParticles 3
|
|
#define PRT_C_xSpriteParticles 4
|
|
#define PRT_C_xTriangleParticles 5
|
|
#define PRT_C_xRectangleParticles 6
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
TYPES DEFINITION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
/* element particules structure */
|
|
typedef struct PRT_tdstParticlesSystem_
|
|
{
|
|
ACP_tdxIndex xNbParticles;
|
|
ACP_tdxIndex xNbActiveParticles;
|
|
MTH3D_tdstVector *d_stSpeed;
|
|
|
|
ACP_tdxHandleOfObject hParticlesSystemObject;
|
|
|
|
ACP_tdxIndex xParticlesType;
|
|
void *d_stListOfParticles;
|
|
void *p_stCommonData;
|
|
}
|
|
PRT_tdstParticlesSystem;
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
GLOBAL VARIABLE DECLARATION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
FUNCTIONS DECLARATION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
#define PRT_M_vCopyParticlesSystem( _p_stDstParticlesSystem, _p_stSrcParticlesSystem )\
|
|
memcpy ( _p_stDstParticlesSystem, _p_stSrcParticlesSystem, sizeof ( PRT_tdstParticlesSystem ) )
|
|
|
|
extern CPA_EXPORT void PRT_fn_vCreateParticlesSystem ( PRT_tdstParticlesSystem **_p_pstParticlesSystem,
|
|
ACP_tdxIndex _xNbParticles );
|
|
|
|
extern CPA_EXPORT void PRT_fn_vInitParticlesSystem ( PRT_tdstParticlesSystem *_p_stParticlesSystem );
|
|
|
|
extern CPA_EXPORT void PRT_fn_vSetObjectParticlesSystem ( PRT_tdstParticlesSystem *_p_stParticlesSystem,
|
|
ACP_tdxHandleOfObject _hParticlesSystemObject );
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* PRT_PRTSYST_H */
|
|
#endif /* D_THROW_PRT */
|