Implement/match LegoEntity::GetPosition/Direction/Up

This commit is contained in:
Christian Semmler 2024-03-13 19:28:05 -04:00
parent aaee10949e
commit 97ff0be137
3 changed files with 25 additions and 11 deletions

View File

@ -68,7 +68,7 @@ class LegoEntity : public MxEntity {
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_und);
Mx3DPointFloat GetEntitydDirection(); Mx3DPointFloat GetEntitydDirection();
Mx3DPointFloat GetEntityUp(); Mx3DPointFloat GetEntityUp();
Mx3DPointFloat GetEntityLocation(); Mx3DPointFloat GetEntityPosition();
inline LegoROI* GetROI() { return m_roi; } inline LegoROI* GetROI() { return m_roi; }
inline MxU8 GetFlags() { return m_flags; } inline MxU8 GetFlags() { return m_flags; }

View File

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

View File

@ -199,9 +199,9 @@ void LegoPointOfViewController::SetEntity(LegoEntity* p_entity)
CalcLocalTransform( CalcLocalTransform(
Mx3DPointFloat( Mx3DPointFloat(
m_entity->GetEntityLocation()[0], m_entity->GetEntityPosition()[0],
m_entity->GetEntityLocation()[1] + m_entityOffsetUp, m_entity->GetEntityPosition()[1] + m_entityOffsetUp,
m_entity->GetEntityLocation()[2] m_entity->GetEntityPosition()[2]
), ),
m_entity->GetEntitydDirection(), m_entity->GetEntitydDirection(),
m_entity->GetEntityUp(), m_entity->GetEntityUp(),