reman3/Rayman_X/cpa/public/SCT/SectExt.h

574 lines
25 KiB
C

/*SectExt.h*/
#ifndef __SECTOREXT
#define __SECTOREXT
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* For DLL using these function :*/
#undef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
/*Prototypes*/
/*This function is used to know Sector Change History with the number of change (0=no change)*/
extern CPA_EXPORT ACP_tdxIndex SCT_fn_xGetSectorChangeHistory(HIE_tdxHandleToSuperObject **_p_hHistory);
/*This function is used when we need to know in each sector where we are*/
extern CPA_EXPORT HIE_tdxHandleToSuperObject SECT_fn_hResearchInWhatSectorIAm(HIE_tdxHandleToSuperObject _SECT_hFatherSector,
MTH3D_tdstVector *_p_stAbsolutePosition);
/*This function allows the script to read correctly the .sct*/
extern CPA_EXPORT BOOL SECT_fn_bInitSectorLoading(void);
extern CPA_EXPORT BOOL SECT_fn_bIsInBorderBox (MTH3D_tdstVector *_p_stPosition, SECT_tdxHandleOfSectorObject _hSector);
/* Binary exports*/
extern CPA_EXPORT
unsigned long SCT_fn_ulReadSectorBinaryBloc(
char *_p_cLoadedBuffer,
unsigned long _ulLoadedBufferSize);
extern CPA_EXPORT
void SCT_fn_vReadAllSectorBinaryBlocs(
char *_szBinaryFileName);
extern CPA_EXPORT
unsigned long SCT_fn_ulWriteBinaryBloc(
unsigned long _ulStructAddress,
char *_p_cDestBuffer);
extern CPA_EXPORT
void SCT_fn_vWriteAllSectorBinaryBlocs(
char *_szBinaryFileName);
extern CPA_EXPORT
void SCT_fn_vPrepareSaveBinaryBloc(
void);
extern CPA_EXPORT
SECT_tdxHandleOfSectorObject SCT_fn_hLoadSector(
char *_szSectionName);
extern CPA_EXPORT
void SCT_fn_vResolveAllSectorBinaryBlocs(
void);
extern CPA_EXPORT void SCT_fn_vReadAllSectorBinaryBlocs2(char *_szBinaryFileName);
extern CPA_EXPORT void SCT_fn_vResolveSectorBinaryBloc2(unsigned long _ulAddress);
/*This function is used to display the scene with the use of the graphical interaction */
/* with water effect according position of camera*/
extern CPA_EXPORT void SCT_fn_vSendSectorWhereIAmToViewport(
MTH3D_tdstVector *_p_stAbsolutePositionOfCamera,
struct GLD_tdstViewportAttributes_ *_p_stVpt,
HIE_tdxHandleToSuperObject _hSprObjSector ,
long _lDrawMask
);
/* Function to optimize mirror search in hierarchy*/
extern CPA_EXPORT void SCT_fn_vInitMirrorFlagForAllSectors(HIE_tdxHandleToSuperObject _hStaticRoot);
/*The new function with mirror*/
extern CPA_EXPORT void SCT_fn_vSendSectorWhereIAmToViewportWithMirror(
MTH3D_tdstVector *_p_stAbsolutePositionOfCamera,
GLD_tdhDevice _hDevice,
GLD_tdhViewport _hViewport,
struct GLD_tdstViewportAttributes_ *_p_stVpt,
HIE_tdxHandleToSuperObject _hSprObjSector ,
long _lDrawMask
);
/*From sectdraw*/
extern void SECT_fn_vSendDynamicLightsFromWhereIAmToViewport(
struct GLD_tdstViewportAttributes_ *_p_stVpt,
HIE_tdxHandleToSuperObject _hSprObjSector
);
/*This function is used to display the scene with the use of the graphical interaction*/
extern CPA_EXPORT void SECT_fn_vSendSectorWhereIAmToViewport ( struct GLD_tdstViewportAttributes_ *p_stVpt ,
HIE_tdxHandleToSuperObject hSprObjSector ,
long lDrawMask
);
/*This function is used to display all the world*/
extern CPA_EXPORT void SECT_fn_vSendAllSectorsToViewport ( struct GLD_tdstViewportAttributes_ *_p_stVpt ,
HIE_tdxHandleToSuperObject _hSprObjSectorFather ,
long _lDrawMask
);
/*This function is used to notice if we change of sector with a history*/
extern CPA_EXPORT void SCT_fn_vTestChangeSectorWithHistory(
MTH3D_tdstVector *_p_stBeforeAbsolutePosition,
MTH3D_tdstVector *_p_stAfterAbsolutePosition,
HIE_tdxHandleToSuperObject *_p_hSectorSOWhereIWas
);
/*This function is used to initialyse the light buffer*/
extern CPA_EXPORT void SCT_fn_vComputeAllLightBuffer (GLD_tdhDevice _hDevice,
GLD_tdhViewport _hViewport ,
HIE_tdxHandleToSuperObject _hSprObjFatherOfSector);
/*This function is used to notice if we change of sector*/
extern CPA_EXPORT void SECT_fn_vTestChangeSector(
MTH3D_tdstVector *p_stBeforeAbsolutePosition,
MTH3D_tdstVector *p_stAfterAbsolutePosition,
HIE_tdxHandleToSuperObject *p_hSectorSOWhereIWas
);
/*This function is used to correct the break of smoothing*/
extern CPA_EXPORT void fn_vGeneralCoherenceOfSmoothing(HIE_tdxHandleToSuperObject hSprObjSector);
/*This function have to be used after any load of map*/
extern CPA_EXPORT void SCT_fn_vInitMaterialForGoThrough(void);
/*This function is used in order to display all GoThroughs below _hSprObjFatherOfSector*/
extern CPA_EXPORT void SECT_fn_vSendAllGoThroughOfSectorToViewport ( struct GLD_tdstViewportAttributes_ *_p_stVpt ,
HIE_tdxHandleToSuperObject _hSprObjFatherOfSector
);
/* Function to know if a sector is virtual or not*/
extern CPA_EXPORT ACP_tdxBool SECT_fn_bIsThisSectorVirtual (HIE_tdxHandleToSuperObject _hSprObjSector);
/* Function to know if a sector is virtual or not*/
extern CPA_EXPORT ACP_tdxBool SECT_fn_bIsThisSectorUniverse (HIE_tdxHandleToSuperObject _hSprObjSector);
/*Link table*/
#if !defined(U64)
extern CPA_EXPORT SCR_tdst_Link_Table *SECT_fn_pGetLinkTable(void);
#endif /* U64 */
extern CPA_EXPORT void SECT_fn_vDisinit(void);
/* take pointer in the element*/
/* ANNECY AV {*/
/* All this functions are now inline function
extern CPA_EXPORT GLI_tdxHandleToLight SECT_GetDNMLightsInList(
SECT_tdxHandleOfElementLstDNMLights hDNMLightsList);
extern CPA_EXPORT GLI_tdxHandleToLight SECT_GetStaticLightsInList(
SECT_tdxHandleOfElementLstStaticLights hStaticLightsList);
extern CPA_EXPORT HIE_tdxHandleToSuperObject SECT_GetCharacterInList(
SECT_tdxHandleOfElementLstCharacter
);
extern CPA_EXPORT HIE_tdxHandleToSuperObject SECT_GetSectorInCollisionList(
SECT_tdxHandleOfElementLstCollisionInteraction
);
extern CPA_EXPORT HIE_tdxHandleToSuperObject SECT_GetSectorInActivityList(
SECT_tdxHandleOfElementLstActivityInteraction
);
extern CPA_EXPORT HIE_tdxHandleToSuperObject SECT_GetSectorInGraphicList(
SECT_tdxHandleOfElementLstGraphicInteraction
);
extern CPA_EXPORT short SCT_fn_wGetLODInGraphicList(SECT_tdxHandleOfElementLstGraphicInteraction hGraphicList);
extern CPA_EXPORT HIE_tdxHandleToSuperObject SECT_GetSectorInSoundList(
SECT_tdxHandleOfElementLstSoundInteraction
);
extern CPA_EXPORT long SCT_fn_lGetVolumeInSoundList(SECT_tdxHandleOfElementLstSoundInteraction hSoundList);
extern CPA_EXPORT HIE_tdxHandleToSuperObject SCT_fn_hGetSectorInSoundEventList(SCT_tdxHandleOfLstSoundEvent hSoundEventList);
extern CPA_EXPORT SND_tdxHandleToSoundEvent SCT_fn_uGetSoundEventInSoundEventList(SCT_tdxHandleOfLstSoundEvent hSoundEventList);
// Function to use list
extern CPA_EXPORT SECT_tdxHandleOfElementLstDNMLights SECT_fn_hGetFirstDNMLightsListInSector(
HIE_tdxHandleToSuperObject
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstDNMLights SECT_fn_hGetNextDNMLightsListInSector(
SECT_tdxHandleOfElementLstDNMLights
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstStaticLights SECT_fn_hGetFirstStaticLightsListInSector(
HIE_tdxHandleToSuperObject
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstStaticLights SECT_fn_hGetNextStaticLightsListInSector(
SECT_tdxHandleOfElementLstStaticLights
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstCharacter SECT_fn_hGetFirstCharListInSector(HIE_tdxHandleToSuperObject);
extern CPA_EXPORT SECT_tdxHandleOfElementLstCharacter SECT_fn_hGetNextCharListInSector(
SECT_tdxHandleOfElementLstCharacter
);
extern CPA_EXPORT long SECT_fn_lGetNbCharListInSector(HIE_tdxHandleToSuperObject _hSector);
extern CPA_EXPORT SECT_tdxHandleOfElementLstCollisionInteraction SECT_fn_hGetFirstCollisionNodeInCollisionList(
HIE_tdxHandleToSuperObject
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstCollisionInteraction SECT_fn_hGetNextCollisionNodeInCollisionList(
SECT_tdxHandleOfElementLstCollisionInteraction
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstActivityInteraction SECT_fn_hGetFirstActivityNodeInActivityList(
HIE_tdxHandleToSuperObject
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstActivityInteraction SECT_fn_hGetNextActivityNodeInActivityList(
SECT_tdxHandleOfElementLstActivityInteraction
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstGraphicInteraction SECT_fn_hGetFirstGraphicNodeInGraphicList(
HIE_tdxHandleToSuperObject
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstGraphicInteraction SECT_fn_hGetNextGraphicNodeInGraphicList(
SECT_tdxHandleOfElementLstGraphicInteraction
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstSoundInteraction SECT_fn_hGetFirstSoundNodeInSoundList(
HIE_tdxHandleToSuperObject
);
extern CPA_EXPORT SECT_tdxHandleOfElementLstSoundInteraction SECT_fn_hGetNextSoundNodeInSoundList(
SECT_tdxHandleOfElementLstSoundInteraction
);
extern CPA_EXPORT SCT_tdxHandleOfLstSoundEvent SCT_fn_hGetFirstSoundEventNodeInSoundEventList(HIE_tdxHandleToSuperObject _hSector);
extern CPA_EXPORT SCT_tdxHandleOfLstSoundEvent SCT_fn_hGetNextSoundEventNodeInSoundEventList(SCT_tdxHandleOfLstSoundEvent _hSoundEventNode);
*/
/* END ANNECY AV }*/
extern CPA_EXPORT void SECT_fn_vIsolateCharListNode(SECT_tdxHandleOfElementLstCharacter);
extern CPA_EXPORT void SECT_fn_vAddTailCharListNode(HIE_tdxHandleToSuperObject,SECT_tdxHandleOfElementLstCharacter);
extern CPA_EXPORT void SECT_fn_vAddHeadCharListNode(HIE_tdxHandleToSuperObject,SECT_tdxHandleOfElementLstCharacter);
extern CPA_EXPORT void SECT_fn_vIsolateDNMLightsListNode(SECT_tdxHandleOfElementLstDNMLights);
extern CPA_EXPORT void SECT_fn_vAddTailDNMLightsListNode(HIE_tdxHandleToSuperObject,SECT_tdxHandleOfElementLstDNMLights);
#ifdef ACTIVE_EDITOR
extern CPA_EXPORT void SECT_fn_vIsolateStaticLightsListNode(SECT_tdxHandleOfElementLstStaticLights _hNode);
extern CPA_EXPORT void SECT_fn_vDestructStaticLightsListNode(SECT_tdxHandleOfElementLstStaticLights _hNode);
extern CPA_EXPORT void SECT_fn_vAddTailStaticLightsListNode(HIE_tdxHandleToSuperObject,SECT_tdxHandleOfElementLstStaticLights);
#endif /* ACTIVE_EDITOR */
extern CPA_EXPORT SECT_tdxHandleOfElementLstCharacter SECT_fn_hCreateElementLstCharacter(void);
extern CPA_EXPORT SECT_tdxHandleOfElementLstCollisionInteraction SECT_fn_hCreateElementLstCollisionInteraction(void);
extern CPA_EXPORT SECT_tdxHandleOfElementLstActivityInteraction SECT_fn_hCreateElementLstActivityInteraction(void);
extern CPA_EXPORT SECT_tdxHandleOfElementLstGraphicInteraction SECT_fn_hCreateElementLstGraphicInteraction(void);
extern CPA_EXPORT SECT_tdxHandleOfElementLstSoundInteraction SECT_fn_hCreateElementLstSoundInteraction(void);
extern CPA_EXPORT SCT_tdxHandleOfLstSoundEvent SCT_fn_hCreateElementLstSoundEvent(void);
extern CPA_EXPORT SECT_tdxHandleOfElementLstDNMLights SECT_fn_hCreateElementLstDNMLights(void);
extern CPA_EXPORT SECT_tdxHandleOfElementLstStaticLights SECT_fn_hCreateElementLstStaticLights(void);
/* functions to manage the border*/
extern CPA_EXPORT void SECT_fn_vSetMinPointInBorder (SECT_tdxHandleOfSectorObject _hSector,
MTH3D_tdstVector *_p_stMinPoint);
extern CPA_EXPORT void SECT_fn_vSetMaxPointInBorder (SECT_tdxHandleOfSectorObject _hSector,
MTH3D_tdstVector *_p_stMaxPoint);
extern CPA_EXPORT void SECT_fn_vGetMinPointInBorder (SECT_tdxHandleOfSectorObject _hSector,
MTH3D_tdstVector *_p_stMinPoint);
extern CPA_EXPORT void SECT_fn_vGetMaxPointInBorder (SECT_tdxHandleOfSectorObject _hSector,
MTH3D_tdstVector *_p_stMaxPoint);
MTH3D_tdstVector *SECT_fn_p_stGetMinPointInBorder(SECT_tdxHandleOfSectorObject _hSector);
MTH3D_tdstVector *SECT_fn_p_stGetMaxPointInBorder(SECT_tdxHandleOfSectorObject _hSector);
extern CPA_EXPORT void SECT_fn_vGetCenterOfBorder (SECT_tdxHandleOfSectorObject _hSector,
MTH3D_tdstVector *_p_stCenter);
extern CPA_EXPORT void SECT_fn_vComputeBorder (HIE_tdxHandleToSuperObject _hSectorObject);
extern CPA_EXPORT void SECT_fn_vInitAllBorders (HIE_tdxHandleToSuperObject _hSectorRoot);
#ifdef ACTIVE_EDITOR
extern CPA_EXPORT MTH_tdxReal SECT_fn_xGetZmaxOfBorder (SECT_tdxHandleOfSectorObject _hSector);
extern CPA_EXPORT void SECT_fn_vSetZmaxOfBorder (SECT_tdxHandleOfSectorObject _hSector, MTH_tdxReal _xZmaxOfBorder);
extern CPA_EXPORT MTH_tdxReal SECT_fn_xGetRealZmax (SECT_tdxHandleOfSectorObject _hSector);
extern CPA_EXPORT void SECT_fn_vSetRealZmax (SECT_tdxHandleOfSectorObject _hSector, MTH_tdxReal _xZmaxOfBorder);
#endif /*ACTIVE_EDITOR*/
/*functions to set objects*/
extern CPA_EXPORT SECT_tdxHandleOfSectorObject SECT_fn_hCreateSector(void);
extern CPA_EXPORT void SECT_fn_vSetOnVirtualSector(SECT_tdxHandleOfSectorObject hSector);
extern CPA_EXPORT void SECT_fn_vSetOffVirtualSector(SECT_tdxHandleOfSectorObject hSector);
extern CPA_EXPORT void SECT_fn_vSetSectorPriority(SECT_tdxHandleOfSectorObject hSector, char cPriority);
extern CPA_EXPORT char SECT_fn_cGetSectorPriority(SECT_tdxHandleOfSectorObject hSector);
extern CPA_EXPORT void SECT_fn_vSetCharacterPointerInCharacterList(
SECT_tdxHandleOfElementLstCharacter hCharacterElement,
HIE_tdxHandleToSuperObject hSuperObject);
extern CPA_EXPORT void SECT_fn_vSetSectorPointedElementLSTCollisionInt(
SECT_tdxHandleOfElementLstCollisionInteraction hColElement,
HIE_tdxHandleToSuperObject hSectorSuperObject);
extern CPA_EXPORT void SECT_fn_vSetSectorPointedElementLSTActivityInt(
SECT_tdxHandleOfElementLstActivityInteraction hActElement,
HIE_tdxHandleToSuperObject hSectorSuperObject);
extern CPA_EXPORT void SECT_fn_vSetSectorPointedElementLSTGraphicInt(
SECT_tdxHandleOfElementLstGraphicInteraction hGElement,
HIE_tdxHandleToSuperObject hSectorSuperObject);
extern CPA_EXPORT void SECT_fn_vSetLevelElementLSTGraphicInt(SECT_tdxHandleOfElementLstGraphicInteraction hGElement,
short wLevelOfDetail);
/* Begin Shaitan ModeLook*/
extern CPA_EXPORT void SECT_fn_vSetModeElementLSTGraphicInt(SECT_tdxHandleOfElementLstGraphicInteraction hGElement,
char cDisplayMode);
/* End Shaitan ModeLook*/
extern CPA_EXPORT void SECT_fn_vSetSectorPointedElementLSTSoundInt(
SECT_tdxHandleOfElementLstSoundInteraction hSndElement,
HIE_tdxHandleToSuperObject hSectorSuperObject);
extern CPA_EXPORT void SCT_fn_vSetVolumeLSTSoundInt(SECT_tdxHandleOfElementLstSoundInteraction hSndElement,long lVolume);
extern CPA_EXPORT void SCT_fn_vSetSectorPointedElementLSTSoundEvent(
SCT_tdxHandleOfLstSoundEvent hSndEventElement,
HIE_tdxHandleToSuperObject hSectorSuperObject);
extern CPA_EXPORT void SCT_fn_vSetEventListElementLSTSoundEvent(SCT_tdxHandleOfLstSoundEvent hSndEventElement,SND_tdxHandleToSoundEvent hSoundEvent);
extern CPA_EXPORT void SECT_fn_vSetHandleOfLightsInDNMLightsList(
SECT_tdxHandleOfElementLstDNMLights hDNMLightsElement,
GLI_tdxHandleToLight hDNMLights
);
extern CPA_EXPORT void SECT_fn_vSetHandleOfLightsInStaticLightsList(
SECT_tdxHandleOfElementLstStaticLights hStaticLightsElement,
GLI_tdxHandleToLight hStaticLights
);
#if (defined(_DEBUG) || defined(USE_PROFILER))
extern CPA_EXPORT char * fn_szGetSectorName(
HIE_tdxHandleToSuperObject _hSector);
#endif /* _DEBUG || USE_PROFILER */
extern CPA_EXPORT char fn_cGetSectorCameraType(HIE_tdxHandleToSuperObject _hSector);
extern CPA_EXPORT void fn_vSetSectorCameraType(HIE_tdxHandleToSuperObject _hSector, char cType);
/*
* Access function for ZFar
*/
extern CPA_EXPORT MTH_tdxReal fn_xGetSectorZFar(HIE_tdxHandleToSuperObject _hSprObjSector);
extern CPA_EXPORT void fn_vSetSectorZFar(HIE_tdxHandleToSuperObject _hSprObjSector, MTH_tdxReal _xZFar);
extern CPA_EXPORT void SCT_fn_vClearCharacterSectorLink(SECT_tdxHandleOfElementLstCharacter hLstChar);
extern CPA_EXPORT void SCT_fn_vClearLightSectorLink(SECT_tdxHandleOfElementLstDNMLights hLstLight);
#ifdef __cplusplus
};
#endif /* __cplusplus */
/*AR 9808 Function for the "static list" macros*/
/*static __inline SECT_tdxHandleOfElementLstStaticLights SECT_fn_hGetFirstStaticLightsListInSector(HIE_tdxHandleToSuperObject _hSector)
{
return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfStaticLights));
}
static __inline SECT_tdxHandleOfElementLstCollisionInteraction SECT_fn_hGetFirstCollisionNodeInCollisionList(HIE_tdxHandleToSuperObject _hSector)
{
return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInCollisionInteraction));
}
static __inline SECT_tdxHandleOfElementLstActivityInteraction SECT_fn_hGetFirstActivityNodeInActivityList(HIE_tdxHandleToSuperObject _hSector)
{
return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInActivityInteraction));
}
static __inline SECT_tdxHandleOfElementLstGraphicInteraction SECT_fn_hGetFirstGraphicNodeInGraphicList(HIE_tdxHandleToSuperObject _hSector)
{
return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInGraphicInteraction));
}
static __inline SECT_tdxHandleOfElementLstSoundInteraction SECT_fn_hGetFirstSoundNodeInSoundList(HIE_tdxHandleToSuperObject _hSector)
{
return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInSoundInteraction));
}
static __inline SCT_tdxHandleOfLstSoundEvent SCT_fn_hGetFirstSoundEventNodeInSoundEventList(HIE_tdxHandleToSuperObject _hSector)
{
return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSoundEvent));
}
static __inline SECT_tdxHandleOfElementLstStaticLights SECT_fn_hGetNextStaticLightsListInSector(SECT_tdxHandleOfElementLstStaticLights _hStaticLightsList)
{
return(LST2_M_StaticGetNextElement( _hStaticLightsList));
}
static __inline SECT_tdxHandleOfElementLstCollisionInteraction SECT_fn_hGetNextCollisionNodeInCollisionList(SECT_tdxHandleOfElementLstCollisionInteraction _hCollNode)
{
return(LST2_M_StaticGetNextElement( _hCollNode));
}
static __inline SECT_tdxHandleOfElementLstActivityInteraction SECT_fn_hGetNextActivityNodeInActivityList(SECT_tdxHandleOfElementLstActivityInteraction _hActNode)
{
return(LST2_M_StaticGetNextElement( _hActNode));
}
static __inline SECT_tdxHandleOfElementLstGraphicInteraction SECT_fn_hGetNextGraphicNodeInGraphicList(SECT_tdxHandleOfElementLstGraphicInteraction _GraphicNode)
{
return(LST2_M_StaticGetNextElement( _GraphicNode));
}
static __inline SECT_tdxHandleOfElementLstSoundInteraction SECT_fn_hGetNextSoundNodeInSoundList(SECT_tdxHandleOfElementLstSoundInteraction _hSoundNode)
{
return(LST2_M_StaticGetNextElement( _hSoundNode));
}
static __inline SCT_tdxHandleOfLstSoundEvent SCT_fn_hGetNextSoundEventNodeInSoundEventList(SCT_tdxHandleOfLstSoundEvent _hSoundEventNode)
{
return(LST2_M_StaticGetNextElement( _hSoundEventNode));
}
*/
#ifndef CODEWARRIOR
static
#endif
__inline int SECT_fn_iGetNumberOfNodesInStaticLightsList(HIE_tdxHandleToSuperObject hSector)
{
return LST2_M_StaticGetNumberOfElements(&((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(hSector))->stListOfStaticLights);
}
#ifndef CODEWARRIOR
static
#endif
__inline int SECT_fn_iGetNumberOfNodesInCollisionList(HIE_tdxHandleToSuperObject hSector)
{
return LST2_M_StaticGetNumberOfElements(&((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(hSector))->stListOfSectorsInCollisionInteraction);
}
#ifndef CODEWARRIOR
static
#endif
__inline int SECT_fn_iGetNumberOfNodesInActivityInteractionList(HIE_tdxHandleToSuperObject hSector)
{
return LST2_M_StaticGetNumberOfElements(&((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(hSector))->stListOfSectorsInActivityInteraction);
}
#ifndef CODEWARRIOR
static
#endif
__inline int SECT_fn_iGetNumberOfNodesInGraphicInteractionList(HIE_tdxHandleToSuperObject hSector)
{
return LST2_M_StaticGetNumberOfElements(&((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(hSector))->stListOfSectorsInGraphicInteraction);
}
#ifndef CODEWARRIOR
static
#endif
__inline int SECT_fn_iGetNumberOfNodesInSoundInteractionList(HIE_tdxHandleToSuperObject hSector)
{
return LST2_M_StaticGetNumberOfElements(&((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(hSector))->stListOfSectorsInSoundInteraction);
}
#ifndef CODEWARRIOR
static
#endif
__inline int SECT_fn_iGetNumberOfNodesInSoundEventList(HIE_tdxHandleToSuperObject hSector)
{
return LST2_M_StaticGetNumberOfElements(&((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(hSector))->stListOfSoundEvent);
}
/* end AR 9808 Function for the "static list" macros*/
#define SECT_M_ForEachCharListInSector(_hSector,_hCharList,_i) \
for \
( \
_i=0,(_hCharList)=SECT_fn_hGetFirstCharListInSector(_hSector); \
_hCharList; \
_i++,_hCharList=SECT_fn_hGetNextCharListInSector(_hCharList) \
)
#define SECT_M_ForEachXMovingCharListInSector(_hSector,_hCharList,_hNextCharList,_i) \
for \
( \
_i=SECT_fn_lGetNbCharListInSector(_hSector),(_hCharList)=SECT_fn_hGetFirstCharListInSector(_hSector),\
(_hNextCharList)=(_hCharList)?SECT_fn_hGetNextCharListInSector(_hCharList):NULL; \
_hCharList&&_i; \
_i--,_hCharList=_hNextCharList,_hNextCharList?_hNextCharList=SECT_fn_hGetNextCharListInSector(_hNextCharList):NULL \
)
#define SECT_M_ForEachCollisionNodeInCollisionInteractionList(_hSector,_hCollList,_i) \
for \
( \
_i=SECT_fn_iGetNumberOfNodesInCollisionList(_hSector), \
(_hCollList)=SECT_fn_hGetFirstCollisionNodeInCollisionList(_hSector); \
_i>0;/*_hCollList;*/ \
_i--,(_hCollList)=SECT_fn_hGetNextCollisionNodeInCollisionList(_hCollList) \
)
#define SECT_M_ForEachActivityNodeInActivityInteractionList(_hSector,_hActList,_i) \
for \
( \
_i=SECT_fn_iGetNumberOfNodesInActivityInteractionList(_hSector), \
(_hActList)=SECT_fn_hGetFirstActivityNodeInActivityList(_hSector); \
_i>0;/*_hActList;*/ \
_i--,(_hActList)=SECT_fn_hGetNextActivityNodeInActivityList(_hActList) \
)
#define SECT_M_ForEachGraphicNodeInGraphicInteractionList(_hSector,_hGraList,_i) \
for \
( \
_i=SECT_fn_iGetNumberOfNodesInGraphicInteractionList(_hSector), \
(_hGraList)=SECT_fn_hGetFirstGraphicNodeInGraphicList(_hSector); \
_i>0;/*_hGraList;*/ \
_i--,(_hGraList)=SECT_fn_hGetNextGraphicNodeInGraphicList(_hGraList) \
)
#define SECT_M_ForEachSoundNodeInSoundInteractionList(_hSector,_hSoundList,_i) \
for \
( \
_i=SECT_fn_iGetNumberOfNodesInSoundInteractionList(_hSector), \
(_hSoundList)=SECT_fn_hGetFirstSoundNodeInSoundList(_hSector); \
_i>0;/*_hSoundList;*/ \
_i--,(_hSoundList)=SECT_fn_hGetNextSoundNodeInSoundList(_hSoundList) \
)
#define SCT_M_ForEachSoundEventNodeInSoundEventList(_hSector,_hSoundEventList,_i) \
for \
( \
_i=SECT_fn_iGetNumberOfNodesInSoundEventList(_hSector), \
(_hSoundEventList)=SCT_fn_hGetFirstSoundEventNodeInSoundEventList(_hSector); \
_i>0;/*_hSoundEventList;*/ \
_i--,(_hSoundEventList)=SCT_fn_hGetNextSoundEventNodeInSoundEventList(_hSoundEventList) \
)
#define SECT_M_ForEachDNMLightsListInSector(_hSector,_hDNMLightsList,_i) \
for \
( \
_i=0,(_hDNMLightsList)=SECT_fn_hGetFirstDNMLightsListInSector(_hSector); \
_hDNMLightsList; \
_i++,_hDNMLightsList=SECT_fn_hGetNextDNMLightsListInSector(_hDNMLightsList) \
)
#define SECT_M_ForEachStaticLightsListInSector(_hSector,_hStaticLightsList,_i) \
for \
( \
_i=SECT_fn_iGetNumberOfNodesInStaticLightsList(_hSector), \
(_hStaticLightsList)=SECT_fn_hGetFirstStaticLightsListInSector(_hSector); \
_i>0;/*_hStaticLightsList;*/ \
_i--,_hStaticLightsList=SECT_fn_hGetNextStaticLightsListInSector(_hStaticLightsList) \
)
#endif /*__SECTOREXT*/