Changeset View
Changeset View
Standalone View
Standalone View
source/simulation2/components/CCmpVisualActor.cpp
Show First 20 Lines • Show All 401 Lines • ▼ Show 20 Lines | if (m_Unit->GetModel().ToCModel()) | ||||
// Ensure the prop transforms are correct | // Ensure the prop transforms are correct | ||||
CmpPtr<ICmpUnitRenderer> cmpUnitRenderer(GetSystemEntity()); | CmpPtr<ICmpUnitRenderer> cmpUnitRenderer(GetSystemEntity()); | ||||
CmpPtr<ICmpPosition> cmpPosition(GetEntityHandle()); | CmpPtr<ICmpPosition> cmpPosition(GetEntityHandle()); | ||||
if (cmpUnitRenderer && cmpPosition) | if (cmpUnitRenderer && cmpPosition) | ||||
{ | { | ||||
float frameOffset = cmpUnitRenderer->GetFrameOffset(); | float frameOffset = cmpUnitRenderer->GetFrameOffset(); | ||||
CMatrix3D transform(cmpPosition->GetInterpolatedTransform(frameOffset)); | CMatrix3D transform(cmpPosition->GetInterpolatedTransform(frameOffset)); | ||||
m_Unit->GetModel().SetTransform(transform); | m_Unit->GetModel().SetTransform(transform); | ||||
m_Unit->GetModel().ValidatePosition(); | m_Unit->GetModel().ValidatePositionRec(); | ||||
} | } | ||||
CModelAbstract* ammo = m_Unit->GetModel().ToCModel()->FindFirstAmmoProp(); | CModelAbstract* ammo = m_Unit->GetModel().ToCModel()->FindFirstAmmoProp(); | ||||
if (ammo) | if (ammo) | ||||
{ | { | ||||
CVector3D vector = ammo->GetTransform().GetTranslation(); | CVector3D vector = ammo->GetTransform().GetTranslation(); | ||||
return CFixedVector3D(fixed::FromFloat(vector.X), fixed::FromFloat(vector.Y), fixed::FromFloat(vector.Z)); | return CFixedVector3D(fixed::FromFloat(vector.X), fixed::FromFloat(vector.Y), fixed::FromFloat(vector.Z)); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 370 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator