aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/launch
diff options
context:
space:
mode:
authorswirl <roachh@protonmail.com>2021-12-31 14:27:21 -0500
committerGitHub <noreply@github.com>2021-12-31 14:27:21 -0500
commit541e2f0d8d56b1e808ac98b6cf5b3600f324f2fa (patch)
tree5a300af57c0207d38980319d54dc04218828aa1e /launcher/minecraft/launch
parent0c177b1086d69993e012ba1fbed1adf6bfe04144 (diff)
parentfa98ed3ccd74cbf0228baf13851b6bb6d17d51a3 (diff)
downloadPrismLauncher-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.cpp2
-rw-r--r--launcher/minecraft/launch/ExtractNatives.cpp7
-rw-r--r--launcher/minecraft/launch/PrintInstanceInfo.cpp45
-rw-r--r--launcher/minecraft/launch/VerifyJavaInstall.cpp7
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());