diff --git a/LEGO1/lego/legoomni/include/caveentity.h b/LEGO1/lego/legoomni/include/caveentity.h new file mode 100644 index 00000000..24b9759f --- /dev/null +++ b/LEGO1/lego/legoomni/include/caveentity.h @@ -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 diff --git a/LEGO1/lego/legoomni/include/jetskirace.h b/LEGO1/lego/legoomni/include/jetskirace.h index d926e871..4d039f70 100644 --- a/LEGO1/lego/legoomni/include/jetskirace.h +++ b/LEGO1/lego/legoomni/include/jetskirace.h @@ -19,6 +19,16 @@ public: { 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 diff --git a/LEGO1/lego/legoomni/include/legoobjectfactory.h b/LEGO1/lego/legoomni/include/legoobjectfactory.h index 66006588..ca2bc8d5 100644 --- a/LEGO1/lego/legoomni/include/legoobjectfactory.h +++ b/LEGO1/lego/legoomni/include/legoobjectfactory.h @@ -4,17 +4,17 @@ #include "mxobjectfactory.h" #define FOR_LEGOOBJECTFACTORY_OBJECTS(X) \ - X(LegoModelPresenter) \ - X(LegoTexturePresenter) \ - X(LegoPhonemePresenter) \ - X(LegoFlcTexturePresenter) \ X(LegoEntityPresenter) \ X(LegoActorPresenter) \ X(LegoWorldPresenter) \ X(LegoWorld) \ + X(LegoAnimPresenter) \ + X(LegoModelPresenter) \ + X(LegoTexturePresenter) \ + X(LegoPhonemePresenter) \ + X(LegoFlcTexturePresenter) \ X(LegoPalettePresenter) \ X(LegoPathPresenter) \ - X(LegoAnimPresenter) \ X(LegoLoopingAnimPresenter) \ X(LegoLocomotionAnimPresenter) \ X(LegoHideAnimPresenter) \ @@ -28,7 +28,7 @@ X(LegoPathActor) \ X(LegoRaceCar) \ X(LegoJetski) \ - /*X(JetskiRace) \*/ \ + X(JetskiRace) \ X(LegoEntity) \ X(LegoCarRaceActor) \ X(LegoJetskiRaceActor) \ @@ -48,7 +48,7 @@ X(GasStation) \ X(LegoAct2) \ X(LegoAct2State) \ - /*X(CarRace)*/ \ + X(CarRace) \ X(HospitalState) \ X(InfocenterState) \ X(PoliceState) \ @@ -93,7 +93,7 @@ X(RaceStandsEntity) \ X(JukeBoxEntity) \ X(RadioState) \ - /*X(CaveEntity)*/ \ + X(CaveEntity) \ /*X(JailEntity)*/ \ X(MxCompositeMediaPresenter) \ X(JukeBox) \ diff --git a/LEGO1/lego/legoomni/src/common/legoobjectfactory.cpp b/LEGO1/lego/legoomni/src/common/legoobjectfactory.cpp index 8e3d7526..87454802 100644 --- a/LEGO1/lego/legoomni/src/common/legoobjectfactory.cpp +++ b/LEGO1/lego/legoomni/src/common/legoobjectfactory.cpp @@ -80,6 +80,7 @@ #include "beachhouseentity.h" #include "bumpbouy.h" #include "carracestate.h" +#include "caveentity.h" #include "gasstationentity.h" #include "hospitalentity.h" #include "infocenterentity.h" @@ -90,7 +91,6 @@ #include "policeentity.h" #include "racestandsentity.h" #include "radiostate.h" -// #include "caveentity.h" // #include "jailentity.h" #include "jukebox.h" #include "jukeboxstate.h" diff --git a/LEGO1/lego/legoomni/src/race/jetskirace.cpp b/LEGO1/lego/legoomni/src/race/jetskirace.cpp index cc119878..8f477204 100644 --- a/LEGO1/lego/legoomni/src/race/jetskirace.cpp +++ b/LEGO1/lego/legoomni/src/race/jetskirace.cpp @@ -1 +1,36 @@ #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; +}