aboutsummaryrefslogtreecommitdiff
path: root/libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-23 17:44:12 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-23 17:44:12 -0600
commitc360dbf9c42f71e7931c56b7a396ba7f7e9982e6 (patch)
tree12b44a194db2f8a44a3052b02fced46766a5deee /libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp
parenta8a287cd102001dddff30deec66140136da422d5 (diff)
Remove umu-run, keep game as child process for Steam tracking
- Remove umu-run entirely (crashed due to pressure-vessel/FUSE incompatibility) — use raw `proton run` instead - Replace startDetached() with QProcess::start() so the game stays in Fluorine's process tree. This lets Steam track the game lifetime and makes the "close game" button work when Fluorine is added as a non-Steam game. - Add writeIniValueDirect/readIniValueDirect for safe Bethesda INI handling without QSettings corruption - Fix prefix_setup.rs to skip umu-run bootstrapping - Clean up settings UI, build scripts, and docs for umu-run removal Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp')
-rw-r--r--libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp21
1 files changed, 4 insertions, 17 deletions
diff --git a/libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp b/libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp
index 4c1199c..2daf2c3 100644
--- a/libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp
+++ b/libs/game_bethesda/src/gamebryo/gamebryolocalsavegames.cpp
@@ -23,21 +23,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#include <stddef.h>
#include <string>
-#include <QSettings>
-
#include "gamegamebryo.h"
-// Helper to remove a key from a Bethesda-style INI file
-static void removeIniValue(const QString& iniFile, const QString& section,
- const QString& key)
-{
- QSettings settings(iniFile, QSettings::IniFormat);
- settings.beginGroup(section);
- settings.remove(key);
- settings.endGroup();
- settings.sync();
-}
-
GamebryoLocalSavegames::GamebryoLocalSavegames(const GameGamebryo* game,
const QString& iniFileName)
: m_Game{game}, m_IniFileName(iniFileName)
@@ -119,20 +106,20 @@ bool GamebryoLocalSavegames::prepareProfile(MOBase::IProfile* profile)
if (savedPath != "DELETE_ME") {
MOBase::WriteRegistryValue("General", "sLocalSavePath", savedPath, iniFilePath);
} else {
- removeIniValue(iniFilePath, "General", "sLocalSavePath");
+ MOBase::RemoveRegistryValue("General", "sLocalSavePath", iniFilePath);
}
if (savedMyGames != "DELETE_ME") {
MOBase::WriteRegistryValue("General", "bUseMyGamesDirectory", savedMyGames,
iniFilePath);
} else {
- removeIniValue(iniFilePath, "General", "bUseMyGamesDirectory");
+ MOBase::RemoveRegistryValue("General", "bUseMyGamesDirectory", iniFilePath);
}
QFile::remove(saveIni);
}
// Otherwise just delete the setting
else {
- removeIniValue(iniFilePath, "General", "sLocalSavePath");
- removeIniValue(iniFilePath, "General", "bUseMyGamesDirectory");
+ MOBase::RemoveRegistryValue("General", "sLocalSavePath", iniFilePath);
+ MOBase::RemoveRegistryValue("General", "bUseMyGamesDirectory", iniFilePath);
}
}