1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-21 04:11:33 +00:00

Fix for controller delta time going below start time

This commit is contained in:
Chris Robinson 2013-04-23 17:57:40 -07:00
parent 020bc410bf
commit 634b0fd067

View file

@ -65,11 +65,7 @@ public:
, mStopTime(ctrl->timeStop) , mStopTime(ctrl->timeStop)
{ {
if(mDeltaInput) if(mDeltaInput)
{
mDeltaCount = mPhase; mDeltaCount = mPhase;
while(mDeltaCount < mStartTime)
mDeltaCount += (mStopTime-mStartTime);
}
} }
virtual Ogre::Real calculate(Ogre::Real value) virtual Ogre::Real calculate(Ogre::Real value)
@ -77,6 +73,9 @@ public:
if(mDeltaInput) if(mDeltaInput)
{ {
mDeltaCount += value*mFrequency; mDeltaCount += value*mFrequency;
if(mDeltaCount < mStartTime)
mDeltaCount = mStopTime - std::fmod(mStartTime - mDeltaCount,
mStopTime - mStartTime);
mDeltaCount = std::fmod(mDeltaCount - mStartTime, mDeltaCount = std::fmod(mDeltaCount - mStartTime,
mStopTime - mStartTime) + mStartTime; mStopTime - mStartTime) + mStartTime;
return mDeltaCount; return mDeltaCount;