#ifndef MATERPLANEH #define MATERPLANEH #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* For DLL using these function :*/ #include "cpa_expt.h" #include "gld.h" #define GLI_C_l2DPlaneIsEnable 1 #define GLI_C_lWaterPlaneHorizonIsNotInScreen 2 #define GLI_C_lWaterPlaneDoItForAll 4 #define GLI_C_lWaterPlaneCameraIsInWater 8 #define GLI_C_lWaterPlaneNoRefraction 16 #define GLI_C_lWaterPlaneNoSinusMoves 32 #define GLI_C_lWaterPlaneNoFog 64 extern CPA_EXPORT void GLI_vInitWaterplaneModule(); extern CPA_EXPORT void GLI_vSetWaterplaneOn(); extern CPA_EXPORT void GLI_vSetWaterplaneOff(); extern CPA_EXPORT void GLI_vSetWaterplane(struct GLD_tdstViewportAttributes_ *p_stVpt,MTH3D_tdstVector *p_stNormale,MTH_tdxReal xDistance); extern CPA_EXPORT void GLI_vSetWaterplaneRefraction(MTH_tdxReal xRefraction); extern CPA_EXPORT void GLI_vSetWaterplane2DMoveSize(MTH_tdxReal xSizeInPixels); extern CPA_EXPORT void GLI_vWaterplaneEnableRefraction(); extern CPA_EXPORT void GLI_vWaterplaneDisableRefraction(); extern CPA_EXPORT void GLI_vWaterplaneEnable2DSinus(); extern CPA_EXPORT void GLI_vWaterplaneDisable2DSinus(); extern CPA_EXPORT void GLI_vSetWaterplane2DMoveDepthStart(MTH_tdxReal xDepth); extern CPA_EXPORT void GLI_vFogWaterPlaneEffect(struct GLI_tdstInternalGlobalValuesFor3dEngine_ *p_stGlobalsParrameters,long xStart,long xNumber); extern CPA_EXPORT void GLI_v2DWaterPlaneEffect(struct GLI_tdstInternalGlobalValuesFor3dEngine_ *p_stGlobalsParrameters,long xStart,long xNumber); extern CPA_EXPORT void GLI_v3DWaterPlaneEffect(struct GLI_tdstInternalGlobalValuesFor3dEngine_ *p_stGlobalsParrameters,long xStart,long xNumber); extern CPA_EXPORT void GLI_vSetWaterFog(MTH_tdxReal xDepth,GLI_tdstColor *p_stFogColor); extern CPA_EXPORT long GLI_vIsWaterplaneEnable(struct GLI_tdstInternalGlobalValuesFor3dEngine_ *p_stGlobalsParrameters); /*ANNECY VL04/03/98{*/ /* * function for sinus effect */ #define C_SinusEffect_cAffectSecondViewPort 1 #define C_SinusEffect_cUseZFactor 2 extern char g_cSinusEffectState; extern char g_cSinusEffectFlag; extern CPA_EXPORT char GLI_fn_SinusEffect_cIsSecondViewportAffected( void ); extern CPA_EXPORT void GLI_fn_SinusEffect_vSetFlag( char _cFlag ); extern CPA_EXPORT char GLI_fn_SinusEffect_vGetFlag( void ); extern CPA_EXPORT void GLI_fn_SinusEffect_vSetState( char _cState ); extern CPA_EXPORT char GLI_fn_SinusEffect_vGetState( void ); extern CPA_EXPORT void GLI_fn_SinusEffect_vSetFreq( long _lXFreq, long _lYFreq, long _lZFreq ); extern CPA_EXPORT void GLI_fn_SinusEffect_vSetAmplitude( MTH3D_tdstVector *_p_stAmpVector ); extern CPA_EXPORT void GLI_v3DSinusEffect( struct GLI_tdstInternalGlobalValuesFor3dEngine_ *_p_stGP, long _xStart, long _xNumber); extern CPA_EXPORT void GLI_v2DSinusEffect(struct GLI_tdstInternalGlobalValuesFor3dEngine_ *p_stGlobalsParrameters,long xStart,long xNumber); /*ENDANNECY VL}*/ extern CPA_EXPORT void GLI_vSetSinusEffectOnRLIAmp ( MTH_tdxReal xRed, MTH_tdxReal xGreen, MTH_tdxReal xBlue ) ; extern CPA_EXPORT void GLI_vSetSinusEffectOnRLIBase ( MTH_tdxReal xRed, MTH_tdxReal xGreen, MTH_tdxReal xBlue ) ; extern CPA_EXPORT void GLI_vSetSinEffetBase (MTH_tdxReal xBase) ; extern CPA_EXPORT void GLI_vSaveSinusContext ( void ) ; extern CPA_EXPORT void GLI_vRestoreSinusContext ( void ) ; /* * function to update some effect var each trame */ void GLI_vUpdateEffectData( unsigned long _ulDeltaT ); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* OBJECTH*/