diff --git a/LEGO1/lego/legoomni/include/legoentity.h b/LEGO1/lego/legoomni/include/legoentity.h index a6d9d9ee..ed1dd202 100644 --- a/LEGO1/lego/legoomni/include/legoentity.h +++ b/LEGO1/lego/legoomni/include/legoentity.h @@ -76,9 +76,9 @@ public: virtual void SwitchColor(LegoROI* p_roi); // vtable+0x48 virtual void SwitchMood(); // vtable+0x4c - void FUN_10010c30(); + void TransformPointOfView(); void SetType(MxU8 p_type); - void SetLocation(const Vector3& p_location, const Vector3& p_direction, const Vector3& p_up, MxBool p_und); + void SetLocation(const Vector3& p_location, const Vector3& p_direction, const Vector3& p_up, MxBool p_updateCamera); Mx3DPointFloat GetWorldDirection(); Mx3DPointFloat GetWorldUp(); Mx3DPointFloat GetWorldPosition(); diff --git a/LEGO1/lego/legoomni/src/actors/helicopter.cpp b/LEGO1/lego/legoomni/src/actors/helicopter.cpp index fc2addb3..0337e96a 100644 --- a/LEGO1/lego/legoomni/src/actors/helicopter.cpp +++ b/LEGO1/lego/legoomni/src/actors/helicopter.cpp @@ -342,7 +342,7 @@ MxLong Helicopter::HandleEndAnim(LegoEndAnimNotificationParam& p_param) assert(m_world && m_world->GetCameraController()); m_world->GetCameraController()->SetWorldTransform(at, dir, up); - FUN_10010c30(); + TransformPointOfView(); result = 1; break; } @@ -388,13 +388,13 @@ void Helicopter::VTable0x74(Matrix4& p_transform) { if (m_userNavFlag) { m_roi->UpdateTransformationRelativeToParent(p_transform); - FUN_10010c30(); + TransformPointOfView(); } else { m_roi->SetLocal2World(p_transform); m_roi->WrappedUpdateWorldData(); if (m_cameraFlag) { - FUN_10010c30(); + TransformPointOfView(); } } } diff --git a/LEGO1/lego/legoomni/src/actors/islepathactor.cpp b/LEGO1/lego/legoomni/src/actors/islepathactor.cpp index d366761e..efba4068 100644 --- a/LEGO1/lego/legoomni/src/actors/islepathactor.cpp +++ b/LEGO1/lego/legoomni/src/actors/islepathactor.cpp @@ -93,7 +93,7 @@ void IslePathActor::Enter() SetUserActor(this); FUN_1001b660(); - FUN_10010c30(); + TransformPointOfView(); } } @@ -152,7 +152,7 @@ void IslePathActor::Exit() } FUN_1001b660(); - FUN_10010c30(); + TransformPointOfView(); ResetViewVelocity(); } @@ -633,7 +633,7 @@ void IslePathActor::VTable0xec(MxMatrix p_transform, LegoPathBoundary* p_boundar m_roi->SetLocal2World(p_transform); if (m_cameraFlag) { ResetViewVelocity(); - FUN_10010c30(); + TransformPointOfView(); } } diff --git a/LEGO1/lego/legoomni/src/entity/legoentity.cpp b/LEGO1/lego/legoomni/src/entity/legoentity.cpp index a87c9ebb..e0f3b810 100644 --- a/LEGO1/lego/legoomni/src/entity/legoentity.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoentity.cpp @@ -155,7 +155,12 @@ void LegoEntity::SetROI(LegoROI* p_roi, MxBool p_bool1, MxBool p_bool2) // FUNCTION: LEGO1 0x100109b0 // FUNCTION: BETA10 0x1007e8b8 -void LegoEntity::SetLocation(const Vector3& p_location, const Vector3& p_direction, const Vector3& p_up, MxBool p_und) +void LegoEntity::SetLocation( + const Vector3& p_location, + const Vector3& p_direction, + const Vector3& p_up, + MxBool p_updateCamera +) { Mx3DPointFloat direction; Mx3DPointFloat up; @@ -182,14 +187,14 @@ void LegoEntity::SetLocation(const Vector3& p_location, const Vector3& p_directi m_roi->UpdateTransformationRelativeToParent(mat); VideoManager()->Get3DManager()->Moved(*m_roi); - if (p_und) { - FUN_10010c30(); + if (p_updateCamera) { + TransformPointOfView(); } } } // FUNCTION: LEGO1 0x10010c30 -void LegoEntity::FUN_10010c30() +void LegoEntity::TransformPointOfView() { LegoWorld* world = CurrentWorld(); diff --git a/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp b/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp index 0a1e6d98..5abaa284 100644 --- a/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legoanimactor.cpp @@ -137,7 +137,7 @@ MxResult LegoAnimActor::FUN_1001c360(float p_und, Matrix4& p_transform) } if (m_cameraFlag) { - FUN_10010c30(); + TransformPointOfView(); } } diff --git a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp index 728d5649..0b9d019c 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp @@ -162,7 +162,7 @@ MxResult LegoPathActor::VTable0x88( } else { m_boundary->AddActor(this); - FUN_10010c30(); + TransformPointOfView(); } m_unk0xec = m_roi->GetLocal2World(); @@ -222,7 +222,7 @@ MxResult LegoPathActor::VTable0x84( if (m_cameraFlag && m_userNavFlag) { m_boundary->AddActor(this); - FUN_10010c30(); + TransformPointOfView(); } else { p5.EqualsCross(*p_boundary->GetUp(), p3); @@ -392,14 +392,14 @@ void LegoPathActor::VTable0x74(Matrix4& p_transform) { if (m_userNavFlag) { m_roi->WrappedSetLocal2WorldWithWorldDataUpdate(p_transform); - FUN_10010c30(); + TransformPointOfView(); } else { m_roi->WrappedSetLocal2WorldWithWorldDataUpdate(p_transform); m_roi->WrappedUpdateWorldData(); if (m_cameraFlag) { - FUN_10010c30(); + TransformPointOfView(); } } } @@ -745,7 +745,7 @@ void LegoPathActor::VTable0xa8() if (m_userNavFlag) { m_roi->WrappedSetLocal2WorldWithWorldDataUpdate(m_unk0xec); - FUN_10010c30(); + TransformPointOfView(); } }