[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15555] branches/blender-2.47/source/ gameengine/Ketsji: branches/blender-2.47
Diego Borghetti
bdiego at gmail.com
Sun Jul 13 19:17:57 CEST 2008
Revision: 15555
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15555
Author: bdiego
Date: 2008-07-13 19:17:57 +0200 (Sun, 13 Jul 2008)
Log Message:
-----------
branches/blender-2.47
Bugfix from trunk (patch send by Benoit Bolsee to the ML):
Truncated loop n Ipo Actuator when start frame is not 1.
Parent Actuator did not check if activation was due to positive or
negative event
Modified Paths:
--------------
branches/blender-2.47/source/gameengine/Ketsji/KX_IpoActuator.cpp
branches/blender-2.47/source/gameengine/Ketsji/KX_ParentActuator.cpp
Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_IpoActuator.cpp
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_IpoActuator.cpp 2008-07-13 16:57:24 UTC (rev 15554)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_IpoActuator.cpp 2008-07-13 17:17:57 UTC (rev 15555)
@@ -352,7 +352,10 @@
if (!m_bNegativeEvent){
/* Perform wraparound */
SetLocalTime(curtime);
- m_localtime = m_startframe + fmod(m_localtime, m_startframe - m_endframe);
+ if (start_smaller_then_end > 0.f)
+ m_localtime = m_startframe + fmod(m_localtime - m_startframe, m_endframe - m_startframe);
+ else
+ m_localtime = m_startframe - fmod(m_startframe - m_localtime, m_startframe - m_endframe);
SetStartTime(curtime);
}
else
Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_ParentActuator.cpp
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_ParentActuator.cpp 2008-07-13 16:57:24 UTC (rev 15554)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_ParentActuator.cpp 2008-07-13 17:17:57 UTC (rev 15555)
@@ -77,6 +77,12 @@
bool KX_ParentActuator::Update()
{
+ bool bNegativeEvent = IsNegativeEvent();
+ RemoveAllEvents();
+
+ if (bNegativeEvent)
+ return false; // do nothing on negative events
+
KX_GameObject *obj = (KX_GameObject*) GetParent();
KX_Scene *scene = PHY_GetActiveScene();
switch (m_mode) {
More information about the Bf-blender-cvs
mailing list