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:
authorDalai Felinto <dfelinto@gmail.com>2011-02-28 23:22:28 +0300
committerDalai Felinto <dfelinto@gmail.com>2011-02-28 23:22:28 +0300
commit12f77ddb9ed103dfe2ae3ff7f94375d5abb8ab95 (patch)
treeb70c2aea98daac577450716d107846fa338bb93c /source/gameengine
parentfa42cf671acc04cf303011a54f08169ed102bc31 (diff)
BGE fix: complement to recent patch for Rigid Body Constraint. patch by Juha Mäki-Kanto (kanttori)
Diffstat (limited to 'source/gameengine')
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp3
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp5
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: