Fix LegoRaceCar

This commit is contained in:
disinvite 2024-06-10 12:33:44 -04:00
parent f4d17f32b3
commit c35154c9bc
2 changed files with 49 additions and 43 deletions

View File

@ -4,30 +4,30 @@
#include "legocarraceactor.h"
#include "legoracemap.h"
/*
VTABLE: LEGO1 0x100d58a0 LegoRaceActor
VTABLE: LEGO1 0x100d58a8 LegoAnimActor
VTABLE: LEGO1 0x100d58b8 LegoPathActor
VTABLE: LEGO1 0x100d5894 LegoRaceMap
VTABLE: LEGO1 0x100d5898 LegoCarRaceActor
*/
// VTABLE: LEGO1 0x100d58a0 LegoRaceActor
// VTABLE: LEGO1 0x100d58a8 LegoAnimActor
// VTABLE: LEGO1 0x100d58b8 LegoPathActor
// VTABLE: LEGO1 0x100d5984 LegoRaceMap
// VTABLE: LEGO1 0x100d5988 LegoCarRaceActor
// SIZE 0x200
class LegoRaceCar : public LegoCarRaceActor, public LegoRaceMap {
public:
LegoRaceCar();
~LegoRaceCar() override;
MxLong Notify(MxParam& p_param) override; // vtable+0x04
// FUNCTION: LEGO1 0x10014290
// FUNCTION: LEGO1 0x100142a0
inline const char* ClassName() const override // vtable+0x0c
{
// STRING: LEGO1 0x100f0548
return "LegoRaceCar";
}
// FUNCTION: LEGO1 0x100142b0
// FUNCTION: LEGO1 0x100142c0
inline MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, LegoCarRaceActor::ClassName()) || LegoCarRaceActor::IsA(p_name);
return !strcmp(p_name, LegoRaceCar::ClassName()) || LegoCarRaceActor::IsA(p_name);
}
void ParseAction(char*) override; // vtable+0x20
@ -50,7 +50,7 @@ class LegoRaceCar : public LegoCarRaceActor, public LegoRaceMap {
virtual void FUN_10012ff0(float);
virtual MxBool FUN_10013130(float);
// SYNTHETIC: LEGO1 0x10014230
// SYNTHETIC: LEGO1 0x10014240
// LegoRaceCar::`scalar deleting destructor'
private:

View File

@ -18,6 +18,25 @@ LegoRaceCar::LegoRaceCar()
NotificationManager()->Register(this);
}
// STUB: LEGO1 0x10012c80
LegoRaceCar::~LegoRaceCar()
{
// TODO
}
// STUB: LEGO1 0x10012d90
MxLong LegoRaceCar::Notify(MxParam& p_param)
{
// TODO
return 0;
}
// STUB: LEGO1 0x10012e60
void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed)
{
// TODO
}
// FUNCTION: LEGO1 0x10012ea0
void LegoRaceCar::FUN_10012ea0(float p_worldSpeed)
{
@ -31,6 +50,12 @@ void LegoRaceCar::FUN_10012ea0(float p_worldSpeed)
}
}
// STUB: LEGO1 0x10012ef0
void LegoRaceCar::ParseAction(char*)
{
// TODO
}
// STUB: LEGO1 0x10012ff0
void LegoRaceCar::FUN_10012ff0(float)
{
@ -44,26 +69,27 @@ MxBool LegoRaceCar::FUN_10013130(float)
return TRUE;
}
// STUB: LEGO1 0x10014280
MxLong LegoRaceCar::Notify(MxParam& p_param)
// STUB: LEGO1 0x100131f0
void LegoRaceCar::VTable0x70(float p_float)
{
// TODO
}
// STUB: LEGO1 0x100133c0
MxResult LegoRaceCar::VTable0x94(LegoPathActor* p_actor, MxBool p_bool)
{
// TODO
return 0;
}
// STUB: LEGO1 0x100144d0
void LegoRaceCar::ParseAction(char*)
// STUB: LEGO1 0x10013600
MxResult LegoRaceCar::VTable0x9c()
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x100144e0
void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed)
{
// TODO
}
// STUB: LEGO1 0x100144f0
// STUB: LEGO1 0x10014500
MxU32 LegoRaceCar::VTable0x6c(
LegoPathBoundary* p_boundary,
Vector3& p_v1,
@ -77,28 +103,8 @@ MxU32 LegoRaceCar::VTable0x6c(
return 0;
}
// STUB: LEGO1 0x10014530
void LegoRaceCar::VTable0x70(float p_float)
{
// TODO
}
// STUB: LEGO1 0x10014540
MxResult LegoRaceCar::VTable0x94(LegoPathActor* p_actor, MxBool p_bool)
{
// TODO
return 0;
}
// STUB: LEGO1 0x10014550
// STUB: LEGO1 0x10014560
void LegoRaceCar::SwitchBoundary(LegoPathBoundary*& p_boundary, LegoUnknown100db7f4*& p_edge, float& p_unk0xe4)
{
// TODO
}
// STUB: LEGO1 0x10014580
MxResult LegoRaceCar::VTable0x9c()
{
// TODO
return SUCCESS;
}