| 126 | } |
| 127 | |
| 128 | void MinecraftInstance::loadSpecificSettings() |
| 129 | { |
| 130 | if (isSpecificSettingsLoaded()) |
| 131 | return; |
| 132 | |
| 133 | // Java Settings |
| 134 | auto javaOverride = m_settings->registerSetting("OverrideJava", false); |
| 135 | auto locationOverride = m_settings->registerSetting("OverrideJavaLocation", false); |
| 136 | auto argsOverride = m_settings->registerSetting("OverrideJavaArgs", false); |
| 137 | |
| 138 | // combinations |
| 139 | auto javaOrLocation = std::make_shared<OrSetting>("JavaOrLocationOverride", javaOverride, locationOverride); |
| 140 | auto javaOrArgs = std::make_shared<OrSetting>("JavaOrArgsOverride", javaOverride, argsOverride); |
| 141 | |
| 142 | if (auto global_settings = globalSettings()) { |
| 143 | m_settings->registerOverride(global_settings->getSetting("JavaPath"), javaOrLocation); |
| 144 | m_settings->registerOverride(global_settings->getSetting("JvmArgs"), javaOrArgs); |
| 145 | m_settings->registerOverride(global_settings->getSetting("IgnoreJavaCompatibility"), javaOrLocation); |
| 146 | |
| 147 | // special! |
| 148 | m_settings->registerPassthrough(global_settings->getSetting("JavaTimestamp"), javaOrLocation); |
| 149 | m_settings->registerPassthrough(global_settings->getSetting("JavaVersion"), javaOrLocation); |
| 150 | m_settings->registerPassthrough(global_settings->getSetting("JavaArchitecture"), javaOrLocation); |
| 151 | m_settings->registerPassthrough(global_settings->getSetting("JavaRealArchitecture"), javaOrLocation); |
| 152 | |
| 153 | // Window Size |
| 154 | auto windowSetting = m_settings->registerSetting("OverrideWindow", false); |
| 155 | m_settings->registerOverride(global_settings->getSetting("LaunchMaximized"), windowSetting); |
| 156 | m_settings->registerOverride(global_settings->getSetting("MinecraftWinWidth"), windowSetting); |
| 157 | m_settings->registerOverride(global_settings->getSetting("MinecraftWinHeight"), windowSetting); |
| 158 | |
| 159 | // Memory |
| 160 | auto memorySetting = m_settings->registerSetting("OverrideMemory", false); |
| 161 | m_settings->registerOverride(global_settings->getSetting("MinMemAlloc"), memorySetting); |
| 162 | m_settings->registerOverride(global_settings->getSetting("MaxMemAlloc"), memorySetting); |
| 163 | m_settings->registerOverride(global_settings->getSetting("PermGen"), memorySetting); |
| 164 | |
| 165 | // Minecraft launch method |
| 166 | auto launchMethodOverride = m_settings->registerSetting("OverrideMCLaunchMethod", false); |
| 167 | m_settings->registerOverride(global_settings->getSetting("MCLaunchMethod"), launchMethodOverride); |
| 168 | |
| 169 | // Native library workarounds |
| 170 | auto nativeLibraryWorkaroundsOverride = m_settings->registerSetting("OverrideNativeWorkarounds", false); |
| 171 | m_settings->registerOverride(global_settings->getSetting("UseNativeOpenAL"), nativeLibraryWorkaroundsOverride); |
| 172 | m_settings->registerOverride(global_settings->getSetting("UseNativeGLFW"), nativeLibraryWorkaroundsOverride); |
| 173 | |
| 174 | // Peformance related options |
| 175 | auto performanceOverride = m_settings->registerSetting("OverridePerformance", false); |
| 176 | m_settings->registerOverride(global_settings->getSetting("EnableFeralGamemode"), performanceOverride); |
| 177 | m_settings->registerOverride(global_settings->getSetting("EnableMangoHud"), performanceOverride); |
| 178 | m_settings->registerOverride(global_settings->getSetting("UseDiscreteGpu"), performanceOverride); |
| 179 | |
| 180 | // Miscellaneous |
| 181 | auto miscellaneousOverride = m_settings->registerSetting("OverrideMiscellaneous", false); |
| 182 | m_settings->registerOverride(global_settings->getSetting("CloseAfterLaunch"), miscellaneousOverride); |
| 183 | m_settings->registerOverride(global_settings->getSetting("QuitAfterGameStop"), miscellaneousOverride); |
| 184 | |
| 185 | m_settings->set("InstanceType", "OneSix"); |
nothing calls this directly
no test coverage detected