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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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 @@ class JetskiRace : public LegoRace {
{
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

View file

@ -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) \

View file

@ -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"

View file

@ -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;
}