Implement parts of LegoCarBuild and dependents (#1092)

* Implement parts of `LegoCarBuild` and dependents

* Fix BETA10 offset

* Fix constants

* Code style: Rename parameters

* Linter fixes v2

* Linter errors v3

* Add BETA10 variable names for presenters

* Address review comments

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2024-09-03 22:50:30 +02:00
committed by GitHub
parent 73938ac2ab
commit 2b14d3d6a5
19 changed files with 744 additions and 97 deletions

View File

@@ -294,6 +294,12 @@ class Vector4 : public Vector3 {
public:
Vector4(float* p_data) : Vector3(p_data) {}
// Hack: Some code initializes a Vector4 from a (most likely) const float* source.
// Example: LegoCarBuild::VTable0x6c
// Vector4 however is a class that can mutate its underlying source, making
// initialization with a const source fundamentally incompatible.
Vector4(const float* p_data) : Vector3((float*) p_data) {}
// Note: virtual function overloads appear in the virtual table
// in reverse order of appearance.