From d8c11434a80ee78bcb3c98d46ed82efd8b5ae176 Mon Sep 17 00:00:00 2001 From: Itms Date: Mon, 10 Oct 2016 10:41:36 +0000 Subject: [PATCH] Save the animation sync offset, for consistency's sake. Refs #4270 This was SVN commit r18822. --- source/simulation2/components/CCmpVisualActor.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/simulation2/components/CCmpVisualActor.cpp b/source/simulation2/components/CCmpVisualActor.cpp index 7635297b09..68492c3557 100644 --- a/source/simulation2/components/CCmpVisualActor.cpp +++ b/source/simulation2/components/CCmpVisualActor.cpp @@ -81,6 +81,7 @@ private: std::wstring m_SoundGroup; fixed m_AnimDesync; fixed m_AnimSyncRepeatTime; // 0.0 if not synced + fixed m_AnimSyncOffsetTime; std::map m_VariantSelections; @@ -232,6 +233,7 @@ public: serialize.String("sound group", m_SoundGroup, 0, 256); serialize.NumberFixed_Unbounded("anim desync", m_AnimDesync); serialize.NumberFixed_Unbounded("anim sync repeat time", m_AnimSyncRepeatTime); + serialize.NumberFixed_Unbounded("anim sync offset time", m_AnimSyncOffsetTime); SerializeMap()(serialize, "variation", m_VariantSelections); @@ -477,8 +479,10 @@ public: virtual void SetAnimationSyncOffset(fixed actiontime) { + m_AnimSyncOffsetTime = actiontime; + if (m_Unit && m_Unit->GetAnimation()) - m_Unit->GetAnimation()->SetAnimationSyncOffset(actiontime.ToFloat()); + m_Unit->GetAnimation()->SetAnimationSyncOffset(m_AnimSyncOffsetTime.ToFloat()); } virtual void SetShadingColor(fixed r, fixed g, fixed b, fixed a) @@ -721,6 +725,9 @@ void CCmpVisualActor::ReloadActor() if (!m_AnimSyncRepeatTime.IsZero()) if (m_Unit->GetAnimation()) m_Unit->GetAnimation()->SetAnimationSyncRepeat(m_AnimSyncRepeatTime.ToFloat()); + if (!m_AnimSyncOffsetTime.IsZero()) + if (m_Unit->GetAnimation()) + m_Unit->GetAnimation()->SetAnimationSyncOffset(m_AnimSyncOffsetTime.ToFloat()); m_Unit->GetModel().SetShadingColor(shading);