diff options
author | swirl <roachh@protonmail.com> | 2021-12-31 14:27:21 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-31 14:27:21 -0500 |
commit | 541e2f0d8d56b1e808ac98b6cf5b3600f324f2fa (patch) | |
tree | 5a300af57c0207d38980319d54dc04218828aa1e /launcher/minecraft/launch | |
parent | 0c177b1086d69993e012ba1fbed1adf6bfe04144 (diff) | |
parent | fa98ed3ccd74cbf0228baf13851b6bb6d17d51a3 (diff) | |
download | PrismLauncher-541e2f0d8d56b1e808ac98b6cf5b3600f324f2fa.tar.gz PrismLauncher-541e2f0d8d56b1e808ac98b6cf5b3600f324f2fa.tar.bz2 PrismLauncher-541e2f0d8d56b1e808ac98b6cf5b3600f324f2fa.zip |
Merge pull request #8 from dada513/upstream_update
Diffstat (limited to 'launcher/minecraft/launch')
-rw-r--r-- | launcher/minecraft/launch/ClaimAccount.cpp | 2 | ||||
-rw-r--r-- | launcher/minecraft/launch/ExtractNatives.cpp | 7 | ||||
-rw-r--r-- | launcher/minecraft/launch/PrintInstanceInfo.cpp | 45 | ||||
-rw-r--r-- | launcher/minecraft/launch/VerifyJavaInstall.cpp | 7 |
4 files changed, 58 insertions, 3 deletions
diff --git a/launcher/minecraft/launch/ClaimAccount.cpp b/launcher/minecraft/launch/ClaimAccount.cpp index bb4f6806..1cd7c0da 100644 --- a/launcher/minecraft/launch/ClaimAccount.cpp +++ b/launcher/minecraft/launch/ClaimAccount.cpp @@ -6,7 +6,7 @@ ClaimAccount::ClaimAccount(LaunchTask* parent, AuthSessionPtr session): LaunchStep(parent) { - if(session->status == AuthSession::Status::PlayableOnline) + if(session->status == AuthSession::Status::PlayableOnline && !session->demo) { auto accounts = APPLICATION->accounts(); m_account = accounts->getAccountByProfileName(session->player_name); diff --git a/launcher/minecraft/launch/ExtractNatives.cpp b/launcher/minecraft/launch/ExtractNatives.cpp index d57499aa..8cd439b1 100644 --- a/launcher/minecraft/launch/ExtractNatives.cpp +++ b/launcher/minecraft/launch/ExtractNatives.cpp @@ -23,6 +23,13 @@ #include "FileSystem.h" #include <QDir> +#ifdef major + #undef major +#endif +#ifdef minor + #undef minor +#endif + static QString replaceSuffix (QString target, const QString &suffix, const QString &replacement) { if (!target.endsWith(suffix)) diff --git a/launcher/minecraft/launch/PrintInstanceInfo.cpp b/launcher/minecraft/launch/PrintInstanceInfo.cpp index 3da17902..e8fbcb9b 100644 --- a/launcher/minecraft/launch/PrintInstanceInfo.cpp +++ b/launcher/minecraft/launch/PrintInstanceInfo.cpp @@ -19,8 +19,9 @@ #include "PrintInstanceInfo.h" #include <launch/LaunchTask.h> -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) namespace { +#if defined(Q_OS_LINUX) void probeProcCpuinfo(QStringList &log) { std::ifstream cpuin("/proc/cpuinfo"); @@ -66,7 +67,43 @@ void runLspci(QStringList &log) } pclose(lspci); } +#elif defined(Q_OS_FREEBSD) +void runSysctlHwModel(QStringList &log) +{ + char buff[512]; + FILE *hwmodel = popen("sysctl hw.model", "r"); + while (fgets(buff, 512, hwmodel) != NULL) + { + log << QString::fromUtf8(buff); + break; + } + pclose(hwmodel); +} +void runPciconf(QStringList &log) +{ + char buff[512]; + std::string strcard; + FILE *pciconf = popen("pciconf -lv -a vgapci0", "r"); + while (fgets(buff, 512, pciconf) != NULL) + { + if (strncmp(buff, " vendor", 10) == 0) + { + std::string str(buff); + strcard.append(str.substr(str.find_first_of("'") + 1, str.find_last_not_of("'") - (str.find_first_of("'") + 2))); + strcard.append(" "); + } + else if (strncmp(buff, " device", 10) == 0) + { + std::string str2(buff); + strcard.append(str2.substr(str2.find_first_of("'") + 1, str2.find_last_not_of("'") - (str2.find_first_of("'") + 2))); + } + log << QString::fromStdString(strcard); + break; + } + pclose(pciconf); +} +#endif void runGlxinfo(QStringList & log) { // FIXME: fixed size buffers... @@ -94,10 +131,14 @@ void PrintInstanceInfo::executeTask() auto instance = m_parent->instance(); QStringList log; -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) ::probeProcCpuinfo(log); ::runLspci(log); ::runGlxinfo(log); +#elif defined(Q_OS_FREEBSD) + ::runSysctlHwModel(log); + ::runPciconf(log); + ::runGlxinfo(log); #endif logLines(log, MessageLevel::Launcher); diff --git a/launcher/minecraft/launch/VerifyJavaInstall.cpp b/launcher/minecraft/launch/VerifyJavaInstall.cpp index d9f7ecdc..15acf678 100644 --- a/launcher/minecraft/launch/VerifyJavaInstall.cpp +++ b/launcher/minecraft/launch/VerifyJavaInstall.cpp @@ -5,6 +5,13 @@ #include <minecraft/PackProfile.h> #include <minecraft/VersionFilterData.h> +#ifdef major + #undef major +#endif +#ifdef minor + #undef minor +#endif + void VerifyJavaInstall::executeTask() { auto m_inst = std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance()); |