summaryrefslogtreecommitdiffstats
path: root/games/glPortal/bullet286.patch
diff options
context:
space:
mode:
Diffstat (limited to 'games/glPortal/bullet286.patch')
-rw-r--r--games/glPortal/bullet286.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/games/glPortal/bullet286.patch b/games/glPortal/bullet286.patch
new file mode 100644
index 0000000000..69e204a80b
--- /dev/null
+++ b/games/glPortal/bullet286.patch
@@ -0,0 +1,38 @@
+commit 08df5951c9bbcf16234289eaef99c51e3f8bed13
+Author: Henry Hirsch <henry@w3-net.de>
+Date: Tue Feb 28 21:08:04 2017 +0100
+
+ Port uncollider to bullet 2.86
+
+diff --git a/source/physics/Uncollider.cpp b/source/physics/Uncollider.cpp
+index 99ffc79..8f60885 100644
+--- a/source/physics/Uncollider.cpp
++++ b/source/physics/Uncollider.cpp
+@@ -72,19 +72,24 @@ void Uncollider::nearCallback(btBroadphasePair &collisionPair,
+
+ btCollisionObject *colObj0 = (btCollisionObject*)collisionPair.m_pProxy0->m_clientObject;
+ btCollisionObject *colObj1 = (btCollisionObject*)collisionPair.m_pProxy1->m_clientObject;
+-
++
+ if (dispatcher.needsCollision(colObj0, colObj1)) {
+ btCollisionObjectWrapper obj0Wrap(0, colObj0->getCollisionShape(),
+ colObj0, colObj0->getWorldTransform(), -1, -1);
+ btCollisionObjectWrapper obj1Wrap(0, colObj1->getCollisionShape(),
+ colObj1, colObj1->getWorldTransform(), -1, -1);
+
++ btManifoldResult contactPointResult(&obj0Wrap, &obj1Wrap);
++
+ if (not collisionPair.m_algorithm) {
+- collisionPair.m_algorithm = dispatcher.findAlgorithm(&obj0Wrap, &obj1Wrap);
++
++ collisionPair.m_algorithm =
++ dispatcher.findAlgorithm(&obj0Wrap, &obj1Wrap,
++ contactPointResult.getPersistentManifold(),
++ ebtDispatcherQueryType::BT_CONTACT_POINT_ALGORITHMS);
+ }
+
+ if (collisionPair.m_algorithm) {
+- btManifoldResult contactPointResult(&obj0Wrap, &obj1Wrap);
+ if (dispatchInfo.m_dispatchFunc == btDispatcherInfo::DISPATCH_DISCRETE) {
+ collisionPair.m_algorithm->processCollision(&obj0Wrap, &obj1Wrap, dispatchInfo,
+ &contactPointResult);