diff --git a/LEGO1/lego/legoomni/include/legoanimationmanager.h b/LEGO1/lego/legoomni/include/legoanimationmanager.h index ae8bc302..301c08e9 100644 --- a/LEGO1/lego/legoomni/include/legoanimationmanager.h +++ b/LEGO1/lego/legoomni/include/legoanimationmanager.h @@ -96,7 +96,7 @@ class LegoAnimationManager : public MxCore { void FUN_100629b0(MxU32, MxBool); void FUN_10063270(LegoROIList*, LegoAnimPresenter*); void FUN_10063780(LegoROIList* p_list); - void FUN_10064670(MxBool); + void FUN_10064670(undefined4); void FUN_10064740(MxBool); static void configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig); diff --git a/LEGO1/lego/legoomni/src/actors/skateboard.cpp b/LEGO1/lego/legoomni/src/actors/skateboard.cpp index 115a0de9..33357e98 100644 --- a/LEGO1/lego/legoomni/src/actors/skateboard.cpp +++ b/LEGO1/lego/legoomni/src/actors/skateboard.cpp @@ -68,18 +68,16 @@ void SkateBoard::VTable0xe4() ControlManager()->Unregister(this); } - - // FUNCTION: LEGO1 0x100100e0 MxU32 SkateBoard::VTable0xcc() { - Act1State* state = (Act1State*)GameState()->GetState("Act1State"); + Act1State* state = (Act1State*) GameState()->GetState("Act1State"); if (FUN_1003ef60() && state->GetUnknown18() != 3) { return 1; } FUN_10015820(TRUE, 0); - ((Isle*)GetWorld())->SetDestLocation(LegoGameState::Area::e_skateboard); + ((Isle*) GetWorld())->SetDestLocation(LegoGameState::Area::e_skateboard); TransitionManager()->StartTransition(MxTransitionManager::TransitionType::e_mosaic, 0x32, FALSE, TRUE); if (GameState()->GetActorId() != CurrentActor()->GetActorId()) { if (!CurrentActor()->IsA("SkateBoard")) { @@ -93,9 +91,11 @@ MxU32 SkateBoard::VTable0xcc() } FUN_10010270(this->m_unk0x160); // TODO: If this is correct, then the signature of the AnimationManager calls are wrong. - MxBool puVar11 = (MxBool) 0xf4; - AnimationManager()->FUN_10064670(puVar11); - AnimationManager()->FUN_10064670(puVar11); + float data[3]; + Vector3 vec = Vector3(data); + // MxBool puVar11 = (MxBool) 0xf4; + AnimationManager()->FUN_10064670((int)&vec); + AnimationManager()->FUN_10064670((int)&vec); return 1; } @@ -124,9 +124,9 @@ void SkateBoard::FUN_10010270(undefined4 param_1) } if (pMVar3 = this->m_world->Find(*g_isleScript, IsleScript::c_SkatePizza_Bitmap)) { // I have no idea what this is. Need a call with vtable offset 0x54 and (likely) no argument. - ((LegoWorld*)pMVar3)->VTable0x54(); - - } else { + ((LegoWorld*) pMVar3)->VTable0x54(); + } + else { if (this->m_unk0x160 != '\0') { NotificationManager()->Send(this, MxNotificationParam(c_notificationType0, NULL)); } diff --git a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp index 2bf7664f..b01c0450 100644 --- a/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp @@ -852,7 +852,7 @@ void LegoAnimationManager::FUN_10063aa0() } // STUB: LEGO1 0x10064670 -void LegoAnimationManager::FUN_10064670(MxBool) +void LegoAnimationManager::FUN_10064670(undefined4) { // TODO } diff --git a/LEGO1/realtime/matrix.h b/LEGO1/realtime/matrix.h index 4e114c34..f83ae57e 100644 --- a/LEGO1/realtime/matrix.h +++ b/LEGO1/realtime/matrix.h @@ -82,11 +82,11 @@ class Matrix4 { } // 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