Implement RaceSkel, add BETA10 annotations (#1088)

* Implement `RaceSkel`, add BETA10 annotations

* fix formatting

* Fix order

* Address some review comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2024-08-21 22:30:27 +02:00
committed by GitHub
parent b649902578
commit 1b46859cf6
15 changed files with 104 additions and 18 deletions

View File

@@ -1,13 +1,53 @@
#include "raceskel.h"
#include "carrace.h"
#include "legoworld.h"
#include "misc.h"
#include <assert.h>
DECOMP_SIZE_ASSERT(RaceSkel, 0x178)
// STUB: LEGO1 0x100719b0
// FUNCTION: LEGO1 0x100719b0
// FUNCTION: BETA10 0x100f1240
RaceSkel::RaceSkel()
{
// TODO
m_animPosition = 0.0f;
}
// FUNCTION: LEGO1 0x10071ad0
RaceSkel::~RaceSkel()
{
}
// FUNCTION: LEGO1 0x10071b50
// FUNCTION: BETA10 0x100f13cf
MxResult RaceSkel::FUN_1001c360(float p_und, Matrix4& p_transform)
{
p_transform[3][0] = -630.0f;
p_transform[3][1] = -4.688f;
p_transform[3][2] = 323.0f;
m_animPosition = p_und;
return LegoAnimActor::FUN_1001c360(p_und, p_transform);
}
// FUNCTION: LEGO1 0x10071b90
// FUNCTION: BETA10 0x100f1444
void RaceSkel::ParseAction(char* p_extra)
{
LegoAnimActor::ParseAction(p_extra);
// name verified by BETA10 0x100f147d
CarRace* w = (CarRace*) CurrentWorld();
assert(w);
w->SetSkeleton(this);
assert(m_roi);
BoundingSphere sphere = m_roi->GetBoundingSphere();
sphere.Radius() *= 100.0f;
m_roi->SetBoundingSphere(sphere);
}
// FUNCTION: LEGO1 0x10071cb0