Add rayman2 source files

This commit is contained in:
2024-09-18 02:33:44 +08:00
parent bcc093f8ed
commit fb036c54fd
14339 changed files with 2596224 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,73 @@
/*=========================================================================
* AllActs.h : This file contain included files to define all object.
* This is a part of the Hed project.
*
* Version 1.0
* Creation date 09/08/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__ALLACTS_H__ )
#define __ALLACTS_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#include "ACP_Base.h"
#include "GAM/Structur/StdObjSt.h"
#include "GAM/objinit.h"
#include "GAM/TypeCam.h"
/**** Include here all actions headers files ****/
#include "Brain.h"
#include "Dynam.h"
#include "Cineinfo.h"
#include "CollSet.h"
#include "MSWay.h"
#include "MSLight.h"
#include "SectInfo.h"
#include "MS_Micro.h"
#ifndef D_THROW_PRT
#include "MSPrtSrc.h"
#endif /* D_THROW_PRT */
#include "MSSound.h" /* JO 08/12/97*/
#ifndef D_THROW_ANIM_EFFECT
#include "Animfx.h"
#endif /* D_THROW_ANIM_EFFECT */
/*XB980824*/
#ifndef D_THROW_MGT
#include "MSMag.h"
#endif /* D_THROW_MGT */
/*End XB*/
#include "3dData.h"
#include "StdGame.h"
void fn_vRegisterAllActionsScriptSections();
#define C_SectionOneCharacters "Character"
#if !defined(U64)
SCR_tde_Anl_ReturnValue fn_eScriptCallBackOneCharacter(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
/* For binary purposes*/
unsigned long EngineObject_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
void EngineObject_fn_vReadBinaryBloc(unsigned long _ulStructAddress);
#endif /* U64 */
#endif /* !__ALLACTS_H__ */

View File

@@ -0,0 +1,108 @@
/*=========================================================================
* 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 */

View File

@@ -0,0 +1,176 @@
/*=========================================================================
* Brain.h : Brain's functions
*
*
* Brain 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
*=======================================================================*/
#if !defined(__Brain_H__)
#define __Brain_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_Brain_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_Brain_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
/********************************************************************************/
/**** If we are int StdGame.c file, then, create the structures and variables ****/
/********************************************************************************/
/*#if defined(D_Brain_StructureDefine)*/
struct tdstBrain_
{
struct AI_tdstMind_ *p_stMind;
GMT_tdxHandleToGameMaterial hLastCollidedGoThroughMaterial;
ACP_tdxBool bWarnMechanicsFlag;
};
/*#endif /* D_Brain_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstBrain_ * MS_tdxHandleToBrain;
#define M_pstGetMindOfBrain(h_Brain) fn_p_stBrainGetMind(h_Brain)
#define M_SetMindOfBrain(h_Brain, p_stM) fn_vBrainSetMind((h_Brain),(p_stM))
/*ANNECY BBB 24/11/97 {*/
#define M_hGetLastCollidedGoThroughMaterialOfBrain(h_Brain) fn_hBrainGetLastCollidedGoThroughMaterial(h_Brain)
#define M_vSetLastCollidedGoThroughMaterialOfBrain(h_Brain, hGameMaterial) fn_vBrainSetLastCollidedGoThroughMaterial((h_Brain),(hGameMaterial))
/*#define M_bGetWarnMechanicsFlagOfBrain(h_Brain) fn_bBrainGetWarnMechanicsFlag(h_Brain)*/
#define M_vSetWarnMechanicsFlagOfBrain(h_Brain, bFlag) fn_vBrainSetWarnMechanicsFlag((h_Brain),(bFlag))
/*ENDANNECY BBB 24/11/97 }*/
#define AI_M_stGetMindOfSuperObj(hSupObj) ((AI_tdstMind *)fn_p_stBrainGetMind(M_GetMSHandle((hSupObj), Brain)))
/**** Brain scripts ****/
#define C_SectionBrainDescription "Brain"
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eBrainScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vBrainSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulBrainSizeOf();
extern CPA_EXPORT void fn_vBrainAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToBrain fn_h_BrainRealAlloc();
extern CPA_EXPORT void fn_vBrainFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vBrainInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vBrainDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vBrainCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/********************************/
/**** Acces functions define ****/
/********************************/
/*extern CPA_EXPORT struct AI_tdstMind_ *fn_p_stBrainGetMind(MS_tdxHandleToBrain h_Brain);*/
/*extern CPA_EXPORT void fn_vBrainSetMind(MS_tdxHandleToBrain h_Brain,struct AI_tdstMind_ *p_stMind);*/
/*ANNECY BBB 24/11/97 {*/
/*extern CPA_EXPORT GMT_tdxHandleToGameMaterial fn_hBrainGetLastCollidedGoThroughMaterial(MS_tdxHandleToBrain h_Brain);*/
/*extern CPA_EXPORT void fn_vBrainSetLastCollidedGoThroughMaterial(MS_tdxHandleToBrain h_Brain, GMT_tdxHandleToGameMaterial _hGameMaterial);*/
/*extern CPA_EXPORT ACP_tdxBool fn_bBrainGetWarnMechanicsFlag(MS_tdxHandleToBrain h_Brain);*/
/*extern CPA_EXPORT void fn_vBrainSetWarnMechanicsFlag(MS_tdxHandleToBrain h_Brain, ACP_tdxBool _bFlag);*/
/*ENDANNECY BBB 24/11/97 }*/
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT void fn_vFirstInitBrain(MS_tdxHandleToBrain h_Brain);
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long Brain_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer,struct tdstEngineObject_* _hEngObj);
#endif
/*NZO 25/09/97*/
#ifdef BIN_LoadBin
extern CPA_EXPORT void Brain_fn_vReadBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer,struct tdstEngineObject_* _hEngObj);
#endif
/*ANNECY jt {*/
#define fn_bBrainWaterCollideSO(hSupObj) fn_bBrainGetWarnMechanicsFlag(M_GetMSHandle(hSupObj,Brain));
/*extern CPA_EXPORT ACP_tdxBool fn_bBrainWaterCollideSO (HIE_tdxHandleToSuperObject hSupObj);*/
/*ENDANNECY jt }*/
/* inline functions that have moved from the BRAIN.C file.*/
INLINE
struct AI_tdstMind_ *fn_p_stBrainGetMind(MS_tdxHandleToBrain h_Brain)
{
return(h_Brain->p_stMind);
}
INLINE
void fn_vBrainSetMind(MS_tdxHandleToBrain h_Brain,struct AI_tdstMind_ *p_stMind)
{
h_Brain->p_stMind=p_stMind;
}
INLINE
GMT_tdxHandleToGameMaterial fn_hBrainGetLastCollidedGoThroughMaterial(MS_tdxHandleToBrain h_Brain)
{
return h_Brain->hLastCollidedGoThroughMaterial;
}
INLINE
void fn_vBrainSetLastCollidedGoThroughMaterial(MS_tdxHandleToBrain h_Brain, GMT_tdxHandleToGameMaterial _hGameMaterial)
{
h_Brain->hLastCollidedGoThroughMaterial = _hGameMaterial;
}
INLINE
ACP_tdxBool fn_bBrainGetWarnMechanicsFlag(MS_tdxHandleToBrain h_Brain)
{
return h_Brain->bWarnMechanicsFlag;
}
INLINE
void fn_vBrainSetWarnMechanicsFlag(MS_tdxHandleToBrain h_Brain, ACP_tdxBool _bFlag)
{
h_Brain->bWarnMechanicsFlag = _bFlag;
}
/* this function has been replaced (with a define) by the fn_bBrainGetWarnMechanicsFlag*/
/*INLINE
CPA_EXPORT ACP_tdxBool fn_bBrainWaterCollideSO (HIE_tdxHandleToSuperObject hSupObj)
{
return M_bGetWarnMechanicsFlagOfBrain (M_GetMSHandle(hSupObj,Brain));
}
*/
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __Brain_H__ */

View File

@@ -0,0 +1,279 @@
/*=========================================================================
* CollSet.h : CollSet's functions
*
*
* CollSet 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
*=======================================================================*/
#if !defined(__CollSet_H__)
#define __CollSet_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_CollSet_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_CollSet_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
/* various parameters set by the collisionning actor, used in the AI of the collided actor*/
#define C_wCollsetNbCollisionVectors 2
#define C_wCollsetNbCollisionReals 2
#if defined(D_CollSet_StructureDefine)
typedef struct tdstCollSet_
{
ZDX_tdxHandleToZdxList hZddList;
ZDX_tdxHandleToZdxList hZdeList;
ZDX_tdxHandleToZdxList hZdmList;
ZDX_tdxHandleToZdxList hZdrList;
ZDX_tdxHandleToCsaList hZddActivationList;
ZDX_tdxHandleToCsaList hZdeActivationList;
ZDX_tdxHandleToCsaList hZdmActivationList;
ZDX_tdxHandleToCsaList hZdrActivationList;
/* Only to optimize call to GetCurrentZoneSet function*/
ZDX_tdxHandleToZoneSetList hZddCurrentActivation;
ZDX_tdxHandleToZoneSetList hZdeCurrentActivation;
ZDX_tdxHandleToZoneSetList hZdrCurrentActivation;
ZDX_tdxHandleToZoneSetList hZdmCurrentActivation;
#ifdef MAY_BE_SUPPRESSED
ZDX_tdxHandleToZdxList hInitialZddList;
ZDX_tdxHandleToZdxList hInitialZdeList;
ZDX_tdxHandleToZdxList hInitialZdmList;
ZDX_tdxHandleToZdxList hInitialZdrList;
ZDX_tdxHandleToCsaList hZddInitialActivationList;
ZDX_tdxHandleToCsaList hZdeInitialActivationList;
ZDX_tdxHandleToCsaList hZdmInitialActivationList;
ZDX_tdxHandleToCsaList hZdrInitialActivationList;
#endif /* MAY_BE_SUPPRESSED */
unsigned long ulFBZddPriviligedZones;
unsigned long ulFBZdePriviligedZones;
unsigned long ulFBZdmPriviligedZones;
unsigned long ulFBZdrPriviligedZones;
unsigned char ucCollComputeFrequency;
unsigned char ucCharacterPriority;
unsigned char ucCollisionFlag; /* 0 : collide only with map*/
/*ANNECY BBB {*/
/*internal variables for collision parameter management and communication*/
struct stColliderInfo_
{
MTH3D_tdstVector a_stColliderVectors[C_wCollsetNbCollisionVectors];
MTH_tdxReal a_xColliderReals[C_wCollsetNbCollisionReals];
unsigned char ucColliderType;
/* if a collision is already registered, only higher a higher priority collision may replace it*/
unsigned char ucColliderPriority; /* 0 means that no collision is recorded*/
unsigned char a2_ucUnused[2]; /* alignment*/
} stColliderInfo;
/*ANNECY BBB }*/
} tdstCollSet;
#endif /* D_CollSet_StructureDefine */
M_BeginDeclareEnumerate(tdeCollSetPrivilegedActivation)
edmPriviligedDefault = 0x00,
edmPriviligedActivated = 0x01,
edmPriviligedDisactivated = 0x02,
edmNumberOfPrivilegedActivation
M_EndDeclareEnumerate(tdeCollSetPrivilegedActivation,unsigned char)
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstCollSet_ * MS_tdxHandleToCollSet;
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/* CollSet Section*/
#define C_SectionCollSetDescription "CollSet"
/* CollSet Entries*/
#define C_EntryZdmTable "ZdmTable"
#define C_EntryZddTable "ZddTable"
#define C_EntryZdeTable "ZdeTable"
#define C_EntryZdrTable "ZdrTable"
#define C_EntryZddActivationTable "ZddActivationTable"
#define C_EntryZdeActivationTable "ZdeActivationTable"
#define C_EntryZdmActivationTable "ZdmActivationTable"
#define C_Entry_CharacterPriority "CharacterPriority"
#define C_EntryZdrActivationTable "ZdrActivationTable"
#define C_EntryCollisionFlag "CollisionFlag"
#define C_EntryCollComputeFrequency "CollComputeFrequency"
/* Macros*/
/* Macros*/
#define CS_M_GetZdxList(ZoneType,p_stCollSet) ((p_stCollSet)->h##ZoneType##List)
#define CS_M_SetZdxList(ZoneType,p_stCollSet,p_stZdxList) ((p_stCollSet)->h##ZoneType##List=p_stZdxList)
#ifdef MAY_BE_SUPPRESSED
#define CS_M_GetZdxInitialList(ZoneType,p_stCollSet) ((p_stCollSet)->hInitial##ZoneType##List)
#define CS_M_SetZdxInitialList(ZoneType,p_stCollSet,p_stZdxList) ((p_stCollSet)->hInitial##ZoneType##List=p_stZdxList)
#endif /* MAY_BE_SUPPRESSED */
#define CS_M_GetActivationList(ZoneType,p_stCollSet) ((p_stCollSet)->h##ZoneType##ActivationList)
#define CS_M_SetActivationList(ZoneType,p_stCollSet,hCsaList) ((p_stCollSet)->h##ZoneType##ActivationList=hCsaList)
#ifdef MAY_BE_SUPPRESSED
#define CS_M_GetActivationInitialList(ZoneType,p_stCollSet) ((p_stCollSet)->h##ZoneType##InitialActivationList)
#define CS_M_SetActivationInitialList(ZoneType,p_stCollSet,hCsaList) ((p_stCollSet)->h##ZoneType##InitialActivationList=hCsaList)
#endif /* MAY_BE_SUPPRESSED */
#define CS_M_GetPrivilegedZone(ZoneType,p_stCollSet) ((p_stCollSet)->ulFB##ZoneType##PriviligedZones)
#define CS_M_SetPrivilegedZone(ZoneType,p_stCollSet,ulValue) ((p_stCollSet)->ulFB##ZoneType##PriviligedZones=ulValue)
#define CS_M_IsAllDefaultPrivilegedZones(ZoneType,p_stCollSet) (CS_M_GetPrivilegedZone(ZoneType,p_stCollSet) == 0)
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eCollSetScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vCollSetSaveMiniStructure(SCRIPT_tdstSaveFile *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulCollSetSizeOf();
extern CPA_EXPORT void fn_vCollSetAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToCollSet fn_h_CollSetRealAlloc();
extern CPA_EXPORT void fn_vCollSetFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vCollSetInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vCollSetDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vCollSetCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*********************************/
/**** Access functions define ****/
/*********************************/
/*ANNECY BBB {*/
extern CPA_EXPORT unsigned char fn_ucCollSetGetColliderPriority(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT unsigned char fn_ucCollSetGetColliderPrioritySO (HIE_tdxHandleToSuperObject _hSuperObject);
extern CPA_EXPORT unsigned char fn_ucCollSetGetColliderType(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT MTH3D_tdstVector fn_stCollSetGetColliderVector(MS_tdxHandleToCollSet _hCollSet, short _wIndex);
extern CPA_EXPORT MTH_tdxReal fn_xCollSetGetColliderReal(MS_tdxHandleToCollSet _hCollSet, short _wIndex);
extern CPA_EXPORT void fn_vCollSetSetColliderPriority(MS_tdxHandleToCollSet _hCollSet, unsigned char _ucPri);
extern CPA_EXPORT void fn_vCollSetSetColliderType(MS_tdxHandleToCollSet _hCollSet, unsigned char _ucType);
extern CPA_EXPORT void fn_vCollSetSetColliderVector(MS_tdxHandleToCollSet _hCollSet, short _wIndex, MTH3D_tdstVector *_p_stVector);
extern CPA_EXPORT void fn_vCollSetSetColliderReal(MS_tdxHandleToCollSet _hCollSet, short _wIndex, MTH_tdxReal _xReal);
/*ANNECY BBB }*/
/* Functions with Handles*/
extern CPA_EXPORT ZDX_tdxHandleToZdxList CS_fn_hGetZdxList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj);
extern CPA_EXPORT void CS_fn_vSetZdxList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj,ZDX_tdxHandleToZdxList);
extern CPA_EXPORT ZDX_tdxHandleToCsaList CS_fn_hGetActivationList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj);
extern CPA_EXPORT void CS_fn_vSetActivationList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj,ZDX_tdxHandleToCsaList);
extern CPA_EXPORT ZDX_tdxHandleToCsaList CS_fn_hGetActivationListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet);
extern CPA_EXPORT void CS_fn_vSetActivationListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet,ZDX_tdxHandleToCsaList);
extern CPA_EXPORT unsigned char CS_fn_ucGetCharacterPriority(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT void CS_fn_vSetCharacterPriority(MS_tdxHandleToCollSet hCollSet,unsigned char _ucPriority);
extern CPA_EXPORT void fn_vCorrectAllActivationLists(struct tdstEngineObject_ * _p_stObject);
/* ANNECY AV {*/
extern CPA_EXPORT unsigned char fn_ucCollSetGetCharacterCollisionFlag(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT void fn_vCollSetSetCharacterCollisionFlag(MS_tdxHandleToCollSet _hCollSet,unsigned char _ucCollisionFlag);
extern CPA_EXPORT ACP_tdxBool fn_bCollSetGetCharacterNoCollisionWithMap (MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT ACP_tdxBool fn_bCollSetGetCharacterNoCollisionWithProjectile (MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT ACP_tdxBool fn_bCollSetGetCharacterNoCollisionWithSecondaryCharacter (MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT ACP_tdxBool fn_bCollSetGetCharacterNoCollisionWithMainCharacter (MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT ACP_tdxBool fn_bCollSetGetCharacterForceCollisionWhenNotMoving (MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT ACP_tdxBool fn_bCollSetGetCharacterNoCollisionWithOtherSectors (MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT ACP_tdxBool fn_bCollSetGetCharacterNoCollisionZdeWithProjectile (MS_tdxHandleToCollSet _hCollset);
extern CPA_EXPORT void fn_vCollSetSetCharacterNoCollisionWithMap (MS_tdxHandleToCollSet _hCollSet, ACP_tdxBool _bValue);
extern CPA_EXPORT void fn_vCollSetSetCharacterNoCollisionWithProjectile (MS_tdxHandleToCollSet _hCollSet, ACP_tdxBool _bValue);
extern CPA_EXPORT void fn_vCollSetSetCharacterNoCollisionWithSecondaryCharacter (MS_tdxHandleToCollSet _hCollSet, ACP_tdxBool _bValue);
extern CPA_EXPORT void fn_vCollSetSetCharacterNoCollisionWithMainCharacter (MS_tdxHandleToCollSet _hCollSet, ACP_tdxBool _bValue);
extern CPA_EXPORT void fn_vCollSetSetCharacterForceCollisionWhenNotMoving (MS_tdxHandleToCollSet _hCollSet, ACP_tdxBool _bValue);
extern CPA_EXPORT void fn_vCollSetSetCharacterNoCollisionWithOtherSectors (MS_tdxHandleToCollSet _hCollSet, ACP_tdxBool _bValue);
extern CPA_EXPORT void fn_vCollSetSetCharacterNoCollisionZdeWithProjectile (MS_tdxHandleToCollSet _hCollSet, ACP_tdxBool _bValue);
/* Same access functions with a super object for the DNM module*/
extern CPA_EXPORT ACP_tdxBool fn_bGetCharacterNoCollisionWithMap (HIE_tdxHandleToSuperObject _hSuperObject);
extern CPA_EXPORT ACP_tdxBool fn_bGetCharacterForceCollisionWhenNotMoving (HIE_tdxHandleToSuperObject _hSuperObject);
extern CPA_EXPORT void fn_vSetCharacterNoCollisionWithMap (HIE_tdxHandleToSuperObject _hSuperObject, ACP_tdxBool _bValue);
/* END ANNECY AV }*/
extern CPA_EXPORT void fn_vCollSetSetCollComputeFrequency(MS_tdxHandleToCollSet _hCollSet,unsigned char _ucFrequency);
extern CPA_EXPORT unsigned char fn_ucCollSetGetCollComputeFrequency(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT unsigned char fn_ucCollSetGetCollComputeFrequencySO(HIE_tdxHandleToSuperObject hSuperObj);
extern CPA_EXPORT void GAM_fn_vChangeFather(HIE_tdxHandleToSuperObject _hSprObj, HIE_tdxHandleToSuperObject _hNewFather);
/* JO 20/10/97 for optimisation*/
void fn_vSetCurrentZoneSetOfType(unsigned char _ucZoneType,MS_tdxHandleToCollSet _hCollSet,ZDX_tdxHandleToZoneSetList _hCurrentZoneSet);
ZDX_tdxHandleToZoneSetList fn_hGetCurrentZoneSetOfType(unsigned char _ucZoneType,MS_tdxHandleToCollSet _hCollSet);
#ifdef MAY_BE_SUPPRESSED
extern CPA_EXPORT ZDX_tdxHandleToZdxList CS_fn_hGetZdxInitialList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj);
extern CPA_EXPORT void CS_fn_vSetZdxInitialList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj,ZDX_tdxHandleToZdxList);
extern CPA_EXPORT ZDX_tdxHandleToCsaList CS_fn_hGetActivationInitialList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj);
extern CPA_EXPORT void CS_fn_vSetActivationInitialList(unsigned char ucZoneType,HIE_tdxHandleToSuperObject hSuperObj,ZDX_tdxHandleToCsaList);
extern CPA_EXPORT ZDX_tdxHandleToZdxList CS_fn_hGetZdxInitialListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet);
extern CPA_EXPORT void CS_fn_vSetZdxInitialListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet,ZDX_tdxHandleToZdxList);
extern CPA_EXPORT ZDX_tdxHandleToCsaList CS_fn_hGetActivationInitialListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet);
extern CPA_EXPORT void CS_fn_vSetActivationInitialListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet,ZDX_tdxHandleToCsaList);
extern CPA_EXPORT ZDX_tdxHandleToZdxList CS_fn_hGetZdxListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet);
extern CPA_EXPORT void CS_fn_vSetZdxListInCollSet(unsigned char ucZoneType,MS_tdxHandleToCollSet hCollSet,ZDX_tdxHandleToZdxList);
#endif /* MAY_BE_SUPPRESSED */
extern CPA_EXPORT unsigned long CS_fn_ulGetPrivilegedActivationZoneInCollSet(unsigned char _ucZoneType,MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT void CS_fn_vSetPrivilegedActivationZoneInCollSet(unsigned char _ucZoneType,MS_tdxHandleToCollSet _hCollSet, unsigned long _ulFB);
extern CPA_EXPORT void CS_fn_vSetPrivilegedActivationZone(unsigned char _ucZoneType,MS_tdxHandleToCollSet _hCollSet,short _wIndex, tdeCollSetPrivilegedActivation _ePrivilege);
extern CPA_EXPORT tdeCollSetPrivilegedActivation CS_fn_eGetPrivilegedActivationZone(unsigned char _ucZoneType,MS_tdxHandleToCollSet _hCollSet,short _wIndex);
/**********************/
/**** SAI function ****/
/**********************/
extern CPA_EXPORT void fn_vCollSetInitValueSAI(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT void fn_vCollSetSavedValueSAI(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT void fn_vCollSetFreeInitValueSAI(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT void fn_vCollSetReInitCharacterCollisionFlag(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT void fn_vCollSetReInitCollComputeFrequency(MS_tdxHandleToCollSet _hCollSet);
/**********************************/
/**** Special functions define ****/
/**********************************/
#ifdef ACTIVE_EDITOR
extern CPA_EXPORT unsigned char *fn_p_ucCollSetGetCharacterCollisionFlagInit(MS_tdxHandleToCollSet _hCollSet);
extern CPA_EXPORT unsigned char *fn_p_ucCollSetGetCollComputeFrequencyInit(MS_tdxHandleToCollSet _hCollSet);
#endif /* ACTIVE_EDITOR */
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __CollSet_H__ */

View File

@@ -0,0 +1,172 @@
/*=========================================================================
* Dynam.h : Dynam's functions
*
*
* Dynam 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
*=======================================================================*/
#if !defined(__Dynam_H__)
#define __Dynam_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_Dynam_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_Dynam_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#include "mec/dnmmecid.h"
/********************************************************************************/
/**** If we are int Dynam.c file, then, create the structures and variables ****/
/********************************************************************************/
#if defined(D_Dynam_StructureDefine)
/* MecEngDesc flags */
#define C_ulMecEngDesc_DEFAULT 0x00000000
#define C_ulMecEngDesc_PATHKNOWN 0x00000001
#define C_ulMecEngDesc_DISTANTOBJ 0x00010000
struct tdstDynam_
{
/* Pointer on the DNM structure*/
struct DNM_stDynamics *p_stDynamics;
/*Datas used during the frame*/
struct DNM_stParsingDatas *p_stParsingDatas;
/*identifier on the kind of mechanics used*/
DNM_tdeMechanicsID eUsedMechanics;
};
#endif /* D_Dynam_StructureDefine */
typedef enum eDynamicSize_
{
eDynamicSizeBase,
eDynamicSizeAdvanced,
eDynamicSizeComplex
} eDynamicSize;
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstDynam_ * MS_tdxHandleToDynam;
/**** Dynam scripts ****/
#define C_SectionDynamDescription "Dynam"
#define C_EntryDynamType "DynamicsType"
#define C_szSlideFactorX "SlideFactorX"
#define C_szSlideFactorY "SlideFactorY"
#define C_szSlideFactorZ "SlideFactorZ"
#define C_szDynamicSizeBase "Base"
#define C_szDynamicSizeAdvanced "Advanced"
#define C_szDynamicSizeComplex "Complex"
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/*******************************/
/**** Base functions define ****/
/*******************************/
extern CPA_EXPORT void fn_vUpdateDynamicsMS(struct tdstEngineObject_ *p_stObject);
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eDynamScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
extern CPA_EXPORT unsigned long fn_ulDynamSizeOf();
extern CPA_EXPORT void fn_vDynamAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToDynam fn_h_DynamRealAlloc();
extern CPA_EXPORT void fn_vDynamFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vDynamInit(struct tdstEngineObject_ *p_stObject,tdeObjectTreeInit eObjectInit);
extern CPA_EXPORT void fn_vDynamDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vDynamCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
extern CPA_EXPORT void fn_v_DynamicAlloc ( MS_tdxHandleToDynam h_Dynam, eDynamicSize eSize, ACP_tdxBool bCollision, ACP_tdxBool bAlways );
extern CPA_EXPORT void fn_v_DynamicFree ( MS_tdxHandleToDynam h_Dynam );
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT struct DNM_stDynamics *fn_p_stDynamGetDynamics(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT struct DNM_stParsingDatas *fn_p_stDynamGetParsingDatas(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT DNM_tdeMechanicsID fn_eDynamGetUsedMechanics(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT ACP_tdxBool fn_b_DynamGetIfCanHangSmthgOn(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT ACP_tdxBool fn_b_DynamGetIfIsAMobile(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT unsigned char fn_uc_DynamGetObjectType(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT unsigned long fn_ulDynamGetMecEngDesc(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT void fn_vDynamSetDynamics(MS_tdxHandleToDynam h_Dynam,struct DNM_stDynamics *p_stDynam);
extern CPA_EXPORT void fn_vDynamSetParsingDatas(MS_tdxHandleToDynam h_Dynam,struct DNM_stParsingDatas *p_stParsingDatas);
extern CPA_EXPORT void fn_vDynamSetUsedMechanics(MS_tdxHandleToDynam h_Dynam,DNM_tdeMechanicsID eUsedMechanics);
/* Functions linked to the MecEngDesc data */
extern CPA_EXPORT void fn_vDynamSetDefaultMecEngDesc(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT void fn_vDynamSetPathKnown(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT void fn_vDynamSetPathUnknown(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT void fn_vDynamSetDistantObject(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT void fn_vDynamSetNearObject(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT ACP_tdxBool fn_bDynamIsPathKnown(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT ACP_tdxBool fn_bDynamIsObjectDistant(MS_tdxHandleToDynam h_Dynam);
/* Function linked to the boolean environment */
extern CPA_EXPORT ACP_tdxBool fn_bDynamTakeCareOfEnvironment(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT void fn_vDynamSetStableEnvironment(MS_tdxHandleToDynam h_Dynam);
extern CPA_EXPORT void fn_vDynamSetDynamicsEnvironment(MS_tdxHandleToDynam h_Dynam);
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT void fn_vInitDynamicalFunctionPointer(struct tdstDynam_ *p_stDynam);
extern CPA_EXPORT void fn_v_DynamUpdateDNMObjectTypeFromMS(struct tdstDynam_ *p_stDynam);
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long Dynam_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
#ifdef BIN_LoadBin
extern CPA_EXPORT void Dynam_fn_vReadBinaryBloc(unsigned long _ulStructAddress);
#endif
extern CPA_EXPORT struct DNM_stDynamics* fn_p_stDynamGetDynamicsSO (HIE_tdxHandleToSuperObject hSupObj);
ACP_tdxBool fn_bSetPositionWithoutCollideTest(HIE_tdxHandleToSuperObject p_SuperObjPerso, struct MTH3D_tdstVector_ *p_stVertex); /*vient de AI\AITools.h*/
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __Dynam_H__ */

View File

@@ -0,0 +1,156 @@
/*=========================================================================
* MSMagnet.h : MSMagnet's functions
*
*
*
*
* Version 0.9
* Creation date 11/25/97
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1997(Shanghai)
*=======================================================================*/
#if !defined(__MSMagnet_H__)
#define __MSMagnet_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_MSMagnet_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_MSMagnet_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#include "MGT.h"
#define MAGNETOFF 0
#define MAGNETON 1
#define MAGNETGROWING 2
#define MAGNETRECOVERING 3
#define MAGNET_STRENGTH_MODIFIED 1
#define MAGNET_NEARFAR_MODIFIED 2
#define MAGNET_POSITION_MODIFIED 4
#if defined(D_MSMagnet_StructureDefine)
struct tdstMSMagnet_
{
MTH_tdxReal xFar;
MTH_tdxReal xNear;
MTH_tdxReal xStrength;
unsigned char status;
MTH3D_tdstVector stPosition;
unsigned long ulDuration; /*total duration in milliseconds*/
ACP_tdxIndex xMaxIndexOfMagnetModification;
MGT_tdxHandleToMagnetModification d_hMagnetModification[MGT_MAX_NUMBEROF_MODIFIEDOBJECTS];
unsigned char ucModifiedFlags;
};
#endif /* D_MSMagnet_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstMSMagnet_ * MS_tdxHandleToMSMagnet;
/**** MSMagnet scripts ****/
#define C_SectionMSMagnetDescription "MSMagnet"
#define C_EntryMSMagnetChamp "Champ"
#define C_EntryMagnetStatus "Status"
#define C_EntryMagnetFar "Far"
#define C_EntryMagnetNear "Near"
#define C_EntryMagnetStrength "Strength"
#define C_EntryMagnetDuration "Duration"
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/*******************************/
/**** Base functions define ****/
/*******************************/
#ifndef U64
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eMSMagnetScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /*U64 AR980316*/
extern CPA_EXPORT unsigned long fn_ulMSMagnetSizeOf();
extern CPA_EXPORT void fn_vMSMagnetAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToMSMagnet fn_h_MSMagnetRealAlloc();
extern CPA_EXPORT void fn_vMSMagnetFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vMSMagnetInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSMagnetDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSMagnetCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT MTH_tdxReal fn_xMSMagnetGetFar(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetFar(MS_tdxHandleToMSMagnet h_MSMagnet,MTH_tdxReal xValue);
extern CPA_EXPORT MTH_tdxReal fn_xMSMagnetGetNear(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetNear(MS_tdxHandleToMSMagnet h_MSMagnet,MTH_tdxReal xValue);
extern CPA_EXPORT MTH_tdxReal fn_xMSMagnetGetStrength(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetStrength(MS_tdxHandleToMSMagnet h_MSMagnet,MTH_tdxReal xValue);
extern CPA_EXPORT unsigned char fn_lMSMagnetGetStatus(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetStatus(MS_tdxHandleToMSMagnet h_MSMagnet,unsigned char xValue);
extern CPA_EXPORT void fn_vMSMagnetAddMagnetModification(MS_tdxHandleToMSMagnet h_MSMagnet, MGT_tdxHandleToMagnetModification h_MagnetModif );
extern CPA_EXPORT void fn_vMSMagnetDeleteMagnetModification(MS_tdxHandleToMSMagnet h_MSMagnet, MGT_tdxHandleToMagnetModification h_MagnetModif );
extern CPA_EXPORT MGT_tdxHandleToMagnetModification fn_hMSMagnetGetMagnetModification(MS_tdxHandleToMSMagnet h_MSMagnet, ACP_tdxIndex xIndex );
extern CPA_EXPORT ACP_tdxIndex fn_xMSMagnetGetMaxIndexOfMagnetModification(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT MTH3D_tdstVector *fn_hMSMagnetGetPosition(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetPosition(MS_tdxHandleToMSMagnet h_MSMagnet,MTH3D_tdstVector *stPosition);
extern CPA_EXPORT unsigned long fn_ulMSMagnetGetDuration(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetDuration(MS_tdxHandleToMSMagnet h_MSMagnet,unsigned long ulDuration);
extern CPA_EXPORT void fn_vMSMagnetSetNearFarModification(MS_tdxHandleToMSMagnet h_MSMagnet,ACP_tdxBool _bModified);
extern CPA_EXPORT ACP_tdxBool fn_bMSMagnetIsNearFarModified(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetStrengthModification(MS_tdxHandleToMSMagnet h_MSMagnet,ACP_tdxBool _bModified);
extern CPA_EXPORT ACP_tdxBool fn_bMSMagnetIsStrengthModified(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSetPositionModification(MS_tdxHandleToMSMagnet h_MSMagnet,ACP_tdxBool _bModified);
extern CPA_EXPORT ACP_tdxBool fn_bMSMagnetIsPositionModified(MS_tdxHandleToMSMagnet h_MSMagnet);
/**********************************/
/**** Special functions define ****/
/**********************************/
/**********************/
/**** SAI function ****/
/**********************/
extern CPA_EXPORT void fn_vMSMagnetInitValueSAI(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetSavedValueSAI(MS_tdxHandleToMSMagnet h_MSMagnet);
extern CPA_EXPORT void fn_vMSMagnetFreeInitValueSAI(MS_tdxHandleToMSMagnet h_MSMagnet);
/*************************************/
/**** Access functions for Editor ****/
/*************************************/
#if defined(ACTIVE_EDITOR)
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSMagnetGetFarInit (MS_tdxHandleToMSMagnet _hMSMagnet);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSMagnetGetNearInit (MS_tdxHandleToMSMagnet _hMSMagnet);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSMagnetGetStrengthInit (MS_tdxHandleToMSMagnet _hMSMagnet);
extern CPA_EXPORT unsigned long *fn_p_ulMSMagnetGetDurationInit (MS_tdxHandleToMSMagnet _hMSMagnet);
#endif /* ACTIVE_EDITOR */
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __MSMagnet_H__ */

View File

@@ -0,0 +1,323 @@
/*=========================================================================
* MSPrtSrc.h : MSPrtSrc's functions
*
*
* MSPrtSrc 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_PRT
#if !defined(__MSPrtSrc_H__)
#define __MSPrtSrc_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
/******************************************/
struct tdstEngineObject_;
#include "GAM/Header.h"
#include "GAM/InitEnum.h"
#undef EXTERN
#undef extern
#if !defined(D_MSPrtSrc_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_MSPrtSrc_VariableDefine */
/*--------------------------------------------------------------------
* Environment masks
*--------------------------------------------------------------------*/
#define C_lAllEnvironments 0xFFFFFFFF
#define C_lEnvironmentWater 1
#define C_lEnvironmentAir 2
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#if defined(D_MSPrtSrc_StructureDefine)
/*--------------------------------------------------------------------
* Structures definitions
*--------------------------------------------------------------------*/
typedef struct tdstParticleGenerator_
{
PRT_tdstParticlesSource * p_stPrtSrc;
PRT_tdstParticlesSystem * p_stPrtSys;
PRT_tdstParticlesEnvironment * p_stPrtEnv;
long lEnvironmentMask;
MTH3D_tdstVector stMinPoint;
MTH3D_tdstVector stMaxPoint;
unsigned char ucLinkedToEnvironment;
/*ANNECY VL PRT 18/03/98{*/
unsigned long ulLinkedPrtGenMask;
struct tdstParticleGenerator_ *p_stLinkedPrtGen;
/*ENDANNECY VL}*/
} tdstParticleGenerator;
struct tdstMSPrtSrc_
{
tdstParticleGenerator * p_stParticleGenerator;
/* Add on for water streak actualisation */
GAM_tdxHandleToWaterStreakEffect hWaterStreakGenerator;
unsigned char ucGeneratorActivation;
unsigned char ucCanGenerate;
/*ANNECY VL 25/11/97{*/
/* add on for footpath effect*/
GAM_tdxHandleToFootPathEffect hFootPath;
/*ENDANNECY VL }*/
};
#endif /* D_MSPrtSrc_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstMSPrtSrc_ * MS_tdxHandleToMSPrtSrc;
/*--------------------------------------------------------------------
* MSPrtSrc scripts
*--------------------------------------------------------------------*/
#define C_SectionMSPrtSrcDescription "MSPrtSrc"
#define C_EntryMSPrtSrcGeneratorActivation "GeneratorActivation"
#define C_EntryMSPrtSrcParticleGenerator "ParticleGenerator"
#define C_EntryMSPrtSrcWaterStreakGenerator "WaterStreakGenerator"
/*ANNECY VL 25/11/97{*/
#define C_EntryMSPrtSrcFootPathGenerator "FootPathEffect"
/*ENDANNECY VL }*/
/*--------------------------------------------------------------------
* Particle Generator scripts
*--------------------------------------------------------------------*/
#define C_SectionParticleGenerator "ParticleGenerator"
#define C_EntryPrtGenLinkedToEnvironment "LinkedToEnvironment"
#define C_EntryPrtGenEnvironmentMask "EnvironmentMask"
#define C_EntryPrtGenLoadParticleSystem "LoadParticleSystem"
#define C_EntryPrtGenLoadParticleEnvironment "LoadParticleEnvironment"
#define C_EntryPrtGenLoadParticleSource "LoadParticleSource"
/*ANNECY VL PRT 18/03/98{*/
#define C_EntryPrtGenLinkedPrtGenMask "LinkedPrtGenMask"
#define C_EntryPrtGenLinkedPrtGen "LinkedPrtGen"
/*ENDANNECY VL}*/
#define C_szLinkedToEnvironment "Yes"
#define C_szNotLinkedToEnvironment "No"
/*--------------------------------------------------------------------
* Particle Source scripts
*--------------------------------------------------------------------*/
#define C_SectionParticleSource "PrtSrc"
#define C_EntryPrtSrcGenerationMode "GenerationMode"
#define C_EntryPrtSrcGenerationProbability "GenerationProbability"
#define C_EntryPrtSrcCrenelGeneration "CrenelGeneration"
#define C_EntryPrtSrcNbParticlesToGenerateMode "NbParticlesToGenerateMode"
#define C_EntryPrtSrcNbParticlesToGenerate "NbParticlesToGenerate"
#define C_EntryPrtSrcNbMinMax "NbMinMax"
#define C_EntryPrtSrcGeometryMode "GeometryMode"
#define C_EntryPrtSrcQuad "Quad"
#define C_EntryPrtSrcPoint "Point"
#define C_EntryPrtSrcLinkMode "LinkMode"
#define C_EntryPrtSrcSpeedAndRange "SpeedAndRange"
/* JO 10/12/97*/
#define C_EntryPrtSrcNoLifeTime "NoLifeTime"
#define C_EntryPrtSrcConstantLifeTime "ConstantLifeTime"
#define C_EntryPrtSrcProbabilistLifeTime "ProbabilistLifeTime"
#define C_szNoGeneration "NoGeneration"
#define C_szContinuousGeneration "ContinuousGeneration"
#define C_szProbabilistGeneration "ProbabilistGeneration"
#define C_szCrenelGeneration "CrenelGeneration"
#define C_szConstantNb "ConstantNb"
#define C_szProbabilistNb "ProbabilistNb"
#define C_szPoint "Point"
#define C_szQuad "Quad"
#define C_szRotationLink "RotationLink"
#define C_szTranslationLink "TranslationLink"
#define C_szRotationAndTranslationLink "RotationAndTranslationLink"
/*--------------------------------------------------------------------
* Particle System scripts
*--------------------------------------------------------------------*/
#define C_SectionPrtSysDescription "PrtSys"
#define C_EntryPrtSysCreatePoint "CreatePoint"
#define C_EntryPrtSysCreateSegment "CreateSegment"
#define C_EntryPrtSysCreateSprite "CreateSprite"
/*--------------------------------------------------------------------
* Particle Environment scripts
*--------------------------------------------------------------------*/
#define C_SectionPrtEnvDescription "PrtEnv"
#define C_EntryPrtEnvType "Type"
#define C_EntryPrtEnvMinMaxPoint "MinMaxPoint"
#define C_EntryPrtEnvSphere "Sphere"
#define C_EntryPrtEnvAcceleration "Acceleration"
#define C_szAlignedBox "AlignedBox"
#define C_szSphere "Sphere"
/*ANNECY VL 25/11/97{*/
/*--------------------------------------------------------------------
* FootPath effect scripts
*--------------------------------------------------------------------*/
#define C_szSectionFootPathEffectDescription "FootPathEffect"
#define C_szEntryNumberOfAlphaLevels "NumberOfAlphaLevels"
#define C_szEntryNumberOfPointsByAlpha "NumberOfPointsByAlpha"
#define C_szEntryAlpha "AlphaColor"
#define C_szEntryFootPrintOffsets "FootPrintOffsets"
#define C_szEntryFootPrintGameMaterial "FootPrintGameMaterial"
#define C_szEntryFootPrintDimension "FootPrintDimension"
#define C_szEntryMaterialMask "MaterialMask"
/*ENDANNECY VL }*/
/*--------------------------------------------------------------------
*
*--------------------------------------------------------------------*/
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eMSPrtSrcScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_ePrtSysScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_ePrtEnvScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_ePrtGeneratorScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_ePrtSrcScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
/*ANNECY VL 25/11/97{*/
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eFootPathScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
/*ENDANNECY VL }*/
#endif /* U64 */
/*extern CPA_EXPORT void fn_vMSPrtSrcSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulMSPrtSrcSizeOf();
extern CPA_EXPORT void fn_vMSPrtSrcAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToMSPrtSrc fn_h_MSPrtSrcRealAlloc();
extern CPA_EXPORT void fn_vMSPrtSrcFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vMSPrtSrcInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSPrtSrcDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSPrtSrcCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT tdxHandleToParticleGenerator fn_p_stMSPrtSrcGetGenerator(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_p_stMSPrtSrcSetGenerator(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT unsigned char fn_ucMSPrtSrcGetGeneratorActivation(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcSetGeneratorActivation(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,unsigned char _ucGeneratorActivation);
extern CPA_EXPORT GAM_tdxHandleToWaterStreakEffect fn_hMSPrtSrcGetWaterStreakGenerator(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcSetWaterStreakGenerator(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,GAM_tdxHandleToWaterStreakEffect _hWaterStreakGenerator);
/*ANNECY VL 26/11/97{*/
extern CPA_EXPORT GAM_tdxHandleToFootPathEffect fn_hMSPrtSrcGetFootPath(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcSetFootPath(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,GAM_tdxHandleToFootPathEffect _hfootPath );
/*ENDANNECY VL }*/
/**********************************************
*** Special functions for AI manipulations ***
**********************************************/
/* Generation Mode*/
extern CPA_EXPORT void fn_vMSPrtSrcSetGenerationModeNone(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcSetGenerationModeContinuous(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcSetGenerationModeCrenel(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,ACP_tdxIndex _xNb1,ACP_tdxIndex _xNb2);
extern CPA_EXPORT void fn_vMSPrtSrcSetGenerationModeProbability(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH_tdxReal _xProbability);
/* Generation number*/
extern CPA_EXPORT void fn_vMSPrtSrcSetGenerationNumberConstant(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,ACP_tdxIndex _xNumber);
extern CPA_EXPORT void fn_vMSPrtSrcSetGenerationNumberProbabilist(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,ACP_tdxIndex _xMin,ACP_tdxIndex _xMax);
/* Speed, acceleration and range*/
extern CPA_EXPORT void fn_vMSPrtSrcSetGenerationSpeedAndSpeedRange(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH_tdxReal _xSpeed,MTH_tdxReal _xSpeedRange);
extern CPA_EXPORT void fn_vMSPrtSrcSetAccelerationOfEnvironment(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH3D_tdstVector * _p_stAcceleration,MTH_tdxReal _xAccelerationRange);
/* Generation Geometry*/
extern CPA_EXPORT void fn_vMSPrtSrcSetMiddlePointOfEnvironment(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH3D_tdstVector * _p_stMiddlePoint);
extern CPA_EXPORT void fn_vMSPrtSrcSetRadiusOfSphereEnvironment(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH_tdxReal _xRadius);
extern CPA_EXPORT void fn_vMSPrtSrcSetDimensionsOfBoxEnvironment(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH_tdxReal _xXSemiLength,MTH_tdxReal _xYSemiLength,MTH_tdxReal _xZSemiLength);
/* Particles life time*/
extern CPA_EXPORT void fn_vMSPrtSrcSetParticlesInfiniteLifeTime(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcSetParticlesConstantLifeTime(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH_tdxReal _xLifeTime);
extern CPA_EXPORT void fn_vMSPrtSrcSetParticlesProbabilistLifeTime(MS_tdxHandleToMSPrtSrc h_MSPrtSrc,MTH_tdxReal _xMinTime,MTH_tdxReal _xMaxTime);
/*************************************************/
/**** Access functions for particle generator ****/
/*************************************************/
extern CPA_EXPORT PRT_tdstParticlesSource * fn_p_stPrtGenGetSrc(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetSrc(tdxHandleToParticleGenerator _hPrtGenerator,PRT_tdstParticlesSource * _p_stSrc);
extern CPA_EXPORT PRT_tdstParticlesSystem * fn_p_stPrtGenGetPrtSys(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetPrtSys(tdxHandleToParticleGenerator _hPrtGenerator,PRT_tdstParticlesSystem * _p_stPrtSys);
extern CPA_EXPORT PRT_tdstParticlesEnvironment * fn_p_stPrtGenGetPrtEnv(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetPrtEnv(tdxHandleToParticleGenerator _hPrtGenerator,PRT_tdstParticlesEnvironment * _p_stPrtEnv);
extern CPA_EXPORT MTH3D_tdstVector * fn_p_stPrtGenGetMinPoint(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetMinPoint(tdxHandleToParticleGenerator _hPrtGenerator,MTH3D_tdstVector * _p_stMinPoint);
extern CPA_EXPORT MTH3D_tdstVector * fn_p_stPrtGenGetMaxPoint(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetMaxPoint(tdxHandleToParticleGenerator _hPrtGenerator,MTH3D_tdstVector * _p_stMaxPoint);
extern CPA_EXPORT unsigned char fn_ucPrtGenGetLinkValue(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetLinkValue(tdxHandleToParticleGenerator _hPrtGenerator,unsigned char _ucLinkValue);
extern CPA_EXPORT long fn_lPrtGenGetEnvironmentMask(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetEnvironmentMask(tdxHandleToParticleGenerator _hPrtGenerator,long _lEnvironmentMask);
/*ANNECY VL PRT 24/03/98{*/
extern CPA_EXPORT long fn_lPrtGenGetLinkedGenMask(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetLinkedGenMask(tdxHandleToParticleGenerator _hPrtGenerator,long _lLinkedGenMask);
extern CPA_EXPORT tdxHandleToParticleGenerator fn_hPrtGenGetLinkedGen(tdxHandleToParticleGenerator _hPrtGenerator);
extern CPA_EXPORT void fn_vPrtGenSetLinkedGen(tdxHandleToParticleGenerator _hPrtGenerator, tdxHandleToParticleGenerator _hLinkedGen);
/*ENDANNECY VL}*/
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT void fn_vMSPrtSrcSourceGenerateParticles(HIE_tdxHandleToSuperObject _hCharacter);
extern CPA_EXPORT void fn_vMSPrtSrcInitMinMaxPoints(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcUpdateLinkedEnvironment(HIE_tdxHandleToSuperObject _hCharacter,MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vRegisterAllGamParticlesCallBacks(void);
extern CPA_EXPORT void fn_vMSPrtSysPreDrawAllParticlesSystemsForCharacter(HIE_tdxHandleToSuperObject _hCharacter);
extern CPA_EXPORT void fn_vMSPrtSysTreatAllParticlesSystemsForCharacter(HIE_tdxHandleToSuperObject _hCharacter);
extern CPA_EXPORT void GAM_fn_vTreatAllParticlesGeneratorInActiveSector(HIE_tdxHandleToSuperObject _hSector);
extern CPA_EXPORT void GAM_fn_vPreDrawAllParticlesGeneratorInActiveSector(HIE_tdxHandleToSuperObject _hSector);
extern CPA_EXPORT tdxHandleToParticleGenerator fn_hParticleGeneratorAllocation(void);
/* JO 29/11/97*/
extern CPA_EXPORT tdxHandleToParticleGenerator fn_hParticleGeneratorCopyClone(tdxHandleToParticleGenerator _hPrtGen);
extern CPA_EXPORT void fn_vSetFactorForParticlesGeneration(float _fFactor);
extern CPA_EXPORT float fn_fGetFactorForParticlesGeneration(void);
/**********************/
/**** SAI function ****/
/**********************/
extern CPA_EXPORT void fn_vMSPrtSrcInitValueSAI(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcSavedValueSAI(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
extern CPA_EXPORT void fn_vMSPrtSrcFreeInitValueSAI(MS_tdxHandleToMSPrtSrc h_MSPrtSrc);
/*************************************/
/**** Access functions for Editor ****/
/*************************************/
#if defined(ACTIVE_EDITOR)
#endif /* ACTIVE_EDITOR */
/*NZO 25/09/97*/
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long MSPtrSrc_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*No read function necessary.*/
/*PRT_fn_vCreateParticlesSource(&h_MSPrtSrc->p_stPrtSrc);*/
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __MSPrtSrc_H__ */
#endif /* D_THROW_PRT */

View File

@@ -0,0 +1,109 @@
/*=========================================================================
* MSSound.h : MSSound's functions
*
*
* MSSound 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
*=======================================================================*/
#if !defined(__MSSound_H__)
#define __MSSound_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_MSSound_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_MSSound_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#if defined(D_MSSound_StructureDefine)
struct tdstMSSound_
{
RollOffParam stRollOff;
};
#endif /* D_MSSound_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstMSSound_ * MS_tdxHandleToMSSound;
/**** MSSound scripts ****/
#define C_SectionMSSoundDescription "MSSound"
#define C_EntryMSSoundSaturationDistance "SaturationDistance"
#define C_EntryMSSoundBackGroundDistance "BackGroundDistance"
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eMSSoundScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vMSSoundSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulMSSoundSizeOf();
extern CPA_EXPORT void fn_vMSSoundAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToMSSound fn_h_MSSoundRealAlloc();
extern CPA_EXPORT void fn_vMSSoundFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vMSSoundInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSSoundDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSSoundCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT SndReal fn_xMSSoundGetSaturationDistance(MS_tdxHandleToMSSound h_MSSound);
extern CPA_EXPORT void fn_vMSSoundSetSaturationDistance(MS_tdxHandleToMSSound h_MSSound,SndReal _xSaturationDistance);
extern CPA_EXPORT SndReal fn_xMSSoundGetBackGroundDistance(MS_tdxHandleToMSSound h_MSSound);
extern CPA_EXPORT void fn_vMSSoundSetBackGroundDistance(MS_tdxHandleToMSSound h_MSSound,SndReal _xBackGroundDistance);
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT SndBool fn_bRetRollOffFactor(long obj,RollOffParam* rolloff);
/**********************/
/**** SAI function ****/
/**********************/
extern CPA_EXPORT void fn_vMSSoundInitValueSAI(MS_tdxHandleToMSSound h_MSSound);
extern CPA_EXPORT void fn_vMSSoundSavedValueSAI(MS_tdxHandleToMSSound h_MSSound);
extern CPA_EXPORT void fn_vMSSoundFreeInitValueSAI(MS_tdxHandleToMSSound h_MSSound);
/*************************************/
/**** Access functions for Editor ****/
/*************************************/
#if defined(ACTIVE_EDITOR)
extern CPA_EXPORT SndReal *fn_p_xMSSoundGetSaturationDistanceInit(MS_tdxHandleToMSSound h_MSSound);
extern CPA_EXPORT SndReal *fn_p_xMSSoundGetBackGroundDistanceInit(MS_tdxHandleToMSSound h_MSSound);
#endif /* ACTIVE_EDITOR */
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __MSSound_H__ */

View File

@@ -0,0 +1,158 @@
/*=========================================================================
* MSWay.h : MSWay's functions
* Version 1.0
* Creation date January 21,1997
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
#if !defined(__MSWay_H__)
#define __MSWay_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
/*ANNECY JMD {*/
#include "AI/AIBASE/WP_Handl.h"
#include "AI/AIBASE/WPgraphe.h"
/*ENDANNECY JMD }*/
#undef EXTERN
#undef extern
#if !defined(D_MSWay_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_MSWay_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
/********************************************************************************/
/**** If we are int MSWay.c file, then, create the structures and variables ****/
/********************************************************************************/
#if defined(D_MSWay_StructureDefine)
/*
The MS for the ways only contains a dynamic array of way and the number of way in these array
The effective structure containing information on ways are described in waypoint.h
*/
typedef struct tdstMSWay_
{
WP_tdHandleOfGraph m_hPath ; /* path between two waypoints */
long m_lIndex ; /* index on the current waypoint in the list */
char m_bIsCircular;
} tdstMSWay;
#endif /* D_MSWay_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstMSWay_ * MS_tdxHandleToMSWay;
/*
Misc definition :
*/
typedef unsigned char tduc_WayIndex;
/**** MSWay scripts ****/
#define C_SectionMSWayDescription "MSWay"
#define C_EntryMSWayChamp "Champ"
/* Invalid MSWayHandle :*/
#define MSWAY_M_hInvalidMsWayHandle ((MS_tdxHandleToMSWay)NULL)
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/*******************************/
/**** Base functions define ****/
/*******************************/
/*
------------------------------------------------------------------------------------------
MACROS-FUNCTIONS DECLARATION:
------------------------------------------------------------------------------------------
*/
/* */
/* accessing to the MSWay from the EngineObject :*/
#define MSWAY_M_hGetMSWayFromEngineObject(_EngineObject)\
((_EngineObject)->h_MSWay)
/*
-----------------------------------------------------------------------------------------
FUNCTIONS DECLARATION:
------------------------------------------------------------------------------------------
*/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eMSWayScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vMSWaySaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulMSWaySizeOf();
extern CPA_EXPORT void fn_vMSWayAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToMSWay fn_h_MSWayRealAlloc();
extern CPA_EXPORT void fn_vMSWayFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vMSWayInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSWayDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMSWayCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
extern CPA_EXPORT void fn_vWaypointSecondPass (void);
/*********************************/
/**** Misc functions define ****/
/*********************************/
/*NZO 25/09/97*/
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long MSWay_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*NZO 25/09/97*/
#ifdef BIN_LoadBin
extern CPA_EXPORT void MSWay_fn_vReadBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*ANNECY JMD {*/
/*****************************************************************************
* manage graph ( the m_hPath member )
*****************************************************************************/
CPA_EXPORT void MSWay_fn_vInitPath (MS_tdxHandleToMSWay hWay) ;
CPA_EXPORT void MSWay_fn_vDesinitPath(MS_tdxHandleToMSWay hWay) ;
CPA_EXPORT void MSWay_fn_vSetPath(MS_tdxHandleToMSWay hWay, WP_tdHandleOfGraph hPath, char _bIsCircular);
CPA_EXPORT long MSWay_fn_lGetNumberWayPointInPath (MS_tdxHandleToMSWay hWay) ;
CPA_EXPORT long MSWay_fn_lGetCurrentIndexInPath (MS_tdxHandleToMSWay hWay) ;
CPA_EXPORT long MSWay_fn_lGetLastIndexInPath (MS_tdxHandleToMSWay hWay) ;
/*ANNECY Bart#01 13/02/98 {*/
CPA_EXPORT long MSWay_fn_lGetFirstIndexInPath (MS_tdxHandleToMSWay hWay);
CPA_EXPORT long MSWay_fn_lSetCurrentIndexInPath (MS_tdxHandleToMSWay hWay, long _lIndex);
/*ENDANNECY Bart#01 }*/
/*ANNECY Bart#02 24/02/98 {*/
CPA_EXPORT long MSWay_fn_lLookForWPInMSWay(MS_tdxHandleToMSWay _hWay, WP_tdhWayPoint _hWayPoint);
/*ENDANNECY Bart#02 }*/
CPA_EXPORT long MSWay_fn_lIncrementCurrentIndexInPath (MS_tdxHandleToMSWay hWay, int iIncrement) ;
CPA_EXPORT WP_tdhWayPoint MSWay_fn_hGetWayPointOfPath (MS_tdxHandleToMSWay hWay, int iIndex) ;
CPA_EXPORT WP_tdHandleOfGraph MSWay_fn_hGetPathFormPerso (HIE_tdxHandleToSuperObject hSuperObject) ;
/*ENDANNECY JMD }*/
CPA_EXPORT unsigned long MSWay_fn_ulGetCapsForNextWayPointOfPath (MS_tdxHandleToMSWay hWay, int iIndex) ;
CPA_EXPORT long MSWay_fn_lChangeCapsForNextWayPointOfPath (MS_tdxHandleToMSWay hWay, int iIndex, unsigned long ulNewCaps, long lValue) ;
CPA_EXPORT long MSWay_fn_lGetWeightForNextWayPointOfPath (MS_tdxHandleToMSWay hWay, int iIndex) ;
CPA_EXPORT long MSWay_fn_lChangeWeightForNextWayPointOfPath (MS_tdxHandleToMSWay hWay, int iIndex, long lWeight) ;
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __MSWay_H__ */

View File

@@ -0,0 +1,156 @@
/*=========================================================================
* Micro.h : Micro's functions
*
*
* Micro 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
*=======================================================================*/
#if !defined(__MS_Micro_H__)
#define __MS_Micro_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_Micro_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_Micro_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
typedef struct tdstIndexMicros_ * MIC_tdxHandleToMicro;
#if defined(D_Micro_StructureDefine)
LST2_M_DynamicUseListOf(MIC_tdxHandleToMicro);
struct tdstMicro_
{
GEO_tdxHandleToMatrix hMicroMatrix;
ACP_tdxBool bIsActive;
};
typedef struct tdstIndexMicrosList_
{
LST2_M_DynamicAnchorDeclaration(MIC_tdxHandleToMicro) hMicrosList;
} tdstIndexMicrosList;
typedef struct tdstIndexMicros_
{
LST2_M_DynamicElementDeclaration(MIC_tdxHandleToMicro)
long lIndex;
struct tdstEngineObject_ * hMicroObj;
} tdstIndexMicros;
#endif /* D_Micro_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstMicro_ * MS_tdxHandleToMicro;
/**** Micro scripts ****/
#define C_SectionMicroDescription "Micro"
#define C_EntryMicroRotationMatrix "MatrixRotation"
#define C_EntryMicroTranslationMatrix "MatrixTranslation"
#define C_EntryMicroActivation "MicroIsActive"
#define C_EntryMicroUnactivation "MicroIsInactive"
/*** Sound Volume ***/
#define C_MSMicro_MinVolume 0
#define C_MSMicro_MaxVolume 127
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
EXTERN struct tdstIndexMicrosList_ g_stIndexMicrosList;
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eMicroScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vMicroSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulMicroSizeOf();
extern CPA_EXPORT void fn_vMicroAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToMicro fn_h_MicroRealAlloc();
extern CPA_EXPORT void fn_vMicroFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vMicroInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMicroDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vMicroCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT GEO_tdxHandleToMatrix fn_xMicroGetMatrix(MS_tdxHandleToMicro);
extern CPA_EXPORT void fn_vMicroSetMatrix(MS_tdxHandleToMicro,GEO_tdxHandleToMatrix);
extern CPA_EXPORT ACP_tdxBool fn_bMicroGetActivationFlag(MS_tdxHandleToMicro);
extern CPA_EXPORT void fn_vMicroSetActivationFlag(MS_tdxHandleToMicro,ACP_tdxBool);
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT void fn_vAddMicro(struct tdstEngineObject_ *);
extern CPA_EXPORT void fn_vInitMicrosFunction();
extern CPA_EXPORT void fn_vActivateMicroForObject(struct tdstEngineObject_ *);
extern CPA_EXPORT void fn_vUnactivateMicroForObject(struct tdstEngineObject_ *);
extern CPA_EXPORT void fn_vRemoveMicro(struct tdstEngineObject_ * hEngObj);
extern CPA_EXPORT void fn_vRemoveAllMicros();
extern CPA_EXPORT long fn_lRetObjectSoundLinkVolumeWithMicro(long objet,long micro);
extern CPA_EXPORT BOOL td_fn_bRetObjetSoundLinkWithMicro(long objet,long micro);
/*************************************/
/**** Micro List access functions ****/
/*************************************/
extern CPA_EXPORT long fn_lGetMicroIndiceInMicroListElement(MIC_tdxHandleToMicro _hMicroListElement);
extern CPA_EXPORT struct tdstEngineObject_ * fn_p_stGetEngineObjectInMicroListElement(MIC_tdxHandleToMicro _hMicroListElement);
/*------------------------------------------------------------------
*------------------------------------------------------------------
* WARNING : these functions are to use only with the ONE micro
* version of the GamLib
*------------------------------------------------------------------
*-----------------------------------------------------------------*/
extern CPA_EXPORT void fn_vChangeCharacterForMicro(struct tdstEngineObject_ *);
extern CPA_EXPORT void GAM_fn_vChangeCharacterForMicro(HIE_tdxHandleToSuperObject);
extern CPA_EXPORT struct tdstEngineObject_ * fn_p_stGetFirstEngineObjectInMicroList(void);
/*------------------------------------------------------------------
*------------------------------------------------------------------
* End of functions for the ONE micro specific version of the GamLib
*------------------------------------------------------------------
*-----------------------------------------------------------------*/
extern CPA_EXPORT struct tdstEngineObject_ * fn_hReturnHandleMicroFromIndex(long lIndex);
/*NZO 25/09/97*/
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long MSMicro_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer, struct tdstEngineObject_ * p_stCharac);
#endif
/*No read function necessary.*/
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __MS_Micro_H__ */

View File

@@ -0,0 +1,307 @@
/*=========================================================================
* MSLight.h : Light's functions
*
*
* Light 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
*=======================================================================*/
#if !defined(__MSLIGHT_H__)
#define __MSLIGHT_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_MSLight_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_MSLight_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#if defined(D_MSLight_StructureDefine)
struct tdstMSLight_
{
/*ANNECY CT 13/01/98 {*/
unsigned char bLocalLight;
unsigned char bOnlyLocalLight;
/*ENDANNECY CT }*/
unsigned char bGiroPhare;
unsigned char bPulsing;
MTH3D_tdstVector stOffsetVect;
MTH3D_tdstVector stAngle;
MTH_tdxReal xStepGiro;
MTH_tdxReal xStepPulse;
MTH_tdxReal xMaxRangePulse;
MTH_tdxReal xGiroAngle;
GLI_tdstLight *p_stLight;
GEO_tdstGeometricObject *p_stVisuLight;
SECT_tdxHandleOfElementLstDNMLights hLightInSector;
/*ANNECY JMD 17/02/98{*/
unsigned char ucNbRLIUse ; /* 0 : no use ; 1 : use one RLI ; 2 : blend RLI */
unsigned char ucFirstRLI ; /* index of the first RLI in the array in the VSE */
unsigned char ucSecondRLI ; /* index of the second RLI in the arry in the VSE */
MTH_tdxReal ucBlendPercent ; /* percent of the blend between the two RLI */
/*END ANNECY JMD }*/
};
#endif /* D_MSLight_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstMSLight_ * MS_tdxHandleToMSLight;
/**** Light scripts ****/
#define C_SectionLightDescription "MSLight"
#define C_EntryLightOnOff "On"
#define C_EntryLightType "Type"
#define C_EntryLightFarNear "FarNear"
#define C_EntryLightLittleBigAlpha "LittleBigAlpha"
#define C_EntryLightLittleBigTangent "LittleBigTangent"
#define C_EntryLightColor "Color"
#define C_EntryGiroPhare "GiroPhare"
#define C_EntryPulse "Pulse"
#define C_EntryOffset "Offset"
#define C_EntryDirection "Direction"
/*ANNECY CT 13/01/98 {*/
#define C_EntryLocalLight "LocalLight"
#define C_EntryOnlyLocalLight "OnlyLocalLight"
/*ENDANNECY CT }*/
/*CHINA WFQ (MT) 16-02-98 {*/
#define C_EntryInterMinPos "InterMinPos"
#define C_EntryInterMaxPos "InterMaxPos"
#define C_EntryExterMinPos "ExterMinPos"
#define C_EntryExterMaxPos "ExterMaxPos"
#define C_EntryIntensityMinMax "IntensityMinMax"
/*ENDCHINA WFQ }*/
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/* MR1903*/
EXTERN unsigned char g_bShowLight
#if defined(D_MSLight_VariableDefine)
=0
#endif
;
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eLightScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vLightSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulLightSizeOf();
extern CPA_EXPORT void fn_vLightAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToMSLight fn_h_LightRealAlloc();
extern CPA_EXPORT void fn_vLightFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vLightInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vLightDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vLightCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
extern CPA_EXPORT void fn_vLightReInit(struct tdstEngineObject_ *p_stObject);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT unsigned char fn_ucMSLightGetOnOff(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetOnOff(MS_tdxHandleToMSLight h_MSLight,unsigned char ucOnOff);
extern CPA_EXPORT void fn_vMSCreateLightWithType(MS_tdxHandleToMSLight h_MSLight,long lTypeOfLight);
extern CPA_EXPORT long fn_lMSLightGetTypeOfLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetTypeOfLight(MS_tdxHandleToMSLight h_MSLight,long lTypeOfLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetFar(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetFar(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xFar);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetNear(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetNear(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xNear);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetLittleAlpha(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetLittleAlpha(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xLittleAlpha);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetBigAlpha(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetBigAlpha(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xBigAlpha);
extern CPA_EXPORT GEO_tdstColor *fn_p_stMSLightGetColor(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetColor(MS_tdxHandleToMSLight h_MSLight,GEO_tdstColor *p_stColor);
extern CPA_EXPORT void fn_vMSLightSetColorRGBA(MS_tdxHandleToMSLight h_MSLight,GEO_tdxColorValue xR,GEO_tdxColorValue xG,GEO_tdxColorValue xB,GEO_tdxColorValue xA);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorR(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorG(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorB(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorA(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GLI_tdstLight **fn_pp_stMSLightGetLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GLI_tdstLight *fn_p_stMSLightGetLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetLight(MS_tdxHandleToMSLight h_MSLight,GLI_tdstLight *p_stLight);
extern CPA_EXPORT void fn_vMSLightSetNearFar(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xNear,MTH_tdxReal xFar);
extern CPA_EXPORT void fn_vMSLightSetAlphas(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xLittleAlpha,MTH_tdxReal xBigAlpha);
extern CPA_EXPORT void fn_vMSLightSetGiroPhare(MS_tdxHandleToMSLight h_MSLight,unsigned char bOnOff,MTH_tdxReal xStep);
extern CPA_EXPORT unsigned char fn_bMSLightGetGiroPhare(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetGiroStep(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetGiroAngle(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xAngle);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetGiroAngle(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetPulseStep(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetPulse(MS_tdxHandleToMSLight h_MSLight,unsigned char bOnOff,MTH_tdxReal xStep,MTH_tdxReal xMaxRange);
extern CPA_EXPORT unsigned char fn_bMSLightGetPulse(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetPulseStep(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetPulseStep(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xStep);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetPulseMaxRange(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetPulseMaxRange(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xMR);
extern CPA_EXPORT void fn_vMSLightSetOffset(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xX,MTH_tdxReal xY,MTH_tdxReal xZ);
extern CPA_EXPORT void fn_vMSLightSetOffsetVector(MS_tdxHandleToMSLight h_MSLight,MTH3D_tdstVector *p_stVector);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetOffset(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetOffset(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetOffsetX(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetOffsetY(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetOffsetZ(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetDirection(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xX,MTH_tdxReal xY,MTH_tdxReal xZ);
extern CPA_EXPORT void fn_vMSLightGetDirection(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal *p_xX,MTH_tdxReal *p_xY,MTH_tdxReal *p_xZ);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetDirectionX(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetDirectionY(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetDirectionZ(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT SECT_tdxHandleOfElementLstDNMLights fn_hMSLightGetLightNodeInSector(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT void fn_vMSLightSetLightNodeInSector(MS_tdxHandleToMSLight _hMSLight,SECT_tdxHandleOfElementLstDNMLights _hLightNode);
/*ANNECY CT 13/01/98 {*/
extern CPA_EXPORT unsigned char fn_bMSLightGetLocalLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetLocalLight(MS_tdxHandleToMSLight h_MSLight,unsigned char ucLocalLight);
extern CPA_EXPORT unsigned char fn_bMSLightGetOnlyLocalLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetOnlyLocalLight(MS_tdxHandleToMSLight h_MSLight,unsigned char ucOnlyLocalLight);
/*ENDANNECY CT }*/
/*CHINA WFQ (MT) 16-02-98 {*/
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetInterMinInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMinX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMinY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMinZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetInterMaxInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMaxX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMaxY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMaxZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetExterMinInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMinX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMinY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMinZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetExterMaxInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMaxX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMaxY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMaxZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetIntensityMin(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetIntensityMax(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT void fn_xMSLightSetInterMinXYZ(MS_tdxHandleToMSLight _hMSLight,
MTH_tdxReal xInterMinX, MTH_tdxReal xInterMinY, MTH_tdxReal xInterMinZ );
extern CPA_EXPORT void fn_xMSLightSetInterMaxXYZ(MS_tdxHandleToMSLight _hMSLight,
MTH_tdxReal xInterMaxX, MTH_tdxReal xInterMaxY, MTH_tdxReal xInterMaxZ );
extern CPA_EXPORT void fn_xMSLightSetExterMinXYZ(MS_tdxHandleToMSLight _hMSLight,
MTH_tdxReal xExterMinX, MTH_tdxReal xExterMinY, MTH_tdxReal xExterMinZ );
extern CPA_EXPORT void fn_xMSLightSetExterMaxXYZ(MS_tdxHandleToMSLight _hMSLight,
MTH_tdxReal xExterMaxX, MTH_tdxReal xExterMaxY, MTH_tdxReal xExterMaxZ );
extern CPA_EXPORT void fn_xMSLightSetIntensityMinMax(MS_tdxHandleToMSLight _hMSLight, MTH_tdxReal xIntensityMin, MTH_tdxReal xIntensity_Max);
/*ENDCHINA WFQ }*/
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT GLI_tdxValue fn_xComputeAngleOfPerso(HIE_tdxHandleToSuperObject p_SuperObjPerso);
extern CPA_EXPORT void fn_vUpdateLight(HIE_tdxHandleToSuperObject hSupObject);
extern CPA_EXPORT GEO_tdstGeometricObject *fn_pCreateSphere(MTH_tdxReal x,MTH_tdxReal y,MTH_tdxReal z,MTH_tdxReal xRadius);
extern CPA_EXPORT GEO_tdstGeometricObject *fn_pCreateCone(MTH_tdxReal x,MTH_tdxReal y,MTH_tdxReal z,MTH_tdxReal xRadius);
/**********************/
/**** SAI function ****/
/**********************/
void fn_vLightInitValueSAI(MS_tdxHandleToMSLight _hMSLight);
void fn_vLightSavedValueSAI(MS_tdxHandleToMSLight _hMSLight);
void fn_vLightFreeInitValueSAI(MS_tdxHandleToMSLight _hMSLight);
/*************************************/
/**** Access functions for Editor ****/
/*************************************/
#if defined(ACTIVE_EDITOR)
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetGiroPhareInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetPulsingInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetOffsetVectInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetAngleInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetStepGiroInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetStepPulseInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetMaxRangePulseInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetGiroAngleInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT long *fn_p_lMSLightGetOnOffInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT long *fn_p_lMSLightGetTypeInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetFarInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetNearInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetLittleAlphaInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetBigAlphaInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetLittleTangentInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetBigTangentInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetColorRInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetColorGInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetColorBInit(MS_tdxHandleToMSLight _hMSLight);
/*ANNECY CT 13/01/98 {*/
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetLocalLightInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetOnlyLocalInit(MS_tdxHandleToMSLight _hMSLight);
/*ENDANNECY CT }*/
/* CHINA WFQ (MT) 16-02-98 {*/
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMinXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMinYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMinZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMaxXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMaxYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMaxZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMinXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMinYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMinZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMaxXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMaxYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMaxZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetIntensityMinInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetIntensityMaxInit(MS_tdxHandleToMSLight _hMSLight);
/*ENDCHINA WFQ }*/
#endif /* ACTIVE_EDITOR */
extern CPA_EXPORT GLI_tdstLight *HIE_fn_hGetSuperObjectLight(HIE_tdxHandleToSuperObject p_SuperObjPerso);
/*NZO 25/09/97*/
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long MSLight_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*NZO 25/09/97*/
#ifdef BIN_LoadBin
extern CPA_EXPORT void MSLight_fn_vReadBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*ANNECY JMD 17/02/98{*/
extern CPA_EXPORT unsigned char fn_ucGetNumberOfRLI (MS_tdxHandleToMSLight hMSLight, unsigned char *ucIndex1, unsigned char *ucIndex2, MTH_tdxReal *xPercent );
extern CPA_EXPORT unsigned char fn_ucGetNumberOfRLIFromCharacter (HIE_tdxHandleToSuperObject hSprObj, unsigned char *p_ucIndex1, unsigned char *p_ucIndex2, MTH_tdxReal *p_xPercent) ;
extern CPA_EXPORT void fn_vMSLightSetRLIParameter ( MS_tdxHandleToMSLight hMSLight, long lNbRLI, long lIndex1, long lIndex2, long lPercent ) ;
/*END ANNECY JMD }*/
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __LIGHT_H__ */

View File

@@ -0,0 +1,140 @@
/*=========================================================================
* SectInfo.h : SectInfo's functions
*
*
* SectInfo 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
*=======================================================================*/
#if !defined(__SectInfo_H__)
#define __SectInfo_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_SectInfo_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_SectInfo_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#if defined(D_SectInfo_StructureDefine)
typedef struct tdstSectInfo_
{
/* Obsolete (keeping it for ascendant compatibility)*/
HIE_tdxHandleToSuperObject hCurrentSector;
SECT_tdxHandleOfElementLstCharacter hNodeInSector;
/* For new version*/
MTH3D_tdstVector stPreviousPosition;
} tdstSectInfo;
#endif /* D_SectInfo_StructureDefine */
#ifdef CODEWARRIOR
#include "GAM\InitEnum.h"
#endif
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstSectInfo_ * MS_tdxHandleToSectInfo;
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/**** SectInfo scripts ****/
#define C_SectionSectInfoDescription "SectInfo"
#define C_EntrySectInfoChamp "Champ"
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eSectInfoScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vSectInfoSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulSectInfoSizeOf();
extern CPA_EXPORT void fn_vSectInfoAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToSectInfo fn_h_SectInfoRealAlloc();
extern CPA_EXPORT void fn_vSectInfoFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vSectInfoInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vSectInfoDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vSectInfoCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*extern CPA_EXPORT void fn_vSectInfoInitForCharacters(HIE_tdxHandleToSuperObject p_stDynamicHierarchy);*/
extern CPA_EXPORT void fn_vUpdateActiveSector();
extern CPA_EXPORT void fn_vSectInfoSavedValueSAI(MS_tdxHandleToSectInfo hSectInfo);
extern CPA_EXPORT void fn_vSectInfoFreeInitValueSAI(MS_tdxHandleToSectInfo hSectInfo);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT HIE_tdxHandleToSuperObject fn_h_SectInfoGetCurrentSector(MS_tdxHandleToSectInfo h_SectInfo);
extern CPA_EXPORT void fn_vSectInfoSetCurrentSector(MS_tdxHandleToSectInfo h_SectInfo,HIE_tdxHandleToSuperObject hCurrentSector);
extern CPA_EXPORT void fn_vSectInfoSetNode(MS_tdxHandleToSectInfo _hSectInfo,SECT_tdxHandleOfElementLstCharacter _hNode);
extern CPA_EXPORT SECT_tdxHandleOfElementLstCharacter fn_hSectInfoGetNode(MS_tdxHandleToSectInfo _hSectInfo);
/******************************************/
/**** Same functions for others module ****/
/******************************************/
extern CPA_EXPORT HIE_tdxHandleToSuperObject GAM_fn_hGetCurrentSector(HIE_tdxHandleToSuperObject _hCharacter);
extern CPA_EXPORT void GAM_fn_vSetCurrentSector(HIE_tdxHandleToSuperObject _hCharacter,HIE_tdxHandleToSuperObject _hCurrentSector);
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT void fn_vInsertObjectInSectorList(HIE_tdxHandleToSuperObject hSector,HIE_tdxHandleToSuperObject hCharacter);
extern CPA_EXPORT void fn_vRemoveObjectInSectorList(HIE_tdxHandleToSuperObject hCharacter);
extern CPA_EXPORT void fn_vSectInfoInitForSingleCharacter(HIE_tdxHandleToSuperObject hCharacter,struct MTH3D_tdstVector_ * hPosition);
extern CPA_EXPORT void fn_vSectInfoLaunchSectorSoundEvents(HIE_tdxHandleToSuperObject);
extern CPA_EXPORT void fn_vSectInfoLaunchEventsFromS1ToS2(HIE_tdxHandleToSuperObject,HIE_tdxHandleToSuperObject);
extern CPA_EXPORT void fn_vSectInfoSetCharacterLauchingEvents(HIE_tdxHandleToSuperObject _hCharacter);
extern CPA_EXPORT HIE_tdxHandleToSuperObject fn_hSearchSectorFromPosition(HIE_tdxHandleToSuperObject _hCharacter,MTH3D_tdstVector * _p_stPosition);
extern CPA_EXPORT void fn_vInsertLightInSectorList(HIE_tdxHandleToSuperObject hSector,HIE_tdxHandleToSuperObject hCharacter);
/* MR1108*/
extern CPA_EXPORT void fn_vInsertStreamInSectorList(HIE_tdxHandleToSuperObject hSector,HIE_tdxHandleToSuperObject hCharacter);
extern CPA_EXPORT void GAM_fn_vSectInfoTestChangeSectorForCharacter(HIE_tdxHandleToSuperObject _hCharacter);
/*****************************/
/**** Debugging functions ****/
/*****************************/
extern CPA_EXPORT char * fn_p_szSectInfoGetCurrentSectorName(HIE_tdxHandleToSuperObject _hCharacter);
extern CPA_EXPORT char * fn_p_szSectInfoGetPreviousSectorName(HIE_tdxHandleToSuperObject _hCharacter);
extern CPA_EXPORT void fn_vTestAllSectorsListForIncoherences(void);
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long SectInfo_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*No read function necessary.*/
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __SectInfo_H__ */

View File

@@ -0,0 +1,578 @@
/*=========================================================================
* StdGame.h : StdGame's functions
*
*
* StdGame 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
*=======================================================================*/
#if !defined(__StdGame_H__)
#define __StdGame_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_StdGame_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_StdGame_VariableDefine */
/******************************************/
#define GAM_C_DesactivateAtAll 0x01
#define GAM_C_Activable 0x02
#define GAM_C_Active 0x04
#define GAM_C_AllSecondPassDone 0x08
/******************************************/
#define GAM_C_Always 0x10
#define GAM_C_UselessCulling 0x20
#define GAM_C_AlwaysActive 0x40
#define GAM_C_TooFar 0x80
/******************************************/
#define GAM_C_SavedMiscFlags (GAM_C_DesactivateAtAll|GAM_C_Activable|GAM_C_Active)
/**************************************************************************************************************
GAM_C_DesactivateAtAll | GAM_C_Activable | Means
------------------------|-----------------------|-------------------------
0 | 0 | desactivated by AI
------------------------|-----------------------|-------------------------
0 | 1 | activable (active if in an active sector)
------------------------|-----------------------|-------------------------
1 | 0 | definitively dead (dead and init : NeverBackWhenTaken)
------------------------|-----------------------|-------------------------
1 | 1 | dead (dead and init : PlayerDead or always or GoOutOfZone)
*************************************************************************************************************/
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
/********************************************************************************/
struct tdstStandardGame_
{
/*
* type of the object this structure describes
*/
tdObjectType otObjectFamilyType; /**** -1 (C_InvalidObjectType) is a invalid type ****/
#ifndef U64
tdObjectType otObjectModelType; /**** -1 (C_InvalidObjectType) is a invalid type ****/
#endif
tdObjectType otObjectPersonalType; /**** (if > C_AlwaysObjectType) is a always object ****/
/* super-object father pointer */
HIE_tdxHandleToSuperObject h_SuperObject;
/*
* how is the object activation performed ?
*/
enum tdeObjectinitInit_ eInitFlagWhenOutOfZone;
enum tdeObjectinitInit_ eInitFlagWhenDeadOrTaken;
/* last modification's trame number */
unsigned long ulLastTrame;
/* Capabilities of the object to follow a path in the WPgraph */
unsigned long ubf32Capabilities;
unsigned char ucTractionFactor;
/* number of hit points an object have at a given time */
unsigned char ucHitPoints/*,ucHitPointsInit*/;
unsigned char ucHitPointsMax/*,ucHitPointsMaxInit*/;
unsigned char ucHitPointsMaxMax;
unsigned long ulCustomBits;
/* Special management for platforms */
unsigned char ucPlatFormType;
/* used to know if the object is dead, taken ..., and must be not reappear if the player dead */
/* is the object to be handled at all by the game engine ? is this object to be handled by the game engine at the current time ? */
unsigned char ucMiscFlags; /* DesactivateAtAll + Activable + Active + AllSecondPassDone*/
/* ANNECY MT - 08/07/98 {*/
unsigned char ucTransparencyZoneMin;
unsigned char ucTransparencyZoneMax;
/* END ANNECY MT }*/
/* ANNECY AV {*/
/* Instead of using SAI functions to manage intialisation, which are memory eater, we save our variables ourself*/
/* This uses 8 bytes while SAI uses 96 bytes : we save 17 Ko for 200 actors !*/
unsigned long ulSaveCustomBits;
unsigned char ucSaveHitPoints;
unsigned char ucSaveHitPointsMax;
unsigned char ucSaveMiscFlags;
/* END ANNECY AV }*/
/* ANNECY MT - 22/10/98 {*/
unsigned char ucTooFarLimit;
/* END ANNECY MT }*/
#if defined(ACTIVE_EDITOR)
unsigned char bIsLoadedInFix;
unsigned char bIsInAllSubMaps;
#endif /* ACTIVE_EDITOR */
};
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstStandardGame_ * MS_tdxHandleToStandardGame;
/* ANNECY AV DEMO {*/
#if !defined(U64) && !defined(SCR2BIN)
#include "Gam/Specif/Demos.h"
#endif
/* END ANNECY AV }*/
/**** StdGame scripts ****/
#define C_SectionStdGameDescription "StandardGame"
#define C_EntryStdGameType "Type"
#define C_EntryStdGameHitPointInit "HitPointsInit"
#define C_EntryStdGameHitPoint "HitPoints"
#define C_EntryStdGameHitPointMaxInit "HitPointsMaxInit"
#define C_EntryStdGameHitPointMax "HitPointsMax"
#define C_EntryStdGameHitPointMaxMax "HitPointsMaxMax"
#define C_EntryStdGameIsActivable "IsActivable"
#define C_EntryStdGameIsDesactivableAtAll "IsDesactivableAtAll"
#define C_EntryStdInitFlag "InitFlags"
/*#define C_EntryStdSpecialPositionFlag "SpecialPositionFlag"*/
#define C_ValueStdInitFlagNeverBack "NeverBack"
#define C_ValueStdInitFlagAlways "Always"
#define C_ValueStdInitFlagGoOutOfZone "WhenGoOutOfZone"
#define C_ValueStdInitFlagPlayerDead "WhenPlayerDead"
#define C_ValueStdInitFlagMapLoaded "WhenMapLoaded"
#define C_ValueStdInitFlagSavedGameLoaded "WhenSavedGameLoaded"
#define C_EntryStdGamePlatFormType "PlatFormType"
/*ANNECY BBB 20/11/97 {*/
#define C_EntryStdGameCustomBits "CustomBits"
#define C_EntryStdGameCustomBitsInit "CustomBitsInit"
/*ENDANNECY BBB 20/11/97 }*/
/* JO 18/11/97*/
#define C_EntryStdGameLinkedToSectorFlag "LinkedToSector"
#define C_EntryStdGameCapabilities "Capabilities"
#define C_EntryStdGameTractionFactor "TractionFactor"
/* ANNECY MT - 08/07/98 {*/
#define C_EntryStdGameTransparencyZone "TransparencyZone"
/* END ANNECY MT }*/
/* ANNECY MT - 22/10/98 {*/
#define C_EntryStdGameTooFarLimit "TooFarLimit"
/* END ANNECY MT }*/
/*
* Custom Bit Flag values
*/
#define GAM_C_CustBitUnseenFrozenAnimPlayer 0x00000001 /* 1*/
#define GAM_C_CustBitNeedModuleMatrices 0x00000002 /* 2*/
#define GAM_C_CustBitMovable 0x00000004 /* 3*/
#define GAM_C_CustBitProjectile 0x00000008 /* 4*/
#define GAM_C_CustBitRayHit 0x00000010 /* 5*/
#define GAM_C_CustBitSightable 0x00000020 /* 6*/
#define GAM_C_CustBitCannotCrushPrincipalActor 0x00000040 /* 7*/
#define GAM_C_CustBitCollectable 0x00000080 /* 8*/
#define GAM_C_CustBitActorHasShadow 0x00000100 /* 9*/
#define GAM_C_CustBitShadowOnMe 0x00000200 /* 10*/
#define GAM_C_CustBitPrunable 0x00000400 /* 11*/
#define GAM_C_CustBitOutOfVisibility 0x00000800 /* 12*/
#define GAM_C_CustBitUnseenFrozen 0x00001000 /* 13*/
#define GAM_C_CustBitNoAnimPlayer 0x00002000 /* 14*/
#define GAM_C_CustBitFightable 0x00004000 /* 15*/
#define GAM_C_CustBitNoMechanic 0x00008000 /* 16*/
#define GAM_C_CustBitNoAI 0x00010000 /* 17*/
#define GAM_C_CustBitDestroyWhenAnimEnded 0x00020000 /* 18*/
#define GAM_C_CustBitNoAnimPlayerWhenTooFar 0x00040000 /* 19*/
#define GAM_C_CustBitNoAIWhenTooFar 0x00080000 /* 20*/
#define GAM_C_CustBitUnfreezable 0x00100000 /* 21*/
#define GAM_C_CustBitUsesTransparencyZone 0x00200000 /* 22*/
#define GAM_C_CustBitNoMecaWhenTooFar 0x00400000 /* 23*/
#define GAM_C_CustBitSoundWhenInvisible 0x00800000 /* 24*/
#define GAM_C_CustBitProtection 0x01000000 /* 25*/
#define GAM_C_CustBitCameraHit 0x02000000 /* 26*/
#define GAM_C_CustBit27 0x04000000 /* 27*/
#define GAM_C_CustBitAIUser1 0x08000000 /* 28*/
#define GAM_C_CustBitAIUser2 0x10000000 /* 29*/
#define GAM_C_CustBitAIUser3 0x20000000 /* 30*/
#define GAM_C_CustBitAIUser4 0x40000000 /* 31*/
#define GAM_C_CustBitRayman 0x80000000 /* 32*/
/* those bits cannot be modified, because they are for internal use only */
#define C_ulUnchangableCustomBits ( GAM_C_CustBitOutOfVisibility | GAM_C_CustBitRayman | GAM_C_CustBitProtection )
/* JO 04/11/97*/
/*
* PlatForm Type Values
*/
#define C_ucPlatFormType_None 0
#define C_ucPlatFormType_StandardPlatForm 1
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eStdGameScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
extern CPA_EXPORT unsigned long fn_ulStdGameSizeOf();
extern CPA_EXPORT void fn_vStdGameAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToStandardGame fn_h_StdGameRealAlloc();
extern CPA_EXPORT void fn_vStdGameFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vStdGameInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vStdGameDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vStdGameCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/********************************/
/**** Acces functions define ****/
/********************************/
INLINE
tdObjectType fn_otStandardGameGetFamilyType (MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->otObjectFamilyType); }
INLINE
void fn_vStandardGameSetFamilyType (MS_tdxHandleToStandardGame h_StdGame,tdObjectType otFamilyType)
{ h_StdGame->otObjectFamilyType=otFamilyType; }
#ifndef U64
INLINE
tdObjectType fn_otStandardGameGetModelType(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->otObjectModelType); }
INLINE
void fn_vStandardGameSetModelType(MS_tdxHandleToStandardGame h_StdGame,tdObjectType otModelType)
{ h_StdGame->otObjectModelType=otModelType; }
#endif
INLINE
tdObjectType fn_otStandardGameGetPersonalType(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->otObjectPersonalType); }
INLINE
void fn_vStandardGameSetPersonalType(MS_tdxHandleToStandardGame h_StdGame,tdObjectType otPersonalType)
{ h_StdGame->otObjectPersonalType=otPersonalType; }
INLINE
unsigned long fn_ulStandardGameGetLastTrame(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->ulLastTrame); }
INLINE
void fn_vStandardGameSetLastTrame(MS_tdxHandleToStandardGame h_StdGame,unsigned long ulLastTrame)
{ h_StdGame->ulLastTrame=ulLastTrame; }
INLINE
unsigned char fn_ucStandardGameGetHitPoints(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->ucHitPoints); }
INLINE
void fn_vStandardGameSetHitPoints(MS_tdxHandleToStandardGame h_StdGame,unsigned char ucHitPoints)
{ h_StdGame->ucHitPoints=ucHitPoints; }
INLINE
unsigned char fn_ucStandardGameGetHitPointsMax(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->ucHitPointsMax); }
INLINE
void fn_vStandardGameSetHitPointsInit(MS_tdxHandleToStandardGame h_StdGame,unsigned char ucHitPointsInit)
{ h_StdGame -> ucSaveHitPoints = ucHitPointsInit ; }
INLINE
void fn_vStandardGameSetHitPointsMax(MS_tdxHandleToStandardGame h_StdGame,unsigned char ucHitPoints)
{ h_StdGame->ucHitPointsMax=ucHitPoints; }
INLINE
unsigned char fn_ucStandardGameGetHitPointsMaxMax(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->ucHitPointsMaxMax); }
INLINE
void fn_vStandardGameSetHitPointsMaxMax(MS_tdxHandleToStandardGame h_StdGame,unsigned char ucHitPoints)
{ h_StdGame->ucHitPointsMaxMax=ucHitPoints; }
INLINE
unsigned char fn_bf1StandardGameGetIsDesactivateAtAll(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_DesactivateAtAll ? TRUE : FALSE); }
INLINE
void fn_vStandardGameSetIsDesactivateAtAll(MS_tdxHandleToStandardGame h_StdGame,unsigned char bf1IsDesactivateAtAll)
{
/* ANNECY AV DEMO {*/
#if !defined(U64) && !defined(SCR2BIN) && !defined(RETAIL)
if(g_DEMO_KeybTest == DEMO_RECORD)
{
if (h_StdGame->h_SuperObject &&
((bf1IsDesactivateAtAll == TRUE && (h_StdGame->ucMiscFlags & GAM_C_DesactivateAtAll) == 0) ||
(bf1IsDesactivateAtAll == FALSE && (h_StdGame->ucMiscFlags & GAM_C_DesactivateAtAll) != 0)))
{
DEMO_fn_vTestAndSaveActivationDesactivation (h_StdGame->h_SuperObject , ! bf1IsDesactivateAtAll);
}
}
#endif
/* END ANNECY AV }*/
if(bf1IsDesactivateAtAll)
h_StdGame->ucMiscFlags |= GAM_C_DesactivateAtAll;
else
h_StdGame->ucMiscFlags &= ~GAM_C_DesactivateAtAll;
}
INLINE
unsigned char fn_bf1StandardGameGetIsActivable(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_Activable ? TRUE : FALSE); }
INLINE
void fn_vStandardGameSetIsActivable(MS_tdxHandleToStandardGame h_StdGame,unsigned char bf1IsActivable)
{
/* ANNECY AV DEMO {*/
#if !defined(U64) && !defined(SCR2BIN) && !defined(RETAIL)
if (g_DEMO_KeybTest == DEMO_RECORD)
{
if (h_StdGame->h_SuperObject &&
((bf1IsActivable == TRUE && (h_StdGame->ucMiscFlags & GAM_C_Activable) == 0) ||
(bf1IsActivable == FALSE && (h_StdGame->ucMiscFlags & GAM_C_Activable) != 0)))
{
DEMO_fn_vTestAndSaveActivationDesactivation (h_StdGame->h_SuperObject , bf1IsActivable);
}
}
#endif
/* END ANNECY AV }*/
if(bf1IsActivable)
h_StdGame->ucMiscFlags |= GAM_C_Activable;
else
h_StdGame->ucMiscFlags &= ~GAM_C_Activable;
}
INLINE
unsigned char fn_bf1StandardGameGetIsActive(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_Active ? TRUE : FALSE); }
INLINE
void fn_vStandardGameSetIsActive(MS_tdxHandleToStandardGame h_StdGame,unsigned char bf1IsActive)
{
/* ANNECY AV DEMO {*/
#if !defined(U64) && !defined(SCR2BIN) && !defined(RETAIL)
if(g_DEMO_KeybTest == DEMO_RECORD)
{
if (h_StdGame->h_SuperObject &&
((bf1IsActive == TRUE && (h_StdGame->ucMiscFlags & GAM_C_Active) == 0) ||
(bf1IsActive == FALSE && (h_StdGame->ucMiscFlags & GAM_C_Active) != 0)))
{
DEMO_fn_vTestAndSaveActivationDesactivation (h_StdGame->h_SuperObject , bf1IsActive);
}
}
#endif
/* END ANNECY AV }*/
if(bf1IsActive)
h_StdGame->ucMiscFlags |= GAM_C_Active;
else
h_StdGame->ucMiscFlags &= ~GAM_C_Active;
}
INLINE
enum tdeObjectinitInit_ fn_eStandardGameGetInitFlagWhenOutOfZone(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->eInitFlagWhenOutOfZone); }
INLINE
void fn_vStandardGameSetInitFlagWhenOutOfZone(MS_tdxHandleToStandardGame h_StdGame,enum tdeObjectinitInit_ eInitFlagWhenOutOfZone)
{ h_StdGame->eInitFlagWhenOutOfZone=eInitFlagWhenOutOfZone; }
INLINE
enum tdeObjectinitInit_ fn_eStandardGameGetInitFlagWhenDeadOrTaken(MS_tdxHandleToStandardGame h_StdGame)
{ return(h_StdGame->eInitFlagWhenDeadOrTaken); }
INLINE
void fn_vStandardGameSetInitFlagWhenDeadOrTaken(MS_tdxHandleToStandardGame h_StdGame,enum tdeObjectinitInit_ eInitFlagWhenDeadOrTaken)
{ h_StdGame->eInitFlagWhenDeadOrTaken=eInitFlagWhenDeadOrTaken; }
INLINE
unsigned char fn_ucStandardGameGetPlatFormType(MS_tdxHandleToStandardGame h_StdGame)
{ return h_StdGame->ucPlatFormType; }
INLINE
void fn_ucStandardGameSetPlatFormType(MS_tdxHandleToStandardGame h_StdGame,unsigned char _ucPlatFormType)
{ h_StdGame->ucPlatFormType = _ucPlatFormType; }
INLINE
void fn_vStandardGameSetCapabilities(MS_tdxHandleToStandardGame h_StdGame, unsigned long _ubf32Capabilities)
{ h_StdGame->ubf32Capabilities = _ubf32Capabilities; }
INLINE
unsigned long fn_ulStandardGameGetCapabilities(MS_tdxHandleToStandardGame h_StdGame)
{ return ( h_StdGame->ubf32Capabilities ); }
INLINE
void fn_vStandardGameAddCapabilities(MS_tdxHandleToStandardGame h_StdGame, unsigned long _ubf32Capabilities)
{ h_StdGame->ubf32Capabilities |= _ubf32Capabilities; }
INLINE
void fn_vStandardGameSubCapabilities(MS_tdxHandleToStandardGame h_StdGame, unsigned long _ubf32Capabilities)
{ h_StdGame->ubf32Capabilities -= (h_StdGame->ubf32Capabilities & _ubf32Capabilities); }
INLINE
void fn_vStandardGameSetTractionFactor(MS_tdxHandleToStandardGame h_StdGame,unsigned char _ucTractionFactor)
{ h_StdGame->ucTractionFactor = _ucTractionFactor; }
INLINE
unsigned char fn_ucStandardGameGetTractionFactor(MS_tdxHandleToStandardGame h_StdGame)
{ return ( h_StdGame->ucTractionFactor ); }
INLINE
unsigned char fn_bIsAllSecondPassDone(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_AllSecondPassDone ? TRUE : FALSE); }
INLINE
void fn_vAllSecondPassAreDone(MS_tdxHandleToStandardGame h_StdGame)
{ h_StdGame->ucMiscFlags |= GAM_C_AllSecondPassDone; }
INLINE
unsigned long fn_ulStandardGameGetCustomBits(MS_tdxHandleToStandardGame _hStdGame)
{ return _hStdGame->ulCustomBits; }
INLINE
void fn_vStandardGameSetCustomBits(MS_tdxHandleToStandardGame _hStdGame,unsigned long _ulCustomBits)
{ _hStdGame->ulCustomBits = _ulCustomBits; }
/* ANNECY MT - 08/07/98 {*/
INLINE
unsigned char fn_ucStandardGameGetTransparencyZoneMin(MS_tdxHandleToStandardGame _hStdGame)
{ return _hStdGame->ucTransparencyZoneMin; }
INLINE
void fn_vStandardGameSetTransparencyZoneMin(MS_tdxHandleToStandardGame _hStdGame, unsigned char _ucTransparencyZoneMin)
{ _hStdGame->ucTransparencyZoneMin = _ucTransparencyZoneMin; }
INLINE
unsigned char fn_ucStandardGameGetTransparencyZoneMax(MS_tdxHandleToStandardGame _hStdGame)
{ return _hStdGame->ucTransparencyZoneMax; }
INLINE
void fn_vStandardGameSetTransparencyZoneMax(MS_tdxHandleToStandardGame _hStdGame, unsigned char _ucTransparencyZoneMax)
{ _hStdGame->ucTransparencyZoneMax = _ucTransparencyZoneMax; }
/* END ANNECY MT }*/
extern CPA_EXPORT ACP_tdxBool fn_bStandardGameIsAPlatform (HIE_tdxHandleToSuperObject hSupObj);
extern CPA_EXPORT unsigned long fn_ulStandardGameGetCustomBitsSO (HIE_tdxHandleToSuperObject hSupObj);
extern CPA_EXPORT void fn_vStandardGameSetCustomBitsSO(HIE_tdxHandleToSuperObject hSupObj,unsigned long ulCustomBits);
extern CPA_EXPORT HIE_tdxHandleToSuperObject fn_h_StandardGameGetSuperObject(MS_tdxHandleToStandardGame h_StdGame);
extern CPA_EXPORT void fn_vStandardGameSetSuperObject(MS_tdxHandleToStandardGame h_StdGame,HIE_tdxHandleToSuperObject h_SuperObject);
extern CPA_EXPORT ACP_tdxBool fn_bStandardGameGetLinkToSectorFlag(MS_tdxHandleToStandardGame h_StdGame);
extern CPA_EXPORT void fn_bStandardGameSetLinkToSectorFlag(MS_tdxHandleToStandardGame h_StdGame,ACP_tdxBool _bLinkValue);
extern CPA_EXPORT unsigned char fn_ucStandardGameGetTransparencyZoneMinSO(HIE_tdxHandleToSuperObject hSupObj);
extern CPA_EXPORT unsigned char fn_ucStandardGameGetTransparencyZoneMaxSO(HIE_tdxHandleToSuperObject hSupObj);
/* ANNECY MT - 09/10/98 {*/
INLINE
void fn_vStandardGameSetAlwaysActive(MS_tdxHandleToStandardGame h_StdGame,ACP_tdxBool _bAlways)
{ if(_bAlways) h_StdGame->ucMiscFlags |= GAM_C_AlwaysActive; else h_StdGame->ucMiscFlags &= ~GAM_C_AlwaysActive; }
INLINE
unsigned char fn_bStandardGameIsAlwaysActive(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_AlwaysActive ? TRUE : FALSE); }
INLINE
void fn_vStandardGameSetAlways(MS_tdxHandleToStandardGame h_StdGame,ACP_tdxBool _bAlways)
{ if(_bAlways) h_StdGame->ucMiscFlags |= GAM_C_Always; else h_StdGame->ucMiscFlags &= ~GAM_C_Always; }
INLINE
unsigned char fn_bStandardGameIsAlways(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_Always ? TRUE : FALSE); }
INLINE
void fn_vStandardGameSetUselessCulling(MS_tdxHandleToStandardGame h_StdGame,ACP_tdxBool _bUseless)
{ if(_bUseless) h_StdGame->ucMiscFlags |= GAM_C_UselessCulling; else h_StdGame->ucMiscFlags &= ~GAM_C_UselessCulling; }
INLINE
unsigned char fn_bStandardGameIsUselessCulling(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_UselessCulling ? TRUE : FALSE); }
INLINE
void fn_vStandardGameSetTooFar(MS_tdxHandleToStandardGame h_StdGame,ACP_tdxBool _bTooFar)
{ if(_bTooFar) h_StdGame->ucMiscFlags |= GAM_C_TooFar; else h_StdGame->ucMiscFlags &= ~GAM_C_TooFar; }
INLINE
unsigned char fn_bStandardGameIsTooFar(MS_tdxHandleToStandardGame h_StdGame)
{ return(unsigned char)(h_StdGame->ucMiscFlags & GAM_C_TooFar ? TRUE : FALSE); }
/* END ANNECY MT }*/
/* ANNECY MT - 22/10/98 {*/
INLINE
unsigned char fn_ucStandardGameGetTooFarLimit(MS_tdxHandleToStandardGame _hStdGame)
{ return _hStdGame->ucTooFarLimit; }
INLINE
void fn_vStandardGameSetTooFarLimit(MS_tdxHandleToStandardGame _hStdGame, unsigned char _ucTooFarLimit)
{ _hStdGame->ucTooFarLimit = _ucTooFarLimit; }
extern CPA_EXPORT unsigned char fn_ucStandardGameGetTooFarLimitSO(HIE_tdxHandleToSuperObject hSupObj);
/* END ANNECY MT }*/
/**********************************/
/**** Special functions define ****/
/**********************************/
/**********************/
/**** SAI function ****/
/**********************/
extern CPA_EXPORT void fn_vStdGameInitValueSAI(MS_tdxHandleToStandardGame h_StdGame);
extern CPA_EXPORT void fn_vStdGameSavedValueSAI(MS_tdxHandleToStandardGame h_StdGame);
extern CPA_EXPORT void fn_vStdGameFreeInitValueSAI(MS_tdxHandleToStandardGame h_StdGame);
extern CPA_EXPORT void fn_vSetHitPointsToInitValue(struct tdstEngineObject_ *_p_stObject);
extern CPA_EXPORT void fn_vSetHitPointsMaxToInitValue(struct tdstEngineObject_ *_p_stObject);
/*ANNECY BBB 20/11/97 {*/
extern CPA_EXPORT void fn_vSetCustomBitsToInitValue(struct tdstEngineObject_ *_p_stObject);
/*ENDANNECY BBB 20/11/97 }*/
/*************************************/
/**** Access functions for Editor ****/
/*************************************/
#if defined(ACTIVE_EDITOR)
extern CPA_EXPORT unsigned char *fn_p_ucStdGameGetHitPointsInit(MS_tdxHandleToStandardGame h_StdGame);
extern CPA_EXPORT unsigned char *fn_p_ucStdGameGetHitPointsMaxInit(MS_tdxHandleToStandardGame h_StdGame);
extern CPA_EXPORT void fn_vStdGameSetLoadedInFix(MS_tdxHandleToStandardGame h_StdGame,unsigned char bValue);
extern CPA_EXPORT unsigned char fn_bStdGameIsLoadedInFix(MS_tdxHandleToStandardGame h_StdGame);
/* ANNECY MT - 19/11/98 {*/
extern CPA_EXPORT void fn_vStdGameSetInAllSubMaps(MS_tdxHandleToStandardGame h_StdGame,unsigned char bValue);
extern CPA_EXPORT unsigned char fn_bStdGameIsInAllSubMaps(MS_tdxHandleToStandardGame h_StdGame);
/* END ANNECY MT }*/
extern CPA_EXPORT unsigned long *fn_p_ulStdGameGetCustomBitsInit(MS_tdxHandleToStandardGame _hStdGame);
#endif /* ACTIVE_EDITOR */
/*NZO 25/09/97*/
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long StdGame_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*NZO 25/09/97*/
#ifdef BIN_LoadBin
extern CPA_EXPORT void StdGame_fn_vReadBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __StdGame_H__ */

View File

@@ -0,0 +1,99 @@
/*=========================================================================
* ####.h : ####'s functions
*
*
* #### 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
*=======================================================================*/
#if !defined(__####_H__)
#define __####_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000*/
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_####_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_####_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
#if defined(D_####_StructureDefine)
struct tdst####_
{
};
#endif /* D_####_StructureDefine */
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdst####_ * MS_tdxHandleTo####;
/**** #### scripts ****/
#define C_Section####Description "####"
#define C_Entry####Champ "Champ"
/**** Put here all globals variables : ****/
/**** EXTERN typeofvar variable; ****/
/*******************************/
/**** Base functions define ****/
/*******************************/
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_e####ScriptCallback(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
/*extern CPA_EXPORT void fn_v####SaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ul####SizeOf();
extern CPA_EXPORT void fn_v####Alloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleTo#### fn_h_####RealAlloc();
extern CPA_EXPORT void fn_v####Free(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_v####Init(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_v####Desinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_v####CopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT xtype fn_x####Getxxxxxx(MS_tdxHandleTo#### h_####);
extern CPA_EXPORT void fn_v####Setxxxxxx(MS_tdxHandleTo#### h_####,xtype xValue);
/**********************************/
/**** Special functions define ****/
/**********************************/
/**********************/
/**** SAI function ****/
/**********************/
extern CPA_EXPORT void fn_v####InitValueSAI(MS_tdxHandleTo#### h_####);
extern CPA_EXPORT void fn_v####SavedValueSAI(MS_tdxHandleTo#### h_####);
extern CPA_EXPORT void fn_v####FreeInitValueSAI(MS_tdxHandleTo#### h_####);
/*************************************/
/**** Access functions for Editor ****/
/*************************************/
#if defined(ACTIVE_EDITOR)
#endif /* ACTIVE_EDITOR */
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __####_H__ */

View File

@@ -0,0 +1,662 @@
#if !defined(__CINEINFO_H__)
#define __CINEINFO_H__
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
#include "GAM/Header.h"
#undef EXTERN
#undef extern
#if !defined(D_CineInfo_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_CineInfo_VariableDefine */
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
/*
**************************************************************************************************
**************************************************************************************************
FOR CAMERA CONSTANTS
**************************************************************************************************
**************************************************************************************************
*/
typedef struct CAM_tdstCameraConstants_
{
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
MTH_tdxReal xRayCameraSphereToGo1; /* Ray of camera sphere to determin if camera can go to a given position (source and dest) */
MTH_tdxReal xRayCameraSphereToGo2;
MTH_tdxReal xRayCameraSphereToSee1; /* Ray of camera sphere to determin if camera can see a given position (source and dest) */
MTH_tdxReal xRayCameraSphereToSee2;
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
MTH_tdxReal xBaseAngleComputePosNormal; /* Min angle for choosing a new good position in normal mode */
MTH_tdxReal xBaseAngleComputePosFailure; /* Min angle for choosing a new good position in case of failure */
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
MTH_tdxReal xAverageForComputePos; /* Window time to compute position of targeted perso */
MTH_tdxReal xAverageForComputeLinearSpeed; /* Window time to compute linear speed of targeted perso */
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
MTH_tdxReal xMinLinearSpeedCamera; /* Below, camera is considered not move... */
MTH_tdxReal xMinLinearSpeedTgtPerso; /* Below, is considered not move... */
MTH_tdxReal xMinAngularSpeedTgtPerso; /* Below, is considered not turn... */
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
MTH_tdxReal xEpsilonDynTgtAngle; /* Dyn target compute if greate than... */
MTH_tdxReal xEpsilonDynTgtFocalAngle; /* Perso must be in focal with that epsilon */
MTH_tdxReal xEpsilonForEqualVectors; /* Two vectors are considered to be equal with that tolerance */
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
MTH_tdxReal xOffsetMinDistPerso; /* Minimum distance of camera to targeted perso depending on BoundDistMin */
MTH_tdxReal xDistanceForNoCut; /* When visibility failure, no cut if new pos at this distance of camera */
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
short xNumRayCameraCanGo; /* Number of ray to determin if camera can go to a given point */
short xNumRayCameraCanSee; /* Number of ray to determin if camera can see a given point */
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
short xTickTestVisibility; /* Every n trames, we test visibility */
short xTickFindBetterPos; /* Every n trames, we try to find a better position if we are not at the first ideal one */
short xTickFindBetterPosIfNoMove; /* The same but force if the camera is not moving */
short xTickFailureCantSee; /* If camera can't see target during n trames, failure */
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
/* For dynamic speed */
MTH_tdxReal xDynSpeed_LinearFactNorm;
MTH_tdxReal xDynSpeed_LinearMax;
MTH_tdxReal xDynSpeed_LinearMulPerso;
MTH_tdxReal xDynSpeed_AngularFactNorm;
MTH_tdxReal xDynSpeed_AngularMax;
MTH_tdxReal xDynSpeed_AngularMulPerso;
MTH_tdxReal xDynSpeed_TargetFactNorm;
MTH_tdxReal xDynSpeed_TargetMax;
MTH_tdxReal xDynSpeed_TargetMulPerso;
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
MTH_tdxReal xBaseCutAngle; /* To cut angles */
MTH_tdxReal xCutAngleFactorPos;
MTH_tdxReal xCutAngleFactorTgt;
/* never change the order of those members !!!*/
/* always add new members at the end of the structure !!!*/
short wFlags; /* Some flags */
/* new members here ! */
short wAlign;
} CAM_tdstCameraConstants;
extern CAM_tdstCameraConstants CAM_g_stCameraConstants;
extern CAM_tdstCameraConstants CAM_g_stCopyCameraConstants;
#define CAM_C_xRayCameraSphereToGo1 (CAM_g_stCameraConstants.xRayCameraSphereToGo1)
#define CAM_C_xRayCameraSphereToGo2 (CAM_g_stCameraConstants.xRayCameraSphereToGo2)
#define CAM_C_xRayCameraSphereToSee1 (CAM_g_stCameraConstants.xRayCameraSphereToSee1)
#define CAM_C_xRayCameraSphereToSee2 (CAM_g_stCameraConstants.xRayCameraSphereToSee2)
#define CAM_C_xBaseAngleComputePosNormal (CAM_g_stCameraConstants.xBaseAngleComputePosNormal)
#define CAM_C_xBaseAngleComputePosFailure (CAM_g_stCameraConstants.xBaseAngleComputePosFailure)
#define CAM_C_xBaseCutAngle (CAM_g_stCameraConstants.xBaseCutAngle)
#define CAM_C_xAverageForComputePos (CAM_g_stCameraConstants.xAverageForComputePos)
#define CAM_C_xAverageForComputeLinearSpeed (CAM_g_stCameraConstants.xAverageForComputeLinearSpeed)
#define CAM_C_xMinLinearSpeedCamera (CAM_g_stCameraConstants.xMinLinearSpeedCamera)
#define CAM_C_xMinLinearSpeedTgtPerso (CAM_g_stCameraConstants.xMinLinearSpeedTgtPerso)
#define CAM_C_xMinAngularSpeedTgtPerso (CAM_g_stCameraConstants.xMinAngularSpeedTgtPerso)
#define CAM_C_xEpsilonDynTgtAngle (CAM_g_stCameraConstants.xEpsilonDynTgtAngle)
#define CAM_C_xEpsilonDynTgtFocalAngle (CAM_g_stCameraConstants.xEpsilonDynTgtFocalAngle)
#define CAM_C_xEpsilonForEqualVectors (CAM_g_stCameraConstants.xEpsilonForEqualVectors)
#define CAM_C_xMinDistPerso (_p_stStruct->hCineinfoWork->xBoundDistMin)
#define CAM_C_xMinDistPersoToComputePos (MTH_M_xAdd(CAM_C_xMinDistPerso, CAM_g_stCameraConstants.xOffsetMinDistPerso))
#define CAM_C_xDistanceForNoCut (CAM_g_stCameraConstants.xDistanceForNoCut)
#define CAM_C_xDynSpeed_LinearFactNorm (CAM_g_stCameraConstants.xDynSpeed_LinearFactNorm)
#define CAM_C_xDynSpeed_LinearMax (CAM_g_stCameraConstants.xDynSpeed_LinearMax)
#define CAM_C_xDynSpeed_LinearMulPerso (CAM_g_stCameraConstants.xDynSpeed_LinearMulPerso)
#define CAM_C_xDynSpeed_AngularFactNorm (CAM_g_stCameraConstants.xDynSpeed_AngularFactNorm)
#define CAM_C_xDynSpeed_AngularMax (CAM_g_stCameraConstants.xDynSpeed_AngularMax)
#define CAM_C_xDynSpeed_AngularMulPerso (CAM_g_stCameraConstants.xDynSpeed_AngularMulPerso)
#define CAM_C_xDynSpeed_TargetFactNorm (CAM_g_stCameraConstants.xDynSpeed_TargetFactNorm)
#define CAM_C_xDynSpeed_TargetMax (CAM_g_stCameraConstants.xDynSpeed_TargetMax)
#define CAM_C_xDynSpeed_TargetMulPerso (CAM_g_stCameraConstants.xDynSpeed_TargetMulPerso)
#define CAM_C_xNumRayCameraCanGo (CAM_g_stCameraConstants.xNumRayCameraCanGo)
#define CAM_C_xNumRayCameraCanSee (CAM_g_stCameraConstants.xNumRayCameraCanSee)
#define CAM_C_xTickTestVisibility (CAM_g_stCameraConstants.xTickTestVisibility)
#define CAM_C_xTickFindBetterPos (CAM_g_stCameraConstants.xTickFindBetterPos)
#define CAM_C_xTickFindBetterPosIfNoMove (CAM_g_stCameraConstants.xTickFindBetterPosIfNoMove)
#define CAM_C_xTickFailureCantSee (CAM_g_stCameraConstants.xTickFailureCantSee)
#define CAM_C_xCutAngleFactorPos (CAM_g_stCameraConstants.xCutAngleFactorPos)
#define CAM_C_xCutAngleFactorTgt (CAM_g_stCameraConstants.xCutAngleFactorTgt)
#define CAM_C_xTickTimeTestVisibility (MTH_M_xMul(MTH_M_xFloatToReal(CAM_g_stCameraConstants.xTickTestVisibility*1000.0f),g_stEngineStructure.stEngineTimer.xFrameLength))
#define CAM_C_xTickTimeFindBetterPos (MTH_M_xMul(MTH_M_xFloatToReal(CAM_g_stCameraConstants.xTickFindBetterPos*1000.0f),g_stEngineStructure.stEngineTimer.xFrameLength))
#define CAM_C_xTickTimeFindBetterPosIfNoMove (MTH_M_xMul(MTH_M_xFloatToReal(CAM_g_stCameraConstants.xTickFindBetterPosIfNoMove*1000.0f),g_stEngineStructure.stEngineTimer.xFrameLength))
#define CAM_C_xTickTimeFailureCantSee (MTH_M_xMul(MTH_M_xFloatToReal(CAM_g_stCameraConstants.xTickFailureCantSee*1000.0f),g_stEngineStructure.stEngineTimer.xFrameLength))
/*
**************************************************************************************************
**************************************************************************************************
DEFINITION FOR SCRIPT
**************************************************************************************************
**************************************************************************************************
*/
#define C_SectionCineinfoDescription "Cineinfo"
#define C_CAM_EntryShiftTarget "ShiftTarget"
#define C_CAM_EntryShiftPos "ShiftPos"
#define C_CAM_EntryDistance "Distance"
#define C_CAM_EntryAlpha "Alpha"
#define C_CAM_EntryTheta "Theta"
#define C_CAM_EntryLinearSpeed "LinearSpeed"
#define C_CAM_EntryAngularSpeed "AngularSpeed"
#define C_CAM_EntryTargetSpeed "TargetSpeed"
#define C_CAM_EntryDNMFlags "DNMFlags"
#define C_CAM_EntryIAFlags "IAFlags"
#define C_CAM_EntryFocal "Focal"
#define C_CAM_EntryZMinMax "ZMinMax"
#define C_CAM_EntryViewport "Viewport"
#define C_CAM_EntryChannel "Channel"
#define C_CAM_EntryActivation "Activation"
/*
**************************************************************************************************
**************************************************************************************************
DEFINITION FOR IA Flags
IA Flags are stored in wIAFLags member of CineInfo structure
and is reinitialized for each trame
**************************************************************************************************
**************************************************************************************************
*/
/*
* Flags that can be change in IA (uwIAFlags).
*/
#define C_IAFlags_NoDynamicTarget 0x0001
#define C_IAFlags_NoAverageMoveTgtPerso 0x0002
#define C_IAFlags_NoParseCutAngle 0x0004
#define C_IAFlags_NoVisibility 0x0008
#define C_IAFlags_NoVisibilityWithDynHie 0x0010
#define C_IAFlags_NoDynChangeTheta 0x0020
#define C_IAFlags_NoShiftUntilPosReached 0x0040
#define C_IAFlags_NoDynSpeed 0x0080
#define C_IAFlags_User 0x0FFF
/*
* Can't change that flags. They are in internal cineinfo just to change them temporary
* (by changing them in cineinfo work).
*/
#define C_IAFlags_TargetIsAlreadyComputed 0x1000
#define C_IAFlags_PositionIsAlreadyComputed 0x2000
#define C_IAFlags_RefAxisIsAlreadyComputed 0x4000
/*
* Private flags.
* Erased at each trame (ucVolatileIAFlags).
*/
#define C_VolIAFlags_CurrentAlreadyCopiedInWork 0x01
#define C_VolIAFlags_InitJustCopiedInCurrent 0x02
#define C_VolIAFlags_CameraNotMove 0x04
/*
* Private flags.
* Persistent (ucPersistentIAFlags).
*/
#define C_PerIAFlags_ShowInfo 0x01
#define C_PerIAFlags_VisibilityCopied 0x02
#define C_PerIAFlags_NoShift 0x04
#define C_PerIAFlags_ConstraintMoveVisFailure 0x08
#define C_PerIAFlags_PosIsForced 0x10
/*
**************************************************************************************************
**************************************************************************************************
CINEINFO STRUCTURE DEFINITION
=> Internal
=> General
**************************************************************************************************
**************************************************************************************************
*/
#if defined(D_CineInfo_StructureDefine)
struct tdstInternalStructurCineinfo_
{
/* Offset to add to the position of the new position. This is the point looked by the camera. */
MTH3D_tdstVector stShiftTarget;
/* Offset to add to the position of the target */
MTH3D_tdstVector stShiftPos;
/* Define distance */
MTH_tdxReal xDistMin;
MTH_tdxReal xDistMax;
MTH_tdxReal xBoundDistMin;
MTH_tdxReal xBoundDistMax;
/* Angle Alpha (axe rotation around axis Z) */
MTH_tdxReal xAngleAlpha;
MTH_tdxReal xAngleShiftAlpha;
/* Angle Theta (axe rotation around axis X) */
MTH_tdxReal xAngleTheta;
MTH_tdxReal xAngleShiftTheta;
/* Datas of Camera Linear Speed */
MTH_tdxReal xLinearSpeed;
MTH_tdxReal xLinearIncreaseSpeed;
MTH_tdxReal xLinearDecreaseSpeed;
/* Datas of Camera Angular Speed */
MTH_tdxReal xAngularSpeed;
MTH_tdxReal xAngularIncreaseSpeed;
MTH_tdxReal xAngularDecreaseSpeed;
/* Datas of Camera Angular Speed */
MTH_tdxReal xTargetSpeed;
MTH_tdxReal xTargetIncreaseSpeed;
MTH_tdxReal xTargetDecreaseSpeed;
/* Focal */
MTH_tdxReal xFocal;
/* Camera Altitude */
MTH_tdxReal xZMin;
MTH_tdxReal xZMax;
/* Super object targeted by camera */
HIE_tdxHandleToSuperObject hSuperObjectTargeted;
HIE_tdxHandleToSuperObject hSecondSuperObjectTargeted;
/* Flags of camera */
unsigned short uwDNMFlags; /* For mechanics */
unsigned short uwIAFlags; /* For IA */
/*
* 0 : pas de viewport associe
* 1 : viewport principal
* 2 : viewport secondaire
*/
enum e_ucListViewport_ eTypeOfViewport;
/*
* Number of channel
*/
char cChannel;
/* Activity */
ACP_tdxBool bIsActive;
};
/*
*=================================================================================================
*=================================================================================================
*/
/* ANNECY MT - 25/08/98 {*/
#define C_ucNbOfCheckedSpeeds 8
typedef struct tdstAveragePosition_
{
struct MTH3D_tdstVector_ a_CheckedSpeed[C_ucNbOfCheckedSpeeds];
struct MTH3D_tdstVector_ a_CheckedPos[C_ucNbOfCheckedSpeeds];
MTH_tdxReal a_CheckedTime[C_ucNbOfCheckedSpeeds];
}tdstAveragePosition;
typedef struct tdstSightAxisSystem_
{
struct MTH3D_tdstVector_ SightAxis;
struct MTH3D_tdstVector_ FirstComplementaryAxis;
struct MTH3D_tdstVector_ SecondComplementaryAxis;
}tdstSightAxisSystem;
/* END ANNECY MT }*/
/*
*=================================================================================================
*=================================================================================================
*/
struct tdstCineinfo_
{
/******************************************/
/* Internal structures */
/******************************************/
struct tdstInternalStructurCineinfo_ *hInit;
struct tdstInternalStructurCineinfo_ *hCurrent;
struct tdstInternalStructurCineinfo_ *hVisibility;
struct tdstInternalStructurCineinfo_ *hWork;
/******************************************/
/* Fields only accessibles by programmers */
/******************************************/
/*
* For visibility.
*/
MTH3D_tdstVector stLastFailedOrigin;
MTH3D_tdstVector stLastFailedWanted;
/*
* To force targeted point, or camera position.
*/
MTH3D_tdstVector stForceTarget;
MTH3D_tdstVector stForcePosition;
MTH3D_tdstVector stForceRefAxisY;
MTH3D_tdstVector stForceRefAxisZ;
/*
* When a second super object is defined.
*/
MTH_tdxReal xApexRatio;
/*
* To save delta angle when cutting.
*/
MTH_tdxReal xLastDeltaCut;
/*
* State
*/
enum e_ucCameraStates_ eState;
/*
* Counters.
* 1 : To test better pos
* 2 : To test visibility
* 3 : Failure if we can't see target during this number of trames
* 4 : To count the time the camera is not moving.
*/
/* ANNECY MT - 03/08/99 { */
/*
short wCounter1;
short wCounter2;
short wCounter3;
short wCounter4;
*/
MTH_tdxReal xCounter1;
MTH_tdxReal xCounter2;
MTH_tdxReal xCounter3;
MTH_tdxReal xCounter4;
/* END ANNECY MT } */
/*
* Private flags of camera.
*/
unsigned char ucVolIAFlags;
unsigned char ucPerIAFlags;
/* When cutting angles */
char cLastCutAngleSens;
/* ANNECY MT - 25/08/98 {*/
/*arrays on positions and speeds on the character*/
struct tdstAveragePosition_ AveragePosition;
/*list on the used requests*/
struct tdstSightAxisSystem_ stSightAxisSystem;
/* END ANNECY MT }*/
ACP_tdxBool bCanDoBestPos;
};
#endif /* D_CineInfo_StructureDefine */
/*
**************************************************************************************************
**************************************************************************************************
Handle define
**************************************************************************************************
**************************************************************************************************
*/
typedef struct tdstInternalStructurCineinfo_ *MS_tdxHandleToInternalCineinfo;
typedef struct tdstCineinfo_ *MS_tdxHandleToCineinfo;
typedef struct tdstAveragePosition_ *MS_tdxHandleToAveragePosition;
typedef struct tdstSightAxisSystem_ *MS_tdxHandleToSightAxisSystem;
/*
* macro to get internal cine info from camera super object
*/
#define M_GetCineinfo(_p_stSuperObject_, _Name_)\
(\
(MS_tdxHandleToInternalCineinfo)\
(\
(\
M_GetMSHandle(_p_stSuperObject_,Cineinfo)\
)\
->h##_Name_\
)\
)
/*
* macro to get internal cineinfo from cineinfo struct
*/
#define M_GetInternalCineinfo(_hCineinfo_, _Name_)\
(\
(MS_tdxHandleToInternalCineinfo)\
(\
(\
(MS_tdxHandleToCineinfo)(_hCineinfo_)\
)\
->h##_Name_\
)\
)
/*
**************************************************************************************************
**************************************************************************************************
Access Functions for fields in the internal structure
**************************************************************************************************
**************************************************************************************************
*/
extern CPA_EXPORT MTH3D_tdstVector *CAM_fn_p_stCineInfoGetShiftTarget(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetShiftTarget(MS_tdxHandleToInternalCineinfo _hIntCineinfo, MTH3D_tdstVector *_p_stLookVertex);
extern CPA_EXPORT MTH3D_tdstVector *CAM_fn_p_stCineInfoGetShiftPos(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetShiftPos(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH3D_tdstVector *_p_stShiftPerso);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetDistMin(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetDistMin(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xDistance);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetDistMax(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetDistMax(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xDistance);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetBoundDistMin(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetBoundDistMin(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xDistance);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetBoundDistMax(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetBoundDistMax(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xDistance);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetAngleAlpha(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetAngleAlpha(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xAngle);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetAngleShiftAlpha(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetAngleShiftAlpha(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xAngle);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetAngleTheta(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetAngleTheta(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xAngle);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetAngleShiftTheta(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetAngleShiftTheta(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xAngle);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetLinearSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetLinearSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xSpeed);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetLinearIncreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetLinearIncreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xInertia);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetLinearDecreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetLinearDecreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xInertia);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetAngularSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetAngularSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xAngle);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetAngularIncreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetAngularIncreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xInertia);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetAngularDecreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetAngularDecreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xInertia);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetTargetSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetTargetSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xSpeed);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetTargetIncreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetTargetIncreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xInertia);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetTargetDecreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetTargetDecreaseSpeed(MS_tdxHandleToInternalCineinfo _hIntCineinfo,MTH_tdxReal _xInertia);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetFocal(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetFocal(MS_tdxHandleToInternalCineinfo _hIntCineinfo, MTH_tdxReal _xAngle);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetZMin(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetZMin(MS_tdxHandleToInternalCineinfo _hIntCineinfo, MTH_tdxReal _xZ);
extern CPA_EXPORT MTH_tdxReal CAM_fn_xCineInfoGetZMax(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetZMax(MS_tdxHandleToInternalCineinfo _hIntCineinfo, MTH_tdxReal _xZ);
extern CPA_EXPORT HIE_tdxHandleToSuperObject CAM_fn_hCineInfoGetSuperObjectTargeted(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetSuperObjectTargeted( MS_tdxHandleToInternalCineinfo _hIntCineinfo, HIE_tdxHandleToSuperObject _hSuperObject );
extern CPA_EXPORT unsigned short CAM_fn_uwCineInfoGetDNMFlags(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetDNMFlags(MS_tdxHandleToInternalCineinfo _hIntCineinfo,unsigned short _uwFlag);
extern CPA_EXPORT unsigned short CAM_fn_uwCineInfoGetIAFlags(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetIAFlags(MS_tdxHandleToInternalCineinfo _hIntCineinfo,unsigned short _uwFlag);
extern CPA_EXPORT enum e_ucCameraStates_ CAM_fn_eCineInfoGetState(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetState(MS_tdxHandleToInternalCineinfo _hIntCineinfo,enum e_ucCameraStates_ _eState);
extern CPA_EXPORT enum e_ucListViewport_ CAM_fn_eCineInfoGetTypeOfViewport(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetTypeOfViewport(MS_tdxHandleToInternalCineinfo _hIntCineinfo,enum e_ucListViewport_ _eType);
extern CPA_EXPORT ACP_tdxBool CAM_fn_bCineInfoGetIsActive(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetIsActive(MS_tdxHandleToInternalCineinfo _hIntCineinfo,ACP_tdxBool _bIsActive);
extern CPA_EXPORT char CAM_fn_cCineInfoGetChannel(MS_tdxHandleToInternalCineinfo _hIntCineinfo);
extern CPA_EXPORT void CAM_fn_vCineInfoSetChannel(MS_tdxHandleToInternalCineinfo _hIntCineinfo,char _cChannel);
/*
**************************************************************************************************
**************************************************************************************************
Base functions
**************************************************************************************************
**************************************************************************************************
*/
extern CPA_EXPORT void CAM_fn_vInitCompleteCineinfo(MS_tdxHandleToCineinfo _hCineinfo);
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue CAM_fn_eCineinfoScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action _eAction);
#endif /* U64 */
extern CPA_EXPORT unsigned long CAM_fn_ulCineinfoSizeOf( void );
extern CPA_EXPORT unsigned long CAM_fn_ulCineinfoInternalSizeOf( void );
extern CPA_EXPORT void CAM_fn_vCineinfoAlloc(struct tdstEngineObject_ *_p_stObject);
extern CPA_EXPORT MS_tdxHandleToCineinfo CAM_fn_hCineinfoRealAlloc( void );
extern CPA_EXPORT MS_tdxHandleToInternalCineinfo CAM_fn_hCineinfoInternalRealAlloc( void );
extern CPA_EXPORT void CAM_fn_vCineinfoFree(struct tdstEngineObject_ *_p_stObject);
extern CPA_EXPORT void CAM_fn_vCineinfoInit(struct tdstEngineObject_ *_p_stObject,enum tdeObjectTreeInit_ _eObjectInit);
extern CPA_EXPORT void CAM_fn_vCineinfoDesinit(struct tdstEngineObject_ *_p_stObject,enum tdeObjectTreeInit_ _eObjectInit);
extern CPA_EXPORT void CAM_fn_vCineinfoCopyClone(struct tdstEngineObject_ *_p_stObjectDest,struct tdstEngineObject_ *_p_stObjectSrc);
extern CPA_EXPORT void fn_vGetPersoSightAxisSystem(MS_tdxHandleToCineinfo _hCineinfo,MTH3D_tdstVector *_p_stSightAxis,MTH3D_tdstVector *_p_stFirstComplementaryAxis,MTH3D_tdstVector *_p_stSecondComplementaryAxis);
extern CPA_EXPORT void Cineinfo_fn_vReadBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
extern CPA_EXPORT unsigned long IntStrCineInfo_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
extern CPA_EXPORT unsigned long Cineinfo_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
/*
**************************************************************************************************
**************************************************************************************************
Special functions
**************************************************************************************************
**************************************************************************************************
*/
extern CPA_EXPORT HIE_tdxHandleToSuperObject CAM_fn_hGetMainActiveCamera(HIE_tdxHandleToSuperObject hSuperObject);
extern void CAM_fn_vLoadCameraConstants(void);
extern CPA_EXPORT void CAM_fn_vSetCameraInList(HIE_tdxHandleToSuperObject _hSupObjectCamera);
extern CPA_EXPORT void CAM_fn_vDeleteCameraInList(HIE_tdxHandleToSuperObject _hSupObjectCamera);
/*extern CPA_EXPORT void CAM_fn_vCameraActivedByEditor(HIE_tdxHandleToSuperObject _hSuperObject);*/
/*extern CPA_EXPORT void CAM_fn_vCameraDesactivedByEditor(HIE_tdxHandleToSuperObject _hSuperObject);*/
extern CPA_EXPORT void CAM_fn_vSetCineinfoCurrentFromInit(MS_tdxHandleToCineinfo _hCineinfo);
extern CPA_EXPORT void CAM_fn_vSetCineinfoWorkFromCurrent(MS_tdxHandleToCineinfo _hCineinfo);
extern CPA_EXPORT void CAM_fn_vSetCineinfoVisibilityFromCurrent(MS_tdxHandleToCineinfo _hCineinfo);
extern CPA_EXPORT void CAM_fn_vSetCineinfoCurrentFromVisibility(MS_tdxHandleToCineinfo _hCineinfo);
extern CPA_EXPORT void CAM_fn_vSetCineinfoWorkFromVisibility(MS_tdxHandleToCineinfo _hCineinfo);
/*
**************************************************************************************************
**************************************************************************************************
*/
/* ANNECY MT 26/08/98 {*/
/*extern CPA_EXPORT void fn_vCineinfoSetCheckedSpeed (MS_tdxHandleToCineinfo _hCineinfo,unsigned long _ul,struct MTH3D_tdstVector_*p_Speed);*/
/*extern CPA_EXPORT void fn_vCineinfoSetCheckedPos (MS_tdxHandleToCineinfo _hCineinfo,unsigned long _ul,struct MTH3D_tdstVector_*p_Pos);*/
/*extern CPA_EXPORT void fn_vCineinfoSetCheckedTime (MS_tdxHandleToCineinfo _hCineinfo,unsigned long _ul,MTH_tdxReal _dt);*/
extern CPA_EXPORT void fn_vCineinfoSetSightAxis (MS_tdxHandleToCineinfo _hCineinfo,struct MTH3D_tdstVector_*p_stVector);
extern CPA_EXPORT void fn_vCineinfoSetFirstComplementaryAxis (MS_tdxHandleToCineinfo _hCineinfo,struct MTH3D_tdstVector_*p_stVector);
extern CPA_EXPORT void fn_vCineinfoSetSecondComplementaryAxis (MS_tdxHandleToCineinfo _hCineinfo,struct MTH3D_tdstVector_*p_stVector);
extern CPA_EXPORT void fn_vCineinfoSetSightAxisSystem (MS_tdxHandleToCineinfo _hCineinfo,struct tdstSightAxisSystem_ *p_stAxisSystem);
/*extern CPA_EXPORT MTH3D_tdstVector *fn_p_CineinfoGetCheckedSpeed(MS_tdxHandleToCineinfo _hCineinfo,unsigned long _ul);*/
/*extern CPA_EXPORT MTH_tdxReal fn_xCineinfoGetCheckedTime (MS_tdxHandleToCineinfo _hCineinfo,unsigned long _ul);*/
/*extern CPA_EXPORT MTH3D_tdstVector *fn_p_CineinfoGetCheckedPos (MS_tdxHandleToCineinfo _hCineinfo,unsigned long _ul);*/
extern CPA_EXPORT void CAM_fn_vRemindSpeed (MS_tdxHandleToCineinfo _hCineinfo,MTH_tdstMove *_p_Speed);
extern CPA_EXPORT void CAM_fn_vRemindPos (MS_tdxHandleToCineinfo _hCineinfo,MTH_tdstMove *_p_Pos);
extern CPA_EXPORT void CAM_fn_vRemindTime (MS_tdxHandleToCineinfo _hCineinfo,MTH_tdxReal _dt);
extern CPA_EXPORT void CAM_fn_vAverageSpeed (MS_tdxHandleToCineinfo _hCineinfo,MTH_tdxReal xTimeWindow,MTH3D_tdstVector *p_result);
extern CPA_EXPORT void CAM_fn_vAveragePosition (MS_tdxHandleToCineinfo _hCineinfo,MTH_tdxReal xTimeWindow,MTH3D_tdstVector *p_result);
extern CPA_EXPORT void CAM_fn_vUpdateTargetPosition(MS_tdxHandleToCineinfo _hCineinfo);
/* END ANNECY MT }*/
#if defined(__cplusplus)
}
#endif /* __cplusplus */
#endif /* __CINEINFO_H__ */