diff options
author | DioEgizio <83089242+DioEgizio@users.noreply.github.com> | 2022-10-18 15:24:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-18 15:24:33 +0200 |
commit | 804ef36b203e7346ba9cf8496ee1aae26d3a5f18 (patch) | |
tree | 7d6a72fa709def7f432a4f30b39f665032e94be4 /launcher/RuntimeContext.h | |
parent | 3c6ff8fddf88cba832d70fbc0627ab29f450e78f (diff) | |
parent | 3b92ec8e82ca9334e72e7c1a9eddbb0c492277d0 (diff) | |
download | PrismLauncher-804ef36b203e7346ba9cf8496ee1aae26d3a5f18.tar.gz PrismLauncher-804ef36b203e7346ba9cf8496ee1aae26d3a5f18.tar.bz2 PrismLauncher-804ef36b203e7346ba9cf8496ee1aae26d3a5f18.zip |
Merge pull request #26 from Scrumplex/armhf
Diffstat (limited to 'launcher/RuntimeContext.h')
-rw-r--r-- | launcher/RuntimeContext.h | 32 |
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) |