[Bf-blender-cvs] [183b417] master: BGE Physics: Better follow the old (pre-cleanup) logic for determining bounds types.
Mitchell Stokes
noreply at git.blender.org
Thu May 15 22:29:27 CEST 2014
Commit: 183b417cce6de2ea00ca1f0d89b0170827aa75b3
Author: Mitchell Stokes
Date: Wed May 14 22:36:28 2014 -0700
https://developer.blender.org/rB183b417cce6de2ea00ca1f0d89b0170827aa75b3
BGE Physics: Better follow the old (pre-cleanup) logic for determining bounds types.
This prevents older files from breaking.
===================================================================
M source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
===================================================================
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
index bbc3968..ce6eb22 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
@@ -3056,27 +3056,26 @@ void CcdPhysicsEnvironment::ConvertObject(KX_GameObject *gameobj, RAS_MeshObject
btCollisionShape* bm = 0;
- char bounds;
- if (blenderobject->gameflag & OB_BOUNDS)
- {
- bounds = blenderobject->collision_boundtype;
- }
- else
+ char bounds = isbulletdyna ? OB_BOUND_SPHERE : OB_BOUND_TRIANGLE_MESH;
+ if (!(blenderobject->gameflag & OB_BOUNDS))
{
if (blenderobject->gameflag & OB_SOFT_BODY)
bounds = OB_BOUND_TRIANGLE_MESH;
else if (blenderobject->gameflag & OB_CHARACTER)
bounds = OB_BOUND_SPHERE;
- else if (isbulletdyna)
+ }
+ else
+ {
+ if (ELEM(blenderobject->collision_boundtype, OB_BOUND_CONVEX_HULL, OB_BOUND_TRIANGLE_MESH)
+ && blenderobject->type != OB_MESH)
+ {
+ // Can't use triangle mesh or convex hull on a non-mesh object, fall-back to sphere
bounds = OB_BOUND_SPHERE;
+ }
else
- bounds = OB_BOUND_TRIANGLE_MESH;
+ bounds = blenderobject->collision_boundtype;
}
- // Can't use triangle mesh or convex hull on a non-mesh object, fall-back to sphere
- if (ELEM(bounds, OB_BOUND_TRIANGLE_MESH, OB_BOUND_CONVEX_HULL) && blenderobject->type != OB_MESH)
- bounds = OB_BOUND_SPHERE;
-
// Get bounds information
float bounds_center[3], bounds_extends[3];
BoundBox *bb= BKE_object_boundbox_get(blenderobject);
More information about the Bf-blender-cvs
mailing list