1#pragma once
2
3#include <nn/types.h>
4
5namespace nn::g3d {
6
7class MaterialObj;
8class ResModel;
9class ShapeObj;
10class SkeletonObj;
11
12// TODO
13class ModelObj {
14public:
15 SkeletonObj* GetSkeleton() const { return m_Skeleton; }
16
17 s32 GetNumShapes() const { return m_NumShapes; }
18
19private:
20 struct InitializeArgument;
21
22 bool Initialize(const InitializeArgument& arg, void* buffer, size_t bufferSize);
23
24 const ResModel* m_ResModel;
25 void* _8;
26 void* _10;
27 u8 _18;
28 u8 _19;
29 u16 _1a;
30 void* _20;
31 void* _28;
32 u16 m_NumShapes;
33 u16 m_NumMaterials;
34 SkeletonObj* m_Skeleton;
35 ShapeObj* m_Shapes;
36 MaterialObj* m_Materials;
37 void* _50;
38 void* m_UserData;
39 void* _60;
40 void* _68;
41 void* _70;
42 void* _78;
43 void* _80;
44 bool _88;
45 int _8c;
46};
47
48} // namespace nn::g3d
49