| 53 | #include "FileSystem.h" |
| 54 | |
| 55 | BaseInstance::BaseInstance(SettingsObjectPtr globalSettings, SettingsObjectPtr settings, const QString& rootDir) : QObject() |
| 56 | { |
| 57 | m_settings = settings; |
| 58 | m_global_settings = globalSettings; |
| 59 | m_rootDir = rootDir; |
| 60 | |
| 61 | m_settings->registerSetting("name", "Unnamed Instance"); |
| 62 | m_settings->registerSetting("iconKey", "default"); |
| 63 | m_settings->registerSetting("notes", ""); |
| 64 | |
| 65 | m_settings->registerSetting("lastLaunchTime", 0); |
| 66 | m_settings->registerSetting("totalTimePlayed", 0); |
| 67 | if (m_settings->get("totalTimePlayed").toLongLong() < 0) |
| 68 | m_settings->reset("totalTimePlayed"); |
| 69 | m_settings->registerSetting("lastTimePlayed", 0); |
| 70 | |
| 71 | m_settings->registerSetting("linkedInstances", "[]"); |
| 72 | |
| 73 | // Game time override |
| 74 | auto gameTimeOverride = m_settings->registerSetting("OverrideGameTime", false); |
| 75 | m_settings->registerOverride(globalSettings->getSetting("ShowGameTime"), gameTimeOverride); |
| 76 | m_settings->registerOverride(globalSettings->getSetting("RecordGameTime"), gameTimeOverride); |
| 77 | |
| 78 | // NOTE: Sometimees InstanceType is already registered, as it was used to identify the type of |
| 79 | // a locally stored instance |
| 80 | if (!m_settings->getSetting("InstanceType")) |
| 81 | m_settings->registerSetting("InstanceType", ""); |
| 82 | |
| 83 | // Custom Commands |
| 84 | auto commandSetting = m_settings->registerSetting({ "OverrideCommands", "OverrideLaunchCmd" }, false); |
| 85 | m_settings->registerOverride(globalSettings->getSetting("PreLaunchCommand"), commandSetting); |
| 86 | m_settings->registerOverride(globalSettings->getSetting("WrapperCommand"), commandSetting); |
| 87 | m_settings->registerOverride(globalSettings->getSetting("PostExitCommand"), commandSetting); |
| 88 | |
| 89 | // Console |
| 90 | auto consoleSetting = m_settings->registerSetting("OverrideConsole", false); |
| 91 | m_settings->registerOverride(globalSettings->getSetting("ShowConsole"), consoleSetting); |
| 92 | m_settings->registerOverride(globalSettings->getSetting("AutoCloseConsole"), consoleSetting); |
| 93 | m_settings->registerOverride(globalSettings->getSetting("ShowConsoleOnError"), consoleSetting); |
| 94 | m_settings->registerOverride(globalSettings->getSetting("LogPrePostOutput"), consoleSetting); |
| 95 | |
| 96 | m_settings->registerPassthrough(globalSettings->getSetting("ConsoleMaxLines"), nullptr); |
| 97 | m_settings->registerPassthrough(globalSettings->getSetting("ConsoleOverflowStop"), nullptr); |
| 98 | |
| 99 | // Managed Packs |
| 100 | m_settings->registerSetting("ManagedPack", false); |
| 101 | m_settings->registerSetting("ManagedPackType", ""); |
| 102 | m_settings->registerSetting("ManagedPackID", ""); |
| 103 | m_settings->registerSetting("ManagedPackName", ""); |
| 104 | m_settings->registerSetting("ManagedPackVersionID", ""); |
| 105 | m_settings->registerSetting("ManagedPackVersionName", ""); |
| 106 | |
| 107 | m_settings->registerSetting("Profiler", ""); |
| 108 | } |
| 109 | |
| 110 | QString BaseInstance::getPreLaunchCommand() |
| 111 | { |
nothing calls this directly
no test coverage detected