Implement several functions

This commit is contained in:
jonschz 2024-06-30 10:41:01 +02:00
parent 4a87c3bc44
commit e781b71f5c
2 changed files with 17 additions and 11 deletions

View File

@ -46,7 +46,7 @@ class LegoRaceCar : public LegoCarRaceActor, public LegoRaceMap {
override; // vtable+0x98 override; // vtable+0x98
MxResult VTable0x9c() override; // vtable+0x9c MxResult VTable0x9c() override; // vtable+0x9c
virtual void FUN_10012ea0(float p_worldSpeed); virtual void SetMaxLinearVelocity(float p_maxLinearVelocity);
virtual void FUN_10012ff0(float); virtual void FUN_10012ff0(float);
virtual MxBool FUN_10013130(float); virtual MxBool FUN_10013130(float);

View File

@ -18,35 +18,41 @@ LegoRaceCar::LegoRaceCar()
NotificationManager()->Register(this); NotificationManager()->Register(this);
} }
// STUB: LEGO1 0x10012c80 // FUNCTION: LEGO1 0x10012c80
LegoRaceCar::~LegoRaceCar() LegoRaceCar::~LegoRaceCar()
{ {
// TODO NotificationManager()->Unregister(this);
} }
// STUB: LEGO1 0x10012d90 // FUNCTION: LEGO1 0x10012d90
MxLong LegoRaceCar::Notify(MxParam& p_param) MxLong LegoRaceCar::Notify(MxParam& p_param)
{ {
// TODO return LegoRaceMap::Notify(p_param);
return 0;
} }
// STUB: LEGO1 0x10012e60 // FUNCTION: LEGO1 0x10012e60
void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed) void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed)
{ {
// TODO if (!m_userNavFlag) {
if (!LegoCarRaceActor::m_unk0x0c) {
m_maxLinearVel = p_worldSpeed;
}
LegoAnimActor::SetWorldSpeed(p_worldSpeed);
return;
}
m_worldSpeed = p_worldSpeed;
} }
// FUNCTION: LEGO1 0x10012ea0 // FUNCTION: LEGO1 0x10012ea0
void LegoRaceCar::FUN_10012ea0(float p_worldSpeed) void LegoRaceCar::SetMaxLinearVelocity(float p_maxLinearVelocity)
{ {
if (p_worldSpeed < 0) { if (p_maxLinearVelocity < 0) {
LegoCarRaceActor::m_unk0x0c = 2; LegoCarRaceActor::m_unk0x0c = 2;
m_maxLinearVel = 0; m_maxLinearVel = 0;
SetWorldSpeed(0); SetWorldSpeed(0);
} }
else { else {
m_maxLinearVel = p_worldSpeed; m_maxLinearVel = p_maxLinearVelocity;
} }
} }