binana/profile/3.3.5a-windows-386/include/map/mapdoodaddef.h

79 lines
2.4 KiB
C

#ifndef MAP_MAP_DOODAD_DEF_H
#define MAP_MAP_DOODAD_DEF_H
DECLARE_STRUCT(CMapDoodadDef);
DECLARE_STRUCT(CMapDoodadDefMapChunkLink);
#include "m2/model.h"
#include "map/maparea.h"
#include "map/mapbaseobj.h"
#include "storm/list.h"
#include "tempest/box.h"
#include "tempest/matrix.h"
#include "tempest/sphere.h"
#include "tempest/vector.h"
STORM_TS_LIST(CMapDoodadDefMapChunkLink);
struct CMapDoodadDefMapChunkLink {
uint32_t objectIndex; // 0x00
CMapDoodadDef* owner; // 0x04
CMapBaseObj* ref; // 0x08 //could be CMapChunk* or CMapObjDefGroup*
TSLink_CMapDoodadDefMapChunkLink refLink; // 0x0C - 0x14
TSLink_CMapDoodadDefMapChunkLink ownerLink; // 0x14 - 0x1C
};
struct CMapDoodadDef {
void** vtable; // 0x00
int32_t objectIndex; // 0x04
uint16_t type; // 0x08
uint16_t refCount; // 0x0A
int32_t unk_C; // 0x0C
CMapDoodadDef* prev; // 0x10
CMapDoodadDef* next; // 0x14
TSExplicitList_CMapDoodadDefMapChunkLink linkList;
// CMapStaticEntity fields
int32_t unk_024; // 0x24
uint32_t unkFlags_28; // 0x28
int32_t unkCounter; // 0x2C
float unk_030; // 0x30
CM2Model* model;
CAaSphere sphere;
CAaBox bboxStaticEntity;
C3Vector vec2;
C3Vector position;
float scale; // 0x78
int32_t unk_07C; // 0x7C
int32_t unk_080; // 0x80
CImVector m2AmbietColor; // 0x84
CImVector m2DiffuseColor; // 0x88
float unk_08C; // 0x8C
// end
// CMapDoodadDef fields
uint32_t unkFlags_090; // 0x90
void* unk_094; // 0x94
void* unk_098; // 0x98
void* prevMapDoodadDef_09C; // 0x9C
void* nextMapDoodadDef_0A0; // 0xA0
int32_t unk_0A4; // 0xA4
int32_t unk_0A8; // 0xA8
int32_t unk_0AC; // 0xAC
int32_t unk_0B0; // 0xB0
int32_t unk_0B4; // 0xB4
int32_t unk_0B8; // 0xB8
int32_t unk_0BC; // 0xBC
CAaBox bboxDoodadDef;
C44Matrix mat;
C44Matrix identity;
int32_t unk_158; // 0x158 sound
int32_t unk_15C; // 0x15C
int32_t unk_160; // 0x160
int32_t unk_164; // 0x164
int32_t unk_168; // 0x168
int32_t unk_16C; // 0x16C
// end
};
#endif