summaryrefslogtreecommitdiff
path: root/games-engines/openmw
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /games-engines/openmw
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'games-engines/openmw')
-rw-r--r--games-engines/openmw/Manifest4
-rw-r--r--games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-1.patch51
-rw-r--r--games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-2.patch21
-rw-r--r--games-engines/openmw/openmw-0.45.0.ebuild12
4 files changed, 82 insertions, 6 deletions
diff --git a/games-engines/openmw/Manifest b/games-engines/openmw/Manifest
index be896ba3a912..78bb79d87080 100644
--- a/games-engines/openmw/Manifest
+++ b/games-engines/openmw/Manifest
@@ -1,3 +1,5 @@
+AUX openmw-0.45.0-osg-3.6.5-1.patch 2715 BLAKE2B 9b08b8cad0afd58170389f97cfca232330dcf14fa80d40a4dce4f0f9c770e3262b4206ff555d341e937c6c54b40c60030612b8478dddad97149a90b2431cc8f0 SHA512 95abc6fe8f2e9619c240b859e607e2119e7407e3d2688d78e98167007a4b1d9696d5198f6ba4644a8646a0435ae76611d315f07cd11f00165db71f3c9d18897b
+AUX openmw-0.45.0-osg-3.6.5-2.patch 642 BLAKE2B 4ece0c64eefdbd249de648fc3c85087f392bddb073033872b26a85dbfc044a7b7b11097bc5a322d3a8b074ccde75ee507f7254c9bed2386480f2962acad505e4 SHA512 a5e5e11ffdeb96f921edf2dc3e787ed5be21ae816330841da263518df29c58a7231980194519db426e3ac45602320f108b4de9e262d643c58c23652beb4dde9d
DIST openmw-0.45.0.tar.gz 4711103 BLAKE2B 85676294b07170dd6845892e9e7b354c5767428584c76ea2e1a64e9f9c72c46c279fdf5043058d37b927cb55e6cf2e2222833129d64954cdcdb3af4eb4b84dc3 SHA512 b968426659457cf486f6756f7ab82cc4cb34a92923c433dd86f711e5d7097f75441ed17daa50d21f15f1847f5aed1f4c3a094a06cfd3f2e9b90aa182742c596f
-EBUILD openmw-0.45.0.ebuild 3118 BLAKE2B efd8a047aaf49264cb29ac4a3d4e274681ad93118fb2a68459672ec8c9f250829333e1e4807c2ecc43d9b7b869c679ae0881e2f4ec36a299ea5336cd6e2739b1 SHA512 b2b469fc3136dd9ce8b1889b30d860fda4e44189cba7ac4a24eae68058a05c6bdacd30cd54b1b30be6e219f4c97a7b00dd12ce56548b87b497cd35d1df6f16f1
+EBUILD openmw-0.45.0.ebuild 3181 BLAKE2B a307152c8ee882a2fffeb13cee467905421a31781d446eb6d87618f8c040b08bae35f924408aca7eb1e63fd5a88a8166255a25df2d8ac4ed9d36c28a6dd86f74 SHA512 7db0200339d854d1f0eac9fbbbb5457c647ef0a2ae4a7abf9a52707e722ae6643356f88293d114c034672e8c50c1d77ecf1391c5156e18061ba59168f97d0f66
MISC metadata.xml 1044 BLAKE2B 132bf7783f4cdac33cfb9bffac4e8a0baf7380f8bb91b262c087ebab4848e6fc97dbac258d600836f1d447536077f063d0dc0ca7348179a61310806f5862ecfe SHA512 c47622fc66013a7c61b1f865619a77707b296b051df54bd75048073b6b5875d97fb300d490a5aba923cc369566ffb5f3dbab16451d1bf48f5f91de18ee7c2116
diff --git a/games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-1.patch b/games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-1.patch
new file mode 100644
index 000000000000..b47fab28d122
--- /dev/null
+++ b/games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-1.patch
@@ -0,0 +1,51 @@
+From 807f550386a1eac6f7306589a4e4a01e783e65df Mon Sep 17 00:00:00 2001
+From: Alexander Olofsson <ace@haxalot.com>
+Date: Thu, 13 Feb 2020 19:15:33 +0100
+Subject: [PATCH] Fix building mwrender/sky with OSG 3.6.5
+
+OSG commit aff574b completely replaces the method of doing user-defined
+query geometry, removing support for modifying the default geometry.
+---
+ apps/openmw/mwrender/sky.cpp | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/apps/openmw/mwrender/sky.cpp b/apps/openmw/mwrender/sky.cpp
+index 3996f472c2..e13f5a7b65 100644
+--- a/apps/openmw/mwrender/sky.cpp
++++ b/apps/openmw/mwrender/sky.cpp
+@@ -558,16 +558,22 @@ class Sun : public CelestialBody
+ osg::ref_ptr<osg::OcclusionQueryNode> oqn = new osg::OcclusionQueryNode;
+ oqn->setQueriesEnabled(true);
+
++#if OSG_VERSION_GREATER_OR_EQUAL(3, 6, 5)
++ // With OSG 3.6.5, the method of providing user defined query geometry has been completely replaced
++ osg::ref_ptr<osg::QueryGeometry> queryGeom = new osg::QueryGeometry(oqn->getName());
++#else
++ auto* queryGeom = oqn->getQueryGeometry();
++#endif
++
+ // Make it fast! A DYNAMIC query geometry means we can't break frame until the flare is rendered (which is rendered after all the other geometry,
+ // so that would be pretty bad). STATIC should be safe, since our node's local bounds are static, thus computeBounds() which modifies the queryGeometry
+ // is only called once.
+ // Note the debug geometry setDebugDisplay(true) is always DYNAMIC and that can't be changed, not a big deal.
+- oqn->getQueryGeometry()->setDataVariance(osg::Object::STATIC);
++ queryGeom->setDataVariance(osg::Object::STATIC);
+
+ // Set up the query geometry to match the actual sun's rendering shape. osg::OcclusionQueryNode wasn't originally intended to allow this,
+ // normally it would automatically adjust the query geometry to match the sub graph's bounding box. The below hack is needed to
+ // circumvent this.
+- osg::Geometry* queryGeom = oqn->getQueryGeometry();
+ queryGeom->setVertexArray(mGeom->getVertexArray());
+ queryGeom->setTexCoordArray(0, mGeom->getTexCoordArray(0), osg::Array::BIND_PER_VERTEX);
+ queryGeom->removePrimitiveSet(0, oqn->getQueryGeometry()->getNumPrimitiveSets());
+@@ -578,6 +584,10 @@ class Sun : public CelestialBody
+ // Still need a proper bounding sphere.
+ oqn->setInitialBound(queryGeom->getBound());
+
++#if OSG_VERSION_GREATER_OR_EQUAL(3, 6, 5)
++ oqn->setQueryGeometry(queryGeom.release());
++#endif
++
+ osg::StateSet* queryStateSet = new osg::StateSet;
+ if (queryVisible)
+ {
diff --git a/games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-2.patch b/games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-2.patch
new file mode 100644
index 000000000000..6b13291911ca
--- /dev/null
+++ b/games-engines/openmw/files/openmw-0.45.0-osg-3.6.5-2.patch
@@ -0,0 +1,21 @@
+From 7db58a893a1448b7229de5464696b3cc6eb7663c Mon Sep 17 00:00:00 2001
+From: Alexander Olofsson <ace@haxalot.com>
+Date: Thu, 13 Feb 2020 19:32:17 +0100
+Subject: [PATCH] Ensure osg/Version is included
+
+---
+ apps/openmw/mwrender/sky.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/apps/openmw/mwrender/sky.cpp b/apps/openmw/mwrender/sky.cpp
+index e13f5a7b65..7cf2af88d0 100644
+--- a/apps/openmw/mwrender/sky.cpp
++++ b/apps/openmw/mwrender/sky.cpp
+@@ -16,6 +16,7 @@
+ #include <osg/BlendFunc>
+ #include <osg/AlphaFunc>
+ #include <osg/PolygonOffset>
++#include <osg/Version>
+ #include <osg/observer_ptr>
+
+ #include <osgParticle/BoxPlacer>
diff --git a/games-engines/openmw/openmw-0.45.0.ebuild b/games-engines/openmw/openmw-0.45.0.ebuild
index 54e986e845b9..60c87d4697f3 100644
--- a/games-engines/openmw/openmw-0.45.0.ebuild
+++ b/games-engines/openmw/openmw-0.45.0.ebuild
@@ -29,11 +29,11 @@ RDEPEND="
virtual/opengl
qt5? (
app-arch/unshield
- dev-qt/qtcore:5=
- dev-qt/qtgui:5=
- dev-qt/qtnetwork:5=
- dev-qt/qtopengl:5=
- dev-qt/qtwidgets:5=
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtwidgets:5
)
"
@@ -47,6 +47,8 @@ BDEPEND="
)
"
+PATCHES=( "${FILESDIR}"/${P}-osg-3.6.5-{1,2}.patch ) # bug #709878
+
S="${WORKDIR}/${PN}-${P}"
src_prepare() {