/*========================================================================= * 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__ */