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
3 changed files with 31 additions and 17 deletions

View File

@@ -66,9 +66,9 @@ public:
void FUN_10010c30(); void FUN_10010c30();
void FUN_100114e0(MxU8 p_unk0x59); void FUN_100114e0(MxU8 p_unk0x59);
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 GetWorldDirection();
Mx3DPointFloat GetEntityUp(); Mx3DPointFloat GetWorldUp();
Mx3DPointFloat GetEntityLocation(); Mx3DPointFloat GetWorldPosition();
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::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 // FUNCTION: LEGO1 0x10010cf0
Mx3DPointFloat LegoEntity::GetEntityUp() 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 // FUNCTION: LEGO1 0x10010d80
Mx3DPointFloat LegoEntity::GetEntityLocation() 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 // FUNCTION: LEGO1 0x10010e10

View File

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