1
0
forked from 0ad/0ad

Fix initial animation sync.

UpdateAnimationID → PickAnimationID

Reviewed by: @wraitii
Differential Revision: https://code.wildfiregames.com/D3747
This was SVN commit r25205.
This commit is contained in:
Stan 2021-04-07 08:35:02 +00:00
parent a7d777d69b
commit 48d6b84c62
2 changed files with 6 additions and 7 deletions

View File

@ -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;
}

View File

@ -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
{