aboutsummaryrefslogtreecommitdiff
path: root/libs/basic_games/games/baldursgate3
Commit message (Collapse)AuthorAgeFilesLines
* bg3: tolerate dangling Wine-prefix symlinks in metadata dirsSulfurNitride2026-05-161-4/+23
| | | | | | | | | | | | | | | | | | When the BG3 metadata path (e.g. AppData/Local/Larian Studios) is a symlink left over from a previous prefix setup that points at a Steam compatdata path which no longer resolves, pathlib's mkdir(parents=True, exist_ok=True) raises FileExistsError — exist_ok only suppresses the error when the path is an actual directory, and a dangling symlink fails is_dir(). The launch crashed in bg3_file_mapper.create_mapping before any mods were deployed. Walk the path top-down on FileExistsError. For each component that's a dangling symlink, resolve its target via os.path.realpath and create the directory there so the symlink becomes valid and the original mkdir succeeds. Cross-prefix sharing (the reason these symlinks exist) is preserved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* pass correct path when packing loose filesSaghm Rossi2026-05-141-1/+1
|
* skip log warning when parsing packed loose filesSaghm Rossi2026-05-141-6/+13
|
* Replace LsLib via proton with native larian-formats Python packageSaghm Rossi2026-05-145-424/+21
|
* bg3: publish only top-level overwrite mappings to avoid self-symlinksSulfurNitride2026-05-141-10/+26
| | | | | | | | | | | | | | | | | After the first launch, doc/Stats -> overwrite/Stats (and siblings) are deployed as directory symlinks. The next mappings() pass rglob'd overwrite/ and emitted a Mapping for every nested entry — destinations resolved back through the parent symlink to the source, so both create_mapping's unlink+symlink_to and fuseconnector's create_directory_symlink ended up operating on a path that physically *was* the source, producing self-pointing symlinks and wiping the directory contents on the next launch. Emit one directory mapping per redirected top-level subdir instead. The parent symlink covers everything underneath via normal path resolution, so no nested mapping is generated and the alias condition can't arise. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Clean up empty dirs left by VFS, suppress noisy Qt debugSulfurNitride2026-04-301-6/+1
| | | | | | | | | | | | | | | Fixes #64: VFS now tracks the directories it creates outside the data dir (external mappings + RootBuilder game-root deploys) and removes them on unmount, but only if still empty. Pre-existing user dirs and the game root itself are never touched. RootBuilder manifest gains a "dirs" field so the cleanup survives a crashed session. Also drops a Path-repr qDebug in bg3_file_mapper that crashed Qt's logger on surrogate-escaped paths, and defaults QT_LOGGING_RULES to default.debug=false in the launcher and AppRun (still overridable) so the same class of plugin bug stays muted in shipped builds. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Add Python init diagnostics, AppImage build system, misc Linux fixesSulfurNitride2026-02-191-15/+6
| | | | | | | | | | | | | | | | | | | | - 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 <noreply@anthropic.com>
* Add FUSE external mapping support, BG3/Oblivion Remastered fixes, fomod-plus ↵SulfurNitride2026-02-143-28/+179
| | | | | | | | | | | | | | | and NaK integration FUSE VFS now deploys non-data-dir mod mappings (Paks, OBSE, UE4SS, etc.) via real symlinks and injects file-level data-dir mappings (plugins.txt, loadorder.txt) into the VFS tree. Fixes game launches for Oblivion Remastered (Root Builder path resolution, script extender support) and BG3 (Wine prefix documents directory, file mapper symlinks on Linux). Vendors mo2-fomod-plus plugin and NaK crate for FOMOD installer and game finder/runtime support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fluorine Manager: full Linux port of Mod Organizer 2SulfurNitride2026-02-1113-0/+1168
Complete native Linux port with FUSE-based virtual filesystem, Proton/umu-run integration, and Flatpak packaging. Key features: - FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak) - Proton/GE-Proton/umu-run launcher with env var forwarding - Flatpak support (sandbox-aware VFS, NXM handler, umu-run) - Wine prefix management UI - Case-insensitive path resolution for Linux filesystems - QSettings-safe INI handling (avoids Bethesda INI corruption) - Portable instance support with auto-generated launcher scripts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>