From 9064ed8d6aa934dedc4b344e328566a8549371f6 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 17 Sep 2008 01:29:54 +0000 Subject: Fix for bug #4192: game engine armatures that are dynamically added but don't have an action got the pose of already added armatures, even though they're not related. This also fixes an issue where the armature in Blender would end up in the pose from the game after ESC, removes unneeded copies made during armature evaluation, and also solves the constraint copying hack. --- source/gameengine/Converter/BL_ShapeDeformer.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source/gameengine/Converter/BL_ShapeDeformer.cpp') diff --git a/source/gameengine/Converter/BL_ShapeDeformer.cpp b/source/gameengine/Converter/BL_ShapeDeformer.cpp index 236cd1a6667..dfd33e45fef 100644 --- a/source/gameengine/Converter/BL_ShapeDeformer.cpp +++ b/source/gameengine/Converter/BL_ShapeDeformer.cpp @@ -109,6 +109,7 @@ bool BL_ShapeDeformer::ExecuteShapeDrivers(void) vector::iterator it; void *poin; int type; + // the shape drivers use the bone matrix as input. Must // update the matrix now m_armobj->ApplyPose(); @@ -121,7 +122,10 @@ bool BL_ShapeDeformer::ExecuteShapeDrivers(void) if (poin) write_ipo_poin(poin, type, icu->curval); } + ForceUpdate(); + m_armobj->RestorePose(); + return true; } return false; -- cgit v1.2.3