44#include " decomp.h"
55#include " types.h"
66
7+ class GolFile ;
8+ class PeridotTrace0x4e0 ;
9+
10+ // SIZE 0x24
11+ class PeridotTraceBase0x24 {
12+ public:
13+ PeridotTraceBase0x24 ();
14+
15+ LegoBool32 HasUnk0x04 () const { return m_unk0x04 != 0 ; }
16+ undefined4 GetUnk0x20 () const { return m_unk0x20; }
17+
18+ private:
19+ void Init ();
20+
21+ undefined4 m_unk0x00;
22+ undefined4 m_unk0x04;
23+ undefined4 m_unk0x08;
24+ undefined4 m_unk0x0c;
25+ undefined4 m_unk0x10;
26+ undefined4 m_unk0x14;
27+ undefined4 m_unk0x18;
28+ undefined4 m_unk0x1c;
29+ undefined4 m_unk0x20;
30+ };
31+
732// SIZE 0x4a8
8- class PeridotTrace0x4a8 {
33+ class PeridotTrace0x4a8 : public PeridotTraceBase0x24 {
934public:
1035 PeridotTrace0x4a8 ();
1136 ~PeridotTrace0x4a8 ();
1237
13- LegoBool32 HasUnk0x04 () const { return m_unk0x04 != 0 ; }
38+ void FUN_004426d0 (undefined4, undefined4, undefined4);
39+ undefined4 FUN_00442770 (GolFile& p_file);
40+ undefined4 FUN_004439b0 ();
1441
1542private:
16- undefined4 m_unk0x00; // 0x00
17- undefined* m_unk0x04; // 0x04
18- undefined m_unk0x08[0x4a8 - 0x08 ]; // 0x08
43+ undefined m_unk0x24[0x4a4 - 0x24 ]; // 0x24
44+ undefined4 m_unk0x4a4;
1945};
2046
2147// SIZE 0x34
@@ -41,17 +67,19 @@ class PeridotTraceActionBase0x34 {
4167class PeridotTraceAction0x34 : public PeridotTraceActionBase0x34 {};
4268
4369// SIZE 0x4e0
44- class PeridotTrace0x4e0 {
70+ class PeridotTrace0x4e0 : public PeridotTrace0x4a8 {
4571public:
4672 PeridotTrace0x4e0 ();
4773 ~PeridotTrace0x4e0 ();
4874
4975 LegoBool32 HasUnk0x4b4Flag0x01 () const { return !m_unk0x4a8->HasUnk0x04 () && m_unk0x4ac.HasUnk0x08Flag0x01 (); }
5076
5177 void FUN_004438e0 ();
78+ undefined4 FUN_00443910 ();
79+ undefined4 FUN_00443940 ();
80+ undefined4 FUN_00443980 ();
5281
5382private:
54- PeridotTrace0x4a8 m_unk0x00; // 0x00
5583 PeridotTrace0x4a8* m_unk0x4a8; // 0x4a8
5684 PeridotTraceAction0x34 m_unk0x4ac; // 0x4ac
5785};
@@ -62,15 +90,22 @@ class PeridotTraceState0x438 {
6290 PeridotTraceState0x438 ();
6391 ~PeridotTraceState0x438 ();
6492
93+ void FUN_0042e920 (undefined4*);
94+ void FUN_0042eb60 (PeridotTrace0x4e0*, undefined4);
95+ void FUN_0042ef80 (PeridotTrace0x4a8*);
6596 void FUN_0042f200 (LegoU8 p_unk0x04);
6697 LegoBool32 FUN_0042f250 (LegoU32 p_unk0x04);
6798 LegoBool32 FUN_0042f280 () const ;
6899
100+ void SetUnk0x00 (undefined4 p_arg1) { m_unk0x00 = p_arg1; }
101+ undefined4 GetUnk0x00 () const { return m_unk0x00; }
102+ undefined4 GetUnk0x04 () const { return m_unk0x04; }
69103 LegoU8 GetUnk0x22 () const { return m_unk0x22; }
70104
71105private:
72106 undefined4 m_unk0x00; // 0x00
73- undefined m_unk0x04[0x22 - 0x04 ]; // 0x04
107+ undefined4 m_unk0x04; // 0x04
108+ undefined m_unk0x08[0x22 - 0x08 ]; // 0x08
74109 LegoU8 m_unk0x22; // 0x22
75110 undefined m_unk0x23; // 0x23
76111 LegoU8 m_unk0x24; // 0x24
@@ -87,6 +122,8 @@ class PeridotTraceBuffer0x250 {
87122
88123 void Reset () { m_unk0x244 = 0 ; }
89124
125+ void FUN_0042b2f0 (undefined4, undefined4, undefined4, undefined4);
126+
90127private:
91128 undefined m_unk0x00[0x244 - 0x00 ]; // 0x00
92129 undefined4 m_unk0x244; // 0x244
0 commit comments