Implement/match LegoCarRaceActor::FUN_10080590 (#1070)

* Implement/match `LegoCarRaceActor::FUN_10080590`

* Add vbtable annotations

* disable formatter for assertion

* Fix BETA10 annotations

* Address review comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2024-07-28 20:13:18 +02:00
committed by GitHub
parent f436b9365b
commit 1f251ff817
7 changed files with 100 additions and 12 deletions

View File

@@ -5,6 +5,8 @@
#include "legowegedge.h"
#include "mxgeometry/mxgeometry3d.h"
#include <assert.h>
// VTABLE: LEGO1 0x100db7f4
// SIZE 0x40
struct LegoUnknown100db7f4 : public LegoEdge {
@@ -28,6 +30,10 @@ public:
p_point[2] = -m_unk0x28[2];
}
else {
// clang-format off
// FIXME: There is no * dereference in the original assertion
assert(p_f.IsEqual( *m_faceB ));
// clang-format on
p_point = m_unk0x28;
}

View File

@@ -20,6 +20,8 @@ public:
// FUNCTION: BETA10 0x1001cc30
LegoEdge** GetEdges() { return m_edges; }
// TODO: The assertion at BETA10 0x10037352 suggests that this function might take a pointer instead of a reference
// FUNCTION: BETA10 0x100373f0
LegoU32 IsEqual(LegoWEEdge& p_other) { return this == &p_other; }
void SetEdges(LegoEdge** p_edges, LegoU8 p_numEdges)