reman3/Rayman_X/cpa/tempgrp/GMT/GmtStruc.h

132 lines
3.9 KiB
C

/* (c) Ubi R&D 1996*/
/* See Alain Robin for any comment or question*/
#ifndef __GAMEMAT_H__
#define __GAMEMAT_H__
#ifdef __cplusplus
extern "C" {
#endif
/****************************************************************************/
/* STRUCTURES */
/****************************************************************************/
/*
typedef struct GMT_tdstCollideMaterial_
{
short wTypeOfZone; // GMT_C_wZDM or GMT_C_wZDR or GMT_C_wZDE or GMT_C_ZDD
GMT_tdxMask xIdentifier;
} GMT_tdstCollideMaterial;
typedef struct GMT_tdstGameMaterial_
{
ACP_tdxHandleOfMaterial hVisualMaterial ;
DNM_tdxHandleToMecMatCharacteristics hMechanicsMaterial ;
SND_tdxHandleToSoundMaterial hSoundMaterial;
GMT_tdxHandleToCollideMaterial hCollideMaterial ;
struct GMT_tdstGameMaterial_* p_stInitialValues; // To be filled with the loaded values
#ifdef SECTOR_IN_GMT
HIE_tdxHandleToSuperObject hSectorMaterial ;
#endif
} GMT_tdstGameMaterial ;
*/
/****************************************************************************/
/* MACROS */
/****************************************************************************/
/* Definition of the accessor macros for the friend modules*/
/* Rem: handles are pointers*/
#define GMT_M_hGetVisualMaterial(_handle) \
((_handle)->hVisualMaterial)
#define GMT_M_vSetVisualMaterial(_hGameMat,_hVisualMat) \
{ (_hGameMat)->hVisualMaterial=(_hVisualMat); }
#define GMT_M_hGetMechanicsMaterial(_handle) \
((_handle)->hMechanicsMaterial)
#define GMT_M_vSetMechanicsMaterial(_hGameMat,_hMechanicsMat) \
{ (_hGameMat)->hMechanicsMaterial=(_hMechanicsMat); }
#define GMT_M_hGetSoundMaterial(_handle) \
((_handle)->hSoundMaterial)
#define GMT_M_vSetSoundMaterial(_hGameMat,_hSoundMat) \
{ (_hGameMat)->hSoundMaterial=(_hSoundMat); }
#define GMT_M_hGetCollideMaterial(_handle) \
((_handle)->hCollideMaterial)
#define GMT_M_vSetCollideMaterial(_hGameMat,_hCollideMat) \
{ (_hGameMat)->hCollideMaterial=(_hCollideMat); }
#ifdef SECTOR_IN_GMT
#define GMT_M_hGetSectorMaterial(_handle) \
((_handle)->hSectorMaterial)
#define GMT_M_vSetSectorMaterial(_hGameMat,_hSectorMat) \
{ (_hGameMat)->hSectorMaterial=(_hSectorMat); }
#endif /* SECTOR_IN_GMT*/
#define GMT_M_wGetTypeOfCollideMaterial(_handle) \
((_handle)->wTypeOfZone)
#define GMT_M_vSetTypeOfCollideMaterial(_hCollideMat,_wType) \
{ (_hCollideMat)->wTypeOfZone=(_wType); }
#define GMT_M_wGetCollideMaterialIdentifier(_hCollideMat) \
((_hCollideMat)->xIdentifier)
#define GMT_M_vSetCollideMaterialIdentifier(_hCollideMat,_wIdentifier) \
{ (_hCollideMat)->xIdentifier=(_wIdentifier); }
/****************************************************************************/
/* FUNCTION POINTERS */
/****************************************************************************/
#undef __GMTFUNCTIONPOINTERS_EXTERN
#ifndef __DeclareGlobalFunctionPointersVariableGmt_h__
#define __GMTFUNCTIONPOINTERS_EXTERN extern /*external declaration*/
#else /*__DeclareGlobalFunctionPointersVariableGmt_h__*/
#define __GMTFUNCTIONPOINTERS_EXTERN /*replace by nothing : we have to declare*/
#endif /*__DeclareGlobalFunctionPointersVariableGmt_h__*/
__GMTFUNCTIONPOINTERS_EXTERN GMT_tdxHandleToGameMaterial (* GMT_p_fn_hVirtualCreate)(void)
#ifdef __DeclareGlobalFunctionPointersVariableGmt_h__
=NULL
#endif
;
/*XB 22/06/99*/
#ifndef U64
__GMTFUNCTIONPOINTERS_EXTERN void (* GMT_p_fn_vVirtualDestroy)(GMT_tdxHandleToGameMaterial _hOld)
#ifdef __DeclareGlobalFunctionPointersVariableGmt_h__
=NULL
#endif
;
#endif /* U64 */
/*End XB 22/06/99*/
__GMTFUNCTIONPOINTERS_EXTERN void (* GMT_p_fn_vVirtualCopy)(GMT_tdxHandleToGameMaterial _hDst,
GMT_tdxHandleToGameMaterial _hSrc)
#ifdef __DeclareGlobalFunctionPointersVariableGmt_h__
=NULL
#endif
;
__GMTFUNCTIONPOINTERS_EXTERN void (* GMT_p_fn_vVirtualInitLoadGameMaterial)(void)
#ifdef __DeclareGlobalFunctionPointersVariableGmt_h__
=NULL
#endif
;
#ifdef __cplusplus
}/* extern "C" */
#endif
#endif /* __GAMEMAT_H__*/