Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/gameengine/Converter/BL_ActionActuator.cpp')
-rw-r--r--source/gameengine/Converter/BL_ActionActuator.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/source/gameengine/Converter/BL_ActionActuator.cpp b/source/gameengine/Converter/BL_ActionActuator.cpp
index 22ee2371e8c..0289ec42d74 100644
--- a/source/gameengine/Converter/BL_ActionActuator.cpp
+++ b/source/gameengine/Converter/BL_ActionActuator.cpp
@@ -166,28 +166,18 @@ bool BL_ActionActuator::Update(double curtime, bool frame)
// result = true if animation has to be continued, false if animation stops
// maybe there are events for us in the queue !
- if (frame)
+
+ for (vector<CValue*>::iterator i=m_events.end(); !(i==m_events.begin());)
{
- for (vector<CValue*>::iterator i=m_events.end(); !(i==m_events.begin());)
- {
- i--;
- if ((*i)->GetNumber() == 0.0f)
- bNegativeEvent = true;
- else
- bPositiveEvent= true;
- (*i)->Release();
- m_events.pop_back();
- }
-
- if (bPositiveEvent)
- m_flag |= ACT_FLAG_ACTIVE;
-
- if (bNegativeEvent)
+ i--;
+ if ((*i)->GetNumber() == 0.0f)
{
- if (!(m_flag & ACT_FLAG_ACTIVE))
- return false;
- m_flag &= ~ACT_FLAG_ACTIVE;
+ bNegativeEvent = true;
}
+ else
+ bPositiveEvent= true;
+ (*i)->Release();
+ m_events.pop_back();
}
/* We know that action actuators have been discarded from all non armature objects:
@@ -246,7 +236,7 @@ bool BL_ActionActuator::Update(double curtime, bool frame)
if (!(m_flag & ACT_FLAG_LOCKINPUT)){
m_flag &= ~ACT_FLAG_REVERSE;
m_flag |= ACT_FLAG_LOCKINPUT;
- SetStartTime(curtime);
+ m_starttime = curtime;
}
}
else if (bNegativeEvent){
@@ -334,7 +324,6 @@ bool BL_ActionActuator::Update(double curtime, bool frame)
m_localtime = m_endframe;
m_flag &= ~ACT_FLAG_LOCKINPUT;
}
- SetStartTime(curtime);
}
break;
case ACT_ACTION_PLAY: