forked from teamnwah/openmw-tes3coop
Add AnimState::shouldLoop()
This commit is contained in:
parent
6450c9be27
commit
0c9882956a
2 changed files with 18 additions and 19 deletions
|
@ -1023,7 +1023,7 @@ namespace MWRender
|
||||||
{
|
{
|
||||||
float targetTime;
|
float targetTime;
|
||||||
|
|
||||||
if (state.getTime() < state.mLoopStopTime || state.mLoopCount == 0)
|
if (!state.shouldLoop())
|
||||||
{
|
{
|
||||||
targetTime = state.getTime() + timepassed;
|
targetTime = state.getTime() + timepassed;
|
||||||
if(textkey == textkeys.end() || textkey->first > targetTime)
|
if(textkey == textkeys.end() || textkey->first > targetTime)
|
||||||
|
@ -1048,12 +1048,7 @@ namespace MWRender
|
||||||
++textkey;
|
++textkey;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(state.shouldLoop())
|
||||||
if(state.getTime() >= state.mLoopStopTime)
|
|
||||||
{
|
|
||||||
if (!state.mLoopingEnabled)
|
|
||||||
state.mLoopCount = 0;
|
|
||||||
else if (state.mLoopCount > 0)
|
|
||||||
{
|
{
|
||||||
state.mLoopCount--;
|
state.mLoopCount--;
|
||||||
state.setTime(state.mLoopStartTime);
|
state.setTime(state.mLoopStartTime);
|
||||||
|
@ -1069,7 +1064,6 @@ namespace MWRender
|
||||||
if(state.getTime() >= state.mLoopStopTime)
|
if(state.getTime() >= state.mLoopStopTime)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if(timepassed <= 0.0f)
|
if(timepassed <= 0.0f)
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -205,6 +205,11 @@ protected:
|
||||||
{
|
{
|
||||||
*mTime = time;
|
*mTime = time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool shouldLoop() const
|
||||||
|
{
|
||||||
|
return getTime() >= mLoopStopTime && mLoopingEnabled && mLoopCount > 0;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
typedef std::map<std::string,AnimState> AnimStateMap;
|
typedef std::map<std::string,AnimState> AnimStateMap;
|
||||||
AnimStateMap mStates;
|
AnimStateMap mStates;
|
||||||
|
|
Loading…
Reference in a new issue