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

141 lines
5.8 KiB
C

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