Skip to content

Commit 12c2d2d

Browse files
committed
Add parent and members of BronzeFalcon0xc8770
1 parent 87326ba commit 12c2d2d

30 files changed

Lines changed: 989 additions & 190 deletions

CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ set(COMMON_SOURCES
8181
common/src/golerror.cpp
8282
common/src/golfile.cpp
8383
common/src/golfsutil.cpp
84+
common/src/golcpu.cpp
8485
common/src/golhashtable.cpp
8586
common/src/golstream.cpp
8687
common/src/golfileparser.cpp
@@ -100,6 +101,7 @@ set(GOLDP_INLINE_EXPANSION_SOURCES
100101
GolDP/src/goldrawstate.cpp
101102
GolDP/src/silverdune0x30.cpp
102103
GolDP/src/whitebaffoon0x50.cpp
104+
GolDP/src/duskwindbananarelic0x24.cpp
103105
)
104106

105107
add_library(common_goldp OBJECT ${COMMON_SOURCES})
@@ -143,13 +145,19 @@ add_library(goldp SHARED
143145
GolDP/src/amberlens0x344.cpp
144146
GolDP/src/jadeorbit0x220.cpp
145147
GolDP/src/jadeorbitbase0x10.cpp
148+
GolDP/src/whitefalcon0x140.cpp
146149
GolDP/src/bronzefalcon0xc8770.cpp
147150
GolDP/src/awakekite0x20.cpp
148151
GolDP/src/hypnoticnoise0x1c.cpp
149152
GolDP/src/golddune0x38.cpp
150153
GolDP/src/bronzedune0x4c.cpp
151154
GolDP/src/whitebaffoon0x50.cpp
152155
GolDP/src/utopianpan0xa4.cpp
156+
GolDP/src/duskwindbananarelic0x24.cpp
157+
GolDP/src/duskwindbananarelic0x30.cpp
158+
GolDP/src/moltenquillphantom0x34.cpp
159+
GolDP/src/moltenquillphantom0x38.cpp
160+
GolDP/src/workhorse0x58.cpp
153161
util/decomp.cpp
154162
$<TARGET_OBJECTS:common_goldp>
155163
)
Lines changed: 78 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,107 @@
11
#ifndef BRONZEFALCON0XC8770_H
22
#define BRONZEFALCON0XC8770_H
33

4+
#include "compat.h"
45
#include "decomp.h"
6+
#include "duskwindbananarelic0x30.h"
7+
#include "moltenquillphantom0x38.h"
58
#include "types.h"
9+
#include "whitefalcon0x140.h"
10+
#include "workhorse0x58.h"
611

712
class GolCommonDrawState;
813
class AmberLens0x344;
9-
class GolNameTable;
1014

1115
// VTABLE: GOLDP 0x100565b8
1216
// SIZE 0xc8770
13-
class BronzeFalcon0xc8770 {
17+
class BronzeFalcon0xc8770 : public WhiteFalcon0x140 {
1418
public:
1519
enum Flags {
1620
c_flagBit9 = 0x0200
1721
};
1822

19-
// SIZE 0x4
20-
struct JasperRipple0x4 {
21-
undefined m_unk0x00[0x4 - 0x00]; // 0x00
22-
};
23-
2423
BronzeFalcon0xc8770();
2524

26-
virtual void VTable0x00(); // vtable+0x00
27-
virtual void VTable0x04(); // vtable+0x04
28-
virtual ~BronzeFalcon0xc8770(); // vtable+0x08
29-
virtual void VTable0x0c(undefined4, undefined4, undefined4); // vtable+0x0c
30-
virtual GolCommonDrawState* GetDrawState(); // vtable+0x10
31-
virtual void VTable0x14(); // vtable+0x14
32-
virtual void VTable0x18(); // vtable+0x18
33-
virtual void VTable0x1c(JasperRipple0x4*); // vtable+0x1c
34-
virtual void VTable0x20(AmberLens0x344*); // vtable+0x20
35-
virtual void VTable0x24(); // vtable+0x24
36-
virtual void VTable0x28(); // vtable+0x28
37-
virtual void VTable0x2c(undefined4); // vtable+0x2c
38-
virtual void VTable0x30(undefined4); // vtable+0x30
39-
virtual void VTable0x34(LegoS32 p_unk0x04, const LegoFloat* p_unk0x08); // vtable+0x34
40-
virtual void VTable0x38(); // vtable+0x38
41-
virtual void VTable0x3c(); // vtable+0x3c
42-
virtual void VTable0x40(); // vtable+0x40
43-
virtual void VTable0x44(); // vtable+0x44
44-
virtual void VTable0x48(); // vtable+0x48
45-
virtual void VTable0x4c(); // vtable+0x4c
46-
virtual void VTable0x50(); // vtable+0x50
47-
virtual void VTable0x54(undefined4); // vtable+0x54
48-
virtual void VTable0x58(); // vtable+0x58
49-
virtual void VTable0x5c(); // vtable+0x5c
50-
virtual void VTable0x60(); // vtable+0x60
51-
virtual void VTable0x64(); // vtable+0x64
52-
virtual void VTable0x68(); // vtable+0x68
53-
virtual void VTable0x6c(); // vtable+0x6c
54-
virtual void VTable0x70(); // vtable+0x70
55-
virtual void VTable0x74(); // vtable+0x74
56-
virtual void VTable0x78(); // vtable+0x78
57-
virtual void VTable0x7c(); // vtable+0x7c
58-
virtual void VTable0x80(); // vtable+0x80
59-
virtual void VTable0x84(); // vtable+0x84
60-
virtual void VTable0x88(); // vtable+0x88
61-
virtual void VTable0x8c(); // vtable+0x8c
62-
virtual void VTable0x90(); // vtable+0x90
63-
virtual void VTable0x94(); // vtable+0x94
64-
virtual void VTable0x98(); // vtable+0x98
65-
virtual void VTable0x9c(); // vtable+0x9c
66-
virtual void VTable0xa0(); // vtable+0xa0
67-
virtual void VTable0xa4(); // vtable+0xa4
68-
virtual void VTable0xa8(); // vtable+0xa8
69-
virtual void VTable0xac(); // vtable+0xac
70-
virtual void VTable0xb0(); // vtable+0xb0
71-
virtual void VTable0xb4(); // vtable+0xb4
72-
virtual void VTable0xb8(); // vtable+0xb8
73-
virtual void VTable0xbc(); // vtable+0xbc
74-
virtual void VTable0xc0(); // vtable+0xc0
75-
virtual void VTable0xc4(); // vtable+0xc4
76-
virtual void VTable0xc8(); // vtable+0xc8
77-
virtual void VTable0xcc(); // vtable+0xcc
78-
virtual void VTable0xd0(); // vtable+0xd0
79-
virtual void VTable0xd4(); // vtable+0xd4
80-
virtual void VTable0xd8(); // vtable+0xd8
81-
virtual void VTable0xdc(); // vtable+0xdc
82-
virtual void VTable0xe0(); // vtable+0xe0
83-
virtual void VTable0xe4(); // vtable+0xe4
84-
virtual void VTable0xe8(undefined4); // vtable+0xe8
85-
virtual void VTable0xec(undefined4); // vtable+0xec
86-
virtual void VTable0xf0(); // vtable+0xf0
87-
virtual void VTable0xf4(); // vtable+0xf4
88-
virtual void VTable0xf8(); // vtable+0xf8
89-
virtual void VTable0xfc(); // vtable+0xfc
90-
virtual void VTable0x100(); // vtable+0x100
91-
virtual void VTable0x104(); // vtable+0x104
92-
virtual void VTable0x108(); // vtable+0x108
93-
virtual void VTable0x10c(); // vtable+0x10c
94-
virtual LegoBool32 VTable0x110() const; // vtable+0x110
25+
void VTable0x04() override; // vtable+0x04
26+
~BronzeFalcon0xc8770() override; // vtable+0x08
27+
void VTable0x0c(undefined4, undefined4, undefined4) override; // vtable+0x0c
28+
GolCommonDrawState* GetDrawState() override; // vtable+0x10
29+
void VTable0x14() override; // vtable+0x14
30+
void VTable0x18() override; // vtable+0x18
31+
void VTable0x1c(JasperRipple0x4*) override; // vtable+0x1c
32+
void VTable0x20(AmberLens0x344*) override; // vtable+0x20
33+
void VTable0x28() override; // vtable+0x28
34+
void VTable0x2c(undefined4) override; // vtable+0x2c
35+
void VTable0x30(undefined4) override; // vtable+0x30
36+
void VTable0x34(LegoS32 p_unk0x04, const LegoFloat* p_unk0x08) override; // vtable+0x34
37+
void VTable0x38() override; // vtable+0x38
38+
void VTable0x3c(undefined4) override; // vtable+0x3c
39+
void VTable0x40() override; // vtable+0x40
40+
undefined4 VTable0x4c(undefined4, undefined4) override; // vtable+0x4c
41+
void VTable0x50(undefined4) override; // vtable+0x50
42+
void VTable0x54(undefined4) override; // vtable+0x54
43+
void VTable0x58(undefined4, undefined4) override; // vtable+0x58
44+
void VTable0x5c() override; // vtable+0x5c
45+
void VTable0x60() override; // vtable+0x60
46+
void VTable0x64() override; // vtable+0x64
47+
void VTable0x68() override; // vtable+0x68
48+
void VTable0x6c() override; // vtable+0x6c
49+
void VTable0x70() override; // vtable+0x70
50+
void VTable0x74() override; // vtable+0x74
51+
void VTable0x78() override; // vtable+0x78
52+
void VTable0x7c() override; // vtable+0x7c
53+
void VTable0x80() override; // vtable+0x80
54+
void VTable0x84() override; // vtable+0x84
55+
void VTable0x88(undefined4, undefined4, undefined4) override; // vtable+0x88
56+
void VTable0x8c(undefined4, undefined4, undefined4) override; // vtable+0x8c
57+
void VTable0x90() override; // vtable+0x90
58+
void VTable0x94() override; // vtable+0x94
59+
void VTable0x98(undefined4, undefined4, undefined4) override; // vtable+0x98
60+
void VTable0x9c(undefined4, undefined4, undefined4) override; // vtable+0x9c
61+
void VTable0xa8(undefined4, undefined4, undefined4) override; // vtable+0xa8
62+
void VTable0xac(undefined4, undefined4) override; // vtable+0xac
63+
void VTable0xb0(undefined4, undefined4) override; // vtable+0xb0
64+
void VTable0xb4() override; // vtable+0xb4
65+
void VTable0xb8(undefined4, undefined4) override; // vtable+0xb8
66+
void VTable0xbc() override; // vtable+0xbc
67+
void VTable0xc0(undefined4) override; // vtable+0xc0
68+
void VTable0xc4() override; // vtable+0xc4
69+
void VTable0xc8() override; // vtable+0xc8
70+
void VTable0xcc() override; // vtable+0xcc
71+
void VTable0xd0() override; // vtable+0xd0
72+
void VTable0xd4() override; // vtable+0xd4
73+
void VTable0xd8() override; // vtable+0xd8
74+
void VTable0xdc() override; // vtable+0xdc
75+
void VTable0xe0() override; // vtable+0xe0
76+
void VTable0xe4() override; // vtable+0xe4
77+
void VTable0xe8(undefined4) override; // vtable+0xe8
78+
void VTable0xec(undefined4) override; // vtable+0xec
79+
void VTable0xf0() override; // vtable+0xf0
80+
void VTable0xf4() override; // vtable+0xf4
81+
void VTable0xf8() override; // vtable+0xf8
82+
void VTable0xfc() override; // vtable+0xfc
83+
void VTable0x100() override; // vtable+0x100
84+
void VTable0x104() override; // vtable+0x104
85+
void VTable0x108() override; // vtable+0x108
86+
void VTable0x10c() override; // vtable+0x10c
87+
LegoBool32 VTable0x110() const override; // vtable+0x110
9588

96-
void FUN_10028ad0(GolNameTable* p_param);
97-
void FUN_10028ae0(GolNameTable* p_param);
9889
undefined4* FUN_004131a0(const LegoChar* p_name);
9990

10091
// SYNTHETIC: GOLDP 0x10007960
10192
// BronzeFalcon0xc8770::`scalar deleting destructor'
10293

103-
undefined4 GetUnk0x04() { return m_unk0x04; }
104-
undefined4* GetUnk0x0c() { return m_unk0x0c; }
105-
10694
private:
107-
friend class GolCommonDrawState;
95+
void Reset();
10896

109-
undefined4 m_unk0x04; // 0x04
110-
undefined m_unk0x08[0x0c - 0x08]; // 0x08
111-
undefined4* m_unk0x0c; // 0x0c
112-
undefined m_unk0x10[0x48 - 0x10]; // 0x10
113-
BronzeFalcon0xc8770* m_nextDrawStateRenderer; // 0x48
114-
undefined m_unk0x4c[0x140 - 0x4c]; // 0x4c
115-
GolCommonDrawState* m_drawState; // 0x140
116-
undefined m_unk0x144[0xc8770 - 0x144]; // 0x144
97+
GolCommonDrawState* m_drawState; // 0x140
98+
undefined m_unk0x144[0x2d4 - 0x144]; // 0x144
99+
DuskwindBananaRelic0x30 m_unk0x2d4; // 0x2d4
100+
undefined m_unk0x304[0x310 - 0x304]; // 0x304
101+
MoltenQuillPhantom0x38 m_unk0x310; // 0x310
102+
undefined m_unk0x348[0xc8698 - 0x348]; // 0x348
103+
WorkHorse0x58 m_unk0xc8698; // 0xc8698
104+
undefined m_unk0x86f0[0xc8770 - 0xc86f0]; // 0xc86f0
117105
};
118106

119107
#endif // BRONZEFALCON0XC8770_H
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#ifndef DUSKWINDBANANARELIC0x24_H
2+
#define DUSKWINDBANANARELIC0x24_H
3+
4+
#include "decomp.h"
5+
#include "types.h"
6+
7+
// SIZE 0x08
8+
struct DuskwindBananaRelicColor {
9+
DuskwindBananaRelicColor(undefined4 p_arg0, undefined4 p_arg1, undefined4 p_arg2, undefined4 p_arg3)
10+
{
11+
m_unk0x0 = p_arg0;
12+
m_unk0x1 = p_arg1;
13+
m_unk0x2 = p_arg2;
14+
m_unk0x3 = p_arg3;
15+
}
16+
undefined m_unk0x0; // 0x0
17+
undefined m_unk0x1; // 0x1
18+
undefined m_unk0x2; // 0x2
19+
undefined m_unk0x3; // 0x3
20+
};
21+
22+
// VTABLE: GOLDP 0x10057030
23+
// SIZE 0x24
24+
class DuskwindBananaRelic0x24 {
25+
public:
26+
DuskwindBananaRelic0x24();
27+
virtual ~DuskwindBananaRelic0x24(); // vtable+0x00
28+
29+
// SYNTHETIC: GOLDP 0x100257b0
30+
// DuskwindBananaRelic0x24::`scalar deleting destructor'
31+
32+
protected:
33+
enum {
34+
c_flagBit0 = 1 << 0,
35+
};
36+
37+
undefined4 m_unk0x04;
38+
LegoU32 m_unk0x08;
39+
DuskwindBananaRelicColor m_unk0x0c;
40+
DuskwindBananaRelicColor m_unk0x10;
41+
undefined4 m_unk0x14;
42+
undefined m_unk0x18[0x20 - 0x18];
43+
undefined m_unk0x20;
44+
undefined m_unk0x21;
45+
undefined m_unk0x22;
46+
undefined m_unk0x23;
47+
};
48+
49+
#endif // DUSKWINDBANANARELIC0x24_H
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#ifndef DUSKWINDBANANARELIC0x30_H
2+
#define DUSKWINDBANANARELIC0x30_H
3+
4+
#include "compat.h"
5+
#include "duskwindbananarelic0x24.h"
6+
7+
// VTABLE: GOLDP 0x100563c4
8+
// SIZE 0x30
9+
class DuskwindBananaRelic0x30 : public DuskwindBananaRelic0x24 {
10+
public:
11+
DuskwindBananaRelic0x30();
12+
~DuskwindBananaRelic0x30() override; // vtable+0x00
13+
14+
// SYNTHETIC: GOLDP 0x10004b00
15+
// DuskwindBananaRelic0x30::`vector deleting destructor'
16+
17+
private:
18+
undefined4* m_unk0x24; // 0x24
19+
undefined4 m_unk0x28; // 0x28
20+
undefined4* m_unk0x2c; // 0x2c
21+
};
22+
23+
#endif // DUSKWINDBANANARELIC0x30_H

GolDP/include/goldrawdpstate.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class GolDrawDPState : public GolCommonDrawState {
7878
LegoChar* m_driverName; // 0x2f4
7979
LegoChar* m_deviceName; // 0x2f8
8080
SlatePeak0x58 m_unk0x2fc; // 0x2fc
81-
undefined m_unk0x354[0xc8ac4 - 0x354]; // 0x354
81+
BronzeFalcon0xc8770 m_unk0x354; // 0x354
8282
};
8383

8484
#endif // GOLDP_GOLDPSTATE_H
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#ifndef MOLTENQUILLPHANTOM0X34_H
2+
#define MOLTENQUILLPHANTOM0X34_H
3+
4+
#include "decomp.h"
5+
#include "silverdune0x30.h"
6+
7+
// VTABLE: GOLDP 0x100577bc
8+
// SIZE 0x34
9+
class MoltenQuillPhantom0x34 : public SilverDune0x30 {
10+
public:
11+
MoltenQuillPhantom0x34();
12+
13+
// SYNTHETIC: LEGORACERS 0x1002f380
14+
// ImaginaryWrench0x23bc::`scalar deleting destructor'
15+
16+
protected:
17+
undefined4 m_unk0x30;
18+
};
19+
20+
#endif // MOLTENQUILLPHANTOM0X34_H
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#ifndef MOLTENQUILLPHANTOM0X38_H
2+
#define MOLTENQUILLPHANTOM0X38_H
3+
4+
#include "compat.h"
5+
#include "decomp.h"
6+
#include "moltenquillphantom0x34.h"
7+
8+
// VTABLE: GOLDP 0x10056964
9+
// SIZE 0x38
10+
class MoltenQuillPhantom0x38 : public MoltenQuillPhantom0x34 {
11+
public:
12+
MoltenQuillPhantom0x38();
13+
~MoltenQuillPhantom0x38() override; // vtable+0x00
14+
15+
// SYNTHETIC: GOLDP 0x100182d0
16+
// MoltenQuillPhantom0x38::`scalar deleting destructor'
17+
18+
protected:
19+
undefined4 m_unk0x34;
20+
};
21+
22+
#endif // MOLTENQUILLPHANTOM0X34_H

GolDP/include/utopianpan0xa4.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
#include "types.h"
77
#include "whitebaffoon0x50.h"
88

9+
class DuskwindBananaRelic0x30;
10+
911
// SIZE 0xa4
1012
// VTABLE: GOLDP 0x10056340
1113
class UtopianPan0xa4 : public WhiteBaffoon0x50 {
@@ -29,9 +31,9 @@ class UtopianPan0xa4 : public WhiteBaffoon0x50 {
2931
// UtopianPan0xa4::`vector deleting destructor'
3032

3133
protected:
32-
undefined4 m_unk0x50; // 0x50
33-
undefined m_unk0x54[0x58 - 0x54]; // 0x54
34-
BronzeDune0x4c m_unk0x58; // 0x58
34+
undefined4 m_unk0x50; // 0x50
35+
DuskwindBananaRelic0x30* m_unk0x54; // 0x54
36+
BronzeDune0x4c m_unk0x58; // 0x58
3537
};
3638

3739
#endif // GOLDP_UTOPIANPAN_H

0 commit comments

Comments
 (0)