Fix size annotations for legoomni

Fix structure and add placeholder annotations for LegoAnimActor and subclasses
This commit is contained in:
Nathan
2024-03-22 11:09:26 -04:00
parent 96f7219811
commit a45706a854
42 changed files with 460 additions and 37 deletions

View File

@@ -6,6 +6,19 @@ void Act3Shark::VTable0x74(Matrix4& p_transform)
// TODO
}
// STUB: LEGO1 0x10042ab0
Act3Shark::Act3Shark()
{
// TODO
}
// STUB: LEGO1 0x10042ce0
MxResult Act3Shark::FUN_10042ce0(void*)
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x100430e0
void Act3Shark::ParseAction(char*)
{

View File

@@ -0,0 +1,7 @@
#include "act2actor.h"
// STUB: LEGO1 0x100187e0
Act2Actor::Act2Actor()
{
// TODO
}

View File

@@ -0,0 +1,7 @@
#include "act3actor.h"
// STUB: LEGO1 0x1003fa50
Act3Actor::Act3Actor()
{
// TODO
}

View File

@@ -24,6 +24,11 @@ void BumpBouy::VTable0x74(Matrix4& p_transform)
// TODO
}
// STUB: LEGO1 0x10027220
BumpBouy::BumpBouy()
{
}
// STUB: LEGO1 0x100274d0
MxLong BumpBouy::Notify(MxParam& p_param)
{

View File

@@ -170,7 +170,7 @@ LegoROI* LegoCharacterManager::GetROI(const char* p_key, MxBool p_createEntity)
if (character != NULL) {
if (p_createEntity && character->m_roi->GetEntity() == NULL) {
// TODO: Match
LegoAnimActor* actor = new LegoAnimActor(1);
LegoAnimActor* actor = new LegoAnimActor();
actor->SetROI(character->m_roi, FALSE, FALSE);
actor->FUN_100114e0(0);

View File

@@ -1,5 +1,30 @@
#include "legocarraceactor.h"
#include "mxmisc.h"
#include "mxvariabletable.h"
// GLOBAL: LEGO1 0x100f7af0
// STRING: LEGO1 0x100f7ae4
const char* g_fuel = "FUEL";
// FUNCTION: LEGO1 0x10080350
LegoCarRaceActor::LegoCarRaceActor()
{
m_unk0x08 = 1.0f;
m_unk0x70 = 0.0f;
m_unk0x0c = 0;
m_unk0x13c = 0.0f;
m_unk0x68 = 1.0f;
m_unk0x1c = 0.65f;
m_unk0x10 = 0.65f;
m_unk0x14 = 0.03f;
m_unk0x18 = 0.6f;
m_unk0x140 = 0.1f;
m_unk0x150 = -5.0f;
m_unk0x148 = 1;
VariableTable()->SetVariable(g_fuel, "0.8");
}
// STUB: LEGO1 0x10014130
void LegoCarRaceActor::VTable0x68()
{
@@ -20,6 +45,16 @@ MxS32 LegoCarRaceActor::VTable0x94()
return 0;
}
// STUB: LEGO1 0x10080590
void LegoCarRaceActor::FUN_10080590()
{
}
// STUB: LEGO1 0x10080740
void LegoCarRaceActor::FUN_10080740()
{
}
// STUB: LEGO1 0x10081830
void LegoCarRaceActor::VTable0x6c()
{

View File

@@ -1,5 +1,27 @@
#include "legojetski.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
// FUNCTION: LEGO1 0x100136f0
void LegoJetski::FUN_100136f0(float p_worldSpeed)
{
if (p_worldSpeed < 0) {
LegoCarRaceActor::m_unk0x0c = 2;
m_unk0x13c = 0;
SetWorldSpeed(0);
}
else {
m_unk0x13c = p_worldSpeed;
}
}
// FUNCTION: LEGO1 0x10013820
LegoJetski::LegoJetski()
{
NotificationManager()->Register(this);
}
// STUB: LEGO1 0x10013e70
MxLong LegoJetski::Notify(MxParam& p_param)
{

View File

@@ -1,5 +1,14 @@
#include "legojetskiraceactor.h"
// FUNCTION: LEGO1 0x10080ef0
LegoJetskiRaceActor::LegoJetskiRaceActor()
{
m_unk0x10 = 0.95f;
m_unk0x14 = 0.04f;
m_unk0x18 = 0.5f;
m_unk0x150 = 1.5f;
}
// STUB: LEGO1 0x10081fc0
void LegoJetskiRaceActor::VTable0x6c()
{

View File

@@ -1,9 +1,25 @@
#include "legoanimactor.h"
// TODO: This might not be the actual constructor of this class,
// it only exists temporarily to match other code
// STUB: LEGO1 0x1002a500
LegoAnimActor::LegoAnimActor(undefined4)
// STUB: LEGO1 0x1001c1f0
MxResult LegoAnimActor::FUN_1001c1f0(float& p_out)
{
// TODO
return SUCCESS;
}
// STUB: LEGO1 0x1001c360
MxResult LegoAnimActor::FUN_1001c360(float, undefined4)
{
return FAILURE;
}
// STUB: LEGO1 0x1001c450
MxResult LegoAnimActor::FUN_1001c450(undefined4, undefined4, undefined4, undefined4)
{
return SUCCESS;
}
// STUB: LEGO1 0x1001c800
void LegoAnimActor::FUN_1001c800()
{
}

View File

@@ -0,0 +1,14 @@
#include "legoextraactor.h"
// STUB : LEGO1 0x1002a500
LegoExtraActor::LegoExtraActor()
{
}
// STUB: LEGO1 0x1002aae0
MxResult LegoExtraActor::FUN_1002aae0()
{
// TODO
VTable0x9c();
return SUCCESS;
}

View File

@@ -6,6 +6,13 @@ void LegoRaceActor::VTable0x74(Matrix4& p_transform)
// TODO
}
// FUNCTION: LEGO1 0x100145d0
LegoRaceActor::LegoRaceActor()
{
m_unk0x70 = 0;
m_unk0x08 = 0;
}
// STUB: LEGO1 0x10014ca0
void LegoRaceActor::ParseAction(char*)
{

View File

@@ -1,5 +1,47 @@
#include "legoracecar.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
// FUNCTION: LEGO1 0x10012950
LegoRaceCar::LegoRaceCar()
{
m_unk0x54 = 0;
m_unk0x70 = 0;
m_unk0x74 = 0;
m_unk0x5c.Clear();
m_unk0x58 = 0;
m_unk0x78 = 0;
m_unk0x7c = 0;
NotificationManager()->Register(this);
}
// FUNCTION: LEGO1 0x10012ea0
void LegoRaceCar::FUN_10012ea0(float p_worldSpeed)
{
if (p_worldSpeed < 0) {
LegoCarRaceActor::m_unk0x0c = 2;
m_unk0x13c = 0;
SetWorldSpeed(0);
}
else {
m_unk0x13c = p_worldSpeed;
}
}
// STUB: LEGO1 0x10012ff0
void LegoRaceCar::FUN_10012bf0(float)
{
// TODO
}
// STUB: LEGO1 0x10013130
MxBool LegoRaceCar::FUN_10013130(float)
{
// TODO
return TRUE;
}
// STUB: LEGO1 0x10014280
MxLong LegoRaceCar::Notify(MxParam& p_param)
{

View File

@@ -0,0 +1,19 @@
#include "legoracemap.h"
#include "legocontrolmanager.h"
#include "misc.h"
// FUNCTION: LEGO1 0x1005d0d0
LegoRaceMap::LegoRaceMap()
{
m_unk0x08 = FALSE;
m_unk0x0c = NULL;
m_unk0x10 = 0;
ControlManager()->Register(this);
}
// FUNCTION: LEGO1 0x1005d4b0
void LegoRaceMap::FUN_1005d4b0()
{
// TODO
}

View File

@@ -0,0 +1,7 @@
#include "raceskel.h"
// STUB: LEGO1 0x100719b0
RaceSkel::RaceSkel()
{
// TODO
}