Skip to content

Commit a6b8b0d

Browse files
authored
Some missing Imaginary parent classes (isledecomp#197)
1 parent 9156ffc commit a6b8b0d

11 files changed

Lines changed: 232 additions & 72 deletions

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,13 +275,15 @@ add_executable(legoracers WIN32
275275
LEGORacers/src/imaginarydrill0x2450.cpp
276276
LEGORacers/src/imaginaryfeather0x658.cpp
277277
LEGORacers/src/imaginarygear0x4c8c.cpp
278+
LEGORacers/src/imaginarygizmo0x1908.cpp
278279
LEGORacers/src/imaginaryhammer0x658.cpp
279280
LEGORacers/src/imaginarylever0x1d7c.cpp
280281
LEGORacers/src/imaginarynotion0x290.cpp
281282
LEGORacers/src/imaginaryorb0x7b0.cpp
282283
LEGORacers/src/imaginaryplate0x770.cpp
283284
LEGORacers/src/imaginaryring0x3360.cpp
284285
LEGORacers/src/imaginaryruler0x2e60.cpp
286+
LEGORacers/src/imaginaryshape0x2b20.cpp
285287
LEGORacers/src/imaginaryspool0x2cc4.cpp
286288
LEGORacers/src/imaginaryspring0x658.cpp
287289
LEGORacers/src/imaginarytool0x368.cpp

LEGORacers/include/imaginarybandsaw0x2228.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
#include "compat.h"
55
#include "decomp.h"
6-
#include "imaginarytool0x368.h"
6+
#include "imaginarygizmo0x1908.h"
77

88
// VTABLE: LEGORACERS 0x004b30c8
99
// SIZE 0x2228
10-
class ImaginaryBandsaw0x2228 : public ImaginaryTool0x368 {
10+
class ImaginaryBandsaw0x2228 : public ImaginaryGizmo0x1908 {
1111
public:
1212
ImaginaryBandsaw0x2228();
1313

@@ -16,7 +16,6 @@ class ImaginaryBandsaw0x2228 : public ImaginaryTool0x368 {
1616
void VTable0x4c() override; // vtable+0x4c
1717
void VTable0x54() override; // vtable+0x54
1818
~ImaginaryBandsaw0x2228() override; // vtable+0x68
19-
void VTable0x74() override; // vtable+0x74
2019
LegoBool32 VTable0x78(undefined4) override; // vtable+0x78
2120
void VTable0x84() override; // vtable+0x84
2221
LegoBool32 VTable0x8c(MenuToolContext0x4bc8*, MenuToolCreateParams0x30*) override; // vtable+0x8c
@@ -25,7 +24,7 @@ class ImaginaryBandsaw0x2228 : public ImaginaryTool0x368 {
2524
// ImaginaryBandsaw0x2228::`scalar deleting destructor'
2625

2726
protected:
28-
undefined m_unk0x368[0x2228 - 0x368]; // 0x368
27+
undefined m_unk0x1908[0x2228 - 0x1908]; // 0x1908
2928
};
3029

3130
#endif // IMAGINARYBANDSAW0X2228

LEGORacers/include/imaginarycube0x3c34.h

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@
33

44
#include "compat.h"
55
#include "decomp.h"
6-
#include "imaginarytool0x368.h"
6+
#include "imaginaryshape0x2b20.h"
77

88
// VTABLE: LEGORACERS 0x004b2a38
99
// SIZE 0x3c34
10-
class ImaginaryCube0x3c34 : public ImaginaryTool0x368 {
10+
class ImaginaryCube0x3c34 : public ImaginaryShape0x2b20 {
1111
public:
1212
ImaginaryCube0x3c34();
1313

14-
void VTable0x10(undefined4) override; // vtable+0x10
15-
undefined4 VTable0x14(ObscureIcon0x1a8*, void*, undefined4, undefined4) override; // vtable+0x14
1614
undefined4 VTable0x18(
1715
ObscureIcon0x1a8*,
1816
OnyxCircularBuffer0x1c::Item*,
@@ -24,27 +22,24 @@ class ImaginaryCube0x3c34 : public ImaginaryTool0x368 {
2422
OnyxCircularBuffer0x1c::Item*,
2523
undefined4,
2624
undefined4
27-
) override; // vtable+0x1c
28-
void VTable0x20(undefined4) override; // vtable+0x20
29-
void VTable0x24(undefined4) override; // vtable+0x24
30-
undefined4 VTable0x28(ObscureIcon0x1a8*, void*, undefined4, undefined4) override; // vtable+0x28
31-
void VTable0x34(undefined4) override; // vtable+0x34
32-
void VTable0x38(undefined4) override; // vtable+0x38
33-
void VTable0x44(undefined4) override; // vtable+0x44
34-
void VTable0x4c() override; // vtable+0x4c
35-
void VTable0x54() override; // vtable+0x54
36-
~ImaginaryCube0x3c34() override; // vtable+0x68
37-
LegoBool32 VTable0x78(undefined4) override; // vtable+0x78
38-
LegoBool32 VTable0x7c(SilverDune0x30::Rect* p_arg1, SilverDune0x30::Rect* p_arg2) override; // vtable+0x7c
39-
void VTable0x80() override; // vtable+0x80
40-
void VTable0x84() override; // vtable+0x84
41-
LegoBool32 VTable0x8c(MenuToolContext0x4bc8*, MenuToolCreateParams0x30*) override; // vtable+0x8c
25+
) override; // vtable+0x1c
26+
void VTable0x20(undefined4) override; // vtable+0x20
27+
void VTable0x24(undefined4) override; // vtable+0x24
28+
undefined4 VTable0x28(ObscureIcon0x1a8*, void*, undefined4, undefined4) override; // vtable+0x28
29+
void VTable0x34(undefined4) override; // vtable+0x34
30+
void VTable0x38(undefined4) override; // vtable+0x38
31+
void VTable0x44(undefined4) override; // vtable+0x44
32+
void VTable0x4c() override; // vtable+0x4c
33+
void VTable0x54() override; // vtable+0x54
34+
~ImaginaryCube0x3c34() override; // vtable+0x68
35+
LegoBool32 VTable0x78(undefined4) override; // vtable+0x78
36+
LegoBool32 VTable0x8c(MenuToolContext0x4bc8*, MenuToolCreateParams0x30*) override; // vtable+0x8c
4237

4338
// SYNTHETIC: LEGORACERS 0x00473790
4439
// ImaginaryCube0x3c34::`scalar deleting destructor'
4540

4641
protected:
47-
undefined m_unk0x368[0x3c34 - 0x368]; // 0x0368
42+
undefined m_unk0x368[0x3c34 - 0x2b20]; // 0x0368
4843
};
4944

5045
#endif // IMAGINARYCUBE0X3C34
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#ifndef IMAGINARYGIZMO0X1908
2+
#define IMAGINARYGIZMO0X1908
3+
4+
#include "golstringtable.h"
5+
#include "imaginarychisel0x658.h"
6+
#include "opalhaven0xf4.h"
7+
8+
// VTABLE: LEGORACERS 0x004b3f00
9+
// SIZE 0x1908
10+
class ImaginaryGizmo0x1908 : public ImaginaryChisel0x658 {
11+
public:
12+
ImaginaryGizmo0x1908();
13+
14+
void VTable0x4c() override; // vtable+0x4c
15+
~ImaginaryGizmo0x1908() override; // vtable+0x68
16+
void VTable0x74() override; // vtable+0x74
17+
LegoBool32 VTable0x8c(MenuToolContext0x4bc8*, MenuToolCreateParams0x30*) override; // vtable+0x8c
18+
19+
// SYNTHETIC: LEGORACERS 0x00488820
20+
// ImaginaryGizmo0x1908::`scalar deleting destructor'
21+
22+
protected:
23+
undefined4 m_unk0x658; // 0x0658
24+
undefined4 m_unk0x65c; // 0x065c
25+
OpalHaven0xf4 m_unk0x660; // 0x0660
26+
undefined m_unk0x754[0x1908 - 0x754]; // 0x0754
27+
};
28+
29+
#endif // IMAGINARYGIZMO0X1908

LEGORacers/include/imaginaryruler0x2e60.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
#include "compat.h"
55
#include "decomp.h"
6-
#include "imaginarytool0x368.h"
6+
#include "imaginarygizmo0x1908.h"
77

88
// VTABLE: LEGORACERS 0x004b3dc8
99
// SIZE 0x2e60
10-
class ImaginaryRuler0x2e60 : public ImaginaryTool0x368 {
10+
class ImaginaryRuler0x2e60 : public ImaginaryGizmo0x1908 {
1111
public:
1212
ImaginaryRuler0x2e60();
1313

@@ -17,7 +17,6 @@ class ImaginaryRuler0x2e60 : public ImaginaryTool0x368 {
1717
void VTable0x4c() override; // vtable+0x4c
1818
void VTable0x54() override; // vtable+0x54
1919
~ImaginaryRuler0x2e60() override; // vtable+0x68
20-
void VTable0x74() override; // vtable+0x74
2120
LegoBool32 VTable0x78(undefined4) override; // vtable+0x78
2221
void VTable0x84() override; // vtable+0x84
2322
LegoBool32 VTable0x8c(MenuToolContext0x4bc8*, MenuToolCreateParams0x30*) override; // vtable+0x8c
@@ -26,7 +25,7 @@ class ImaginaryRuler0x2e60 : public ImaginaryTool0x368 {
2625
// ImaginaryRuler0x2e60::`scalar deleting destructor'
2726

2827
protected:
29-
undefined m_unk0x368[0x2e60 - 0x368]; // 0x368
28+
undefined m_unk0x1908[0x2e60 - 0x1908]; // 0x1908
3029
};
3130

3231
#endif // IMAGINARYRULER0X2E60
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#ifndef IMAGINARYSHAPE0X2B20
2+
#define IMAGINARYSHAPE0X2B20
3+
4+
#include "compat.h"
5+
#include "decomp.h"
6+
#include "imaginarytool0x368.h"
7+
8+
// VTABLE: LEGORACERS 0x004b2cf8
9+
// SIZE 0x2b20
10+
class ImaginaryShape0x2b20 : public ImaginaryTool0x368 {
11+
public:
12+
ImaginaryShape0x2b20();
13+
14+
void VTable0x10(undefined4) override; // vtable+0x10
15+
undefined4 VTable0x14(ObscureIcon0x1a8*, void*, undefined4, undefined4) override; // vtable+0x14
16+
undefined4 VTable0x18(
17+
ObscureIcon0x1a8*,
18+
OnyxCircularBuffer0x1c::Item*,
19+
undefined4,
20+
undefined4
21+
) override; // vtable+0x18
22+
undefined4 VTable0x1c(
23+
ObscureIcon0x1a8*,
24+
OnyxCircularBuffer0x1c::Item*,
25+
undefined4,
26+
undefined4
27+
) override; // vtable+0x1c
28+
void VTable0x38(undefined4) override; // vtable+0x38
29+
void VTable0x44(undefined4) override; // vtable+0x44
30+
void VTable0x4c() override; // vtable+0x4c
31+
void VTable0x54() override; // vtable+0x54
32+
~ImaginaryShape0x2b20() override; // vtable+0x68
33+
LegoBool32 VTable0x78(undefined4) override; // vtable+0x78
34+
LegoBool32 VTable0x7c(SilverDune0x30::Rect* p_arg1, SilverDune0x30::Rect* p_arg2) override; // vtable+0x7c
35+
void VTable0x80() override; // vtable+0x80
36+
void VTable0x84() override; // vtable+0x84
37+
LegoBool32 VTable0x8c(MenuToolContext0x4bc8*,
38+
MenuToolCreateParams0x30*) override; // vtable+0x8c
39+
40+
// SYNTHETIC: LEGORACERS 0x00476e60
41+
// ImaginaryShape0x2b20::`scalar deleting destructor'
42+
43+
protected:
44+
undefined m_unk0x368[0x2b20 - 0x368]; // 0x368
45+
};
46+
47+
#endif // IMAGINARYSHAPE0X2B20

LEGORacers/src/imaginarybandsaw0x2228.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,3 @@ LegoBool32 ImaginaryBandsaw0x2228::VTable0x78(undefined4)
5757
STUB(0x0047a3f0);
5858
return FALSE;
5959
}
60-
61-
// STUB: LEGORACERS 0x004888f0 FOLDED
62-
void ImaginaryBandsaw0x2228::VTable0x74()
63-
{
64-
STUB(0x004888f0);
65-
}

LEGORacers/src/imaginarycube0x3c34.cpp

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -90,35 +90,3 @@ LegoBool32 ImaginaryCube0x3c34::VTable0x78(undefined4)
9090
STUB(0x00474b10);
9191
return FALSE;
9292
}
93-
94-
// STUB: LEGORACERS 0x00474c70
95-
undefined4 ImaginaryCube0x3c34::VTable0x14(ObscureIcon0x1a8*, void*, undefined4, undefined4)
96-
{
97-
STUB(0x00474c70);
98-
return 0;
99-
}
100-
101-
// STUB: LEGORACERS 0x00475010
102-
LegoBool32 ImaginaryCube0x3c34::VTable0x7c(SilverDune0x30::Rect*, SilverDune0x30::Rect*)
103-
{
104-
STUB(0x00475010);
105-
return FALSE;
106-
}
107-
108-
// STUB: LEGORACERS 0x00477210
109-
void ImaginaryCube0x3c34::VTable0x80()
110-
{
111-
STUB(0x00477210);
112-
}
113-
114-
// STUB: LEGORACERS 0x00477380
115-
void ImaginaryCube0x3c34::VTable0x84()
116-
{
117-
STUB(0x00477380);
118-
}
119-
120-
// STUB: LEGORACERS 0x00477700
121-
void ImaginaryCube0x3c34::VTable0x10(undefined4)
122-
{
123-
STUB(0x00477700);
124-
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#include "imaginarygizmo0x1908.h"
2+
3+
DECOMP_SIZE_ASSERT(ImaginaryGizmo0x1908, 0x1908)
4+
5+
// STUB: LEGORACERS 0x00488750
6+
ImaginaryGizmo0x1908::ImaginaryGizmo0x1908()
7+
{
8+
STUB(0x00488750);
9+
}
10+
11+
// STUB: LEGORACERS 0x00488840
12+
ImaginaryGizmo0x1908::~ImaginaryGizmo0x1908()
13+
{
14+
STUB(0x00488840);
15+
}
16+
17+
// STUB: LEGORACERS 0x004888f0
18+
void ImaginaryGizmo0x1908::VTable0x74()
19+
{
20+
STUB(0x004888f0);
21+
}
22+
23+
// STUB: LEGORACERS 0x00488970
24+
void ImaginaryGizmo0x1908::VTable0x4c()
25+
{
26+
STUB(0x00488970);
27+
}
28+
29+
// STUB: LEGORACERS 0x00488ac0
30+
LegoBool32 ImaginaryGizmo0x1908::VTable0x8c(MenuToolContext0x4bc8*, MenuToolCreateParams0x30*)
31+
{
32+
STUB(0x00488ac0);
33+
return FALSE;
34+
}

LEGORacers/src/imaginaryruler0x2e60.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,3 @@ LegoBool32 ImaginaryRuler0x2e60::VTable0x78(undefined4)
6363
STUB(0x00488150);
6464
return FALSE;
6565
}
66-
67-
// STUB: LEGORACERS 0x004888f0 FOLDED
68-
void ImaginaryRuler0x2e60::VTable0x74()
69-
{
70-
STUB(0x004888f0);
71-
}

0 commit comments

Comments
 (0)