Implement/match LegoEntity::GetWorldPosition/Direction/Up (#672)

* Implement/match LegoEntity::GetPosition/Direction/Up

* Rename
This commit is contained in:
Christian Semmler 2024-03-13 20:29:28 -04:00 committed by GitHub
parent aaee10949e
commit 7edad07d18
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 31 additions and 17 deletions

View file

@ -66,9 +66,9 @@ public:
void FUN_10010c30();
void FUN_100114e0(MxU8 p_unk0x59);
void SetLocation(const Vector3& p_location, const Vector3& p_direction, const Vector3& p_up, MxBool p_und);
Mx3DPointFloat GetEntitydDirection();
Mx3DPointFloat GetEntityUp();
Mx3DPointFloat GetEntityLocation();
Mx3DPointFloat GetWorldDirection();
Mx3DPointFloat GetWorldUp();
Mx3DPointFloat GetWorldPosition();
inline LegoROI* GetROI() { return m_roi; }
inline MxU8 GetFlags() { return m_flags; }

View file

@ -184,22 +184,36 @@ void LegoEntity::FUN_10010c30()
}
}
// STUB: LEGO1 0x10010c60
Mx3DPointFloat LegoEntity::GetEntitydDirection()
// FUNCTION: LEGO1 0x10010c60
Mx3DPointFloat LegoEntity::GetWorldDirection()
{
return Mx3DPointFloat(0, 0, 0);
if (m_roi != NULL) {
m_worldDirection =
Mx3DPointFloat(m_roi->GetWorldDirection()[0], m_roi->GetWorldDirection()[1], m_roi->GetWorldDirection()[2]);
}
return m_worldDirection;
}
// STUB: LEGO1 0x10010cf0
Mx3DPointFloat LegoEntity::GetEntityUp()
// FUNCTION: LEGO1 0x10010cf0
Mx3DPointFloat LegoEntity::GetWorldUp()
{
return Mx3DPointFloat(0, 0, 0);
if (m_roi != NULL) {
m_worldUp = Mx3DPointFloat(m_roi->GetWorldUp()[0], m_roi->GetWorldUp()[1], m_roi->GetWorldUp()[2]);
}
return m_worldUp;
}
// STUB: LEGO1 0x10010d80
Mx3DPointFloat LegoEntity::GetEntityLocation()
// FUNCTION: LEGO1 0x10010d80
Mx3DPointFloat LegoEntity::GetWorldPosition()
{
return Mx3DPointFloat(0, 0, 0);
if (m_roi != NULL) {
m_worldLocation =
Mx3DPointFloat(m_roi->GetWorldPosition()[0], m_roi->GetWorldPosition()[1], m_roi->GetWorldPosition()[2]);
}
return m_worldLocation;
}
// FUNCTION: LEGO1 0x10010e10

View file

@ -199,12 +199,12 @@ void LegoPointOfViewController::SetEntity(LegoEntity* p_entity)
CalcLocalTransform(
Mx3DPointFloat(
m_entity->GetEntityLocation()[0],
m_entity->GetEntityLocation()[1] + m_entityOffsetUp,
m_entity->GetEntityLocation()[2]
m_entity->GetWorldPosition()[0],
m_entity->GetWorldPosition()[1] + m_entityOffsetUp,
m_entity->GetWorldPosition()[2]
),
m_entity->GetEntitydDirection(),
m_entity->GetEntityUp(),
m_entity->GetWorldDirection(),
m_entity->GetWorldUp(),
mat
);