[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38173] branches/soc-2011-pepper/source/ gameengine: BGE Animations: Removing unused code and adding some more comments.

Mitchell Stokes mogurijin at gmail.com
Thu Jul 7 05:53:25 CEST 2011


Revision: 38173
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38173
Author:   moguri
Date:     2011-07-07 03:53:24 +0000 (Thu, 07 Jul 2011)
Log Message:
-----------
BGE Animations: Removing unused code and adding some more comments.

Modified Paths:
--------------
    branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.cpp
    branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.h
    branches/soc-2011-pepper/source/gameengine/Ketsji/BL_Action.cpp
    branches/soc-2011-pepper/source/gameengine/Ketsji/BL_Action.h
    branches/soc-2011-pepper/source/gameengine/Ketsji/BL_ActionManager.cpp
    branches/soc-2011-pepper/source/gameengine/Ketsji/BL_ActionManager.h
    branches/soc-2011-pepper/source/gameengine/Ketsji/KX_GameObject.h

Modified: branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.cpp
===================================================================
--- branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.cpp	2011-07-07 03:35:48 UTC (rev 38172)
+++ branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.cpp	2011-07-07 03:53:24 UTC (rev 38173)
@@ -135,59 +135,6 @@
 	return replica;
 }
 
-#if 0
-bool BL_ActionActuator::ClampLocalTime()
-{
-	if (m_startframe < m_endframe)
-	{
-		if (m_localtime < m_startframe)
-		{
-			m_localtime = m_startframe;
-			return true;
-		} 
-		else if (m_localtime > m_endframe)
-		{
-			m_localtime = m_endframe;
-			return true;
-		}
-	} else {
-		if (m_localtime > m_startframe)
-		{
-			m_localtime = m_startframe;
-			return true;
-		}
-		else if (m_localtime < m_endframe)
-		{
-			m_localtime = m_endframe;
-			return true;
-		}
-	}
-	return false;
-}
-
-void BL_ActionActuator::SetStartTime(float curtime)
-{
-	float direction = m_startframe < m_endframe ? 1.0 : -1.0;
-	
-	if (!(m_flag & ACT_FLAG_REVERSE))
-		m_starttime = curtime - direction*(m_localtime - m_startframe)/KX_KetsjiEngine::GetAnimFrameRate();
-	else
-		m_starttime = curtime - direction*(m_endframe - m_localtime)/KX_KetsjiEngine::GetAnimFrameRate();
-}
-
-void BL_ActionActuator::SetLocalTime(float curtime)
-{
-	float delta_time = (curtime - m_starttime)*KX_KetsjiEngine::GetAnimFrameRate();
-	
-	if (m_endframe < m_startframe)
-		delta_time = -delta_time;
-
-	if (!(m_flag & ACT_FLAG_REVERSE))
-		m_localtime = m_startframe + delta_time;
-	else
-		m_localtime = m_endframe - delta_time;
-}
-#endif
 bool BL_ActionActuator::Update(double curtime, bool frame)
 {
 	bool bNegativeEvent = false;
@@ -309,314 +256,6 @@
 	return true;
 }
 
-#if 0 // Kept around as reference for now
-bool BL_ActionActuator::Update(double curtime, bool frame)
-{
-	bool bNegativeEvent = false;
-	bool bPositiveEvent = false;
-	bool keepgoing = true;
-	bool wrap = false;
-	bool apply=true;
-	int	priority;
-	float newweight;
-
-	curtime -= KX_KetsjiEngine::GetSuspendedDelta();
-	
-	// result = true if animation has to be continued, false if animation stops
-	// maybe there are events for us in the queue !
-	if (frame)
-	{
-		bNegativeEvent = m_negevent;
-		bPositiveEvent = m_posevent;
-		RemoveAllEvents();
-		
-		if (bPositiveEvent)
-			m_flag |= ACT_FLAG_ACTIVE;
-		
-		if (bNegativeEvent)
-		{
-			// dont continue where we left off when restarting
-			if (m_end_reset) {
-				m_flag &= ~ACT_FLAG_LOCKINPUT;
-			}
-			
-			if (!(m_flag & ACT_FLAG_ACTIVE))
-				return false;
-			m_flag &= ~ACT_FLAG_ACTIVE;
-		}
-	}
-	
-	/*	We know that action actuators have been discarded from all non armature objects:
-	if we're being called, we're attached to a BL_ArmatureObject */
-	BL_ArmatureObject *obj = (BL_ArmatureObject*)GetParent();
-	float length = m_endframe - m_startframe;
-	
-	priority = m_priority;
-	
-	/* Determine pre-incrementation behaviour and set appropriate flags */
-	switch (m_playtype){
-	case ACT_ACTION_MOTION:
-		if (bNegativeEvent){
-			keepgoing=false;
-			apply=false;
-		};
-		break;
-	case ACT_ACTION_FROM_PROP:
-		if (bNegativeEvent){
-			apply=false;
-			keepgoing=false;
-		}
-		break;
-	case ACT_ACTION_LOOP_END:
-		if (bPositiveEvent){
-			if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-				m_flag &= ~ACT_FLAG_KEYUP;
-				m_flag &= ~ACT_FLAG_REVERSE;
-				m_flag |= ACT_FLAG_LOCKINPUT;
-				m_localtime = m_startframe;
-				m_starttime = curtime;
-			}
-		}
-		if (bNegativeEvent){
-			m_flag |= ACT_FLAG_KEYUP;
-		}
-		break;
-	case ACT_ACTION_LOOP_STOP:
-		if (bPositiveEvent){
-			if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-				m_flag &= ~ACT_FLAG_REVERSE;
-				m_flag &= ~ACT_FLAG_KEYUP;
-				m_flag |= ACT_FLAG_LOCKINPUT;
-				SetStartTime(curtime);
-			}
-		}
-		if (bNegativeEvent){
-			m_flag |= ACT_FLAG_KEYUP;
-			m_flag &= ~ACT_FLAG_LOCKINPUT;
-			keepgoing=false;
-			apply=false;
-		}
-		break;
-	case ACT_ACTION_PINGPONG:
-		if (bPositiveEvent){
-			if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-				m_flag &= ~ACT_FLAG_KEYUP;
-				m_localtime = m_starttime;
-				m_starttime = curtime;
-				m_flag |= ACT_FLAG_LOCKINPUT;
-			}
-		}
-		break;
-	case ACT_ACTION_FLIPPER:
-		if (bPositiveEvent){
-			if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-				m_flag &= ~ACT_FLAG_REVERSE;
-				m_flag |= ACT_FLAG_LOCKINPUT;
-				SetStartTime(curtime);
-			}
-		}
-		else if (bNegativeEvent){
-			m_flag |= ACT_FLAG_REVERSE;
-			m_flag &= ~ACT_FLAG_LOCKINPUT;
-			SetStartTime(curtime);
-		}
-		break;
-	case ACT_ACTION_PLAY:
-		if (bPositiveEvent){
-			if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-				m_flag &= ~ACT_FLAG_REVERSE;
-				m_localtime = m_starttime;
-				m_starttime = curtime;
-				m_flag |= ACT_FLAG_LOCKINPUT;
-			}
-		}
-		break;
-	default:
-		break;
-	}
-	
-	/* Perform increment */
-	if (keepgoing){
-		if (m_playtype == ACT_ACTION_MOTION){
-			MT_Point3	newpos;
-			MT_Point3	deltapos;
-			
-			newpos = obj->NodeGetWorldPosition();
-			
-			/* Find displacement */
-			deltapos = newpos-m_lastpos;
-			m_localtime += (length/m_stridelength) * deltapos.length();
-			m_lastpos = newpos;
-		}
-		else{
-			SetLocalTime(curtime);
-		}
-	}
-	
-	/* Check if a wrapping response is needed */
-	if (length){
-		if (m_localtime < m_startframe || m_localtime > m_endframe)
-		{
-			m_localtime = m_startframe + fmod(m_localtime, length);
-			wrap = true;
-		}
-	}
-	else
-		m_localtime = m_startframe;
-	
-	/* Perform post-increment tasks */
-	switch (m_playtype){
-	case ACT_ACTION_FROM_PROP:
-		{
-			CValue* propval = GetParent()->GetProperty(m_propname);
-			if (propval)
-				m_localtime = propval->GetNumber();
-			
-			if (bNegativeEvent){
-				keepgoing=false;
-			}
-		}
-		break;
-	case ACT_ACTION_MOTION:
-		break;
-	case ACT_ACTION_LOOP_STOP:
-		break;
-	case ACT_ACTION_PINGPONG:
-		if (wrap){
-			if (!(m_flag & ACT_FLAG_REVERSE))
-				m_localtime = m_endframe;
-			else 
-				m_localtime = m_startframe;
-
-			m_flag &= ~ACT_FLAG_LOCKINPUT;
-			m_flag ^= ACT_FLAG_REVERSE; //flip direction
-			keepgoing = false;
-		}
-		break;
-	case ACT_ACTION_FLIPPER:
-		if (wrap){
-			if (!(m_flag & ACT_FLAG_REVERSE)){
-				m_localtime=m_endframe;
-				//keepgoing = false;
-			}
-			else {
-				m_localtime=m_startframe;
-				keepgoing = false;
-			}
-		}
-		break;
-	case ACT_ACTION_LOOP_END:
-		if (wrap){
-			if (m_flag & ACT_FLAG_KEYUP){
-				keepgoing = false;
-				m_localtime = m_endframe;
-				m_flag &= ~ACT_FLAG_LOCKINPUT;
-			}
-			SetStartTime(curtime);
-		}
-		break;
-	case ACT_ACTION_PLAY:
-		if (wrap){
-			m_localtime = m_endframe;
-			keepgoing = false;
-			m_flag &= ~ACT_FLAG_LOCKINPUT;
-		}
-		break;
-	default:
-		keepgoing = false;
-		break;
-	}
-	
-	/* Set the property if its defined */
-	if (m_framepropname[0] != '\0') {
-		CValue* propowner = GetParent();
-		CValue* oldprop = propowner->GetProperty(m_framepropname);
-		CValue* newval = new CFloatValue(m_localtime);
-		if (oldprop) {
-			oldprop->SetValue(newval);
-		} else {
-			propowner->SetProperty(m_framepropname, newval);
-		}
-		newval->Release();
-	}
-	
-	if (bNegativeEvent)
-		m_blendframe=0.0;
-	
-	/* Apply the pose if necessary*/
-	if (apply){
-
-		/* Priority test */
-		if (obj->SetActiveAction(this, priority, curtime)){
-			
-			/* Get the underlying pose from the armature */
-			obj->GetPose(&m_pose);
-
-// 2.4x function, 
-			/* Override the necessary channels with ones from the action */
-			// XXX extract_pose_from_action(m_pose, m_action, m_localtime);
-			
-			
-// 2.5x - replacement for extract_pose_from_action(...) above.
-			{
-				struct PointerRNA id_ptr;
-				Object *arm= obj->GetArmatureObject();
-				bPose *pose_back= arm->pose;
-				
-				arm->pose= m_pose;
-				RNA_id_pointer_create((ID *)arm, &id_ptr);
-				animsys_evaluate_action(&id_ptr, m_action, NULL, m_localtime);
-				
-				arm->pose= pose_back;
-			
-// 2.5x - could also do this but looks too high level, constraints use this, it works ok.
-//				Object workob; /* evaluate using workob */
-//				what_does_obaction(obj->GetArmatureObject(), &workob, m_pose, m_action, NULL, m_localtime);
-			}
-
-			// done getting the pose from the action
-			
-			/* Perform the user override (if any) */
-			if (m_userpose){
-				extract_pose_from_pose(m_pose, m_userpose);
-				game_free_pose(m_userpose); //cant use MEM_freeN(m_userpose) because the channels need freeing too.
-				m_userpose = NULL;
-			}
-#if 1
-			/* Handle blending */
-			if (m_blendin && (m_blendframe<m_blendin)){
-				/* If this is the start of a blending sequence... */
-				if ((m_blendframe==0.0) || (!m_blendpose)){
-					obj->GetMRDPose(&m_blendpose);
-					m_blendstart = curtime;
-				}
-				
-				/* Find percentages */
-				newweight = (m_blendframe/(float)m_blendin);
-				game_blend_poses(m_pose, m_blendpose, 1.0 - newweight);
-
-				/* Increment current blending percentage */
-				m_blendframe = (curtime - m_blendstart)*KX_KetsjiEngine::GetAnimFrameRate();
-				if (m_blendframe>m_blendin)
-					m_blendframe = m_blendin;
-				
-			}
-#endif
-			m_lastUpdate = m_localtime;
-			obj->SetPose (m_pose);
-		}
-		else{
-			m_blendframe = 0.0;
-		}
-	}
-	
-	if (!keepgoing){
-		m_blendframe = 0.0;
-	}
-	return keepgoing;
-};
-#endif
-
 #ifdef WITH_PYTHON
 
 /* ------------------------------------------------------------------------- */

Modified: branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.h
===================================================================
--- branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.h	2011-07-07 03:35:48 UTC (rev 38172)
+++ branches/soc-2011-pepper/source/gameengine/Converter/BL_ActionActuator.h	2011-07-07 03:53:24 UTC (rev 38173)
@@ -122,11 +122,6 @@
 #endif // WITH_PYTHON
 	
 protected:
-
-	//void SetStartTime(float curtime);
-	//void SetLocalTime(float curtime);
-	//bool ClampLocalTime();
-
 	MT_Point3	m_lastpos;
 	float	m_blendframe;
 	int		m_flag;
@@ -156,6 +151,9 @@
 	STR_String	m_framepropname;
 };
 
+// The first values are not used in BL_ActionActuator anymore,
+// but BL_ShapeActionActuator still uses them, so we keep them around
+// for now.
 enum {
 	ACT_FLAG_REVERSE	= 1<<0,
 	ACT_FLAG_LOCKINPUT	= 1<<1,

Modified: branches/soc-2011-pepper/source/gameengine/Ketsji/BL_Action.cpp
===================================================================
--- branches/soc-2011-pepper/source/gameengine/Ketsji/BL_Action.cpp	2011-07-07 03:35:48 UTC (rev 38172)
+++ branches/soc-2011-pepper/source/gameengine/Ketsji/BL_Action.cpp	2011-07-07 03:53:24 UTC (rev 38173)
@@ -22,6 +22,10 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list