games/openmw: Add patch against bullet 2.85.1.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Willy Sudiarto Raharjo 2016-10-16 19:04:45 +07:00
parent 7989490258
commit 72d1b2f42e
2 changed files with 82 additions and 1 deletions

View file

@ -0,0 +1,77 @@
From 5ccbabc27d7f1ec02447680e4bed28d12333fb77 Mon Sep 17 00:00:00 2001
From: scrawl <scrawl@baseoftrash.de>
Date: Fri, 14 Oct 2016 20:59:55 +0200
Subject: [PATCH] Fix build against bullet with profiler disabled (Fixes #3592)
---
apps/openmw/mwgui/debugwindow.cpp | 7 +++++++
apps/openmw/mwphysics/physicssystem.cpp | 3 +++
2 files changed, 10 insertions(+)
diff --git a/apps/openmw/mwgui/debugwindow.cpp b/apps/openmw/mwgui/debugwindow.cpp
index 37ea347..a29910f 100644
--- a/apps/openmw/mwgui/debugwindow.cpp
+++ b/apps/openmw/mwgui/debugwindow.cpp
@@ -7,6 +7,8 @@
#include <LinearMath/btQuickprof.h>
+#ifndef BT_NO_PROFILE
+
namespace
{
void bulletDumpRecursive(CProfileIterator* pit, int spacing, std::stringstream& os)
@@ -71,6 +73,7 @@ namespace
}
}
+#endif // BT_NO_PROFILE
namespace MWGui
{
@@ -92,10 +95,13 @@ namespace MWGui
MyGUI::IntSize viewSize = MyGUI::RenderManager::getInstance().getViewSize();
mMainWidget->setSize(viewSize);
+
+
}
void DebugWindow::onFrame(float dt)
{
+#ifndef BT_NO_PROFILE
if (!isVisible())
return;
@@ -115,6 +121,7 @@ namespace MWGui
size_t previousPos = mBulletProfilerEdit->getVScrollPosition();
mBulletProfilerEdit->setCaption(stream.str());
mBulletProfilerEdit->setVScrollPosition(std::min(previousPos, mBulletProfilerEdit->getVScrollRange()-1));
+#endif
}
}
diff --git a/apps/openmw/mwphysics/physicssystem.cpp b/apps/openmw/mwphysics/physicssystem.cpp
index 954d195..e442fbd 100644
--- a/apps/openmw/mwphysics/physicssystem.cpp
+++ b/apps/openmw/mwphysics/physicssystem.cpp
@@ -14,6 +14,7 @@
#include <BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h>
#include <BulletCollision/CollisionDispatch/btCollisionWorld.h>
#include <BulletCollision/BroadphaseCollision/btDbvtBroadphase.h>
+
#include <LinearMath/btQuickprof.h>
#include <components/nifbullet/bulletnifloader.hpp>
@@ -1363,8 +1364,10 @@ namespace MWPhysics
for (std::set<Object*>::iterator it = mAnimatedObjects.begin(); it != mAnimatedObjects.end(); ++it)
(*it)->animateCollisionShapes(mCollisionWorld);
+#ifndef BT_NO_PROFILE
CProfileManager::Reset();
CProfileManager::Increment_Frame_Counter();
+#endif
}
void PhysicsSystem::debugDraw()

View file

@ -24,7 +24,7 @@
PRGNAM=openmw
VERSION=${VERSION:-0.40.0}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -69,6 +69,10 @@ 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 {} \;
# Patch against bullet 2.85.1
# Thanks to ARCH Linux
patch -p1 < $CWD/bullet-2.85.1.patch
mkdir -p build
cd build
cmake \