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_ArmatureObject.cpp')
-rw-r--r--source/gameengine/Converter/BL_ArmatureObject.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/source/gameengine/Converter/BL_ArmatureObject.cpp b/source/gameengine/Converter/BL_ArmatureObject.cpp
index 82f97fe9c18..2db6e079c31 100644
--- a/source/gameengine/Converter/BL_ArmatureObject.cpp
+++ b/source/gameengine/Converter/BL_ArmatureObject.cpp
@@ -68,7 +68,7 @@ void BL_ArmatureObject::ProcessReplica(BL_ArmatureObject *replica)
BL_ArmatureObject::~BL_ArmatureObject()
{
if (m_mrdPose){
- clear_pose(m_mrdPose);
+// clear_pose(m_mrdPose);
MEM_freeN(m_mrdPose);
}
}
@@ -76,11 +76,11 @@ BL_ArmatureObject::~BL_ArmatureObject()
void BL_ArmatureObject::ApplyPose()
{
if (m_pose){
- apply_pose_armature(GetArmature(), m_pose, 1);
+// apply_pose_armature(GetArmature(), m_pose, 1);
if (!m_mrdPose)
copy_pose (&m_mrdPose, m_pose, 0);
else
- get_pose_from_pose(&m_mrdPose, m_pose);
+ extract_pose_from_pose(m_mrdPose, m_pose);
}
}
@@ -126,7 +126,7 @@ void BL_ArmatureObject::GetPose(bPose **pose)
if (!*pose)
copy_pose(pose, m_pose, 0);
else
- get_pose_from_pose(pose, m_pose);
+ extract_pose_from_pose(*pose, m_pose);
}
@@ -142,7 +142,7 @@ void BL_ArmatureObject::GetMRDPose(bPose **pose)
if (!*pose)
copy_pose(pose, m_mrdPose, 0);
else
- get_pose_from_pose(pose, m_mrdPose);
+ extract_pose_from_pose(*pose, m_mrdPose);
}
@@ -158,9 +158,12 @@ double BL_ArmatureObject::GetLastFrame()
bool BL_ArmatureObject::GetBoneMatrix(Bone* bone, MT_Matrix4x4& matrix) const
{
- MT_assert(verify_boneptr((bArmature*) GetArmature(), bone) && "Bone is not part of this armature.");
+ // ton hack
+ bPoseChannel *pchan= get_pose_channel(m_pose, bone->name);
+
+// MT_assert(verify_boneptr((bArmature*) GetArmature(), bone) && "Bone is not part of this armature.");
- matrix.setValue(&bone->posemat[0][0]);
+ matrix.setValue(&pchan->pose_mat[0][0]);
return true;
}