reman3/Rayman_X/cpa/public/GAM/Actions/Animfx.h

109 lines
4.2 KiB
C

/*=========================================================================
* AnimEffect.h : AnimEffect's functions
*
*
* AnimEffect MUST BE REPLACE BY THE HEADER FILENAME
*
*
* Version 1.0
* Creation date 01/10/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#ifndef D_THROW_ANIM_EFFECT
#if !defined(__AnimEffect_H__)
#define __AnimEffect_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_AnimEffect_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_AnimEffect_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
struct tdstAnimEffect_
{
/*these describe the sinus phase of a module displacement along the anim's axis
relatively to the position given by the current frame.*/
MTH3D_tdstVector stShiftPhase, stShiftMax;
/*there are time shifts that apply between two consecutive modules,
so that they dont always do the same thing together*/
MTH3D_tdstVector stShiftPlus;
};
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstAnimEffect_ * MS_tdxHandleToAnimEffect;
/**** AnimEffect scripts ****/
#define C_SectionAnimEffectDescription "AnimEffect"
#define C_EntryAnimEffectShiftPhase "ShiftPhase"
#define C_EntryAnimEffectShiftMax "ShiftMax"
#define C_EntryAnimEffectShiftPlus "ShiftPlus"
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eAnimEffectScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /*AR980217*/
/*extern CPA_EXPORT void fn_vAnimEffectSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulAnimEffectSizeOf();
extern CPA_EXPORT void fn_vAnimEffectAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToAnimEffect fn_h_AnimEffectRealAlloc();
extern CPA_EXPORT void fn_vAnimEffectFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vAnimEffectInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vAnimEffectDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vAnimEffectCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT MTH3D_tdstVector fn_stAnimEffectGetShiftPhase(MS_tdxHandleToAnimEffect h_AnimEffect);
extern CPA_EXPORT MTH3D_tdstVector fn_stAnimEffectGetShiftMax(MS_tdxHandleToAnimEffect h_AnimEffect);
extern CPA_EXPORT MTH3D_tdstVector fn_stAnimEffectGetShiftPlus(MS_tdxHandleToAnimEffect h_AnimEffect);
extern CPA_EXPORT void fn_vAnimEffectSetShiftPhase(MS_tdxHandleToAnimEffect h_AnimEffect,MTH3D_tdstVector _stVector);
extern CPA_EXPORT void fn_vAnimEffectSetShiftMax(MS_tdxHandleToAnimEffect h_AnimEffect,MTH3D_tdstVector _stVector);
extern CPA_EXPORT void fn_vAnimEffectSetShiftPlus(MS_tdxHandleToAnimEffect h_AnimEffect,MTH3D_tdstVector _stVector);
/**********************************/
/**** Special functions define ****/
/**********************************/
/**********************/
/**** SAI function ****/
/**********************/
extern CPA_EXPORT void fn_vAnimEffectInitValueSAI(MS_tdxHandleToAnimEffect h_AnimEffect);
extern CPA_EXPORT void fn_vAnimEffectSavedValueSAI(MS_tdxHandleToAnimEffect h_AnimEffect);
extern CPA_EXPORT void fn_vAnimEffectFreeInitValueSAI(MS_tdxHandleToAnimEffect h_AnimEffect);
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __AnimEffect_H__ */
#endif /* D_THROW_ANIM_EFFECT */