LegoBuildingManager Round 2 (#890)

* LegoBuildingManager Round 2

* 100% match most of the remaining methods, only
  Tickle and FUN_10030630 remain.

* The interesting finding is that the curious
  members of the LegoBuildingManager form a short
  embedded fixed-length array used to store info
  about current animation of buildings.

* I saw that you removed the SetY which I had
  added to MxMatrix. Agree that this method
  doesn't make sense on MxMatrix, however I've
  added it back to Matrix4. I see the pattern of
  setting / getting the Y component used in enough
  places that I doubt they were just hoping they
  remembered the subscript correctly every time.
  Let me know if you agree or still don't think it
  makes sense to include.

* Formatting

* Order

* Satisfy name checker

* Add beta annotations and adjust style/naming

* Make function STUB

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Mark Langen
2024-05-09 06:57:38 -07:00
committed by GitHub
parent 5c8249f334
commit 55299229c2
11 changed files with 278 additions and 52 deletions

View File

@@ -1,5 +1,7 @@
#include "legopathcontroller.h"
#include "legopathboundary.h"
DECOMP_SIZE_ASSERT(LegoPathController, 0x40)
// STUB: LEGO1 0x10044f40
@@ -65,6 +67,19 @@ MxResult LegoPathController::FUN_10046b30(LegoPathBoundary** p_path, MxS32& p_va
return SUCCESS;
}
// FUNCTION: LEGO1 0x10046b50
// FUNCTION: BETA10 0x100b7531
LegoPathBoundary* LegoPathController::GetPathBoundary(const char* p_name)
{
for (MxS32 i = 0; i < m_numL; i++) {
if (strcmpi(m_unk0x08[i].GetName(), p_name) == 0) {
return &m_unk0x08[i];
}
}
return NULL;
}
// STUB: LEGO1 0x10046bb0
void LegoPathController::FUN_10046bb0(LegoWorld* p_world)
{