MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / loadSpecificSettings

Method loadSpecificSettings

launcher/minecraft/MinecraftInstance.cpp:128–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

126}
127
128void 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");

Callers

nothing calls this directly

Calls 5

registerOverrideMethod · 0.80
getSettingMethod · 0.80
registerPassthroughMethod · 0.80
registerSettingMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected