aboutsummaryrefslogtreecommitdiff
path: root/launcher/RuntimeContext.h
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/RuntimeContext.h')
-rw-r--r--launcher/RuntimeContext.h32
1 files changed, 20 insertions, 12 deletions
diff --git a/launcher/RuntimeContext.h b/launcher/RuntimeContext.h
index c1b71318..70e7d0d1 100644
--- a/launcher/RuntimeContext.h
+++ b/launcher/RuntimeContext.h
@@ -28,31 +28,38 @@ struct RuntimeContext {
QString javaPath;
QString system;
- QString mappedJavaRealArchitecture() const {
- if (javaRealArchitecture == "aarch64") {
+ QString mappedJavaRealArchitecture() const
+ {
+ if (javaRealArchitecture == "amd64")
+ return "x86_64";
+ if (javaRealArchitecture == "i386" || javaRealArchitecture == "i686")
+ return "x86";
+ if (javaRealArchitecture == "aarch64")
return "arm64";
- }
+ if (javaRealArchitecture == "arm" || javaRealArchitecture == "armhf")
+ return "arm32";
return javaRealArchitecture;
}
- void updateFromInstanceSettings(SettingsObjectPtr instanceSettings) {
+ void updateFromInstanceSettings(SettingsObjectPtr instanceSettings)
+ {
javaArchitecture = instanceSettings->get("JavaArchitecture").toString();
javaRealArchitecture = instanceSettings->get("JavaRealArchitecture").toString();
javaPath = instanceSettings->get("JavaPath").toString();
system = currentSystem();
}
- QString getClassifier() const {
- return system + "-" + mappedJavaRealArchitecture();
- }
+ QString getClassifier() const { return system + "-" + mappedJavaRealArchitecture(); }
// "Legacy" refers to the fact that Mojang assumed that these are the only two architectures
- bool isLegacyArch() const {
- QSet<QString> legacyArchitectures{"amd64", "x86_64", "i386", "i686", "x86"};
- return legacyArchitectures.contains(mappedJavaRealArchitecture());
+ bool isLegacyArch() const
+ {
+ const QString mapped = mappedJavaRealArchitecture();
+ return mapped == "x86_64" || mapped == "x86";
}
- bool classifierMatches(QString target) const {
+ bool classifierMatches(QString target) const
+ {
// try to match precise classifier "[os]-[arch]"
bool x = target == getClassifier();
// try to match imprecise classifier on legacy architectures "[os]"
@@ -62,7 +69,8 @@ struct RuntimeContext {
return x;
}
- static QString currentSystem() {
+ static QString currentSystem()
+ {
#if defined(Q_OS_LINUX)
return "linux";
#elif defined(Q_OS_MACOS)