[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