On Sun, Jun 21, 2026 at 06:33:04PM +0200, Pascal Stumpf wrote: > Update to OpenMW 0.51.0. > > Using the built-in TinyXML leads to numerous crashes, which I have not > seen with the system one. > > The crash catcher will try to call egdb, then lldb in case of a crash for > supplying additional information. I have not added a RUN_DEPENDS on > devel/gdb intentionally. > > Works very well so far on: > amdgpu0: RENOIR GC 9.3.0 7 CU rev 0x00 > > Will commit in a few days if I don't hear negative reports.
Works fine here too on: inteldrm0: msi, ALDERLAKE_P, gen 12 ok lraab@ > > Index: Makefile > =================================================================== > RCS file: /home/cvs/ports/games/openmw/Makefile,v > diff -u -p -r1.45 Makefile > --- Makefile 9 Jun 2026 03:25:29 -0000 1.45 > +++ Makefile 21 Jun 2026 16:20:13 -0000 > @@ -4,14 +4,13 @@ ONLY_FOR_ARCHS = amd64 i386 > > COMMENT = open source implementation of TES III: Morrowind > > -V = 0.50.0 > -REVISION = 2 > +V = 0.51.0 > GH_ACCOUNT = OpenMW > GH_PROJECT = openmw > GH_TAGNAME = openmw-$V > DISTNAME = openmw-$V > > -DISTFILES.a = c393777d26d2ff6519ac23612abf8af42678c9dd.zip > +DISTFILES.a = 03259f3287ff8330f0d66fcd98d022edddffaa97.zip > DIST_SUBDIR = openmw > SITES.a = > https://github.com/recastnavigation/recastnavigation/archive/ > > @@ -26,12 +25,13 @@ PERMIT_PACKAGE = Yes > > WANTLIB += ${COMPILER_LIBCXX} BulletCollision GL LinearMath MyGUIEngine > WANTLIB += OpenThreads Qt6Core Qt6Gui Qt6Network Qt6OpenGL Qt6OpenGLWidgets > -WANTLIB += Qt6Svg Qt6Widgets SDL2 avcodec avformat avutil boost_iostreams-mt > -WANTLIB += boost_program_options-mt boost_random-mt boost_regex-mt > -WANTLIB += c collada-dom2.4-dp icudata icui18n icuuc luajit-5.1 > -WANTLIB += lz4 m openal osg osgAnimation osgDB osgFX osgGA osgParticle > -WANTLIB += osgShadow osgSim osgText osgUtil osgViewer sqlite3 > -WANTLIB += swresample swscale unshield yaml-cpp z > +WANTLIB += Qt6Svg Qt6Widgets SDL2 avcodec avformat avutil boost_container-mt > +WANTLIB += boost_iostreams-mt boost_program_options-mt boost_random-mt > +WANTLIB += boost_regex-mt c collada-dom2.4-dp icudata icui18n > +WANTLIB += icuuc luajit-5.1 lz4 m openal osg osgAnimation osgDB > +WANTLIB += osgFX osgGA osgParticle osgShadow osgSim osgText osgUtil > +WANTLIB += osgViewer sqlite3 swresample swscale tinyxml unshield > +WANTLIB += yaml-cpp z > > MODULES = devel/cmake lang/lua x11/qt6 lang/clang > MODCLANG_VERSION = 22 > @@ -52,6 +52,7 @@ LIB_DEPENDS = archivers/unshield \ > graphics/openscenegraph>=3.6.5p11 \ > lang/luajit \ > textproc/icu4c \ > + textproc/tinyxml \ > x11/qt6/qtsvg > RUN_DEPENDS = devel/desktop-file-utils > > @@ -62,7 +63,8 @@ CONFIGURE_ARGS += -DBINDIR=${LOCALBASE}/ > > -DOPENMW_RESOURCE_FILES="${LOCALBASE}/share/openmw/resources" \ > > -DCMAKE_PREFIX_PATH="${LOCALBASE}/lib/qt5/cmake:${LOCALBASE}" \ > -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON \ > - -DCOLLADA_DOM_VERSION_MINOR=4 > + -DCOLLADA_DOM_VERSION_MINOR=4 \ > + -DUSE_SYSTEM_TINYXML=ON > > NO_TEST = Yes > > @@ -72,10 +74,11 @@ MODCMAKE_LDFLAGS = -L${X11BASE}/lib > > post-extract: > mkdir ${WRKDIST}/extern/fetched > - mv ${WRKDIR}/recastnavigation-c393777d26d2ff6519ac23612abf8af42678c9dd \ > + mv ${WRKDIR}/recastnavigation-03259f3287ff8330f0d66fcd98d022edddffaa97 \ > ${WRKDIST}/extern/fetched/recastnavigation > > post-patch: > - ${SUBST_CMD} ${WRKSRC}/components/files/linuxpath.cpp > + ${SUBST_CMD} ${WRKSRC}/components/files/linuxpath.cpp \ > + ${WRKSRC}/components/crashcatcher/crashcatcher.cpp > > .include <bsd.port.mk> > Index: distinfo > =================================================================== > RCS file: /home/cvs/ports/games/openmw/distinfo,v > diff -u -p -r1.14 distinfo > --- distinfo 15 Nov 2025 17:26:09 -0000 1.14 > +++ distinfo 21 Jun 2026 09:03:15 -0000 > @@ -1,4 +1,4 @@ > -SHA256 (openmw/c393777d26d2ff6519ac23612abf8af42678c9dd.zip) = > fX/DjJpS29oLodq3DR7VnaEXirHE+iCc23zC3Pzo5Oo= > -SHA256 (openmw/openmw-0.50.0.tar.gz) = > cJOozvJlhSIGWFaeuEY2xauQHoL3TIo/ejqK7DW/xUw= > -SIZE (openmw/c393777d26d2ff6519ac23612abf8af42678c9dd.zip) = 1406094 > -SIZE (openmw/openmw-0.50.0.tar.gz) = 6244084 > +SHA256 (openmw/03259f3287ff8330f0d66fcd98d022edddffaa97.zip) = > szfYzuvWZkHhqbnKLD2668WqaKOjDwlDXlxCDBd7LGI= > +SHA256 (openmw/openmw-0.51.0.tar.gz) = > emXmOlaH/w1R8xnr1Smp6Tdw/tPMVAggHeRYjRFA8UQ= > +SIZE (openmw/03259f3287ff8330f0d66fcd98d022edddffaa97.zip) = 1446030 > +SIZE (openmw/openmw-0.51.0.tar.gz) = 6325148 > Index: patches/patch-components_crashcatcher_crashcatcher_cpp > =================================================================== > RCS file: patches/patch-components_crashcatcher_crashcatcher_cpp > diff -N patches/patch-components_crashcatcher_crashcatcher_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-components_crashcatcher_crashcatcher_cpp 21 Jun 2026 > 12:43:05 -0000 > @@ -0,0 +1,33 @@ > +Index: components/crashcatcher/crashcatcher.cpp > +--- components/crashcatcher/crashcatcher.cpp.orig > ++++ components/crashcatcher/crashcatcher.cpp > +@@ -217,7 +217,7 @@ namespace > + > + struct Gdb > + { > +- static constexpr char sName[] = "gdb"; > ++ static constexpr char sName[] = "egdb"; > + static constexpr char sScript[] = R"(shell echo "" > + shell echo "* Loaded Libraries" > + info sharedlibrary > +@@ -236,7 +236,7 @@ thread apply all backtrace full 1000 > + detach > + quit > + )"; > +- static constexpr char sCommandTemplate[] = "gdb --pid %d --quiet > --batch --command %s"; > ++ static constexpr char sCommandTemplate[] = "egdb --pid %d --quiet > --batch --command %s"; > + }; > + > + struct Lldb > +@@ -472,6 +472,11 @@ static void getExecPath(char** argv) > + if (argv[0][0] == '/') > + { > + snprintf(argv0, sizeof(argv0), "%s", argv[0]); > ++ return; > ++ } > ++ else > ++ { > ++ snprintf(argv0, sizeof(argv0), "%s/%s", "${TRUEPREFIX}/bin", > argv[0]); > + return; > + } > + > Index: patches/patch-components_files_linuxpath_cpp > =================================================================== > RCS file: > /home/cvs/ports/games/openmw/patches/patch-components_files_linuxpath_cpp,v > diff -u -p -r1.3 patch-components_files_linuxpath_cpp > --- patches/patch-components_files_linuxpath_cpp 15 Nov 2025 21:39:12 > -0000 1.3 > +++ patches/patch-components_files_linuxpath_cpp 21 Jun 2026 09:03:18 > -0000 > @@ -1,7 +1,7 @@ > Index: components/files/linuxpath.cpp > --- components/files/linuxpath.cpp.orig > +++ components/files/linuxpath.cpp > -@@ -75,6 +75,10 @@ namespace Files > +@@ -77,6 +77,10 @@ namespace Files > > std::filesystem::path LinuxPath::getLocalPath() const > { > @@ -12,7 +12,7 @@ Index: components/files/linuxpath.cpp > auto localPath = std::filesystem::current_path() / ""; > > static const std::filesystem::path statusPaths[] > -@@ -92,6 +96,7 @@ namespace Files > +@@ -94,6 +98,7 @@ namespace Files > } > > return localPath; > Index: patches/patch-components_sceneutil_texturetype_hpp > =================================================================== > RCS file: patches/patch-components_sceneutil_texturetype_hpp > diff -N patches/patch-components_sceneutil_texturetype_hpp > --- patches/patch-components_sceneutil_texturetype_hpp 9 Jun 2026 > 03:25:29 -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,14 +0,0 @@ > -https://gitlab.com/OpenMW/openmw/-/commit/307a131ca09f705b97f15ede1f702630cca6b396 > - > -Index: components/sceneutil/texturetype.hpp > ---- components/sceneutil/texturetype.hpp.orig > -+++ components/sceneutil/texturetype.hpp > -@@ -18,7 +18,7 @@ namespace SceneUtil > - { > - } > - > -- static const osg::StateAttribute::Type AttributeType = > static_cast<osg::StateAttribute::Type>(69420); > -+ static const osg::StateAttribute::Type AttributeType = > static_cast<osg::StateAttribute::Type>(69); > - META_StateAttribute(SceneUtil, TextureType, AttributeType) > - > - bool isTextureAttribute() const override { return true; } > Index: patches/patch-extern_CMakeLists_txt > =================================================================== > RCS file: /home/cvs/ports/games/openmw/patches/patch-extern_CMakeLists_txt,v > diff -u -p -r1.4 patch-extern_CMakeLists_txt > --- patches/patch-extern_CMakeLists_txt 15 Nov 2025 17:26:09 -0000 > 1.4 > +++ patches/patch-extern_CMakeLists_txt 21 Jun 2026 09:03:18 -0000 > @@ -1,17 +1,17 @@ > Index: extern/CMakeLists.txt > --- extern/CMakeLists.txt.orig > +++ extern/CMakeLists.txt > -@@ -173,13 +173,7 @@ if(NOT OPENMW_USE_SYSTEM_RECASTNAVIGATION) > +@@ -159,13 +159,7 @@ if(NOT OPENMW_USE_SYSTEM_RECASTNAVIGATION) > set(RECASTNAVIGATION_TESTS OFF CACHE BOOL "") > set(RECASTNAVIGATION_EXAMPLES OFF CACHE BOOL "") > > - include(FetchContent) > - FetchContent_Declare(recastnavigation > -- URL > https://github.com/recastnavigation/recastnavigation/archive/c393777d26d2ff6519ac23612abf8af42678c9dd.zip > -- URL_HASH > SHA512=48f20cee7a70c2f20f4c68bb74d5af11a1434be85294e37f5fe7b7aae820fbcdff4f35d3be286eaf6f9cbce0aed4201fcc090df409a5bd04aec5fd7c29b3ad94 > +- URL > https://github.com/OpenMW/recastnavigation/archive/03259f3287ff8330f0d66fcd98d022edddffaa97.zip > +- URL_HASH > SHA512=63db2ac90904764d7f1466d3c95994ec51d777cddd870b70f8ef674c09ed166b3d16ffc4ac1d18d0eab865fda4bf51b6ea17049025b66a338d3cadd0f48dc712 > - SOURCE_DIR fetched/recastnavigation > - ) > -- FetchContent_MakeAvailableExcludeFromAll(recastnavigation) > +- FetchContent_MakeAvailable(recastnavigation) > + add_subdirectory("fetched/recastnavigation") > endif() > > Index: pkg/PLIST > =================================================================== > RCS file: /home/cvs/ports/games/openmw/pkg/PLIST,v > diff -u -p -r1.14 PLIST > --- pkg/PLIST 15 Nov 2025 17:26:09 -0000 1.14 > +++ pkg/PLIST 21 Jun 2026 09:39:29 -0000 > @@ -9,43 +9,6 @@ > @bin bin/openmw-launcher > @bin bin/openmw-navmeshtool > @bin bin/openmw-wizard > -include/recastnavigation/ > -include/recastnavigation/DebugDraw.h > -include/recastnavigation/DetourAlloc.h > -include/recastnavigation/DetourAssert.h > -include/recastnavigation/DetourCommon.h > -include/recastnavigation/DetourCrowd.h > -include/recastnavigation/DetourDebugDraw.h > -include/recastnavigation/DetourLocalBoundary.h > -include/recastnavigation/DetourMath.h > -include/recastnavigation/DetourNavMesh.h > -include/recastnavigation/DetourNavMeshBuilder.h > -include/recastnavigation/DetourNavMeshQuery.h > -include/recastnavigation/DetourNode.h > -include/recastnavigation/DetourObstacleAvoidance.h > -include/recastnavigation/DetourPathCorridor.h > -include/recastnavigation/DetourPathQueue.h > -include/recastnavigation/DetourProximityGrid.h > -include/recastnavigation/DetourStatus.h > -include/recastnavigation/DetourTileCache.h > -include/recastnavigation/DetourTileCacheBuilder.h > -include/recastnavigation/Recast.h > -include/recastnavigation/RecastAlloc.h > -include/recastnavigation/RecastAssert.h > -include/recastnavigation/RecastDebugDraw.h > -include/recastnavigation/RecastDump.h > -include/recastnavigation/version.h > -lib/cmake/recastnavigation/ > -lib/cmake/recastnavigation/recastnavigation-config-version.cmake > -lib/cmake/recastnavigation/recastnavigation-config.cmake > -lib/cmake/recastnavigation/recastnavigation-targets${MODCMAKE_BUILD_SUFFIX} > -lib/cmake/recastnavigation/recastnavigation-targets.cmake > -@static-lib lib/libDebugUtils.a > -@static-lib lib/libDetour.a > -@static-lib lib/libDetourCrowd.a > -@static-lib lib/libDetourTileCache.a > -@static-lib lib/libRecast.a > -lib/pkgconfig/recastnavigation.pc > share/applications/org.openmw.cs.desktop > share/applications/org.openmw.launcher.desktop > share/doc/pkg-readmes/${PKGSTEM} > @@ -74,6 +37,7 @@ share/openmw/resources/lua_api/openmw/am > share/openmw/resources/lua_api/openmw/animation.lua > share/openmw/resources/lua_api/openmw/async.lua > share/openmw/resources/lua_api/openmw/camera.lua > +share/openmw/resources/lua_api/openmw/content.lua > share/openmw/resources/lua_api/openmw/core.lua > share/openmw/resources/lua_api/openmw/debug.lua > share/openmw/resources/lua_api/openmw/input.lua > @@ -121,6 +85,8 @@ share/openmw/resources/shaders/compatibi > share/openmw/resources/shaders/compatibility/normals.glsl > share/openmw/resources/shaders/compatibility/objects.frag > share/openmw/resources/shaders/compatibility/objects.vert > +share/openmw/resources/shaders/compatibility/outline.frag > +share/openmw/resources/shaders/compatibility/outline.vert > share/openmw/resources/shaders/compatibility/ripples_blobber.frag > share/openmw/resources/shaders/compatibility/ripples_simulate.frag > share/openmw/resources/shaders/compatibility/shadowcasting.frag > @@ -131,6 +97,8 @@ share/openmw/resources/shaders/compatibi > share/openmw/resources/shaders/compatibility/sky.vert > share/openmw/resources/shaders/compatibility/terrain.frag > share/openmw/resources/shaders/compatibility/terrain.vert > +share/openmw/resources/shaders/compatibility/terrain_composite.frag > +share/openmw/resources/shaders/compatibility/terrain_composite.vert > share/openmw/resources/shaders/compatibility/vertexcolors.glsl > share/openmw/resources/shaders/compatibility/water.frag > share/openmw/resources/shaders/compatibility/water.vert > @@ -171,18 +139,21 @@ share/openmw/resources/shaders/lib/water > share/openmw/resources/shaders/lib/water/rain_ripples.glsl > share/openmw/resources/shaders/lib/water/ripples.glsl > share/openmw/resources/translations/ > +share/openmw/resources/translations/components_bg.qm > share/openmw/resources/translations/components_de.qm > share/openmw/resources/translations/components_en.qm > share/openmw/resources/translations/components_fr.qm > share/openmw/resources/translations/components_pl.qm > share/openmw/resources/translations/components_ru.qm > share/openmw/resources/translations/components_sv.qm > +share/openmw/resources/translations/launcher_bg.qm > share/openmw/resources/translations/launcher_de.qm > share/openmw/resources/translations/launcher_en.qm > share/openmw/resources/translations/launcher_fr.qm > share/openmw/resources/translations/launcher_pl.qm > share/openmw/resources/translations/launcher_ru.qm > share/openmw/resources/translations/launcher_sv.qm > +share/openmw/resources/translations/wizard_bg.qm > share/openmw/resources/translations/wizard_de.qm > share/openmw/resources/translations/wizard_en.qm > share/openmw/resources/translations/wizard_fr.qm > @@ -192,6 +163,7 @@ share/openmw/resources/translations/wiza > share/openmw/resources/version > share/openmw/resources/vfs/ > share/openmw/resources/vfs-mw/ > +share/openmw/resources/vfs-mw/builtin.omwscripts > share/openmw/resources/vfs-mw/l10n/ > share/openmw/resources/vfs-mw/l10n/Calendar/ > share/openmw/resources/vfs-mw/l10n/Calendar/de.yaml > @@ -203,10 +175,26 @@ share/openmw/resources/vfs-mw/l10n/Calen > share/openmw/resources/vfs-mw/l10n/Calendar/sv.yaml > share/openmw/resources/vfs-mw/l10n/Interface/ > share/openmw/resources/vfs-mw/l10n/Interface/gmst.yaml > +share/openmw/resources/vfs-mw/l10n/Mechanics/ > +share/openmw/resources/vfs-mw/l10n/Mechanics/gmst.yaml > share/openmw/resources/vfs-mw/l10n/OMWEngine/ > share/openmw/resources/vfs-mw/l10n/OMWEngine/gmst.yaml > share/openmw/resources/vfs-mw/openmw_aux/ > share/openmw/resources/vfs-mw/openmw_aux/calendarconfig.lua > +share/openmw/resources/vfs-mw/scripts/ > +share/openmw/resources/vfs-mw/scripts/omw/ > +share/openmw/resources/vfs-mw/scripts/omw/cellhandlers.lua > +share/openmw/resources/vfs-mw/scripts/omw/combat/ > +share/openmw/resources/vfs-mw/scripts/omw/combat/common.lua > +share/openmw/resources/vfs-mw/scripts/omw/combat/global.lua > +share/openmw/resources/vfs-mw/scripts/omw/combat/local.lua > +share/openmw/resources/vfs-mw/scripts/omw/combat/menu.lua > +share/openmw/resources/vfs-mw/scripts/omw/esmfallbacks.lua > +share/openmw/resources/vfs-mw/scripts/omw/music/ > +share/openmw/resources/vfs-mw/scripts/omw/music/helpers.lua > +share/openmw/resources/vfs-mw/scripts/omw/music/music.lua > +share/openmw/resources/vfs-mw/scripts/omw/music/settings.lua > +share/openmw/resources/vfs-mw/scripts/omw/playerskillhandlers.lua > share/openmw/resources/vfs/animations/ > share/openmw/resources/vfs/animations/animation-config.yaml > share/openmw/resources/vfs/builtin.omwscripts > @@ -382,12 +370,8 @@ share/openmw/resources/vfs/scripts/omw/c > share/openmw/resources/vfs/scripts/omw/camera/move360.lua > share/openmw/resources/vfs/scripts/omw/camera/settings.lua > share/openmw/resources/vfs/scripts/omw/camera/third_person.lua > -share/openmw/resources/vfs/scripts/omw/cellhandlers.lua > share/openmw/resources/vfs/scripts/omw/combat/ > -share/openmw/resources/vfs/scripts/omw/combat/common.lua > -share/openmw/resources/vfs/scripts/omw/combat/global.lua > -share/openmw/resources/vfs/scripts/omw/combat/local.lua > -share/openmw/resources/vfs/scripts/omw/combat/menu.lua > +share/openmw/resources/vfs/scripts/omw/combat/interface.lua > share/openmw/resources/vfs/scripts/omw/console/ > share/openmw/resources/vfs/scripts/omw/console/global.lua > share/openmw/resources/vfs/scripts/omw/console/local.lua > @@ -407,9 +391,6 @@ share/openmw/resources/vfs/scripts/omw/m > share/openmw/resources/vfs/scripts/omw/mechanics/playercontroller.lua > share/openmw/resources/vfs/scripts/omw/music/ > share/openmw/resources/vfs/scripts/omw/music/actor.lua > -share/openmw/resources/vfs/scripts/omw/music/helpers.lua > -share/openmw/resources/vfs/scripts/omw/music/music.lua > -share/openmw/resources/vfs/scripts/omw/music/settings.lua > share/openmw/resources/vfs/scripts/omw/mwui/ > share/openmw/resources/vfs/scripts/omw/mwui/borders.lua > share/openmw/resources/vfs/scripts/omw/mwui/constants.lua > @@ -436,6 +417,7 @@ share/openmw/resources/vfs/shaders/inter > share/openmw/resources/vfs/textures/ > share/openmw/resources/vfs/textures/omw/ > share/openmw/resources/vfs/textures/omw/water_nm.png > +share/openmw/resources/vfs/textures/omw_map_color_palette.dds > share/openmw/resources/vfs/textures/omw_menu_icon_active.dds > share/openmw/resources/vfs/textures/omw_menu_scroll_center_h.dds > share/openmw/resources/vfs/textures/omw_menu_scroll_center_v.dds >
