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 {