/* *********************************************/ /* Specific header file for Rayman2 PC*/ /* (c) Ubi R&D 1998*/ /* See Alain Robin for any comment or question*/ /* *********************************************/ #ifndef __MORPH_H__ #define __MORPH_H__ #ifdef __cplusplus extern "C" { #endif /* For DLLs who are using this module : */ #undef CPA_EXPORT #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif /*********************************************** PUBLIC STRUCTURES **********************************************/ typedef struct MOR_stMorphStruct_ { ACP_tdxBool bInUse; /* Say if this element of the list is used or not.*/ /* If not, all the other variables are unused*/ /* Parameter part*/ HIE_tdxHandleToSuperObject hActorSuperObject; /* The super object of the actor*/ ACP_tdxIndex xStartIndexInObjectTable; /* The index in the object table of the 'start' physical object for the morphing*/ ACP_tdxIndex xEndIndexInObjectTable; /* The index in the object table of the 'end' physical object for the morphing*/ unsigned char ucMorphType; /* Can be MORPH_STOPATEND, MORPH_WAITATEND or MORPH_ROLLBACKATEND*/ int iNbMillisecond; /* The duration of the morphing (if the morphing loop*/ int iStart; /* For the moment: = 0*/ int iEnd; /* For the moment: = iNbMillisecond*/ /* Internal part*/ int iStep; /* Is 1 (morph from 'start' to 'end') or -1 (morph from 'end' to 'start')*/ int iCurrent; /* Current ratio (must be between start and end)*/ ACP_tdxIndex xChannelIndex; /* The channel in the animation where the morphing takes place*/ /* Specific part*/ PO_tdxHandleToPhysicalObject pOriginalPhysicalObject; /* The physical object that was in the channnel before the morphing*/ PO_tdxHandleToPhysicalObject pMorphedPhysicalObject; /* The created physical object*/ } MOR_tdstMorphStruct; #ifdef __cplusplus }/* extern "C" */ #endif #endif /* __MORPH_H__*/