aboutsummaryrefslogtreecommitdiff
path: root/games/glPortal
diff options
context:
space:
mode:
Diffstat (limited to 'games/glPortal')
-rw-r--r--games/glPortal/bullet286.patch38
-rw-r--r--games/glPortal/glPortal.SlackBuild3
2 files changed, 41 insertions, 0 deletions
diff --git a/games/glPortal/bullet286.patch b/games/glPortal/bullet286.patch
new file mode 100644
index 0000000000000..69e204a80b446
--- /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);
diff --git a/games/glPortal/glPortal.SlackBuild b/games/glPortal/glPortal.SlackBuild
index 7ce3f7ab0e292..d713d260b7866 100644
--- a/games/glPortal/glPortal.SlackBuild
+++ b/games/glPortal/glPortal.SlackBuild
@@ -86,6 +86,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+cd source/engine
+patch -p2 < $CWD/bullet286.patch
+cd ../..
mkdir -p build
cd build
cmake \