reman3/Rayman_X/cpa/public/ago/AGO_pub.h

86 lines
1.9 KiB
C

/*///////////////////////////////////////////////////*/
/**/
/* AGO : Animations Graphiques Optimisées pour Ray2*/
/* ------------------------------------------------*/
/**/
/* A ultra-simple multi-purpose particle system*/
/* for animation optimizations */
/* (to reduce PlayAnim & IA use)*/
/**/
/*///////////////////////////////////////////////////*/
/**/
/* Version 1.0 : Francois "Rollie Tyler" Queinnec*/
/**/
/*////////////////////////////////////////////////*/
#ifndef __AGO__H
#define __AGO__H
/* LOL portage #include <stdlib.h>*/
#ifdef U64
#include <ultra.h>
#include <gbi.h>
#endif /* U64*/
#include "GLD.h"
#include "GMT.h"
#ifdef __cplusplus
extern "C"
{
#endif
extern void *AGO_g_LastMaterialUsed;
extern unsigned char AGO_SkipMaterial;
extern unsigned short g_uwGlobalAlpha;
extern float g_ffFrameTime;
extern float g_ffLastFrameTime;
extern float g_fTimeDifference;
extern unsigned long g_ulVBLTime;
extern float g_AGO_AnimTimeScale;
extern int g_iCurrentPlanarSprite;
float AGO_fGetTimeInSeconds(void);
int GLI_vDrawWorldSprite(float *a3_fPosition,void *pVisualMaterial,float fscaleX,float fscaleY, GLD_tdstViewportAttributes *_p_stViewport, unsigned long AnimTime);
int GLI_vDrawWorldPlanarSprite(float *a3_fPosition,void *pVisualMaterial,float fscaleX,float fscaleY, GLD_tdstViewportAttributes *_p_stViewport, unsigned long AnimTime);
#ifdef U64
void GLI_vPrepareViewPort(void);
#endif
void AGO_vInit(void);
void AGO_vDestroyPart(unsigned long ulPartNumber);
void AGO_vProcessAllParts(GLD_tdstViewportAttributes *_p_stViewport);
void AGO_vProcessPart(unsigned long ulPartNumber, GLD_tdstViewportAttributes *_p_stViewport);
void AGO_vAddParticle(unsigned long PartType,
MTH3D_tdstVector *p_stPosition,
MTH3D_tdstVector *p_stDirection,
void *hVisualMaterial,
float parameter);
#ifdef __cplusplus
}
#endif
#endif /* __AGO__H*/