120 lines
4.4 KiB
C
120 lines
4.4 KiB
C
#ifndef __EFFECT_H
|
|
#define __EFFECT_H
|
|
|
|
/******************************************/
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif /* _MSC_VER >= 1000 */
|
|
/******************************************/
|
|
|
|
#include "GAM/Header.h"
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C"
|
|
{
|
|
#endif /* __cplusplus */
|
|
/*------------------------------------------------------------------
|
|
* Handles declaration
|
|
*------------------------------------------------------------------*/
|
|
|
|
/*------------------------------------------------------------------
|
|
* Structures for effects
|
|
*------------------------------------------------------------------*/
|
|
/*** Foam effect ***/
|
|
typedef struct tdstWaterFoam_
|
|
{
|
|
MTH3D_tdstVector stPosition;
|
|
ACP_tdxBool bFoamIsActive;
|
|
long lLifeTime;
|
|
|
|
} tdstWaterFoam;
|
|
|
|
typedef struct tdstWaterStreakEffect_
|
|
{
|
|
long lNbFoams;
|
|
long lNbGraphicFoams;
|
|
tdstWaterFoam * a_stFoams;
|
|
unsigned long ulLastTimeOfShift;
|
|
MTH_tdxReal xFoamXZoom;
|
|
MTH_tdxReal xFoamYZoom;
|
|
long lFoamFrameCounter;
|
|
ACP_tdxHandleOfObject * a_hFoamObjectTable;
|
|
MTH_tdxReal xAttenuationCoeff;
|
|
MTH_tdxReal xLifeTimeFrequency;
|
|
long lLifeTime;
|
|
long lTimeBetweenTwoShifts;
|
|
MTH_tdxReal xTimeWindow;
|
|
MTH_tdxReal xGap;
|
|
|
|
} tdstWaterStreakEffect;
|
|
|
|
#define C_uwTestPointWater 2
|
|
#define C_uwTestPointBubbleEffect1 12
|
|
#define C_uwTestPointBubbleEffect2 13
|
|
#define C_uwTestPointBubbleEffect3 14
|
|
|
|
/*ANNECY VL 25/11/97{*/
|
|
/* structure for Foot Path effect*/
|
|
typedef struct tdstFootPath_
|
|
{
|
|
ACP_tdxIndex xNumberOfAlphaLevels; /* number of alpha levels (<=> number of geom object)*/
|
|
MTH_tdxReal a8_xAlphaColor[8]; /* alpha value for each level*/
|
|
ACP_tdxIndex a8_xNumberOfPoints[8]; /* number of points for each level*/
|
|
ACP_tdxIndex a8_xMaxNumberOfFaces[8]; /* max number of faces for each level*/
|
|
ACP_tdxIndex a8_xNumberOfFaces[8]; /* current number of faces for each levels*/
|
|
ACP_tdxIndex a8_xNextFaces[8]; /* next faces to change for each level*/
|
|
MTH3D_tdstVector a2_stOffset[2]; /* foot print offset (first for left, other for right foot print)*/
|
|
MTH_tdxReal a2_xScale[2]; /* dimension of a footprint*/
|
|
ACP_tdxHandleOfObject a8_hGeomObj[8]; /* pointer on geom obj that correspond for each alpha levels*/
|
|
GMT_tdxHandleToGameMaterial hFootPrintMaterial;
|
|
GMT_tdxMask xConsiderMaterial;
|
|
} tdstFootPath;
|
|
/*ENDANNECY VL }*/
|
|
|
|
/*------------------------------------------------------------------
|
|
* Accessors to structure
|
|
*------------------------------------------------------------------*/
|
|
/*** Foam effect ***/
|
|
/*------------------------------------------------------------------
|
|
* Functions for diverses effects
|
|
*------------------------------------------------------------------*/
|
|
/*** Global functions for loading effects ***/
|
|
extern CPA_EXPORT void fn_vInitEffects(void);
|
|
|
|
extern CPA_EXPORT void fn_vLoadEffects(void);
|
|
|
|
|
|
|
|
#if !defined(U64)
|
|
|
|
SCR_tde_Anl_ReturnValue fn_eCallBackEffects(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
|
|
/*** Foam effect ***/
|
|
SCR_tde_Anl_ReturnValue fn_eCallBackWaterStreakEffect(
|
|
SCR_tdst_File_Description *_p_stFile,char *_p_szName,
|
|
char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
|
|
|
|
#endif /* U64 */
|
|
|
|
extern CPA_EXPORT void fn_vWaterStreakEffect(
|
|
GLD_tdstViewportAttributes * _p_stViewportAttr,
|
|
HIE_tdxHandleToSuperObject _hCharacter,
|
|
long _lDrawMask);
|
|
|
|
extern CPA_EXPORT void fn_vInitWaterStreakEffect(void);
|
|
extern CPA_EXPORT void fn_vDisplayWaterStreak(GLD_tdstViewportAttributes * _p_stViewportAttr,GAM_tdxHandleToWaterStreakEffect _hWSE,long _lDrawMask);
|
|
|
|
/*ANNECY VL 03/11/97{*/
|
|
extern CPA_EXPORT GAM_tdxHandleToFootPathEffect fn_h_FootPath_Alloc();
|
|
extern CPA_EXPORT void fn_v_FootPath_Create( GAM_tdxHandleToFootPathEffect _hFootPath );
|
|
extern CPA_EXPORT void fn_v_FootPath_ReInit( GAM_tdxHandleToFootPathEffect _hFootPath );
|
|
extern CPA_EXPORT void fn_v_FootPath_Add( HIE_tdxHandleToSuperObject _hCharacter, ACP_tdxIndex _xFootPrintType );
|
|
extern CPA_EXPORT void fn_v_FootPath_Display(GAM_tdxHandleToFootPathEffect _hFootPath, GLD_tdstViewportAttributes * _p_stViewportAttr, long _lDrawMask);
|
|
/*ENDANNECY VL }*/
|
|
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __EFFECT_H */
|