From 5891a5feabdd768a3e649ff6087fac9c42b129cc Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sat, 23 May 2026 14:32:50 -0500 Subject: startup: clarify invalid instance recovery --- src/src/instancemanager.cpp | 5 +++-- src/src/moapplication.cpp | 27 --------------------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/src/src/instancemanager.cpp b/src/src/instancemanager.cpp index 35a15df..066c0bd 100644 --- a/src/src/instancemanager.cpp +++ b/src/src/instancemanager.cpp @@ -936,8 +936,9 @@ SetupInstanceResults setupInstance(Instance& instance, PluginContainer& pc) reportError( QObject::tr( "Cannot open instance '%1', the game directory '%2' doesn't exist or " - "the game plugin '%3' doesn't recognize it. Select the game managed " - "by this instance.") + "the game plugin '%3' doesn't recognize it. If the game was moved, " + "browse to the current install folder. If it is no longer installed, " + "select another instance.") .arg(instance.displayName()) .arg(instance.gameDirectory()) .arg(instance.gameName())); diff --git a/src/src/moapplication.cpp b/src/src/moapplication.cpp index 7216e7c..f130881 100644 --- a/src/src/moapplication.cpp +++ b/src/src/moapplication.cpp @@ -56,7 +56,6 @@ along with Mod Organizer. If not, see . #include #include #include -#include using namespace MOBase; using namespace MOShared; @@ -268,8 +267,6 @@ void MOApplication::firstTimeSetup(MOMultiProcess& multiProcess) int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) { TimeThis tt("MOApplication setup()"); - std::fprintf(stderr, "[setup-diag] setup() entered\n"); - std::fflush(stderr); // makes plugin data path available to plugins, see // IOrganizer::getPluginDataPath() @@ -278,14 +275,8 @@ int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) // figuring out the current instance m_instance = getCurrentInstance(forceSelect); if (!m_instance) { - std::fprintf(stderr, "[setup-diag] getCurrentInstance() returned null\n"); - std::fflush(stderr); return 1; } - std::fprintf(stderr, "[setup-diag] instance dir='%s' ini='%s'\n", - qUtf8Printable(m_instance->directory()), - qUtf8Printable(m_instance->iniPath())); - std::fflush(stderr); // first time the data path is available, set the global property and log // directory, then log a bunch of debug stuff @@ -293,15 +284,10 @@ int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) setProperty("dataPath", dataPath); if (!setLogDirectory(dataPath)) { - std::fprintf(stderr, "[setup-diag] setLogDirectory() failed for '%s'\n", - qUtf8Printable(dataPath)); - std::fflush(stderr); reportError(tr("Failed to create log folder.")); InstanceManager::singleton().clearCurrentInstance(); return 1; } - std::fprintf(stderr, "[setup-diag] setLogDirectory() ok\n"); - std::fflush(stderr); log::debug("command line: '{}'", QCoreApplication::arguments().join(' ')); @@ -327,9 +313,6 @@ int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) // loading settings m_settings.reset(new Settings(m_instance->iniPath(), true)); - std::fprintf(stderr, "[setup-diag] settings loaded from '%s'\n", - qUtf8Printable(m_instance->iniPath())); - std::fflush(stderr); log::getDefault().setLevel(m_settings->diagnostics().logLevel()); log::debug("using ini at '{}'", m_settings->filename()); @@ -366,28 +349,18 @@ int MOApplication::setup(MOMultiProcess& multiProcess, bool forceSelect) log::debug("initializing core"); m_core.reset(new OrganizerCore(*m_settings)); - std::fprintf(stderr, "[setup-diag] organizer core constructed\n"); - std::fflush(stderr); if (!m_core->bootstrap()) { - std::fprintf(stderr, "[setup-diag] organizer core bootstrap failed\n"); - std::fflush(stderr); reportError(tr("Failed to set up data paths.")); InstanceManager::singleton().clearCurrentInstance(); return 1; } - std::fprintf(stderr, "[setup-diag] organizer core bootstrap ok\n"); - std::fflush(stderr); // plugins tt.start("MOApplication::doOneRun() plugins"); log::debug("initializing plugins"); m_plugins = std::make_unique(m_core.get()); - std::fprintf(stderr, "[setup-diag] plugin container constructed, loading plugins...\n"); - std::fflush(stderr); m_plugins->loadPlugins(); - std::fprintf(stderr, "[setup-diag] plugin loading finished\n"); - std::fflush(stderr); log::debug("all plugins loaded"); // instance -- cgit v1.3.1