diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2011-02-28 23:22:28 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2011-02-28 23:22:28 +0300 |
commit | 12f77ddb9ed103dfe2ae3ff7f94375d5abb8ab95 (patch) | |
tree | b70c2aea98daac577450716d107846fa338bb93c /source | |
parent | fa42cf671acc04cf303011a54f08169ed102bc31 (diff) |
BGE fix: complement to recent patch for Rigid Body Constraint. patch by Juha Mäki-Kanto (kanttori)
Diffstat (limited to 'source')
-rw-r--r-- | source/gameengine/Converter/BL_BlenderDataConversion.cpp | 3 | ||||
-rw-r--r-- | source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index 35cd4edf945..494d2853058 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -2658,8 +2658,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie, for (dof=3;dof<6;dof++) { - // flag only applies to angular limit x - if(dof != 3 || dat->flag & dofbit) + if(dat->flag & dofbit) { kxscene->GetPhysicsEnvironment()->setConstraintParam(constraintId,dof,dat->minLimit[dof],dat->maxLimit[dof]); } diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp index 937c70ede5e..7dfdb67d2c6 100644 --- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp +++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp @@ -2001,7 +2001,10 @@ void CcdPhysicsEnvironment::setConstraintParam(int constraintId,int param,float { //param = 3,4,5 are constraint limits, high limit values btConeTwistConstraint* coneTwist = (btConeTwistConstraint*)typedConstraint; - coneTwist->setLimit(param,value1); + if(value1<0.0f) + coneTwist->setLimit(param,btScalar(BT_LARGE_FLOAT)); + else + coneTwist->setLimit(param,value1); break; } default: |