Implement the rest of the SkateBoard class (#873)

* Implement SkateBoard::~SkateBoard()

* Implement SkateBoard::VTable0xd4

* Implement SkateBoard::Create()

- one typecast is still not clear

* Add SkateBoard::VTable0xe4()

* apply clang-format

* Apply clang-format to legocontrolmanager.h

* Address review comments

* 57 percent match

* 63 percent

* 82 percent match

* previous 86 was bugged, unfortunately

* 85 percent on FUN_10010270

* 92 percent FUN_10010270

* 69 percent VTable0xcc

* 73 percent VTable0xcc

* more progress, not quite there yet

* minor 10010510 improvement

* 100 % on FUN_10010510

* slowly making progress on SkateBoard::VTable0xcc (broken decomp)

* getting closer, now only wrong registers

* 89 percent VTable0xcc

* 92 percent

* 95 % VTable0xcc

* Changes, see comment

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
jonschz
2024-05-01 13:36:58 +02:00
committed by GitHub
parent 20dee07b9c
commit 84b789ef9e
11 changed files with 119 additions and 50 deletions

View File

@@ -74,19 +74,19 @@ public:
} // vtable+0x2c
// FUNCTION: LEGO1 0x10002460
virtual void TranslateBy(const float* p_x, const float* p_y, const float* p_z)
virtual void TranslateBy(const float& p_x, const float& p_y, const float& p_z)
{
m_data[3][0] += *p_x;
m_data[3][1] += *p_y;
m_data[3][2] += *p_z;
m_data[3][0] += p_x;
m_data[3][1] += p_y;
m_data[3][2] += p_z;
} // vtable+0x30
// FUNCTION: LEGO1 0x100024a0
virtual void SetTranslation(const float* p_x, const float* p_y, const float* p_z)
virtual void SetTranslation(const float& p_x, const float& p_y, const float& p_z)
{
m_data[3][0] = *p_x;
m_data[3][1] = *p_y;
m_data[3][2] = *p_z;
m_data[3][0] = p_x;
m_data[3][1] = p_y;
m_data[3][2] = p_z;
} // vtable+0x34
// FUNCTION: LEGO1 0x100024d0