@@ -71,13 +71,21 @@ class BronzeFalcon0xc8770 : public WhiteFalcon0x140 {
7171 SilverDune0x30::Rect* p_destRect,
7272 SilverDune0x30::Rect* p_sourceRect,
7373 undefined4 p_unk0x14
74- ) override ; // vtable+0x7c
75- void VTable0x80 () override ; // vtable+0x80
74+ ) override ; // vtable+0x7c
75+ void DrawRectangle (
76+ const IntRectangle0x10& p_rect,
77+ LegoFloat p_z,
78+ const ColorRGBA& p_color1,
79+ const ColorRGBA& p_color2,
80+ const ColorRGBA& p_color3,
81+ const ColorRGBA& p_color4,
82+ undefined4 p_arg7
83+ ) override ; // vtable+0x80
7684 void DrawTriangle (
7785 const TexturedVertex* p_vertex0,
7886 const TexturedVertex* p_vertex1,
7987 const TexturedVertex* p_vertex2,
80- undefined4 p_material,
88+ DuskwindBananaRelic0x24* p_material,
8189 undefined4 p_flags
8290 ) override ; // vtable+0x84
8391 void VTable0x88 (undefined4, undefined4, undefined4) override ; // vtable+0x88
@@ -106,12 +114,12 @@ class BronzeFalcon0xc8770 : public WhiteFalcon0x140 {
106114 void VTable0xec (undefined4) override ; // vtable+0xec
107115 void VTable0xf0 () override ; // vtable+0xf0
108116 void VTable0xf4 () override ; // vtable+0xf4
109- void VTable0xf8 () override ; // vtable+0xf8
110- void VTable0xfc () override ; // vtable+0xfc
111- void VTable0x100 () override ; // vtable+0x100
112- void VTable0x104 () override ; // vtable+0x104
113- void VTable0x108 () override ; // vtable+0x108
114- void VTable0x10c () override ; // vtable+0x10c
117+ LegoU32 GetMinimumTextureWidth (undefined4) const override ; // vtable+0xf8
118+ LegoU32 GetMaximumTextureWidth (undefined4) const override ; // vtable+0xfc
119+ LegoU32 GetMinimumTextureHeight (undefined4) const override ; // vtable+0x100
120+ LegoU32 GetMaximumTextureHeight (undefined4) const override ; // vtable+0x104
121+ LegoBool32 TexturesMustBeSquare () const override ; // vtable+0x108
122+ LegoBool32 TextureSizesMustBePowersOfTwo () const override ; // vtable+0x10c
115123 LegoBool32 VTable0x110 () const override ; // vtable+0x110
116124
117125 undefined4 FUN_10007d90 (GolDrawDPState*, SlatePeak0x58*, LegoU32 p_flags);
@@ -128,43 +136,47 @@ class BronzeFalcon0xc8770 : public WhiteFalcon0x140 {
128136
129137private:
130138 void FUN_100082e0 ();
131- void FUN_1000a2c0 (undefined*);
132- void FUN_1000a950 (undefined*);
139+ void FUN_1000a2c0 (DuskwindBananaRelic0x24*);
140+ void FUN_1000a950 (DuskwindBananaRelic0x24*);
141+ void FUN_1000ac00 (undefined4*);
133142 void FUN_1000b4a0 ();
134143 void Reset ();
135144 static HRESULT CALLBACK CountTextureFormatsCallback (DDPIXELFORMAT * p_format, void * p_context);
136145 static HRESULT CALLBACK EnumerateTextureFormatsCallback (DDPIXELFORMAT * p_format, void * p_context);
137146
138- GolDrawDPState* m_drawState; // 0x140
139- LPDIRECT3DDEVICE3 m_d3dDevice; // 0x144
140- D3DDEVICEDESC m_d3dDeviceDesc; // 0x148
141- LPDIRECT3DVIEWPORT3 m_d3dViewport; // 0x244
142- D3DVIEWPORT2 m_viewportParams; // 0x248
143- D3DMATERIAL m_materialParams; // 0x274
144- LPDIRECT3DMATERIAL3 m_backgroundMaterial; // 0x2c4
145- D3DMATERIALHANDLE m_backgroundMaterialHandle; // 0x2c8
146- ColorRGBA m_unk0x2cc; // 0x2cc
147- LegoU32 m_unk0x2d0; // 0x2d0
148- DuskwindBananaRelic0x30 m_unk0x2d4; // 0x2d4
149- SlatePeak0x58* m_unk0x304; // 0x304
150- SlatePeak0x58* m_renderTargetInfo; // 0x308
151- BronzeFalconSurface0x5c* m_unk0x30c; // 0x30c
152- DepthBuffer0x38 m_depthBuffer; // 0x310
153- undefined m_unk0x348[0xc384c - 0x348 ]; // 0x348
154- undefined4 m_unk0xc384c; // 0xc384c
155- undefined m_unk0xc3850[0xc83b4 - 0xc3850 ]; // 0xc3850
156- Field0xc83b4 m_unk0xc83b4; // 0xc83b4
157- undefined4 m_unk0xc83c4; // 0xc83c4
158- undefined m_unk0xc83c8[0xc8698 - 0xc83c8 ]; // 0xc83c8
159- SoftwareRenderer0x58 m_softwareRenderer; // 0xc8698
160- undefined m_unk0xc86f0[0xc86fc - 0xc86f0 ]; // 0xc86f0
161- float m_unk0xc86fc; // 0xc86fc
162- undefined4 m_unk0xc8700; // 0xc8700
163- undefined m_unk0xc8704[0xc8708 - 0xc8704 ]; // 0xc8704
164- undefined4 m_unk0xc8708[11 ]; // 0xc8708
165- undefined4 m_unk0xc8734[11 ]; // 0xc8734
166- undefined m_unk0xc8760[0xc876c - 0xc8760 ]; // 0xc8760
167- void (BronzeFalcon0xc8770::*m_unk0xc876c)(undefined*); // 0xc876c
147+ GolDrawDPState* m_drawState; // 0x140
148+ LPDIRECT3DDEVICE3 m_d3dDevice; // 0x144
149+ D3DDEVICEDESC m_d3dDeviceDesc; // 0x148
150+ LPDIRECT3DVIEWPORT3 m_d3dViewport; // 0x244
151+ D3DVIEWPORT2 m_viewportParams; // 0x248
152+ D3DMATERIAL m_materialParams; // 0x274
153+ LPDIRECT3DMATERIAL3 m_backgroundMaterial; // 0x2c4
154+ D3DMATERIALHANDLE m_backgroundMaterialHandle; // 0x2c8
155+ ColorRGBA m_unk0x2cc; // 0x2cc
156+ LegoU32 m_unk0x2d0; // 0x2d0
157+ DuskwindBananaRelic0x30 m_unk0x2d4; // 0x2d4
158+ SlatePeak0x58* m_unk0x304; // 0x304
159+ SlatePeak0x58* m_renderTargetInfo; // 0x308
160+ BronzeFalconSurface0x5c* m_unk0x30c; // 0x30c
161+ DepthBuffer0x38 m_depthBuffer; // 0x310
162+ D3DTLVERTEX m_unk0x348[25000 ]; // 0x348
163+ undefined4 m_unk0xc3848; // 0xc3848
164+ undefined4 m_unk0xc384c; // 0xc384c
165+ undefined m_unk0xc3850[0xc83b4 - 0xc3850 ]; // 0xc3850
166+ Field0xc83b4 m_unk0xc83b4; // 0xc83b4
167+ undefined4 m_unk0xc83c4; // 0xc83c4
168+ undefined m_unk0xc83c8[0xc8698 - 0xc83c8 ]; // 0xc83c8
169+ SoftwareRenderer0x58 m_softwareRenderer; // 0xc8698
170+ SoftwareRenderer0x58::Command0x14* m_unk0xc86f0; // 0xc86f0
171+ LegoS32 m_unk0xc86f4; // 0xc86f4
172+ LegoS32 m_unk0xc86f8; // 0xc86f8
173+ float m_unk0xc86fc; // 0xc86fc
174+ undefined4 m_unk0xc8700; // 0xc8700
175+ undefined m_unk0xc8704[0xc8708 - 0xc8704 ]; // 0xc8704
176+ undefined4 m_unk0xc8708[11 ]; // 0xc8708
177+ undefined4 m_unk0xc8734[11 ]; // 0xc8734
178+ undefined m_unk0xc8760[0xc876c - 0xc8760 ]; // 0xc8760
179+ void (BronzeFalcon0xc8770::*m_unk0xc876c)(DuskwindBananaRelic0x24*); // 0xc876c
168180};
169181
170182#endif // BRONZEFALCON0XC8770_H
0 commit comments