From 5467e210668eb24de9a4429ef0ddcbc6442e8932 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Thu, 19 Feb 2026 17:25:48 -0600 Subject: Add Python init diagnostics, AppImage build system, misc Linux fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - python: switch Py_InitializeEx → Py_InitializeFromConfig for explicit error reporting; add dladdr + fprintf diagnostics to trace which DSO Python symbols resolve to and whether Py_IsInitialized succeeds - python: log RTLD_NOLOAD vs fresh-load outcome when promoting libpython to RTLD_GLOBAL - build: add Docker-based AppImage build script (build.sh), update Dockerfile and build-inner.sh for AppImage-only workflow - build: remove Flatpak support entirely; move AppImage metadata (desktop/metainfo/icon) from flatpak/ to data/ - Add Monster Hunter Wilds basic_games plugin - .gitignore: exclude squashfs-root, build-source, flatpak-repo, __pycache__, fomod-plus-settings.ini - Various Linux port fixes across wineprefix, processrunner, proton launcher, FUSE connector, instance manager, download manager, sanitychecks, and NaK Rust paths/runtime_wrap Co-Authored-By: Claude Sonnet 4.6 --- libs/basic_games/games/baldursgate3/pak_parser.py | 21 ++++++--------------- libs/basic_games/games/game_monsterhunterwilds.py | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 libs/basic_games/games/game_monsterhunterwilds.py (limited to 'libs/basic_games') diff --git a/libs/basic_games/games/baldursgate3/pak_parser.py b/libs/basic_games/games/baldursgate3/pak_parser.py index 4ebc83c..533c72e 100644 --- a/libs/basic_games/games/baldursgate3/pak_parser.py +++ b/libs/basic_games/games/baldursgate3/pak_parser.py @@ -281,21 +281,12 @@ class BG3PakParser: except Exception: pass - if os.path.exists("/.flatpak-info"): - # In Flatpak, host wine binaries can't execute directly - # (missing host libraries). Use flatpak-spawn to run on host. - spawn_cmd = ["flatpak-spawn", "--host"] - if wine_prefix: - spawn_cmd.append(f"--env=WINEPREFIX={wine_prefix}") - spawn_cmd.extend(["bash", "-c", command]) - result = subprocess.run(spawn_cmd, **kwargs) - else: - env = os.environ.copy() - if wine_prefix: - env["WINEPREFIX"] = wine_prefix - kwargs["env"] = env - kwargs["shell"] = True - result = subprocess.run(command, **kwargs) + env = os.environ.copy() + if wine_prefix: + env["WINEPREFIX"] = wine_prefix + kwargs["env"] = env + kwargs["shell"] = True + result = subprocess.run(command, **kwargs) if result.returncode: qWarning( diff --git a/libs/basic_games/games/game_monsterhunterwilds.py b/libs/basic_games/games/game_monsterhunterwilds.py new file mode 100644 index 0000000..419377c --- /dev/null +++ b/libs/basic_games/games/game_monsterhunterwilds.py @@ -0,0 +1,15 @@ +from ..basic_game import BasicGame + + +class MonsterHunterWildsGame(BasicGame): + Name = "Monster Hunter: Wilds Support Plugin" + Author = "AbyssDragnonModding" + Version = "1.0.0" + + GameName = "Monster Hunter: Wilds" + GameShortName = "monsterhunterwilds" + GameBinary = "MonsterHunterWilds.exe" + GameDataPath = "%GAME_PATH%" + GameSaveExtension = "bin" + GameNexusId = 6993 + GameSteamId = 2246340 -- cgit v1.3.1