Add JetSkiRace vtable and CaveEntity classes from LegoObjectFactory (#553)

* Add JetSkiRace vtable

* Fix vtable

* Fixes

* Update jetskirace.cpp

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha
2024-02-10 18:44:00 -05:00
committed by GitHub
parent e42e0d1ca2
commit 8786a5b44a
5 changed files with 64 additions and 9 deletions

View File

@@ -0,0 +1,10 @@
#ifndef CAVEENTITY_H
#define CAVEENTITY_H
#include "racestandsentity.h"
// No overrides, uses vtable from RaceStandsEntity
// SIZE 0x68
class CaveEntity : public RaceStandsEntity {};
#endif // CAVEENTITY_H

View File

@@ -19,6 +19,16 @@ public:
{ {
return !strcmp(p_name, JetskiRace::ClassName()) || LegoRace::IsA(p_name); return !strcmp(p_name, JetskiRace::ClassName()) || LegoRace::IsA(p_name);
} }
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void ReadyWorld() override; // vtable+0x50
MxBool VTable0x64() override; // vtable+0x64
undefined4 VTable0x6c(undefined4) override; // vtable+0x6c
undefined4 VTable0x70(undefined4) override; // vtable+0x70
undefined4 VTable0x74(undefined4) override; // vtable+0x74
}; };
// SYNTHETIC: LEGO1 0x1000f530
// JetskiRace::`scalar deleting destructor'
#endif // JETSKIRACE_H #endif // JETSKIRACE_H

View File

@@ -4,17 +4,17 @@
#include "mxobjectfactory.h" #include "mxobjectfactory.h"
#define FOR_LEGOOBJECTFACTORY_OBJECTS(X) \ #define FOR_LEGOOBJECTFACTORY_OBJECTS(X) \
X(LegoModelPresenter) \
X(LegoTexturePresenter) \
X(LegoPhonemePresenter) \
X(LegoFlcTexturePresenter) \
X(LegoEntityPresenter) \ X(LegoEntityPresenter) \
X(LegoActorPresenter) \ X(LegoActorPresenter) \
X(LegoWorldPresenter) \ X(LegoWorldPresenter) \
X(LegoWorld) \ X(LegoWorld) \
X(LegoAnimPresenter) \
X(LegoModelPresenter) \
X(LegoTexturePresenter) \
X(LegoPhonemePresenter) \
X(LegoFlcTexturePresenter) \
X(LegoPalettePresenter) \ X(LegoPalettePresenter) \
X(LegoPathPresenter) \ X(LegoPathPresenter) \
X(LegoAnimPresenter) \
X(LegoLoopingAnimPresenter) \ X(LegoLoopingAnimPresenter) \
X(LegoLocomotionAnimPresenter) \ X(LegoLocomotionAnimPresenter) \
X(LegoHideAnimPresenter) \ X(LegoHideAnimPresenter) \
@@ -28,7 +28,7 @@
X(LegoPathActor) \ X(LegoPathActor) \
X(LegoRaceCar) \ X(LegoRaceCar) \
X(LegoJetski) \ X(LegoJetski) \
/*X(JetskiRace) \*/ \ X(JetskiRace) \
X(LegoEntity) \ X(LegoEntity) \
X(LegoCarRaceActor) \ X(LegoCarRaceActor) \
X(LegoJetskiRaceActor) \ X(LegoJetskiRaceActor) \
@@ -48,7 +48,7 @@
X(GasStation) \ X(GasStation) \
X(LegoAct2) \ X(LegoAct2) \
X(LegoAct2State) \ X(LegoAct2State) \
/*X(CarRace)*/ \ X(CarRace) \
X(HospitalState) \ X(HospitalState) \
X(InfocenterState) \ X(InfocenterState) \
X(PoliceState) \ X(PoliceState) \
@@ -93,7 +93,7 @@
X(RaceStandsEntity) \ X(RaceStandsEntity) \
X(JukeBoxEntity) \ X(JukeBoxEntity) \
X(RadioState) \ X(RadioState) \
/*X(CaveEntity)*/ \ X(CaveEntity) \
/*X(JailEntity)*/ \ /*X(JailEntity)*/ \
X(MxCompositeMediaPresenter) \ X(MxCompositeMediaPresenter) \
X(JukeBox) \ X(JukeBox) \

View File

@@ -80,6 +80,7 @@
#include "beachhouseentity.h" #include "beachhouseentity.h"
#include "bumpbouy.h" #include "bumpbouy.h"
#include "carracestate.h" #include "carracestate.h"
#include "caveentity.h"
#include "gasstationentity.h" #include "gasstationentity.h"
#include "hospitalentity.h" #include "hospitalentity.h"
#include "infocenterentity.h" #include "infocenterentity.h"
@@ -90,7 +91,6 @@
#include "policeentity.h" #include "policeentity.h"
#include "racestandsentity.h" #include "racestandsentity.h"
#include "radiostate.h" #include "radiostate.h"
// #include "caveentity.h"
// #include "jailentity.h" // #include "jailentity.h"
#include "jukebox.h" #include "jukebox.h"
#include "jukeboxstate.h" #include "jukeboxstate.h"

View File

@@ -1 +1,36 @@
#include "jetskirace.h" #include "jetskirace.h"
// STUB: LEGO1 0x100162c0
MxResult JetskiRace::Create(MxDSAction& p_dsAction)
{
return SUCCESS;
}
// STUB: LEGO1 0x100163b0
void JetskiRace::ReadyWorld()
{
}
// STUB: LEGO1 0x10016520
undefined4 JetskiRace::VTable0x74(undefined4)
{
return 0;
}
// STUB: LEGO1 0x100165a0
undefined4 JetskiRace::VTable0x6c(undefined4)
{
return 0;
}
// STUB: LEGO1 0x100166a0
undefined4 JetskiRace::VTable0x70(undefined4)
{
return 0;
}
// STUB: LEGO1 0x10016a10
MxBool JetskiRace::VTable0x64()
{
return TRUE;
}