aboutsummaryrefslogtreecommitdiff
path: root/libs/basic_games/games/baldursgate3/bg3_file_mapper.py
Commit message (Collapse)AuthorAgeFilesLines
* 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 FUSE external mapping support, BG3/Oblivion Remastered fixes, fomod-plus ↵SulfurNitride2026-02-141-0/+33
| | | | | | | | | | | | | | | 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-111-0/+131
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>