From 48d6b84c627d6055ebcc2759784eefd8c986e238 Mon Sep 17 00:00:00 2001 From: Stan Date: Wed, 7 Apr 2021 08:35:02 +0000 Subject: [PATCH] Fix initial animation sync. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UpdateAnimationID → PickAnimationID Reviewed by: @wraitii Differential Revision: https://code.wildfiregames.com/D3747 This was SVN commit r25205. --- source/graphics/UnitAnimation.cpp | 9 ++++----- source/graphics/UnitAnimation.h | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/source/graphics/UnitAnimation.cpp b/source/graphics/UnitAnimation.cpp index f26e7d276e..1e552c516d 100644 --- a/source/graphics/UnitAnimation.cpp +++ b/source/graphics/UnitAnimation.cpp @@ -90,7 +90,6 @@ void CUnitAnimation::AddModel(CModel* model, const CObjectEntry* object) void CUnitAnimation::ReloadAnimation() { - UpdateAnimationID(); ReloadUnit(m_Model, m_Object); } @@ -101,6 +100,7 @@ void CUnitAnimation::ReloadUnit(CModel* model, const CObjectEntry* object) m_AnimStates.clear(); m_AnimStatesAreStatic = true; + PickAnimationID(); AddModel(m_Model, m_Object); } @@ -237,7 +237,7 @@ void CUnitAnimation::Update(float time) // we're handling the root model // choose animations from the complete state CStr oldID = m_AnimationID; - UpdateAnimationID(); + PickAnimationID(); anim = it->object->GetRandomAnimation(m_State, m_AnimationID); if (oldID != m_AnimationID) for (SModelAnimState animState : m_AnimStates) @@ -282,8 +282,7 @@ void CUnitAnimation::Update(float time) cmpSoundManager->PlaySoundGroup(m_ActionSound, m_Entity); } -void CUnitAnimation::UpdateAnimationID() +void CUnitAnimation::PickAnimationID() { - CStr& ID = m_Object->GetRandomAnimation(m_State)->m_ID; - m_AnimationID = ID; + m_AnimationID = m_Object->GetRandomAnimation(m_State)->m_ID; } diff --git a/source/graphics/UnitAnimation.h b/source/graphics/UnitAnimation.h index 7ec595a03a..dbb7179327 100644 --- a/source/graphics/UnitAnimation.h +++ b/source/graphics/UnitAnimation.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 Wildfire Games. +/* Copyright (C) 2021 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -103,7 +103,7 @@ private: /** * Picks a new animation ID from our current state */ - void UpdateAnimationID(); + void PickAnimationID(); struct SModelAnimState {