From 145fc7f610cc4607c42ad55c37317bdd93223fbf Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Mon, 13 Apr 2026 14:18:17 -0500 Subject: Remove Fix Game Registries button, fix BethINI New Vegas detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The auto-prompt in organizercore already offers to fix the registry on launch, so the manual button is redundant. BethINI Pie plugin compared against managedGame()->gameName(), but GameFalloutNV returns "New Vegas" while BethINI's app folder is "Fallout New Vegas" — add an alias map so NV is detected correctly. Co-Authored-By: Claude Opus 4.6 (1M context) --- libs/tool_bethinipie/src/bethinipie.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'libs') diff --git a/libs/tool_bethinipie/src/bethinipie.cpp b/libs/tool_bethinipie/src/bethinipie.cpp index 152e809..659a7d6 100644 --- a/libs/tool_bethinipie/src/bethinipie.cpp +++ b/libs/tool_bethinipie/src/bethinipie.cpp @@ -30,7 +30,18 @@ static const char* GITHUB_REPO = "SulfurNitride/Fluorine-Bethini-Pie-Performanc static const char* RELEASE_TAG = "latest"; static const char* ASSET_NAME = "BethiniPie-linux.tar.gz"; -// Maps Fluorine gameName() to BethIni Pie's Bethini.json INI directory key +// Maps Fluorine managedGame()->gameName() to the BethINI Pie app name. +// MO2 game plugins sometimes return a short name (e.g. "New Vegas") that +// differs from BethINI Pie's app folder name ("Fallout New Vegas"). +static const QMap s_MO2ToBethiniName = { + {"Skyrim Special Edition", "Skyrim Special Edition"}, + {"Fallout 4", "Fallout 4"}, + {"Fallout New Vegas", "Fallout New Vegas"}, + {"New Vegas", "Fallout New Vegas"}, + {"Starfield", "Starfield"}, +}; + +// Maps the BethINI Pie app name to its Bethini.json INI directory key. static const QMap s_GameIniKeys = { {"Skyrim Special Edition", "sSkyrim Special EditionINIPath"}, {"Fallout 4", "sFallout 4INIPath"}, @@ -125,10 +136,8 @@ QString BethiniPie::bethiniGameName() const { if (!m_MOInfo || !m_MOInfo->managedGame()) return {}; - QString game = m_MOInfo->managedGame()->gameName(); - if (s_GameIniKeys.contains(game)) - return game; - return {}; + const QString mo2Name = m_MOInfo->managedGame()->gameName(); + return s_MO2ToBethiniName.value(mo2Name); } QString BethiniPie::iniDirectoryKey() const -- cgit v1.3.1