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

View File

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

View File

@@ -0,0 +1,27 @@
/*SectHand.h*/
#ifndef __SECTHAND
#define __SECTHAND
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
typedef struct SECT_tdstSector_* SECT_tdxHandleOfSectorObject;
typedef struct SECT_tdstListOfSOSectorsInGraphicInteraction_* SECT_tdxHandleOfElementLstGraphicInteraction;
typedef struct SECT_tdstListOfSOSectorsInCollisionInteraction_* SECT_tdxHandleOfElementLstCollisionInteraction;
typedef struct SECT_tdstListOfSOCharacters_* SECT_tdxHandleOfElementLstCharacter;
typedef struct SECT_tdstListOfSOSectorsInActivityInteraction_* SECT_tdxHandleOfElementLstActivityInteraction;
typedef struct SECT_tdstListOfSOSectorsInSoundInteraction_ * SECT_tdxHandleOfElementLstSoundInteraction;
typedef struct SCT_tdstListOfSoundEvent_* SCT_tdxHandleOfLstSoundEvent;
typedef struct SECT_tdstListOfDNMLights_* SECT_tdxHandleOfElementLstDNMLights;
typedef struct SECT_tdstListOfStaticLights_* SECT_tdxHandleOfElementLstStaticLights;
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /*__SECTHAND*/

View File

@@ -0,0 +1,376 @@
/* Sector.h*/
#undef extern
#ifndef __SECTOR
#define __SECTOR
#include "LST.H"
#include "SND.H"
#include "SPO.H"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
LST2_M_DynamicUseListOf(SECT_tdxHandleOfElementLstCharacter);
/* MR0808*/
LST2_M_DynamicUseListOf(SECT_tdxHandleOfElementLstDNMLights);
LST2_M_StaticUseListOf(SECT_tdxHandleOfElementLstStaticLights);
LST2_M_StaticUseListOf(SECT_tdxHandleOfElementLstSoundInteraction);
LST2_M_StaticUseListOf(SECT_tdxHandleOfElementLstActivityInteraction);
LST2_M_StaticUseListOf(SECT_tdxHandleOfElementLstCollisionInteraction);
LST2_M_StaticUseListOf(SECT_tdxHandleOfElementLstGraphicInteraction);
LST2_M_StaticUseListOf(SCT_tdxHandleOfLstSoundEvent);
/*Common Vertices*/
typedef struct SCT_tdstCommonVertices_
{
ACP_tdxIndex xVertexIndex;
ACP_tdxHandleOfObject hPhysicalObject;
} SCT_tdstCommonVertices;
/*End of LST of Characters*/
/*LST of characters*/
typedef struct SECT_tdstListOfSOCharacters_
{
HIE_tdxHandleToSuperObject hPointerOfCharacter;
LST2_M_DynamicElementDeclaration(SECT_tdxHandleOfElementLstCharacter)
} SECT_tdstListOfSOCharacters;
/*End of LST of Characters*/
/* Begin Shaitan ModeLook*/
#define C_SECT_ModeLookOnly 2
#define C_SECT_ModeNormal 0
/* End Shaitan ModeLook*/
/*LST of graphic interaction*/
typedef struct SECT_tdstListOfSOSectorsInGraphicInteraction_
{
short wLevelOfDetail;
/* Begin Shaitan ModeLook*/
char cDisplayMode;
/* End Shaitan ModeLook*/
HIE_tdxHandleToSuperObject hPointerOfSectorSO;
LST2_M_StaticElementDeclaration(SECT_tdxHandleOfElementLstGraphicInteraction)
} SECT_tdstListOfSOSectorsInGraphicInteraction;
/*End of LST of graphic interaction*/
/*LST of collision interaction*/
typedef struct SECT_tdstListOfSOSectorsInCollisionInteraction_
{
HIE_tdxHandleToSuperObject hPointerOfSectorSO;
LST2_M_StaticElementDeclaration(SECT_tdxHandleOfElementLstCollisionInteraction)
} SECT_tdstListOfSOSectorsInCollisionInteraction;
/*End of LST of collision interaction*/
/*LST of Activity interaction*/
typedef struct SECT_tdstListOfSOSectorsInActivityInteraction_
{
HIE_tdxHandleToSuperObject hPointerOfSectorSO;
LST2_M_StaticElementDeclaration(SECT_tdxHandleOfElementLstActivityInteraction)
} SECT_tdstListOfSOSectorsInActivityInteraction;
/*End of LST of Activity interaction*/
/*LST of Sound interaction*/
typedef struct SECT_tdstListOfSOSectorsInSoundInteraction_
{
HIE_tdxHandleToSuperObject hPointerOfSectorSO;
long lVolume;
LST2_M_StaticElementDeclaration(SECT_tdxHandleOfElementLstSoundInteraction)
} SECT_tdstListOfSOSectorsInSoundInteraction;
/*End of LST of Sound interaction*/
/*LST of Sound Event*/
typedef struct SCT_tdstListOfSoundEvent_
{
HIE_tdxHandleToSuperObject hPointerOfSectorSO;
SND_tduRefEvt uSoundEvent;
LST2_M_StaticElementDeclaration(SCT_tdxHandleOfLstSoundEvent)
} SCT_tdstListOfSoundEvent;
/*End of LST of Sound Event*/
/*LST of static lights*/
typedef struct SECT_tdstListOfStaticLights_
{
GLI_tdxHandleToLight hStaticLights;
LST2_M_StaticElementDeclaration(SECT_tdxHandleOfElementLstStaticLights)
} SECT_tdstListOfStaticLights;
/*End of LST of static lights*/
/*LST of DNM lights*/
typedef struct SECT_tdstListOfDNMLights_
{
GLI_tdxHandleToLight hDNMLights;
LST2_M_DynamicElementDeclaration(SECT_tdxHandleOfElementLstDNMLights)
} SECT_tdstListOfDNMLights;
/*End of LST of DNM lights*/
#define C_SectorMinPriority 0
#define C_SectorMaxPriority 127
#define C_SectorNormalPriority 64
typedef struct SECT_tdstSector_
{
LST2_M_DynamicAnchorDeclaration(SECT_tdxHandleOfElementLstCharacter) stListOfCharacters;
LST2_M_StaticAnchorDeclaration(SECT_tdxHandleOfElementLstStaticLights) stListOfStaticLights;
LST2_M_DynamicAnchorDeclaration(SECT_tdxHandleOfElementLstDNMLights) stListOfDNMLights;
/* MR0808*/
LST2_M_StaticAnchorDeclaration(SECT_tdxHandleOfElementLstGraphicInteraction) stListOfSectorsInGraphicInteraction;
LST2_M_StaticAnchorDeclaration(SECT_tdxHandleOfElementLstCollisionInteraction) stListOfSectorsInCollisionInteraction;
LST2_M_StaticAnchorDeclaration(SECT_tdxHandleOfElementLstActivityInteraction) stListOfSectorsInActivityInteraction;
LST2_M_StaticAnchorDeclaration(SECT_tdxHandleOfElementLstSoundInteraction) stListOfSectorsInSoundInteraction;
LST2_M_StaticAnchorDeclaration(SCT_tdxHandleOfLstSoundEvent) stListOfSoundEvent;
MTH3D_tdstVector stMinMaxPoints [2];
#ifdef ACTIVE_EDITOR
MTH_tdxReal xZmaxOfBorder;
MTH_tdxReal xRealZmax;
#endif /*ACTIVE_EDITOR*/
MTH_tdxReal xZFar; /* all object that are farest from camera than this value are clipped*/
/* if value is MTH_C_ZERO there's no far clipping*/
/* FQ SCTSKY*/
#ifdef U64
float fAddU;
float fAddV;
#endif /* U64*/
ACP_tdxBool xVirtual;
char cCameraType;
char cCounter;
char cPriority;
/* FQ SCTSKY*/
void *pSkyVisualMaterial;
unsigned char FogIntensity;
#ifdef U64
unsigned char bUseSky;
#endif /* U64*/
#ifndef U64
#if (defined(_DEBUG) || defined(USE_PROFILER))
char szSectorName[255];
#endif /* _DEBUG || USE_PROFILER */
#endif
}SECT_tdstSector;
/*--------------------------------*/
/* ANNECY AV*/
/* Inline functions to go faster*/
/*--------------------------------*/
#ifndef CODEWARRIOR
static
#endif
__inline HIE_tdxHandleToSuperObject SECT_GetCharacterInList(SECT_tdxHandleOfElementLstCharacter hCharacterList)
{ return(hCharacterList->hPointerOfCharacter); }
#ifndef CODEWARRIOR
static
#endif
__inline HIE_tdxHandleToSuperObject SECT_GetSectorInCollisionList(SECT_tdxHandleOfElementLstCollisionInteraction hCollisionList)
{ return(hCollisionList->hPointerOfSectorSO); }
#ifndef CODEWARRIOR
static
#endif
__inline HIE_tdxHandleToSuperObject SECT_GetSectorInActivityList(SECT_tdxHandleOfElementLstActivityInteraction hActivityList)
{ return(hActivityList->hPointerOfSectorSO); }
#ifndef CODEWARRIOR
static
#endif
__inline HIE_tdxHandleToSuperObject SECT_GetSectorInGraphicList(SECT_tdxHandleOfElementLstGraphicInteraction hGraphicList)
{ return(hGraphicList->hPointerOfSectorSO); }
#ifndef CODEWARRIOR
static
#endif
__inline short SCT_fn_wGetLODInGraphicList(SECT_tdxHandleOfElementLstGraphicInteraction hGraphicList)
{ return(hGraphicList->wLevelOfDetail); }
/* Begin Shaitan ModeLook*/
#ifndef CODEWARRIOR
static
#endif
__inline char SCT_fn_wGetModeInGraphicList(SECT_tdxHandleOfElementLstGraphicInteraction hGraphicList)
{ return(hGraphicList->cDisplayMode); }
/* End Shaitan ModeLook*/
#ifndef CODEWARRIOR
static
#endif
__inline HIE_tdxHandleToSuperObject SECT_GetSectorInSoundList(SECT_tdxHandleOfElementLstSoundInteraction hSoundList)
{ return(hSoundList->hPointerOfSectorSO); }
#ifndef CODEWARRIOR
static
#endif
__inline long SCT_fn_lGetVolumeInSoundList(SECT_tdxHandleOfElementLstSoundInteraction hSoundList)
{ return(hSoundList->lVolume); }
#ifndef CODEWARRIOR
static
#endif
__inline HIE_tdxHandleToSuperObject SCT_fn_hGetSectorInSoundEventList(SCT_tdxHandleOfLstSoundEvent hSoundEventList)
{ return(hSoundEventList->hPointerOfSectorSO); }
#ifndef CODEWARRIOR
static
#endif
__inline SND_tdxHandleToSoundEvent SCT_fn_uGetSoundEventInSoundEventList(SCT_tdxHandleOfLstSoundEvent hSoundEventList)
{ return(hSoundEventList->uSoundEvent.pstPtr); }
#ifndef CODEWARRIOR
static
#endif
__inline GLI_tdxHandleToLight SECT_GetDNMLightsInList(SECT_tdxHandleOfElementLstDNMLights hDNMLightsList)
{ return(hDNMLightsList->hDNMLights); }
#ifndef CODEWARRIOR
static
#endif
__inline GLI_tdxHandleToLight SECT_GetStaticLightsInList(SECT_tdxHandleOfElementLstStaticLights hStaticLightsList)
{ return(hStaticLightsList->hStaticLights); }
#ifndef CODEWARRIOR
static
#endif
__inline char SECT_cGetCounterInSector(HIE_tdxHandleToSuperObject _hSector)
{ return ((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->cCounter; }
#ifndef CODEWARRIOR
static
#endif
__inline void SECT_vSetCounterInSector(HIE_tdxHandleToSuperObject _hSector, char _cCounter)
{ ((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->cCounter = _cCounter; }
/*//////////////////////////////////*/
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstDNMLights SECT_fn_hGetFirstDNMLightsListInSector(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_DynamicGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfDNMLights)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstDNMLights SECT_fn_hGetNextDNMLightsListInSector(SECT_tdxHandleOfElementLstDNMLights _hDNMLightsList)
{ return(LST2_M_DynamicGetNextElement( _hDNMLightsList)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstStaticLights SECT_fn_hGetFirstStaticLightsListInSector(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfStaticLights)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstStaticLights SECT_fn_hGetNextStaticLightsListInSector(SECT_tdxHandleOfElementLstStaticLights _hStaticLightsList)
{ return(LST2_M_StaticGetNextElement( _hStaticLightsList)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstCharacter SECT_fn_hGetFirstCharListInSector(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_DynamicGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfCharacters)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstCharacter SECT_fn_hGetNextCharListInSector(SECT_tdxHandleOfElementLstCharacter _hCharList)
{ return(LST2_M_DynamicGetNextElement( _hCharList)); }
#ifndef CODEWARRIOR
static
#endif
__inline long SECT_fn_lGetNbCharListInSector(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_DynamicGetNumberOfElements( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfCharacters)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstCollisionInteraction SECT_fn_hGetFirstCollisionNodeInCollisionList(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInCollisionInteraction)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstCollisionInteraction SECT_fn_hGetNextCollisionNodeInCollisionList(SECT_tdxHandleOfElementLstCollisionInteraction _hCollNode)
{ return(LST2_M_StaticGetNextElement( _hCollNode)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstActivityInteraction SECT_fn_hGetFirstActivityNodeInActivityList(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInActivityInteraction)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstActivityInteraction SECT_fn_hGetNextActivityNodeInActivityList(SECT_tdxHandleOfElementLstActivityInteraction _hActNode)
{ return(LST2_M_StaticGetNextElement( _hActNode)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstGraphicInteraction SECT_fn_hGetFirstGraphicNodeInGraphicList(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInGraphicInteraction)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstGraphicInteraction SECT_fn_hGetNextGraphicNodeInGraphicList(SECT_tdxHandleOfElementLstGraphicInteraction _GraphicNode)
{ return(LST2_M_StaticGetNextElement( _GraphicNode)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstSoundInteraction SECT_fn_hGetFirstSoundNodeInSoundList(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSectorsInSoundInteraction)); }
#ifndef CODEWARRIOR
static
#endif
__inline SECT_tdxHandleOfElementLstSoundInteraction SECT_fn_hGetNextSoundNodeInSoundList(SECT_tdxHandleOfElementLstSoundInteraction _hSoundNode)
{ return(LST2_M_StaticGetNextElement( _hSoundNode)); }
#ifndef CODEWARRIOR
static
#endif
__inline SCT_tdxHandleOfLstSoundEvent SCT_fn_hGetFirstSoundEventNodeInSoundEventList(HIE_tdxHandleToSuperObject _hSector)
{ return(LST2_M_StaticGetFirstElement( &((SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSector))->stListOfSoundEvent)); }
#ifndef CODEWARRIOR
static
#endif
__inline SCT_tdxHandleOfLstSoundEvent SCT_fn_hGetNextSoundEventNodeInSoundEventList(SCT_tdxHandleOfLstSoundEvent _hSoundEventNode)
{ return(LST2_M_StaticGetNextElement( _hSoundEventNode)); }
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /*__SECTOR*/