|
3 | 3 |
|
4 | 4 | #include "decomp.h" |
5 | 5 | #include "displaydriverguid.h" |
| 6 | +#include "golfile.h" |
6 | 7 | #include "types.h" |
7 | 8 |
|
8 | 9 | #include <string.h> |
@@ -116,6 +117,7 @@ class PeridotTraceBase0x24 { |
116 | 117 | void FUN_0042b830(); |
117 | 118 |
|
118 | 119 | friend class PeridotTrace0x4a8; |
| 120 | + friend class PeridotTrace0x4e0; |
119 | 121 |
|
120 | 122 | LegoU32 m_unk0x00; // 0x00 |
121 | 123 | Record* m_unk0x04; // 0x04 |
@@ -156,27 +158,51 @@ class PeridotTrace0x4a8 : public PeridotTraceBase0x24 { |
156 | 158 | undefined4 m_unk0x4a4; |
157 | 159 | }; |
158 | 160 |
|
159 | | -// SIZE 0x34 |
160 | | -class PeridotTraceActionBase0x34 { |
| 161 | +// VTABLE: LEGORACERS 0x004b0fac |
| 162 | +// SIZE 0x30 |
| 163 | +class PeridotTraceActionFile0x30 : public GolFile { |
161 | 164 | public: |
162 | | - PeridotTraceActionBase0x34(); |
163 | | - ~PeridotTraceActionBase0x34(); |
| 165 | + ~PeridotTraceActionFile0x30() override; // vtable+0x18 |
164 | 166 |
|
165 | 167 | enum { |
166 | 168 | c_unk0x08Flag0x01 = 1 << 0, |
167 | 169 | }; |
168 | 170 |
|
169 | | - LegoBool32 HasUnk0x08Flag0x01() const { return m_unk0x08 & c_unk0x08Flag0x01; } |
| 171 | + LegoS32 BufferedOpen(const LegoChar* p_fileName, LegoS32 p_mode, LegoU32 p_bufferSize) override; // vtable+0x1c |
| 172 | + LegoS32 Dispose() override; // vtable+0x20 |
| 173 | + |
| 174 | + LegoBool32 HasUnk0x08Flag0x01() const { return m_flags & c_unk0x08Flag0x01; } |
| 175 | + |
| 176 | + // SYNTHETIC: LEGORACERS 0x0044e110 |
| 177 | + // PeridotTraceActionFile0x30::`scalar deleting destructor' |
| 178 | +}; |
| 179 | + |
| 180 | +// VTABLE: LEGORACERS 0x004b1288 |
| 181 | +// SIZE 0x34 |
| 182 | +class PeridotTraceActionBase0x34 : public PeridotTraceActionFile0x30 { |
| 183 | +public: |
| 184 | + PeridotTraceActionBase0x34(); |
| 185 | + |
| 186 | + // SYNTHETIC: LEGORACERS 0x00450e70 FOLDED |
| 187 | + // PeridotTraceActionBase0x34::~PeridotTraceActionBase0x34 |
| 188 | + |
| 189 | + // SYNTHETIC: LEGORACERS 0x00450e50 FOLDED |
| 190 | + // PeridotTraceActionBase0x34::`scalar deleting destructor' |
170 | 191 |
|
171 | 192 | private: |
172 | | - undefined4 m_unk0x00; // 0x00 |
173 | | - undefined4 m_unk0x04; // 0x04 |
174 | | - LegoU32 m_unk0x08; // 0x08 |
175 | | - undefined m_unk0x0c[0x34 - 0x0c]; // 0x0c |
| 193 | + undefined4 m_unk0x30; // 0x30 |
176 | 194 | }; |
177 | 195 |
|
| 196 | +// VTABLE: LEGORACERS 0x004b0ba4 |
178 | 197 | // SIZE 0x34 |
179 | | -class PeridotTraceAction0x34 : public PeridotTraceActionBase0x34 {}; |
| 198 | +class PeridotTraceAction0x34 : public PeridotTraceActionBase0x34 { |
| 199 | +public: |
| 200 | + // SYNTHETIC: LEGORACERS 0x00450e70 FOLDED |
| 201 | + // PeridotTraceAction0x34::~PeridotTraceAction0x34 |
| 202 | + |
| 203 | + // SYNTHETIC: LEGORACERS 0x00450e50 FOLDED |
| 204 | + // PeridotTraceAction0x34::`scalar deleting destructor' |
| 205 | +}; |
180 | 206 |
|
181 | 207 | // SIZE 0x4e0 |
182 | 208 | class PeridotTrace0x4e0 : public PeridotTrace0x4a8 { |
|
0 commit comments