Files
tp/include/JSystem/J3DGraphAnimator/J3DModelData.h
T

57 lines
2.4 KiB
C++
Raw Normal View History

2021-03-28 22:49:05 +02:00
#ifndef J3DMODELDATA_H
#define J3DMODELDATA_H
2020-12-25 18:03:10 -08:00
2021-10-11 09:38:53 -07:00
#include "JSystem/J3DGraphAnimator/J3DJointTree.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h"
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "JSystem/J3DGraphBase/J3DVertex.h"
2021-03-28 22:49:05 +02:00
#include "dolphin/types.h"
2020-12-25 18:03:10 -08:00
class J3DModelData {
2021-10-11 09:38:53 -07:00
public:
/* 80325D88 */ void clear();
/* 80325DA0 */ J3DModelData();
2021-10-11 09:38:53 -07:00
/* 80325E14 */ s32 newSharedDisplayList(u32);
/* 80325EC8 */ void indexToPtr();
/* 80325F94 */ void makeSharedDL();
/* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]);
/* 803260CC */ void syncJ3DSysPointers() const;
/* 803260F8 */ void syncJ3DSysFlags() const;
2021-10-11 09:38:53 -07:00
/* 8032617C */ virtual ~J3DModelData();
J3DMaterialTable& getMaterialTable() { return mMaterialTable; }
J3DVertexData& getVertexData() { return mVertexData; }
u16 getShapeNum() const { return mShapeTable.getShapeNum(); }
u16 getMaterialNum() const { return mMaterialTable.getMaterialNum(); }
2021-12-06 06:51:53 -05:00
u16 getJointNum() const { return mJointTree.getJointNum(); }
u16 getDrawMtxNum() const { return mJointTree.getDrawMtxNum(); }
2021-10-11 09:38:53 -07:00
J3DMaterial* getMaterialNodePointer(u16 idx) const {
return mMaterialTable.getMaterialNodePointer(idx);
}
J3DShape* getShapeNodePointer(u16 idx) const { return mShapeTable.getShapeNodePointer(idx); }
J3DJoint* getJointNodePointer(u16 idx) const { return mJointTree.getJointNodePointer(idx); }
J3DJointTree& getJointTree() { return mJointTree; }
J3DTexture* getTexture() const { return mMaterialTable.getTexture(); }
u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); }
void* getVtxPosArray() const { return mVertexData.getVtxPosArray(); }
void* getVtxNrmArray() const { return mVertexData.getVtxNrmArray(); }
_GXColor* getVtxColorArray(u8 idx) const { return mVertexData.getVtxColorArray(idx); }
2021-12-06 06:51:53 -05:00
bool checkFlag(u32 flag) const { return !!(mFlags & flag); }
bool checkBumpFlag() const { return mbHasBumpArray; }
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
2021-10-11 09:38:53 -07:00
private:
2021-12-06 06:51:53 -05:00
/* 0x04 */ void* mpRawData;
2021-10-11 09:38:53 -07:00
/* 0x08 */ u32 mFlags;
2021-12-06 06:51:53 -05:00
/* 0x0C */ u16 mbHasBumpArray;
/* 0x0E */ u16 mbHasBillboard;
2021-10-11 09:38:53 -07:00
/* 0x10 */ J3DJointTree mJointTree;
/* 0x58 */ J3DMaterialTable mMaterialTable;
/* 0x78 */ J3DShapeTable mShapeTable;
/* 0x88 */ J3DVertexData mVertexData;
}; // Size: 0xE4
2021-03-28 22:49:05 +02:00
#endif /* J3DMODELDATA_H */