mirror of
https://github.com/OpenMW/openmw.git
synced 2025-06-20 23:41:33 +00:00
Fix for controller delta time going below start time
This commit is contained in:
parent
020bc410bf
commit
634b0fd067
1 changed files with 3 additions and 4 deletions
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue