80 lines
1.5 KiB
C
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
|