summaryrefslogtreecommitdiff
path: root/games-engines
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
commit93a93e9a3b53c1a73142a305ea1f8136846942ee (patch)
treeb9791a06ab3284e27b568412c59316c66240c682 /games-engines
parent2771f79232c273bc2a57d23bf335dd81ccf6af28 (diff)
gentoo resync : 22.12.2021
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/Manifest.gzbin3547 -> 3550 bytes
-rw-r--r--games-engines/openmw/Manifest15
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch10
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-fix-cast.patch214
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-floattest2.patch139
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-gcc11.patch36
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-missing-include.patch19
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-mygui-license.patch16
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch335
-rw-r--r--games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch24
-rw-r--r--games-engines/openmw/openmw-0.46.0-r2.ebuild163
-rw-r--r--games-engines/openmw/openmw-0.47.0-r1.ebuild2
-rw-r--r--games-engines/openmw/openmw-9999.ebuild2
13 files changed, 4 insertions, 971 deletions
diff --git a/games-engines/Manifest.gz b/games-engines/Manifest.gz
index 923bf769c066..a254f8a4cecf 100644
--- a/games-engines/Manifest.gz
+++ b/games-engines/Manifest.gz
Binary files differ
diff --git a/games-engines/openmw/Manifest b/games-engines/openmw/Manifest
index a77bf174d237..e92f8cfa7ab9 100644
--- a/games-engines/openmw/Manifest
+++ b/games-engines/openmw/Manifest
@@ -1,17 +1,6 @@
-AUX openmw-0.46.0-boost-1.77.patch 227 BLAKE2B 8b2a5c11818d5d5cb8165124ec4f902b8deb8343abc60612a78fe7efe3e14fc67a383d11575fb65366578ff9af20ad307b166114cbcfbd0f3259fb1f69bd77a9 SHA512 b8ab47eb18ee189511f802ac5db2b45dd195289b04a02bffea1c3dbc36f55e4859e22828e715ef983d52d7fc2e1946432899880c4d8994d7421c561d2d958e5f
-AUX openmw-0.46.0-fix-cast.patch 12792 BLAKE2B 583ca033350e16116de85ba3bfc121bc2a444686a4e7c75388880835e708e0860c787ee6504b6f907b6749afd23acaea87b84aeece5553a2e61562142d223257 SHA512 7784c327cb442e20afb0409f0f5ef2791fa9dbe3c15b6a8e60baabec7a1179778577ac60e5c14e9e83868c15db1aaffa145006ce4d0140f0db4869c6eb0f8b9a
-AUX openmw-0.46.0-floattest2.patch 8586 BLAKE2B b419473aa1f00b327654b0f3862819f296d8390ce9a290ebd98fcf39175d85045ad85bf1ca9521a6f033f836a7331e1511e3005f2ac2f15b43c45b22641d281f SHA512 286e9fa560f62f5a291c622a7939c57e8c674ba1a4762c6a20a8fefe0b91092ffd7a1663dd70f4cc287833de0a8177329bb58e1e87b3cc9ed0d22a4a4cd71c9d
-AUX openmw-0.46.0-gcc11.patch 1061 BLAKE2B 897b6c68962196a1446b68e1bd0fa08d5ffd60d1fe15c809e3fcb0ef9dce98e2e5177c2379db151d32c1b5b52cd0c28e51d3c37c49e68bd0099202bc1ced7ca3 SHA512 9687370fd4583d1cc1199798ce8644ac86db7d591df157efb1d1361e176ce71814d7ab27d334cb432af3f7ab8750a2bb7d27e159a696803bbc9c2f67adb65098
-AUX openmw-0.46.0-missing-include.patch 682 BLAKE2B fa80b94d9ce91e1b05b96c02e80f32f1e9066ba6f8ada4a1e5150cf3a278d3a233eda42269b3027c56aaa7be98dd33cbcc3932d1e0930a51bd6b5744a73d6b6e SHA512 d0d47fe249e8fb366e00e272dc62853f8a2aaa75d45d83d270891e76674c1382fd3405e674e3b6c383bbc17125c4471893e77251744deae4d17bc373d847a638
-AUX openmw-0.46.0-mygui-license.patch 742 BLAKE2B a36016cf4b29c31918376dd27082f42cdaeacd5e8fff5a2860b827ce3db6b7fd711b2c6b8453b3792d506ec31749fb457d11225c64ff792257e30c796013501b SHA512 43895daa22eaf5891d789abed22e6d9df3c6817a7060bee7407963dbd13413dcd8fce03f236b3d7e0d589d925e9cbfe5125c72b1b2735479bf56d122cad85383
-AUX openmw-0.46.0-nifbullet-test.patch 12675 BLAKE2B fadb3c75bd0fcf4f351f30c86cdc3b407f4f7e97c3c9c278f3e20197a5c78c5b9ff320c9a53bd04fd40114f3b851f9523dd390c75487832cee67b3de7ef228d6 SHA512 e63d5f1e3e3c03a94ff2e926b2ce54d611c12a29749eba8d3c20c4d1ba1ee437142e40b20c08d2da714d7e98d573f4b1e5eaa99425b6dd27aace0e1852bb0ccb
-AUX openmw-0.46.0-recastnavigation.patch 988 BLAKE2B 3d9dd71a02070268fe21006fda20f2617ad57ce11782c5d05d3deb0c51ae2e2c91f679b23da92b6b939479fe176e99d63705ab1a3bb9d20cc7c39ab55fff2ac3 SHA512 49591f413ff68fbb11b7742c44d138f234e69478eae3462a5a402ac626bf67283e18a05dd2e2cea33706cdeb54deaf28e8a788e91491ddfe0ce10ffd978fc4e0
AUX openmw-0.47.0-mygui-license.patch 728 BLAKE2B 036156d52e609fcbce3b219174e9def640457bcc8ce9df842e4423e8fe9634f7069a820602710fe4315d06801159aff53520843f92155865d294234f4712fed7 SHA512 fb156f963aa103fc04b515faec0ef536e47da78da9ee5fbc2cc4ccaa51d382a229d3ee8a07b007d34442200834a9aba41489cea85e90c73f9acc6943e2274079
AUX openmw-0.47.0-sigstksz.patch 1409 BLAKE2B f023d8fa0a0e9dd31c0621bad330ed9620983ceac6eed026b5a7f4790a183d222e34e1e91a3e74bad706040ed2e61079650ae4333261095b0e53d3d475dc51cb SHA512 396c47070ed609bae2c8e09d6bc51c45c9fa6158cd8450cf7110f133d07fdc2e82d736b93e4342a982a8cb80080fcc2e005cd4239a246997526d4a114255b974
-DIST openmw-0.46.0-floattest.patch 43168 BLAKE2B 060b529fd4cd01f0fc723bb5a00a256b9c1ae4413c7b22581467cce75416e01041c3af22f0215ad9b1c475965a988065e0860c01c1e71d97454b022eec4779ea SHA512 0e165417e9ae047231fdc27b62251b33867f3782c1753f81705c886d6d3a433c8bbc3b4653a2555bc644bad11db9769d4bc2abcc84ca3ab23fabb6b80347bc32
-DIST openmw-0.46.0.tar.gz 5155004 BLAKE2B 8ad94a7fffe5a0739c56c778efe2ec17ef66c312a7fe5caf015cf3cad2bc17d2abe8cdc3f4134049a32fe55c4f4b3f72678d2d0ce1037fd02f6ac753b9d89b2c SHA512 da384aead300552817c0d0ce03515a5ccc95dcab4e02d4c1dd0d6c5f1b01ee01209bbaea74e2d12021e3465e49b051823bb018de39675c5a22c6892893624486
DIST openmw-0.47.0.tar.gz 5156857 BLAKE2B 40e8b9670423259fa0cc03ef000c17ebe06d1d58c2527b51b25cea3b54978b8a698984371eac14ff212f9550253ab17d41b83d37426371f12f5ce2d30b240d3d SHA512 517e650d0054cdba8d38de05ed3975b0fcf8de32fda59c8df7c34b973e5390efa0dd9ec79babdfdaa79dee7aa8a75009776f62fad91b9aa9aa28016c5032652b
-EBUILD openmw-0.46.0-r2.ebuild 4328 BLAKE2B d8a1286c1d414f7c8cfe7f1341e15fcb1034694cdddfbf4af64aed41a35c1e946e6c95597b7e63e2b15b7aa81a16766a4973d238514e010390507e877bd7dec4 SHA512 fce808ce7de850286b0d748f367b4465098c0eeed249f551ff2d2fcd0eaf803c810da502b460aa99cb838f082bd05caf84bbb57a1e434040fe790a3b9e83c595
-EBUILD openmw-0.47.0-r1.ebuild 3603 BLAKE2B 507d92f1c81f58370c5bb73dae6e0ffe84fb3d64c7aaee0e9208ad8a454ab711f35f828d74956481929663b51b7027f5b045e957ce1116476f654260ed7b8f77 SHA512 41bee2d3055ae4c21c5bf5fe4068238570427e938ed745bce26a56c442caab3d1056fa57e4a1081aa52bf045417c850942af803a4c10a2d4dee151ac568c8dbf
-EBUILD openmw-9999.ebuild 4004 BLAKE2B ce9554f2cd1afdda34a34b0aeee704e15c3f4653d7d70ceebed54ae41dfa8cd4937ee4260d77b558dc6239dddc07d2c7d2c6bd25649c89440d047edfc68ea9d3 SHA512 3fd47b8d9f3a1cbff2a62d966153e10398ac7c2aaa52985e7119a7142f751899b6e24465cd8a06ab0e9061d424c203d71ed20f7e6fe2044509106a33a89cff24
+EBUILD openmw-0.47.0-r1.ebuild 3610 BLAKE2B ead1421432bb03e0ce690973bd077b62ae29197ad264022178b7ea8e26828ce75f11c3faa0b3462792de05b0ba576a33dbebc2ae4d51de037307b8ef8eccafdc SHA512 2eb1b7ec1fbe8617a7863560a88c7defdca367117e12b6808591a4b09c6ef17e091e062c868ff67a85dcda40e54cb36281ac43bf745b68a4daa9b72edcb9698c
+EBUILD openmw-9999.ebuild 4012 BLAKE2B 94eda46ce1542b63cbd941cfbe2f3416e1b671616654d4f5c5e50b4bc5aba5cca73becb72aa7d43e1112c8e43c82664db3f094e641803c600fff3ababf4793c6 SHA512 9bb05ce5077c7823271679176d72841d13f2f37ca5b9fbe50f78b5e6451e873565725e227db02a2475487e319a7b31bac59c689890d82c0a347c760ab62da205
MISC metadata.xml 1454 BLAKE2B f0cfc77e752bbd3b7a4cd1bee5d7e76aa913e402525928980f728273807be80555fb03e8b9891d28fea8b941c3e632395322536f006b94dea5a00d74bced610b SHA512 9aa67b87fd886d8c3fe29f5eb3f5fbd943a7d690c1dca21a34746a286d0b193e36ec8c96b75554ca3f98c4d149dcd7e072aa702b09c6670d63739a3c8b766df3
diff --git a/games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch b/games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch
deleted file mode 100644
index 708fd9e9f52f..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-https://bugs.gentoo.org/808763
-
---- a/components/vfs/filesystemarchive.cpp
-+++ b/components/vfs/filesystemarchive.cpp
-@@ -1,4 +1,5 @@
- #include "filesystemarchive.hpp"
-
-+#include <algorithm>
- #include <boost/filesystem.hpp>
-
diff --git a/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch b/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch
deleted file mode 100644
index f6e82cb3a2c9..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-Fixes build on ~arch system, patch from upstream, to be dropped for 0.47
-
-From 208a50340db5506dded60c05272ce9692773baa9 Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Mon, 13 Apr 2020 20:45:07 +0200
-Subject: [PATCH] Specialize DetourNavigator::ObjectId ctor for pointers
-
-To fix msvc error:
-components\detournavigator\objectid.hpp(14,13): error C2440: 'reinterpret_cast': cannot convert from 'const T' to 'size_t'
- with
- [
- T=unsigned long
- ]
-diff --git a/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp b/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp
-index 5275d9119e..e44ae48786 100644
---- a/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp
-+++ b/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp
-@@ -61,15 +61,15 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- EXPECT_TRUE(manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground));
-+ EXPECT_TRUE(manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground));
- }
-
- TEST_F(DetourNavigatorTileCachedRecastMeshManagerTest, add_object_for_existing_object_should_return_false)
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-- EXPECT_FALSE(manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground));
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ EXPECT_FALSE(manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground));
- }
-
- TEST_F(DetourNavigatorTileCachedRecastMeshManagerTest, update_object_for_changed_object_should_return_changed_tiles)
-@@ -77,9 +77,9 @@ namespace
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
- const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0));
-- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground);
- EXPECT_THAT(
-- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground),
-+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground),
- ElementsAre(TilePosition(-1, -1), TilePosition(-1, 0), TilePosition(0, -1), TilePosition(0, 0),
- TilePosition(1, -1), TilePosition(1, 0))
- );
-@@ -89,9 +89,9 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_EQ(
-- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground),
-+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground),
- std::vector<TilePosition>()
- );
- }
-@@ -100,7 +100,7 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr);
-@@ -111,7 +111,7 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_EQ(manager.getMesh(TilePosition(1, 0)), nullptr);
- }
-
-@@ -121,13 +121,13 @@ namespace
- const btBoxShape boxShape(btVector3(20, 20, 100));
- const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0));
-
-- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground);
- EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(0, 0)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(1, 0)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(1, -1)), nullptr);
-
-- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr);
-@@ -140,11 +140,11 @@ namespace
- const btBoxShape boxShape(btVector3(20, 20, 100));
- const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0));
-
-- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground);
- EXPECT_EQ(manager.getMesh(TilePosition(-1, -1)), nullptr);
- EXPECT_EQ(manager.getMesh(TilePosition(-1, 0)), nullptr);
-
-- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_EQ(manager.getMesh(TilePosition(1, 0)), nullptr);
- EXPECT_EQ(manager.getMesh(TilePosition(1, -1)), nullptr);
- }
-@@ -153,8 +153,8 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-- manager.removeObject(ObjectId(1ul));
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.removeObject(ObjectId(&boxShape));
- EXPECT_EQ(manager.getMesh(TilePosition(-1, -1)), nullptr);
- EXPECT_EQ(manager.getMesh(TilePosition(-1, 0)), nullptr);
- EXPECT_EQ(manager.getMesh(TilePosition(0, -1)), nullptr);
-@@ -166,13 +166,13 @@ namespace
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(0, 0)), nullptr);
-
-- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr);
- EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr);
-@@ -184,7 +184,7 @@ namespace
- TileCachedRecastMeshManager manager(mSettings);
- const auto initialRevision = manager.getRevision();
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_EQ(manager.getRevision(), initialRevision + 1);
- }
-
-@@ -192,9 +192,9 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- const auto beforeAddRevision = manager.getRevision();
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_EQ(manager.getRevision(), beforeAddRevision);
- }
-
-@@ -203,9 +203,9 @@ namespace
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
- const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0));
-- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground);
- const auto beforeUpdateRevision = manager.getRevision();
-- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_EQ(manager.getRevision(), beforeUpdateRevision + 1);
- }
-
-@@ -213,9 +213,9 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- const auto beforeUpdateRevision = manager.getRevision();
-- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- EXPECT_EQ(manager.getRevision(), beforeUpdateRevision);
- }
-
-@@ -223,9 +223,9 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const btBoxShape boxShape(btVector3(20, 20, 100));
-- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
-+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground);
- const auto beforeRemoveRevision = manager.getRevision();
-- manager.removeObject(ObjectId(1ul));
-+ manager.removeObject(ObjectId(&boxShape));
- EXPECT_EQ(manager.getRevision(), beforeRemoveRevision + 1);
- }
-
-@@ -233,7 +233,7 @@ namespace
- {
- TileCachedRecastMeshManager manager(mSettings);
- const auto beforeRemoveRevision = manager.getRevision();
-- manager.removeObject(ObjectId(1ul));
-+ manager.removeObject(ObjectId(&manager));
- EXPECT_EQ(manager.getRevision(), beforeRemoveRevision);
- }
- }
-diff --git a/components/detournavigator/objectid.hpp b/components/detournavigator/objectid.hpp
-index 3b56924b13..6ddcc9169d 100644
---- a/components/detournavigator/objectid.hpp
-+++ b/components/detournavigator/objectid.hpp
-@@ -10,7 +10,7 @@ namespace DetourNavigator
- {
- public:
- template <class T>
-- explicit ObjectId(const T value) throw()
-+ explicit ObjectId(T* value) throw()
- : mValue(reinterpret_cast<std::size_t>(value))
- {
- }
diff --git a/games-engines/openmw/files/openmw-0.46.0-floattest2.patch b/games-engines/openmw/files/openmw-0.46.0-floattest2.patch
deleted file mode 100644
index ca6e355eab7d..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-floattest2.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-https://gitlab.com/OpenMW/openmw/-/merge_requests/253
-
---- a/apps/openmw_test_suite/detournavigator/navigator.cpp 2020-06-30 16:07:31.544410916 +0100
-+++ b/apps/openmw_test_suite/detournavigator/navigator.cpp 2020-06-30 16:08:50.405698937 +0100
-@@ -458,25 +458,25 @@
-
- EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim, mAreaCosts, mOut), Status::Success);
-
-- EXPECT_EQ(mPath, std::deque<osg::Vec3f>({
-- osg::Vec3f(0, 215, 185.33331298828125),
-- osg::Vec3f(0, 186.6666717529296875, 185.33331298828125),
-- osg::Vec3f(0, 158.333343505859375, 185.33331298828125),
-- osg::Vec3f(0, 130.0000152587890625, 185.33331298828125),
-- osg::Vec3f(0, 101.66667938232421875, 185.33331298828125),
-- osg::Vec3f(0, 73.333343505859375, 185.33331298828125),
-- osg::Vec3f(0, 45.0000152587890625, 185.33331298828125),
-- osg::Vec3f(0, 16.6666812896728515625, 185.33331298828125),
-- osg::Vec3f(0, -11.66664981842041015625, 185.33331298828125),
-- osg::Vec3f(0, -39.999980926513671875, 185.33331298828125),
-- osg::Vec3f(0, -68.33331298828125, 185.33331298828125),
-- osg::Vec3f(0, -96.66664886474609375, 185.33331298828125),
-- osg::Vec3f(0, -124.99997711181640625, 185.33331298828125),
-- osg::Vec3f(0, -153.33331298828125, 185.33331298828125),
-- osg::Vec3f(0, -181.6666412353515625, 185.33331298828125),
-- osg::Vec3f(0, -209.999969482421875, 185.33331298828125),
-- osg::Vec3f(0, -215, 185.33331298828125),
-- })) << mPath;
-+ EXPECT_THAT(mPath, ElementsAre(
-+ Vec3fEq(0, 215, 185.33331298828125),
-+ Vec3fEq(0, 186.6666717529296875, 185.33331298828125),
-+ Vec3fEq(0, 158.333343505859375, 185.33331298828125),
-+ Vec3fEq(0, 130.0000152587890625, 185.33331298828125),
-+ Vec3fEq(0, 101.66667938232421875, 185.33331298828125),
-+ Vec3fEq(0, 73.333343505859375, 185.33331298828125),
-+ Vec3fEq(0, 45.0000152587890625, 185.33331298828125),
-+ Vec3fEq(0, 16.6666812896728515625, 185.33331298828125),
-+ Vec3fEq(0, -11.66664981842041015625, 185.33331298828125),
-+ Vec3fEq(0, -39.999980926513671875, 185.33331298828125),
-+ Vec3fEq(0, -68.33331298828125, 185.33331298828125),
-+ Vec3fEq(0, -96.66664886474609375, 185.33331298828125),
-+ Vec3fEq(0, -124.99997711181640625, 185.33331298828125),
-+ Vec3fEq(0, -153.33331298828125, 185.33331298828125),
-+ Vec3fEq(0, -181.6666412353515625, 185.33331298828125),
-+ Vec3fEq(0, -209.999969482421875, 185.33331298828125),
-+ Vec3fEq(0, -215, 185.33331298828125)
-+ ));
- }
-
- TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_water_when_ground_cross_water_with_swim_and_walk_flags)
-@@ -505,25 +505,25 @@
- EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim | Flag_walk, mAreaCosts, mOut),
- Status::Success);
-
-- EXPECT_EQ(mPath, std::deque<osg::Vec3f>({
-- osg::Vec3f(0, 215, -94.75363922119140625),
-- osg::Vec3f(0, 186.6666717529296875, -106.0000152587890625),
-- osg::Vec3f(0, 158.333343505859375, -115.85507965087890625),
-- osg::Vec3f(0, 130.0000152587890625, -125.71016693115234375),
-- osg::Vec3f(0, 101.66667938232421875, -135.5652313232421875),
-- osg::Vec3f(0, 73.333343505859375, -143.3333587646484375),
-- osg::Vec3f(0, 45.0000152587890625, -143.3333587646484375),
-- osg::Vec3f(0, 16.6666812896728515625, -143.3333587646484375),
-- osg::Vec3f(0, -11.66664981842041015625, -143.3333587646484375),
-- osg::Vec3f(0, -39.999980926513671875, -143.3333587646484375),
-- osg::Vec3f(0, -68.33331298828125, -143.3333587646484375),
-- osg::Vec3f(0, -96.66664886474609375, -137.3043670654296875),
-- osg::Vec3f(0, -124.99997711181640625, -127.44930267333984375),
-- osg::Vec3f(0, -153.33331298828125, -117.59423065185546875),
-- osg::Vec3f(0, -181.6666412353515625, -107.73915863037109375),
-- osg::Vec3f(0, -209.999969482421875, -97.7971343994140625),
-- osg::Vec3f(0, -215, -94.75363922119140625),
-- })) << mPath;
-+ EXPECT_THAT(mPath, ElementsAre(
-+ Vec3fEq(0, 215, -94.75363922119140625),
-+ Vec3fEq(0, 186.6666717529296875, -106.0000152587890625),
-+ Vec3fEq(0, 158.333343505859375, -115.85507965087890625),
-+ Vec3fEq(0, 130.0000152587890625, -125.71016693115234375),
-+ Vec3fEq(0, 101.66667938232421875, -135.5652313232421875),
-+ Vec3fEq(0, 73.333343505859375, -143.3333587646484375),
-+ Vec3fEq(0, 45.0000152587890625, -143.3333587646484375),
-+ Vec3fEq(0, 16.6666812896728515625, -143.3333587646484375),
-+ Vec3fEq(0, -11.66664981842041015625, -143.3333587646484375),
-+ Vec3fEq(0, -39.999980926513671875, -143.3333587646484375),
-+ Vec3fEq(0, -68.33331298828125, -143.3333587646484375),
-+ Vec3fEq(0, -96.66664886474609375, -137.3043670654296875),
-+ Vec3fEq(0, -124.99997711181640625, -127.44930267333984375),
-+ Vec3fEq(0, -153.33331298828125, -117.59423065185546875),
-+ Vec3fEq(0, -181.6666412353515625, -107.73915863037109375),
-+ Vec3fEq(0, -209.999969482421875, -97.7971343994140625),
-+ Vec3fEq(0, -215, -94.75363922119140625)
-+ ));
- }
-
- TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_water_when_ground_cross_water_with_max_int_cells_size_and_swim_and_walk_flags)
-@@ -552,25 +552,25 @@
- EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim | Flag_walk, mAreaCosts, mOut),
- Status::Success);
-
-- EXPECT_EQ(mPath, std::deque<osg::Vec3f>({
-- osg::Vec3f(0, 215, -94.75363922119140625),
-- osg::Vec3f(0, 186.6666717529296875, -106.0000152587890625),
-- osg::Vec3f(0, 158.333343505859375, -115.85507965087890625),
-- osg::Vec3f(0, 130.0000152587890625, -125.71016693115234375),
-- osg::Vec3f(0, 101.66667938232421875, -135.5652313232421875),
-- osg::Vec3f(0, 73.333343505859375, -143.3333587646484375),
-- osg::Vec3f(0, 45.0000152587890625, -143.3333587646484375),
-- osg::Vec3f(0, 16.6666812896728515625, -143.3333587646484375),
-- osg::Vec3f(0, -11.66664981842041015625, -143.3333587646484375),
-- osg::Vec3f(0, -39.999980926513671875, -143.3333587646484375),
-- osg::Vec3f(0, -68.33331298828125, -143.3333587646484375),
-- osg::Vec3f(0, -96.66664886474609375, -137.3043670654296875),
-- osg::Vec3f(0, -124.99997711181640625, -127.44930267333984375),
-- osg::Vec3f(0, -153.33331298828125, -117.59423065185546875),
-- osg::Vec3f(0, -181.6666412353515625, -107.73915863037109375),
-- osg::Vec3f(0, -209.999969482421875, -97.7971343994140625),
-- osg::Vec3f(0, -215, -94.75363922119140625),
-- })) << mPath;
-+ EXPECT_THAT(mPath, ElementsAre(
-+ Vec3fEq(0, 215, -94.75363922119140625),
-+ Vec3fEq(0, 186.6666717529296875, -106.0000152587890625),
-+ Vec3fEq(0, 158.333343505859375, -115.85507965087890625),
-+ Vec3fEq(0, 130.0000152587890625, -125.71016693115234375),
-+ Vec3fEq(0, 101.66667938232421875, -135.5652313232421875),
-+ Vec3fEq(0, 73.333343505859375, -143.3333587646484375),
-+ Vec3fEq(0, 45.0000152587890625, -143.3333587646484375),
-+ Vec3fEq(0, 16.6666812896728515625, -143.3333587646484375),
-+ Vec3fEq(0, -11.66664981842041015625, -143.3333587646484375),
-+ Vec3fEq(0, -39.999980926513671875, -143.3333587646484375),
-+ Vec3fEq(0, -68.33331298828125, -143.3333587646484375),
-+ Vec3fEq(0, -96.66664886474609375, -137.3043670654296875),
-+ Vec3fEq(0, -124.99997711181640625, -127.44930267333984375),
-+ Vec3fEq(0, -153.33331298828125, -117.59423065185546875),
-+ Vec3fEq(0, -181.6666412353515625, -107.73915863037109375),
-+ Vec3fEq(0, -209.999969482421875, -97.7971343994140625),
-+ Vec3fEq(0, -215, -94.75363922119140625)
-+ ));
- }
-
- TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_ground_when_ground_cross_water_with_only_walk_flag)
diff --git a/games-engines/openmw/files/openmw-0.46.0-gcc11.patch b/games-engines/openmw/files/openmw-0.46.0-gcc11.patch
deleted file mode 100644
index 0dc3106fb3bf..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-gcc11.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/components/sceneutil/mwshadowtechnique.cpp b/components/sceneutil/mwshadowtechnique.cpp
-index cb3a1b2..62cfeec 100644
---- a/components/sceneutil/mwshadowtechnique.cpp
-+++ b/components/sceneutil/mwshadowtechnique.cpp
-@@ -24,6 +24,7 @@
- #include <osg/io_utils>
-
- #include <sstream>
-+#include <limits>
-
- namespace {
-
-diff --git a/components/sceneutil/shadow.cpp b/components/sceneutil/shadow.cpp
-index 035c19a..aba1b81 100644
---- a/components/sceneutil/shadow.cpp
-+++ b/components/sceneutil/shadow.cpp
-@@ -4,6 +4,7 @@
-
- #include <components/sceneutil/vismask.hpp>
- #include <components/settings/settings.hpp>
-+#include <limits>
-
- namespace SceneUtil
- {
-diff --git a/components/terrain/quadtreeworld.cpp b/components/terrain/quadtreeworld.cpp
-index f998b78..e0e47dd 100644
---- a/components/terrain/quadtreeworld.cpp
-+++ b/components/terrain/quadtreeworld.cpp
-@@ -3,6 +3,7 @@
- #include <osgUtil/CullVisitor>
-
- #include <sstream>
-+#include <limits>
-
- #include <components/misc/constants.hpp>
- #include <components/sceneutil/mwshadowtechnique.hpp>
diff --git a/games-engines/openmw/files/openmw-0.46.0-missing-include.patch b/games-engines/openmw/files/openmw-0.46.0-missing-include.patch
deleted file mode 100644
index 803707498e43..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-missing-include.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fixes build on ~arch system, patch from upstream, to be dropped for 0.47
-
-From 10daadefbea1f62a818c339dc7f3d69a858bc8a6 Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Thu, 30 Apr 2020 21:57:22 +0200
-Subject: [PATCH] Add missing include
-
-diff --git a/components/detournavigator/offmeshconnectionsmanager.hpp b/components/detournavigator/offmeshconnectionsmanager.hpp
-index 30d7976aec..155ce32963 100644
---- a/components/detournavigator/offmeshconnectionsmanager.hpp
-+++ b/components/detournavigator/offmeshconnectionsmanager.hpp
-@@ -13,6 +13,7 @@
-
- #include <boost/optional.hpp>
-
-+#include <algorithm>
- #include <map>
- #include <mutex>
- #include <unordered_map>
diff --git a/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch b/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch
deleted file mode 100644
index a14f58bc9e79..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-We don't install license files
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d69352c94..5f97c86e9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -470,9 +470,6 @@ IF(NOT WIN32 AND NOT APPLE)
- # INSTALL(PROGRAMS "${OpenMW_BINARY_DIR}/Plugin_MyGUI_OpenMW_Resources.so" DESTINATION "${LIBDIR}" )
- #ENDIF(BUILD_MYGUI_PLUGIN)
-
-- # Install licenses
-- INSTALL(FILES "files/mygui/DejaVu Font License.txt" DESTINATION "${LICDIR}" )
--
- # Install icon and desktop file
- INSTALL(FILES "${OpenMW_BINARY_DIR}/org.openmw.launcher.desktop" DESTINATION "${DATAROOTDIR}/applications" COMPONENT "openmw")
- INSTALL(FILES "${OpenMW_SOURCE_DIR}/files/launcher/images/openmw.png" DESTINATION "${ICONDIR}" COMPONENT "openmw")
diff --git a/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch b/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch
deleted file mode 100644
index 315b0753589d..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch
+++ /dev/null
@@ -1,335 +0,0 @@
-Fixes test on i686 system, patch from upstream, to be dropped for 0.47
-
-From 14d0ca4cd3e9aa9e329590913d5f8fb55077587d Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Sun, 25 Nov 2018 11:42:26 +0300
-Subject: [PATCH 1/4] Cast float to btScalar
-
----
- .../detournavigator/recastmeshbuilder.cpp | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/components/detournavigator/recastmeshbuilder.cpp b/components/detournavigator/recastmeshbuilder.cpp
-index d96ba2f29c..f613683571 100644
---- a/components/detournavigator/recastmeshbuilder.cpp
-+++ b/components/detournavigator/recastmeshbuilder.cpp
-@@ -163,15 +163,15 @@ namespace DetourNavigator
-
- transformBoundingBox(transform, aabbMin, aabbMax);
-
-- aabbMin.setX(std::max(mBounds.mMin.x(), aabbMin.x()));
-- aabbMin.setX(std::min(mBounds.mMax.x(), aabbMin.x()));
-- aabbMin.setY(std::max(mBounds.mMin.y(), aabbMin.y()));
-- aabbMin.setY(std::min(mBounds.mMax.y(), aabbMin.y()));
--
-- aabbMax.setX(std::max(mBounds.mMin.x(), aabbMax.x()));
-- aabbMax.setX(std::min(mBounds.mMax.x(), aabbMax.x()));
-- aabbMax.setY(std::max(mBounds.mMin.y(), aabbMax.y()));
-- aabbMax.setY(std::min(mBounds.mMax.y(), aabbMax.y()));
-+ aabbMin.setX(std::max(static_cast<btScalar>(mBounds.mMin.x()), aabbMin.x()));
-+ aabbMin.setX(std::min(static_cast<btScalar>(mBounds.mMax.x()), aabbMin.x()));
-+ aabbMin.setY(std::max(static_cast<btScalar>(mBounds.mMin.y()), aabbMin.y()));
-+ aabbMin.setY(std::min(static_cast<btScalar>(mBounds.mMax.y()), aabbMin.y()));
-+
-+ aabbMax.setX(std::max(static_cast<btScalar>(mBounds.mMin.x()), aabbMax.x()));
-+ aabbMax.setX(std::min(static_cast<btScalar>(mBounds.mMax.x()), aabbMax.x()));
-+ aabbMax.setY(std::max(static_cast<btScalar>(mBounds.mMin.y()), aabbMax.y()));
-+ aabbMax.setY(std::min(static_cast<btScalar>(mBounds.mMax.y()), aabbMax.y()));
-
- transformBoundingBox(transform.inverse(), aabbMin, aabbMax);
-
-
-From ef5a5ef43f9a91795339ef3ea97c505c1e9dc28d Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Sun, 25 Nov 2018 14:03:28 +0300
-Subject: [PATCH 2/4] Print not matched values with full precision
-
----
- .../detournavigator/operators.hpp | 62 +++++++++++++++----
- 1 file changed, 51 insertions(+), 11 deletions(-)
-
-diff --git a/apps/openmw_test_suite/detournavigator/operators.hpp b/apps/openmw_test_suite/detournavigator/operators.hpp
-index a473632bab..e34d6278a7 100644
---- a/apps/openmw_test_suite/detournavigator/operators.hpp
-+++ b/apps/openmw_test_suite/detournavigator/operators.hpp
-@@ -20,22 +20,62 @@ namespace DetourNavigator
- }
- }
-
-+namespace
-+{
-+ template <class T>
-+ struct Wrapper {
-+ const T& mValue;
-+ };
-+
-+ template <class Range>
-+ inline testing::Message& writeRange(testing::Message& message, const Range& range)
-+ {
-+ message << "{\n";
-+ for (const auto& v : range)
-+ message << Wrapper<typename std::decay<decltype(v)>::type> {v} << ",\n";
-+ return message << "}";
-+ }
-+}
-+
- namespace testing
- {
-+ template <>
-+ inline testing::Message& Message::operator <<(const osg::Vec3f& value)
-+ {
-+ return (*this) << "osg::Vec3f(" << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.x()
-+ << ", " << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.y()
-+ << ", " << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.z()
-+ << ')';
-+ }
-+
-+ template <>
-+ inline testing::Message& Message::operator <<(const Wrapper<osg::Vec3f>& value)
-+ {
-+ return (*this) << value.mValue;
-+ }
-+
-+ template <>
-+ inline testing::Message& Message::operator <<(const Wrapper<float>& value)
-+ {
-+ return (*this) << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.mValue;
-+ }
-+
- template <>
- inline testing::Message& Message::operator <<(const std::deque<osg::Vec3f>& value)
- {
-- (*this) << "{\n";
-- for (const auto& v : value)
-- {
-- std::ostringstream stream;
-- stream << "osg::Vec3f("
-- << std::setprecision(std::numeric_limits<float>::max_exponent10) << v.x() << ", "
-- << std::setprecision(std::numeric_limits<float>::max_exponent10) << v.y() << ", "
-- << std::setprecision(std::numeric_limits<float>::max_exponent10) << v.z() << ")";
-- (*this) << stream.str() << ",\n";
-- }
-- return (*this) << "}";
-+ return writeRange(*this, value);
-+ }
-+
-+ template <>
-+ inline testing::Message& Message::operator <<(const std::vector<osg::Vec3f>& value)
-+ {
-+ return writeRange(*this, value);
-+ }
-+
-+ template <>
-+ inline testing::Message& Message::operator <<(const std::vector<float>& value)
-+ {
-+ return writeRange(*this, value);
- }
- }
-
-
-From 2d7c3bae6127fc3717d5e3a8e8830215450fb47f Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Sun, 25 Nov 2018 11:46:09 +0300
-Subject: [PATCH 3/4] Support bullet with double precision
-
----
- apps/openmw/mwphysics/heightfield.cpp | 38 ++++++++++++++++++-
- apps/openmw/mwphysics/heightfield.hpp | 5 +++
- .../detournavigator/recastmeshbuilder.cpp | 4 +-
- .../nifloader/testbulletnifloader.cpp | 36 ++++++++++++++++--
- 4 files changed, 77 insertions(+), 6 deletions(-)
-
-diff --git a/apps/openmw/mwphysics/heightfield.cpp b/apps/openmw/mwphysics/heightfield.cpp
-index 52aed9c072..e1448116bf 100644
---- a/apps/openmw/mwphysics/heightfield.cpp
-+++ b/apps/openmw/mwphysics/heightfield.cpp
-@@ -7,12 +7,48 @@
-
- #include <LinearMath/btTransform.h>
-
-+#include <type_traits>
-+
-+namespace
-+{
-+ template <class T>
-+ auto makeHeights(const T* heights, float sqrtVerts)
-+ -> std::enable_if_t<std::is_same<btScalar, T>::value, std::vector<btScalar>>
-+ {
-+ return {};
-+ }
-+
-+ template <class T>
-+ auto makeHeights(const T* heights, float sqrtVerts)
-+ -> std::enable_if_t<!std::is_same<btScalar, T>::value, std::vector<btScalar>>
-+ {
-+ return std::vector<btScalar>(heights, heights + static_cast<std::ptrdiff_t>(sqrtVerts * sqrtVerts));
-+ }
-+
-+ template <class T>
-+ auto getHeights(const T* floatHeights, const std::vector<btScalar>&)
-+ -> std::enable_if_t<std::is_same<btScalar, T>::value, const btScalar*>
-+ {
-+ return floatHeights;
-+ }
-+
-+ template <class T>
-+ auto getHeights(const T*, const std::vector<btScalar>& btScalarHeights)
-+ -> std::enable_if_t<!std::is_same<btScalar, T>::value, const btScalar*>
-+ {
-+ return btScalarHeights.data();
-+ }
-+}
-+
- namespace MWPhysics
- {
- HeightField::HeightField(const float* heights, int x, int y, float triSize, float sqrtVerts, float minH, float maxH, const osg::Object* holdObject)
-+ : mHeights(makeHeights(heights, sqrtVerts))
- {
- mShape = new btHeightfieldTerrainShape(
-- sqrtVerts, sqrtVerts, heights, 1,
-+ sqrtVerts, sqrtVerts,
-+ getHeights(heights, mHeights),
-+ 1,
- minH, maxH, 2,
- PHY_FLOAT, false
- );
-diff --git a/apps/openmw/mwphysics/heightfield.hpp b/apps/openmw/mwphysics/heightfield.hpp
-index f248186db3..2ba58afff8 100644
---- a/apps/openmw/mwphysics/heightfield.hpp
-+++ b/apps/openmw/mwphysics/heightfield.hpp
-@@ -3,6 +3,10 @@
-
- #include <osg/ref_ptr>
-
-+#include <LinearMath/btScalar.h>
-+
-+#include <vector>
-+
- class btCollisionObject;
- class btHeightfieldTerrainShape;
-
-@@ -27,6 +31,7 @@ namespace MWPhysics
- btHeightfieldTerrainShape* mShape;
- btCollisionObject* mCollisionObject;
- osg::ref_ptr<const osg::Object> mHoldObject;
-+ std::vector<btScalar> mHeights;
-
- void operator=(const HeightField&);
- HeightField(const HeightField&);
-diff --git a/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp b/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp
-index 6c474765de..c86dee6e55 100644
---- a/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp
-+++ b/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp
-@@ -363,11 +363,11 @@ namespace
- AreaType_ground
- );
- const auto recastMesh = builder.create(mGeneration, mRevision);
-- EXPECT_EQ(recastMesh->getVertices(), std::vector<float>({
-+ EXPECT_THAT(recastMesh->getVertices(), Pointwise(FloatNear(1e-5), std::vector<float>({
- 1.41421353816986083984375, 0, 1.1920928955078125e-07,
- -1.41421353816986083984375, 0, -1.1920928955078125e-07,
- 1.1920928955078125e-07, 0, -1.41421353816986083984375,
-- }));
-+ })));
- EXPECT_EQ(recastMesh->getIndices(), std::vector<int>({0, 1, 2}));
- EXPECT_EQ(recastMesh->getAreaTypes(), std::vector<AreaType>({AreaType_ground}));
- }
-diff --git a/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp b/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp
-index 36f2512462..6ec94fd68f 100644
---- a/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp
-+++ b/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp
-@@ -9,6 +9,8 @@
- #include <gtest/gtest.h>
- #include <gmock/gmock.h>
-
-+#include <algorithm>
-+
- namespace
- {
- template <class T>
-@@ -30,6 +32,34 @@ namespace
- shape.processAllTriangles(&callback, aabbMin, aabbMax);
- return result;
- }
-+
-+ bool isNear(btScalar lhs, btScalar rhs)
-+ {
-+ return std::abs(lhs - rhs) <= 1e-5;
-+ }
-+
-+ bool isNear(const btVector3& lhs, const btVector3& rhs)
-+ {
-+ return std::equal(
-+ static_cast<const btScalar*>(lhs),
-+ static_cast<const btScalar*>(lhs) + 3,
-+ static_cast<const btScalar*>(rhs),
-+ [] (btScalar lhs, btScalar rhs) { return isNear(lhs, rhs); }
-+ );
-+ }
-+
-+ bool isNear(const btMatrix3x3& lhs, const btMatrix3x3& rhs)
-+ {
-+ for (int i = 0; i < 3; ++i)
-+ if (!isNear(lhs[i], rhs[i]))
-+ return false;
-+ return true;
-+ }
-+
-+ bool isNear(const btTransform& lhs, const btTransform& rhs)
-+ {
-+ return isNear(lhs.getOrigin(), rhs.getOrigin()) && isNear(lhs.getBasis(), rhs.getBasis());
-+ }
- }
-
- static std::ostream& operator <<(std::ostream& stream, const btVector3& value)
-@@ -157,7 +187,7 @@ static bool operator ==(const btCompoundShape& lhs, const btCompoundShape& rhs)
- for (int i = 0; i < lhs.getNumChildShapes(); ++i)
- {
- if (!compareObjects(lhs.getChildShape(i), rhs.getChildShape(i))
-- || !(lhs.getChildTransform(i) == rhs.getChildTransform(i)))
-+ || !isNear(lhs.getChildTransform(i), rhs.getChildTransform(i)))
- return false;
- }
- return true;
-@@ -165,13 +195,13 @@ static bool operator ==(const btCompoundShape& lhs, const btCompoundShape& rhs)
-
- static bool operator ==(const btBoxShape& lhs, const btBoxShape& rhs)
- {
-- return lhs.getLocalScaling() == rhs.getLocalScaling()
-+ return isNear(lhs.getLocalScaling(), rhs.getLocalScaling())
- && lhs.getHalfExtentsWithoutMargin() == rhs.getHalfExtentsWithoutMargin();
- }
-
- static bool operator ==(const btBvhTriangleMeshShape& lhs, const btBvhTriangleMeshShape& rhs)
- {
-- return lhs.getLocalScaling() == rhs.getLocalScaling()
-+ return isNear(lhs.getLocalScaling(), rhs.getLocalScaling())
- && lhs.usesQuantizedAabbCompression() == rhs.usesQuantizedAabbCompression()
- && lhs.getOwnsBvh() == rhs.getOwnsBvh()
- && getTriangles(lhs) == getTriangles(rhs);
-
-From 66da72048a5893bc8c9b20f6f7210fd45b6a74bf Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Wed, 20 Feb 2019 23:41:16 +0300
-Subject: [PATCH 4/4] Update bullet for windows up to 2.87
-
----
- CI/before_script.msvc.sh | 12 ++++++------
- appveyor.yml | 4 ++--
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/appveyor.yml b/appveyor.yml
-index 3057cc7257..e2c13ed948 100644
---- a/appveyor.yml
-+++ b/appveyor.yml
-@@ -30,8 +30,8 @@ configuration:
- clone_depth: 1
-
- cache:
-- - C:\projects\openmw\deps\Bullet-2.86-msvc2015-win32.7z
-- - C:\projects\openmw\deps\Bullet-2.86-msvc2015-win64.7z
-+ - C:\projects\openmw\deps\Bullet-2.87-msvc2015-win32.7z
-+ - C:\projects\openmw\deps\Bullet-2.87-msvc2015-win64.7z
- - C:\projects\openmw\deps\MyGUI-3.2.2-msvc2015-win32.7z
- - C:\projects\openmw\deps\MyGUI-3.2.2-msvc2015-win64.7z
- - C:\projects\openmw\deps\OSG-3.4.1-scrawl-msvc2015-win32.7z
diff --git a/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch b/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch
deleted file mode 100644
index ea3242d73ca8..000000000000
--- a/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Use system recastnavigation instead of bundled one
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d69352c94..cfb53dc5b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -596,7 +596,16 @@ endif(WIN32)
- # Extern
- set(RECASTNAVIGATION_STATIC ON CACHE BOOL "Build recastnavigation static libraries")
-
--add_subdirectory (extern/recastnavigation EXCLUDE_FROM_ALL)
-+add_library(RecastNavigation::DebugUtils SHARED IMPORTED)
-+add_library(RecastNavigation::Detour SHARED IMPORTED)
-+add_library(RecastNavigation::Recast SHARED IMPORTED)
-+set_target_properties(RecastNavigation::DebugUtils PROPERTIES
-+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libDebugUtils.so)
-+set_target_properties(RecastNavigation::Detour PROPERTIES
-+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libDetour.so)
-+set_target_properties(RecastNavigation::Recast PROPERTIES
-+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libRecast.so)
-+
- add_subdirectory (extern/osg-ffmpeg-videoplayer)
- add_subdirectory (extern/oics)
- if (BUILD_OPENCS)
diff --git a/games-engines/openmw/openmw-0.46.0-r2.ebuild b/games-engines/openmw/openmw-0.46.0-r2.ebuild
deleted file mode 100644
index 24532e11f3da..000000000000
--- a/games-engines/openmw/openmw-0.46.0-r2.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake flag-o-matic xdg-utils readme.gentoo-r1
-
-DESCRIPTION="Open source reimplementation of TES III: Morrowind"
-HOMEPAGE="https://openmw.org/ https://gitlab.com/OpenMW/openmw"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/OpenMW/openmw.git"
-else
- SRC_URI="
- https://github.com/OpenMW/openmw/archive/${P}.tar.gz
- https://gitlab.com/OpenMW/openmw/-/merge_requests/163.patch -> ${P}-floattest.patch
- "
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/${PN}-${P}"
-fi
-
-LICENSE="GPL-3 MIT BitstreamVera ZLIB"
-SLOT="0"
-IUSE="doc devtools +osg-fork test +qt5"
-RESTRICT="!test? ( test )"
-
-# FIXME: Unbundle dev-games/openscenegraph-qt in extern/osgQt directory,
-# used when BUILD_OPENCS flag is enabled. See bug #676266.
-
-RDEPEND="
- dev-games/mygui
- dev-games/recastnavigation
- dev-libs/boost:=[threads(+),zlib]
- dev-libs/tinyxml:=[stl]
- media-libs/libsdl2[joystick,opengl,video]
- media-libs/openal
- media-video/ffmpeg:=
- >=sci-physics/bullet-2.86:=[-double-precision]
- virtual/opengl
- osg-fork? ( =dev-games/openscenegraph-openmw-3.4*:=[ffmpeg,jpeg,png,sdl,svg,truetype,zlib] )
- !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[ffmpeg,jpeg,png,sdl,svg,truetype,zlib] )
- qt5? (
- app-arch/unshield
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtwidgets:5
- )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-doc/doxygen[doc]
- dev-python/sphinx
- )
- test? (
- dev-cpp/gtest
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/openmw-0.46.0-mygui-license.patch
- "${FILESDIR}"/openmw-0.46.0-recastnavigation.patch
- "${FILESDIR}"/openmw-0.46.0-missing-include.patch
- "${FILESDIR}"/openmw-0.46.0-fix-cast.patch
- "${FILESDIR}"/openmw-0.46.0-nifbullet-test.patch
- # https://gitlab.com/OpenMW/openmw/-/merge_requests/163
- "${DISTDIR}"/openmw-0.46.0-floattest.patch
- "${FILESDIR}"/openmw-0.46.0-floattest2.patch
- "${FILESDIR}"/openmw-0.46.0-gcc11.patch
- "${FILESDIR}"/openmw-0.46.0-boost-1.77.patch
-)
-
-src_prepare() {
- cmake_src_prepare
-
- # Use the system tinyxml headers
- rm -v extern/oics/tiny{str,xml}* || die
-
- # Unbundle recastnavigation
- rm -vr extern/recastnavigation || die
- sed -i "s#GENTOO_RECAST_LIBDIR#${EPREFIX}/usr/$(get_libdir)#" CMakeLists.txt || die
-}
-
-src_configure() {
- use devtools && ! use qt5 && \
- elog "'qt5' USE flag is disabled, 'openmw-cs' will not be installed"
-
- append-cxxflags "-I${EPREFIX}/usr/include/recastnavigation"
-
- local mycmakeargs=(
- -DBUILD_BSATOOL=$(usex devtools)
- -DBUILD_DOCS=$(usex doc)
- -DBUILD_ESMTOOL=$(usex devtools)
- -DBUILD_LAUNCHER=$(usex qt5)
- -DBUILD_NIFTEST=$(usex devtools)
- -DBUILD_OPENCS=$(usex devtools $(usex qt5))
- -DBUILD_WIZARD=$(usex qt5)
- -DBUILD_UNITTESTS=$(usex test)
- -DGLOBAL_DATA_PATH="${EPREFIX}/usr/share"
- -DICONDIR="${EPREFIX}/usr/share/icons/hicolor/256x256/apps"
- -DMORROWIND_DATA_FILES="${EPREFIX}/usr/share/morrowind-data"
- -DUSE_SYSTEM_TINYXML=ON
- -DDESIRED_QT_VERSION=5
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc ; then
- cmake_src_compile doc
- find "${CMAKE_BUILD_DIR}"/docs/Doxygen/html \
- -name '*.md5' -type f -delete || die
- HTML_DOCS=( "${CMAKE_BUILD_DIR}"/docs/Doxygen/html/. )
- fi
-}
-
-src_test() {
- "${BUILD_DIR}/openmw_test_suite" || die
-}
-
-src_install() {
- cmake_src_install
-
- local DOC_CONTENTS="
- You need the original Morrowind data files. If you haven't
- installed them yet, you can install them straight via the
- installation wizard which is the officially supported method
- (either by using the launcher or by calling 'openmw-wizard'
- directly).\n"
-
- if ! use qt5; then
- local DOC_CONTENTS+="\n\n
- USE flag 'qt5' is disabled, 'openmw-launcher' and
- 'openmw-wizard' are not available. You are on your own for
- making the Morrowind data files available and pointing
- openmw at them.\n\n
- Additionally; you must import the Morrowind.ini file before
- running openmw with the Morrowind data files for the first
- time. Typically this can be done like so:\n\n
- \t mkdir -p ~/.config/openmw\n
- \t openmw-iniimporter /path/to/Morrowind.ini ~/.config/openmw/openmw.cfg"
- fi
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- readme.gentoo_print_elog
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/games-engines/openmw/openmw-0.47.0-r1.ebuild b/games-engines/openmw/openmw-0.47.0-r1.ebuild
index 50a651650fba..7dd2a4a0a958 100644
--- a/games-engines/openmw/openmw-0.47.0-r1.ebuild
+++ b/games-engines/openmw/openmw-0.47.0-r1.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/OpenMW/openmw.git"
else
SRC_URI="https://github.com/OpenMW/openmw/archive/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~x86"
S="${WORKDIR}/${PN}-${P}"
fi
diff --git a/games-engines/openmw/openmw-9999.ebuild b/games-engines/openmw/openmw-9999.ebuild
index 0bad76f57453..c4315facbc5c 100644
--- a/games-engines/openmw/openmw-9999.ebuild
+++ b/games-engines/openmw/openmw-9999.ebuild
@@ -29,7 +29,7 @@ RESTRICT="!test? ( test )"
RDEPEND="${LUA_DEPS}
app-arch/lz4:=
- dev-games/mygui
+ >=dev-games/mygui-3.4.1
dev-games/recastnavigation:=
dev-libs/boost:=[threads(+),zlib]
dev-libs/tinyxml[stl]