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:
authorKent Mein <mein@cs.umn.edu>2002-11-11 17:46:27 +0300
committerKent Mein <mein@cs.umn.edu>2002-11-11 17:46:27 +0300
commita65506a3b59afbfab81d8fb71429202a603a81fe (patch)
treedf8a61448b7511a4d194a3f6fa5dcc79073750c7 /source/blender
parent6db6011d8920af5fd9dfd8df26d6085ea733dad6 (diff)
Fixed action.c (brought it back to 1.2)
Kent -- mein@cs.umn.edu
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/intern/action.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index ccaabbff144..9f5de3f34fa 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -218,14 +218,12 @@ blend_poses (
/* Do the transformation blend */
for (i=0; i<3; i++){
- if (schan->flag) {
- if (POSE_LOC)
+ if (schan->flag & POSE_LOC)
dchan->loc[i] = (dchan->loc[i]*dstweight) + (schan->loc[i]*srcweight);
- if (POSE_SIZE)
+ if (schan->flag & POSE_SIZE)
dchan->size[i] = 1.0f + ((dchan->size[i]-1.0f)*dstweight) + ((schan->size[i]-1.0f)*srcweight);
- if (POSE_ROT)
+ if (schan->flag & POSE_ROT)
dchan->quat[i+1] = (dquat[i+1]*dstweight) + (squat[i+1]*srcweight);
- }
}
/* Do one more iteration for the quaternions only and normalize the quaternion if needed */
@@ -852,16 +850,15 @@ bPoseChannel *set_pose_channel (bPose *pose, bPoseChannel *chan){
/* Determine if an equivalent channel exists already */
for (curChan=pose->chanbase.first; curChan; curChan=curChan->next){
if (!strcmp (curChan->name, chan->name)){
- if (chan->flag) {
- if (POSE_ROT)
+ if (chan->flag & POSE_ROT)
memcpy (curChan->quat, chan->quat, sizeof(chan->quat));
- if (POSE_SIZE)
+ if (chan->flag & POSE_SIZE)
memcpy (curChan->size, chan->size, sizeof(chan->size));
- if (POSE_LOC)
+ if (chan->flag & POSE_LOC)
memcpy (curChan->loc, chan->loc, sizeof(chan->loc));
- if (PCHAN_DONE)
+ if (chan->flag & PCHAN_DONE)
Mat4CpyMat4 (curChan->obmat, chan->obmat);
- }
+
curChan->flag |= chan->flag;
MEM_freeN (chan);
return curChan;
@@ -873,3 +870,4 @@ bPoseChannel *set_pose_channel (bPose *pose, bPoseChannel *chan){
/* If an equivalent channel doesn't exist, then don't bother setting it. */
}
+