aboutsummaryrefslogtreecommitdiff
path: root/libs/game_bethesda/src/games/nehrim/gamenehrim.cpp
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-17 23:59:40 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-17 23:59:48 -0600
commit480a57cf037a46f176128e6c94aa5616fcf704a3 (patch)
tree35be94099e2669f518c623acdf8fe23ee82e55a8 /libs/game_bethesda/src/games/nehrim/gamenehrim.cpp
parent91e1d7f9f03ab3fd77cee94c1eac2abf89254e50 (diff)
Fix Wine prefix deployment, INI handling, and data directory paths
- Fix data directory path to use ~/.var/app/com.fluorine.manager consistently (was ~/.local/share/fluorine in committed code) - Fix VFS helper path in fuseconnector.cpp to use fluorineDataDir() - Fix localAppFolder() to resolve Wine prefix AppData/Local on Linux instead of returning XDG ~/.local/share - Add localAppName() virtual method for correct AppData folder mapping (Enderal→"enderal", Nehrim→"Oblivion") - Fix mergeTweak() to use direct INI parser instead of QSettings which corrupts backslashes and URL-encodes spaces in keys - Make resolveWineDataDirName() more robust with existence checks and fallback chain (documentsDirectory → gameShortName → gameName) - Add comprehensive debug logging throughout Wine prefix deployment - Fix INI case handling: copy instead of symlink for case-mismatched INIs, ensure both proper-case and lowercase aliases exist - Remove native build script (Flatpak only) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/game_bethesda/src/games/nehrim/gamenehrim.cpp')
-rw-r--r--libs/game_bethesda/src/games/nehrim/gamenehrim.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/libs/game_bethesda/src/games/nehrim/gamenehrim.cpp b/libs/game_bethesda/src/games/nehrim/gamenehrim.cpp
index 2e3c8c5..f74448c 100644
--- a/libs/game_bethesda/src/games/nehrim/gamenehrim.cpp
+++ b/libs/game_bethesda/src/games/nehrim/gamenehrim.cpp
@@ -112,14 +112,14 @@ void GameNehrim::initializeProfile(const QDir& path, ProfileSettings settings) c
if (settings.testFlag(IPluginGame::CONFIGURATION)) {
if (settings.testFlag(IPluginGame::PREFER_DEFAULTS) ||
- !QFileInfo(myGamesPath() + "/oblivion.ini").exists()) {
- copyToProfile(gameDirectory().absolutePath(), path, "oblivion_default.ini",
- "oblivion.ini");
+ !QFileInfo(myGamesPath() + "/Oblivion.ini").exists()) {
+ copyToProfile(gameDirectory().absolutePath(), path, "Oblivion_default.ini",
+ "Oblivion.ini");
} else {
- copyToProfile(myGamesPath(), path, "oblivion.ini");
+ copyToProfile(myGamesPath(), path, "Oblivion.ini");
}
- copyToProfile(myGamesPath(), path, "oblivionprefs.ini");
+ copyToProfile(myGamesPath(), path, "OblivionPrefs.ini");
}
}
@@ -153,6 +153,12 @@ QString GameNehrim::gameShortName() const
return "Nehrim";
}
+QString GameNehrim::localAppName() const
+{
+ // Nehrim shares Oblivion's AppData/Local folder
+ return "Oblivion";
+}
+
QString GameNehrim::gameNexusName() const
{
return "Nehrim";
@@ -160,7 +166,7 @@ QString GameNehrim::gameNexusName() const
QStringList GameNehrim::iniFiles() const
{
- return {"oblivion.ini", "oblivionprefs.ini"};
+ return {"Oblivion.ini", "OblivionPrefs.ini"};
}
QStringList GameNehrim::DLCPlugins() const