Skip to content

Commit c016217

Browse files
authored
Implement/match ObscureVantage0x58::VTable0x18 (isledecomp#203)
1 parent 91c6007 commit c016217

2 files changed

Lines changed: 17 additions & 5 deletions

File tree

LEGORacers/include/obscurevantage0x58.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class ObscureVantage0x58 {
2828
virtual void VTable0x0c(ObscureVantage0x58*); // vtable+0x0c
2929
virtual void VTable0x10(undefined4); // vtable+0x10
3030
virtual void VTable0x14(undefined4); // vtable+0x14
31-
virtual void VTable0x18(undefined4); // vtable+0x18
31+
virtual undefined4 VTable0x18(undefined4); // vtable+0x18
3232
virtual undefined4 VTable0x1c(SilverDune0x30::Rect*, SilverDune0x30::Rect*); // vtable+0x1c
3333
virtual undefined4 VTable0x20(void*, undefined4, undefined4); // vtable+0x20
3434
virtual undefined4 VTable0x24(OnyxCircularBuffer0x1c::Item*, undefined4, undefined4); // vtable+0x24

LEGORacers/src/obscurevantage0x58.cpp

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,11 +199,23 @@ void ObscureVantage0x58::FUN_004731b0(undefined4& p_param1, undefined4& p_param2
199199
p_param2 -= m_unk0x34.m_unk0x04;
200200
}
201201

202-
// STUB: LEGORACERS 0x004731d0
203-
void ObscureVantage0x58::VTable0x18(undefined4)
202+
// FUNCTION: LEGORACERS 0x004731d0
203+
undefined4 ObscureVantage0x58::VTable0x18(undefined4 p_unk0x04)
204204
{
205-
// TODO
206-
STUB(0x004731d0);
205+
ObscureVantage0x58* child = m_unk0x08;
206+
if (VTable0x3c(p_unk0x04)) {
207+
return TRUE;
208+
}
209+
210+
while (child) {
211+
if (child->VTable0x18(p_unk0x04)) {
212+
return TRUE;
213+
}
214+
215+
child = child->m_unk0x14;
216+
}
217+
218+
return FALSE;
207219
}
208220

209221
// STUB: LEGORACERS 0x00473210

0 commit comments

Comments
 (0)