Add missing classes

This commit is contained in:
Christian Semmler 2024-06-12 18:16:46 -04:00
parent abb4483e18
commit 00cabfb813
10 changed files with 195 additions and 26 deletions

View File

@ -285,7 +285,10 @@ target_link_libraries(omni PRIVATE dsound winmm Smacker::Smacker)
add_library(lego1 SHARED
LEGO1/define.cpp
LEGO1/lego/legoomni/src/actors/act2actor.cpp
LEGO1/lego/legoomni/src/actors/act2genactor.cpp
LEGO1/lego/legoomni/src/actors/act3actor.cpp
LEGO1/lego/legoomni/src/actors/act3brickster.cpp
LEGO1/lego/legoomni/src/actors/act3cop.cpp
LEGO1/lego/legoomni/src/actors/act3shark.cpp
LEGO1/lego/legoomni/src/actors/ambulance.cpp
LEGO1/lego/legoomni/src/actors/bike.cpp

View File

@ -0,0 +1,15 @@
#ifndef ACT2GENACTOR_H
#define ACT2GENACTOR_H
#include "legopathactor.h"
// VTABLE: LEGO1 0x100d4ed8
// SIZE 0x154
class Act2GenActor : public LegoPathActor {
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
// SYNTHETIC: LEGO1 0x1000f5a0
// Act2GenActor::`scalar deleting destructor'
};
#endif // ACT2GENACTOR_H

View File

@ -23,6 +23,9 @@ class Act3Actor : public LegoAnimActor {
// SYNTHETIC: LEGO1 0x10043330
// Act3Actor::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x10040fa0
// Act3Actor::~Act3Actor
private:
undefined4 m_unk0x1c; // 0x1c
};

View File

@ -0,0 +1,31 @@
#ifndef ACT3BRICKSTER_H
#define ACT3BRICKSTER_H
#include "act3actor.h"
// VTABLE: LEGO1 0x100d7838 LegoPathActor
// VTABLE: LEGO1 0x100d7908 LegoAnimActor
// SIZE 0x1b4
class Act3Brickster : public Act3Actor {
public:
Act3Brickster();
~Act3Brickster();
void ParseAction(char* p_extra) override; // vtable+0x20
void VTable0x70(float p_und) override; // vtable+0x70
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
void SwitchBoundary(
LegoPathBoundary*& p_boundary,
LegoUnknown100db7f4*& p_edge,
float& p_unk0xe4
) override; // vtable+0x98
MxResult VTable0x9c() override; // vtable+0x9c
// SYNTHETIC: LEGO1 0x10043250
// Act3Brickster::`scalar deleting destructor'
private:
undefined4 m_unk0x20[15]; // 0x20
};
#endif // ACT3BRICKSTER_H

View File

@ -0,0 +1,25 @@
#ifndef ACT3COP_H
#define ACT3COP_H
#include "act3actor.h"
// VTABLE: LEGO1 0x100d7750 LegoPathActor
// VTABLE: LEGO1 0x100d7820 LegoAnimActor
// SIZE 0x188
class Act3Cop : public Act3Actor {
public:
Act3Cop();
void ParseAction(char* p_extra) override; // vtable+0x20
void VTable0x70(float p_und) override; // vtable+0x70
MxResult VTable0x94(LegoPathActor*, MxBool) override; // vtable+0x94
MxResult VTable0x9c() override; // vtable+0x9c
// SYNTHETIC: LEGO1 0x10043120
// Act3Cop::`scalar deleting destructor'
private:
undefined4 m_unk0x20[4]; // 0x20
};
#endif // ACT3COP_H

View File

@ -61,7 +61,7 @@
X(PizzaMissionState) \
X(Act2Actor) \
X(Act2Brick) \
/*X(Act2GenActor)*/ \
X(Act2GenActor) \
X(Act2PoliceStation) \
X(Act3) \
X(Act3State) \
@ -75,8 +75,8 @@
X(AmbulanceMissionState) \
X(TowTrack) \
X(TowTrackMissionState) \
/*X(Act3Cop)*/ \
/*X(Act3Brickster)*/ \
X(Act3Cop) \
X(Act3Brickster) \
X(Act3Shark) \
X(BumpBouy) \
X(Act3Actor) \

View File

@ -0,0 +1,10 @@
#include "act2genactor.h"
DECOMP_SIZE_ASSERT(Act2GenActor, 0x154)
// STUB: LEGO1 0x10018740
MxResult Act2GenActor::VTable0x94(LegoPathActor*, MxBool)
{
// TODO
return SUCCESS;
}

View File

@ -0,0 +1,47 @@
#include "act3brickster.h"
DECOMP_SIZE_ASSERT(Act3Brickster, 0x1b4)
// STUB: LEGO1 0x10040e10
Act3Brickster::Act3Brickster()
{
// TODO
}
// FUNCTION: LEGO1 0x10040f20
Act3Brickster::~Act3Brickster()
{
// TODO
}
// STUB: LEGO1 0x10040ff0
void Act3Brickster::ParseAction(char* p_extra)
{
// TODO
}
// STUB: LEGO1 0x10041050
void Act3Brickster::VTable0x70(float p_und)
{
// TODO
}
// STUB: LEGO1 0x100416b0
MxResult Act3Brickster::VTable0x94(LegoPathActor*, MxBool)
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x10042990
void Act3Brickster::SwitchBoundary(LegoPathBoundary*& p_boundary, LegoUnknown100db7f4*& p_edge, float& p_unk0xe4)
{
// TODO
}
// STUB: LEGO1 0x100429d0
MxResult Act3Brickster::VTable0x9c()
{
// TODO
return SUCCESS;
}

View File

@ -0,0 +1,35 @@
#include "act3cop.h"
DECOMP_SIZE_ASSERT(Act3Cop, 0x188)
// STUB: LEGO1 0x1003fe30
Act3Cop::Act3Cop()
{
// TODO
}
// STUB: LEGO1 0x1003ff70
MxResult Act3Cop::VTable0x94(LegoPathActor*, MxBool)
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x10040060
void Act3Cop::ParseAction(char* p_extra)
{
// TODO
}
// STUB: LEGO1 0x100401f0
void Act3Cop::VTable0x70(float p_und)
{
// TODO
}
// STUB: LEGO1 0x10040d20
MxResult Act3Cop::VTable0x9c()
{
// TODO
return SUCCESS;
}

View File

@ -2,8 +2,20 @@
#include "act2actor.h"
#include "act2brick.h"
#include "act2genactor.h"
#include "act2policestation.h"
#include "act3.h"
#include "act3actor.h"
#include "act3brickster.h"
#include "act3cop.h"
#include "act3shark.h"
#include "ambulance.h"
#include "bike.h"
#include "buildings.h"
#include "bumpbouy.h"
#include "carrace.h"
#include "decomp.h"
#include "doors.h"
#include "dunebuggy.h"
#include "elevatorbottom.h"
#include "gasstation.h"
@ -13,13 +25,18 @@
#include "infocenter.h"
#include "infocenterdoor.h"
#include "isle.h"
#include "jetski.h"
#include "jetskirace.h"
#include "jukebox.h"
#include "jukeboxentity.h"
#include "lego3dwavepresenter.h"
#include "legoact2.h"
#include "legoactioncontrolpresenter.h"
#include "legoactor.h"
#include "legoactorpresenter.h"
#include "legoanimactor.h"
#include "legoanimationmanager.h"
#include "legoanimmmpresenter.h"
#include "legoanimpresenter.h"
#include "legocarbuild.h"
#include "legocarbuildpresenter.h"
@ -33,6 +50,7 @@
#include "legoloadcachesoundpresenter.h"
#include "legolocomotionanimpresenter.h"
#include "legoloopinganimpresenter.h"
#include "legometerpresenter.h"
#include "legomodelpresenter.h"
#include "legopalettepresenter.h"
#include "legopartpresenter.h"
@ -43,36 +61,18 @@
#include "legotexturepresenter.h"
#include "legoworld.h"
#include "legoworldpresenter.h"
#include "motocycle.h"
#include "mxcompositemediapresenter.h"
#include "mxcontrolpresenter.h"
#include "pizza.h"
#include "pizzeria.h"
#include "police.h"
#include "racecar.h"
#include "raceskel.h"
#include "registrationbook.h"
#include "score.h"
#include "skateboard.h"
// #include "act2genactor.h"
#include "act2policestation.h"
#include "act3.h"
#include "ambulance.h"
#include "bike.h"
#include "doors.h"
#include "jetski.h"
#include "legoanimationmanager.h"
#include "legoanimmmpresenter.h"
#include "motocycle.h"
#include "racecar.h"
#include "towtrack.h"
// #include "act3cop.h"
// #include "act3brickster.h"
#include "act3actor.h"
#include "act3shark.h"
#include "buildings.h"
#include "bumpbouy.h"
#include "jukebox.h"
#include "jukeboxentity.h"
#include "legometerpresenter.h"
#include "mxcompositemediapresenter.h"
#include "pizzeria.h"
#include "raceskel.h"
// TODO: Before HospitalState, add all of the different LegoVehicleBuildState's