Skip to content

Commit bf31a33

Browse files
authored
Flesh out even more classes (isledecomp#27)
* Flesh out even more classes * Fix lint
1 parent ba57752 commit bf31a33

14 files changed

Lines changed: 194 additions & 45 deletions

.github/workflows/build.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,16 @@ jobs:
190190
uses: actions/deploy-pages@v5
191191

192192
decomplint:
193-
name: ${{ matrix.target }} annotations
193+
name: ${{ matrix.module }} annotations
194194
runs-on: ubuntu-latest
195195
strategy:
196196
fail-fast: false
197197
matrix:
198-
target:
199-
- LEGORACERS
200-
- GOLDP
198+
include:
199+
- module: LEGORACERS
200+
path: LEGORacers
201+
- module: GOLDP
202+
path: GolDP
201203
steps:
202204
- uses: actions/checkout@v6
203205

@@ -211,7 +213,7 @@ jobs:
211213
212214
- name: Run decomplint
213215
run: |
214-
reccmp-decomplint ${{ matrix.target }} --module ${{ matrix.target }} --warnfail
216+
reccmp-decomplint ${{ matrix.path }} --module ${{ matrix.module }} --warnfail
215217
216218
clang-format:
217219
name: c++ clang-format

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ add_executable(legoracers WIN32
104104
LEGORacers/src/tealpulse0x24.cpp
105105
LEGORacers/src/crimsonforge0x800.cpp
106106
LEGORacers/src/coralbeam0x30.cpp
107+
LEGORacers/src/mossglow0x30.cpp
107108
LEGORacers/src/violetshard0x34.cpp
109+
LEGORacers/src/azureclip0x24.cpp
108110
LEGORacers/src/jaspercore0xf0.cpp
109111
LEGORacers/src/opalvault0xf0.cpp
110112
LEGORacers/src/silvernode0x50.cpp

GolDP/src/goldpexport.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ void FUN_10001110(LegoS32)
1313
STUB(0x10001110);
1414
}
1515

16+
// STUB: GOLDP 0x100016f0
17+
undefined4 GolDPExport::VTable0x24()
18+
{
19+
// TODO
20+
STUB(0x100016f0);
21+
return NULL;
22+
}
23+
1624
// STUB: GOLDP 0x10007060
1725
GolDPExport::~GolDPExport()
1826
{
@@ -83,14 +91,6 @@ undefined4* GolDPExport::VTable0x20()
8391
return NULL;
8492
}
8593

86-
// STUB: GOLDP 0x100016f0
87-
undefined4 GolDPExport::VTable0x24()
88-
{
89-
// TODO
90-
STUB(0x100016f0);
91-
return NULL;
92-
}
93-
9494
// STUB: GOLDP 0x100153b0
9595
undefined4* GolDPExport::VTable0x28()
9696
{
@@ -180,13 +180,6 @@ void GolDPExport::VTable0x54(undefined4*)
180180
STUB(0x10015640);
181181
}
182182

183-
// STUB: GOLDP 0x1002c020
184-
void GolDPExport::VTable0x58(undefined4*)
185-
{
186-
// TODO
187-
STUB(0x1002c020);
188-
}
189-
190183
// STUB: GOLDP 0x10015660
191184
void GolDPExport::VTable0x5c(undefined4*)
192185
{
@@ -208,6 +201,13 @@ void GolDPExport::VTable0x64(undefined4*)
208201
STUB(0x100156a0);
209202
}
210203

204+
// STUB: GOLDP 0x1002c020
205+
void GolDPExport::VTable0x58(undefined4*)
206+
{
207+
// TODO
208+
STUB(0x1002c020);
209+
}
210+
211211
// STUB: GOLDP 0x10015600 FOLDED
212212
void GolDPExport::VTable0x68(undefined4*)
213213
{

LEGORacers/include/azureclip0x24.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#ifndef AZURECLIP0X24_H
2+
#define AZURECLIP0X24_H
3+
4+
#include "decomp.h"
5+
6+
// SIZE 0x24
7+
class AzureClip0x24 {
8+
public:
9+
AzureClip0x24();
10+
11+
private:
12+
undefined m_unk0x00; // 0x00
13+
undefined m_unk0x01[0x0c - 0x01]; // 0x01
14+
undefined m_unk0x0c; // 0x0c
15+
undefined m_unk0x0d[0x10 - 0x0d]; // 0x0d
16+
undefined4 m_unk0x10; // 0x10
17+
undefined4 m_unk0x14; // 0x14
18+
undefined4 m_unk0x18; // 0x18
19+
undefined4 m_unk0x1c; // 0x1c
20+
undefined4 m_unk0x20; // 0x20
21+
};
22+
23+
#endif // AZURECLIP0X24_H

LEGORacers/include/coralbeam0x30.h

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
#ifndef CORALBEAM0X30_H
22
#define CORALBEAM0X30_H
33

4+
#include "compat.h"
45
#include "decomp.h"
6+
#include "mossglow0x30.h"
57

68
// VTABLE: LEGORACERS 0x4b1250
79
// SIZE 0x30
8-
class CoralBeam0x30 {
10+
class CoralBeam0x30 : public MossGlow0x30 {
911
public:
1012
CoralBeam0x30();
1113
~CoralBeam0x30();
1214

13-
virtual void VTable0x00(); // vtable+0x00
14-
virtual void VTable0x04(); // vtable+0x04
15-
virtual void VTable0x08(); // vtable+0x08
16-
virtual void VTable0x0c(); // vtable+0x0c
17-
virtual void VTable0x10(); // vtable+0x10
18-
virtual void VTable0x14(); // vtable+0x14
15+
void VTable0x00() override; // vtable+0x00
16+
void VTable0x04() override; // vtable+0x04
17+
void VTable0x08() override; // vtable+0x08
18+
void VTable0x0c() override; // vtable+0x0c
19+
void VTable0x10() override; // vtable+0x10
20+
void VTable0x14() override; // vtable+0x14
1921

20-
private:
21-
undefined m_unk0x04[0x30 - 0x04]; // 0x04
22+
void FUN_0044cc90();
2223
};
2324

2425
#endif // CORALBEAM0X30_H

LEGORacers/include/mossglow0x30.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#ifndef MOSSGLOW0X30_H
2+
#define MOSSGLOW0X30_H
3+
4+
#include "decomp.h"
5+
6+
// VTABLE: LEGORACERS 0x4b0f38
7+
// SIZE 0x30
8+
class MossGlow0x30 {
9+
public:
10+
MossGlow0x30();
11+
~MossGlow0x30();
12+
13+
virtual void VTable0x00() = 0; // vtable+0x00
14+
virtual void VTable0x04() = 0; // vtable+0x04
15+
virtual void VTable0x08() = 0; // vtable+0x08
16+
virtual void VTable0x0c() = 0; // vtable+0x0c
17+
virtual void VTable0x10(); // vtable+0x10
18+
virtual void VTable0x14(); // vtable+0x14
19+
20+
void FUN_0044c990();
21+
22+
protected:
23+
undefined m_unk0x04[0x24 - 0x04]; // 0x04
24+
undefined4* m_unk0x24; // 0x24
25+
undefined m_unk0x28[0x2c - 0x28]; // 0x28
26+
undefined4 m_unk0x2c; // 0x2c
27+
};
28+
29+
#endif // MOSSGLOW0X30_H

LEGORacers/include/violetshard0x34.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#ifndef VIOLETSHARD0X34_H
22
#define VIOLETSHARD0X34_H
33

4+
#include "azureclip0x24.h"
45
#include "decomp.h"
56

67
// VTABLE: LEGORACERS 0x4b0f70
@@ -17,8 +18,13 @@ class VioletShard0x34 {
1718
virtual void VTable0x10(); // vtable+0x10
1819
virtual void VTable0x14(); // vtable+0x14
1920

21+
void FUN_0044d8e0();
22+
2023
private:
21-
undefined m_unk0x04[0x34 - 0x04]; // 0x04
24+
undefined4 m_unk0x04; // 0x04
25+
undefined4 m_unk0x08; // 0x08
26+
AzureClip0x24 m_unk0x0c; // 0x0c
27+
undefined4 m_unk0x30; // 0x30
2228
};
2329

2430
#endif // VIOLETSHARD0X34_H

LEGORacers/library_msvc.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,15 @@
1616
// LIBRARY: LEGORACERS 0x4a8544
1717
// ??_M@YGXPAXIHP6EX0@Z@Z
1818

19+
// LIBRARY: LEGORACERS 0x4a85c4
20+
// ?__ArrayUnwind@@YGXPAXIHP6EX0@Z@Z
21+
1922
// LIBRARY: LEGORACERS 0x4a867c
2023
// _WinMainCRTStartup
2124

25+
// LIBRARY: LEGORACERS 0x4a87da
26+
// __except_handler3
27+
2228
// LIBRARY: LEGORACERS 0x4a87ec
2329
// __XcptFilter
2430

LEGORacers/src/azureclip0x24.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#include "azureclip0x24.h"
2+
3+
DECOMP_SIZE_ASSERT(AzureClip0x24, 0x24)
4+
5+
// FUNCTION: LEGORACERS 0x44dbe0
6+
AzureClip0x24::AzureClip0x24()
7+
{
8+
m_unk0x00 = 0;
9+
m_unk0x0c = 0;
10+
m_unk0x10 = 4;
11+
m_unk0x14 = 0;
12+
m_unk0x18 = 0;
13+
m_unk0x1c = 0;
14+
m_unk0x20 = 0;
15+
}

LEGORacers/src/coralbeam0x30.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@
22

33
DECOMP_SIZE_ASSERT(CoralBeam0x30, 0x30)
44

5-
// STUB: LEGORACERS 0x450a90
5+
// FUNCTION: LEGORACERS 0x450a90
66
CoralBeam0x30::CoralBeam0x30()
77
{
8-
STUB(0x450a90);
8+
m_unk0x2c = 0xffffffff;
99
}
1010

11-
// STUB: LEGORACERS 0x450ad0
11+
// FUNCTION: LEGORACERS 0x450ad0
1212
CoralBeam0x30::~CoralBeam0x30()
1313
{
14+
FUN_0044cc90();
1415
}
1516

1617
// STUB: LEGORACERS 0x450b50

0 commit comments

Comments
 (0)