BGE Animations: Removing some redundant pose copies from BL_Action.
authorMitchell Stokes <mogurijin@gmail.com>
Mon, 6 Jun 2011 23:35:24 +0000 (23:35 +0000)
committerMitchell Stokes <mogurijin@gmail.com>
Mon, 6 Jun 2011 23:35:24 +0000 (23:35 +0000)
source/gameengine/Ketsji/BL_Action.cpp

index 77cb5de13988e85aaed4640169723c2317bc7e64..512aa962b05488ce4f3359d56fefae9a2a5aec64 100644 (file)
@@ -187,14 +187,9 @@ void BL_Action::Update(float curtime)
 
        if (m_obj->GetGameObjectType() == SCA_IObject::OBJ_ARMATURE)
        {
-               bPose* prev_pose = NULL;
                BL_ArmatureObject *obj = (BL_ArmatureObject*)m_obj;
                obj->GetPose(&m_pose);
 
-               // Save the old pose if we need to do some layer blending
-               if (m_blendmode != ACT_BLEND_NONE)
-                       obj->GetMRDPose(&prev_pose);
-
                // Extract the pose from the action
                {
                        struct PointerRNA id_ptr;
@@ -208,17 +203,6 @@ void BL_Action::Update(float curtime)
                        arm->pose = temp;
                }
 
-               // Handle blending between layers
-               switch(m_blendmode)
-               {
-               case ACT_BLEND_MIX:
-                       game_blend_poses(m_pose, prev_pose, 0.5f);
-                       break;
-               case ACT_BLEND_NONE:
-               default:
-                       break;
-               }
-
                // Handle blending between actions
                if (m_blendin && m_blendframe<m_blendin)
                {
@@ -239,21 +223,10 @@ void BL_Action::Update(float curtime)
                        if (m_blendframe>m_blendin)
                                m_blendframe = m_blendin;
                }
-               else
-               {
-                       if (m_blendpose)
-                       {
-                               game_free_pose(m_blendpose);
-                               m_blendpose = NULL;
-                       }
-               }
 
                obj->SetPose(m_pose);
 
                obj->SetActiveAction(NULL, 0, curtime);
-
-               if (prev_pose)
-                       game_free_pose(prev_pose);
        }
        else
        {