131 lines
4.2 KiB
C
131 lines
4.2 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_SPRTPRT_H
|
|
#define PRT_SPRTPRT_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
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
#include "PrtSyst.h"
|
|
#include "PrtSrc.h"
|
|
#include "PrtEnv.h"
|
|
|
|
#define D_MSPrtSrc_StructureDefine
|
|
#include "Gam\Actions\MsPrtSrc.h"
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
CONSTANT DECLARATION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
TYPES DEFINITION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
/* bubble structure */
|
|
typedef struct PRT_tdstSpriteParticle_
|
|
{
|
|
MTH_tdxReal xDeathDate;
|
|
MTH_tdxReal xChangeSpriteDate;
|
|
char cNextSpriteIndex;
|
|
MTH2D_tdstVector stSize;
|
|
char a2_cRotateSpeed[2];
|
|
unsigned char a2_ucRotateAngle[2];
|
|
} PRT_tdstSpriteParticle;
|
|
|
|
typedef struct PRT_tdstSpriteData_
|
|
{
|
|
ACP_tdxHandleOfSprite hSprite;
|
|
MTH_tdxReal xTime;
|
|
char cProba;
|
|
char cNextSprite;
|
|
} PRT_tdstSpriteData;
|
|
|
|
typedef struct PRT_tdstSpriteCommonData_
|
|
{
|
|
ACP_tdxIndex xNumberOfSprites;
|
|
/*ACP_tdxHandleOfSprite *d_hSprite;*/
|
|
PRT_tdstSpriteData *d_stSpriteData;
|
|
|
|
ACP_tdxHandleOfSprite hSprite;
|
|
GMT_tdxHandleToGameMaterial hMaterial;
|
|
}
|
|
PRT_tdstSpriteCommonData;
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
GLOBAL VARIABLE DECLARATION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
/*
|
|
-----------------------------------------------------------------------------
|
|
FUNCTIONS DECLARATION
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
extern CPA_EXPORT void PRT_fn_vCreateSpriteParticles( PRT_tdstParticlesSystem *_p_stParticlesSystem, ACP_tdxHandleOfSprite _hSprite );
|
|
extern CPA_EXPORT void PRT_fn_vDestructSpriteParticles( PRT_tdstParticlesSystem *_p_stParticlesSystem );
|
|
extern CPA_EXPORT void PRT_fn_vSetGameMaterialSpriteParticles ( PRT_tdstParticlesSystem *_p_stParticlesSystem, GMT_tdxHandleToGameMaterial _hGameMaterial );
|
|
|
|
extern CPA_EXPORT void PRT_fn_vGenerateSpriteParticle
|
|
(
|
|
MTH3D_tdstVector *_p_stParticlePosition,
|
|
MTH3D_tdstVector *_p_stParticleSpeed,
|
|
PRT_tdstSpriteParticle *_p_stSpriteParticle,
|
|
PRT_tdstSpriteCommonData *_p_stSpriteCommonData,
|
|
PRT_tdstParticlesSource *_p_stParticlesSource,
|
|
struct POS_stCompletePosition *_p_stSourceMatrix,
|
|
MTH_tdxReal _xTimeT
|
|
);
|
|
|
|
extern CPA_EXPORT void PRT_fn_vMecaSpriteParticlesSystem ( tdstParticleGenerator *_p_stPrtGen,MTH_tdxReal _xTimeT,MTH_tdxReal _xDeltaT );
|
|
extern CPA_EXPORT void PRT_fn_vSourceGenerateSpriteParticle
|
|
(
|
|
PRT_tdstParticlesSystem *_p_stParticlesSystem,
|
|
PRT_tdstParticlesSource *_p_stParticlesSource,
|
|
struct POS_stCompletePosition *_p_stSourceMatrix,
|
|
MTH_tdxReal _xTimeT
|
|
);
|
|
|
|
extern CPA_EXPORT void PRT_fn_vPreDrawSpriteParticlesSystem ( PRT_tdstParticlesSystem *_p_stParticlesSystem );
|
|
|
|
/*ANNECY VL PRT 30/03/98{*/
|
|
extern CPA_EXPORT void PRT_fn_vCreateMultipleSpritesParticles( PRT_tdstParticlesSystem *_p_stPrtSys, ACP_tdxIndex _xNbSprites );
|
|
extern CPA_EXPORT void PRT_fn_vEndCreateMultipleSpritesParticles( PRT_tdstParticlesSystem *_p_stPrtSys );
|
|
extern CPA_EXPORT char PRT_fn_cSystemIsMultipleSprites( PRT_tdstParticlesSystem *_p_stPrtSys );
|
|
extern CPA_EXPORT void PRT_fn_vAddSprite( PRT_tdstParticlesSystem *_p_stPrtSys, ACP_tdxHandleOfSprite _hSprite );
|
|
/*ENDANNECY VL}*/
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* PRT_SPRTPRT_H */
|
|
#endif /* D_THROW_PRT */
|