reman3/Rayman_X/cpa/Appli/Max23Dos/inc/SprObj.h

80 lines
1.5 KiB
C

/*=========================================================================
*
* SprObj.h - Super Object Structure
*
* Version 1.0
* Revision date
*
*=======================================================================*/
#ifndef SPROBJ_H
#define SPROBJ_H
//--- Includes --------------------------------------------------------
#include "typedef.h"
#include "matrix.h"
#include "sctobj.h"
//--- Enums ---------------------------------------------------------
typedef enum
{
MAYBE_MIRROR = 0x01,
IS_MIRROR = 0x02,
MAYBE_ALTIMAP = 0x04,
MAYBE_SYM = 0x08,
IS_LOOKAT = 0x10,
IS_SEMI_LA = 0x20,
MAYBE_SPH = 0x40,
IS_NOT_ALTIMAP = 0x80
}
eFlags;
//--- Structures ---------------------------------------------------------
typedef struct MLT_tdstSprObj_ *MLT_tdxHandleToSuperObject;
typedef struct MLT_tdstSector_ MLT_tdstSector;
// super object
typedef struct MLT_tdstSprObj_
{
// name
xString sName;
// linked object
MLT_tdstSector stSector;
xString sLinkedObject;
xString sGeometric;
// children
long lNbChild;
MLT_tdxHandleToSuperObject d_hChild[500];
// matrix
MLT_tdstMatrix *p_stMatrix;
// flags
unsigned long ulSPOFlags;
// transparency
float fTransparency;
// geometric properties
int iFlags;
int iGeomProp;
char cGeom;
double fGeom;
char sConstraintAxis[7];
}
MLT_tdstSprObj;
// submap
typedef struct MLT_tdstSubMaps_
{
xString sName;
xString sSoundEvent[20];
int iN;
}
MLT_tdstSubMaps;
#endif // SPROBJ_H