aboutsummaryrefslogtreecommitdiff
path: root/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
diff options
context:
space:
mode:
authorJamie Mansfield <jmansfield@cadixdev.org>2022-05-23 20:14:23 +0100
committerJamie Mansfield <jmansfield@cadixdev.org>2022-05-23 20:57:15 +0100
commit101ca60b2bb1d3c3047bc5842461c68d05708e39 (patch)
treec74b66fa9615ca1ade0d39fc984642c2b568ed4d /launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
parentf28a0aa666565354e657dec59249aa1fd237cdb0 (diff)
downloadPrismLauncher-101ca60b2bb1d3c3047bc5842461c68d05708e39.tar.gz
PrismLauncher-101ca60b2bb1d3c3047bc5842461c68d05708e39.tar.bz2
PrismLauncher-101ca60b2bb1d3c3047bc5842461c68d05708e39.zip
ATLauncher: Handle extra arguments depends
Diffstat (limited to 'launcher/modplatform/atlauncher/ATLPackInstallTask.cpp')
-rw-r--r--launcher/modplatform/atlauncher/ATLPackInstallTask.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
index e6fd1334..b2dda4e4 100644
--- a/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
+++ b/launcher/modplatform/atlauncher/ATLPackInstallTask.cpp
@@ -414,14 +414,16 @@ bool PackInstallTask::createLibrariesComponent(QString instanceRoot, std::shared
bool PackInstallTask::createPackComponent(QString instanceRoot, std::shared_ptr<PackProfile> profile)
{
- if (m_version.mainClass.mainClass.isEmpty() && m_version.extraArguments.isEmpty()) {
+ if (m_version.mainClass.mainClass.isEmpty() && m_version.extraArguments.arguments.isEmpty()) {
return true;
}
auto mainClass = m_version.mainClass.mainClass;
+ auto extraArguments = m_version.extraArguments.arguments;
auto hasMainClassDepends = !m_version.mainClass.depends.isEmpty();
- if (hasMainClassDepends) {
+ auto hasExtraArgumentsDepends = !m_version.extraArguments.depends.isEmpty();
+ if (hasMainClassDepends || hasExtraArgumentsDepends) {
QSet<QString> mods;
for (const auto& item : m_version.mods) {
mods.insert(item.name);
@@ -430,6 +432,14 @@ bool PackInstallTask::createPackComponent(QString instanceRoot, std::shared_ptr<
if (hasMainClassDepends && !mods.contains(m_version.mainClass.depends)) {
mainClass = "";
}
+
+ if (hasExtraArgumentsDepends && !mods.contains(m_version.extraArguments.depends)) {
+ extraArguments = "";
+ }
+ }
+
+ if (mainClass.isEmpty() && extraArguments.isEmpty()) {
+ return true;
}
auto uuid = QUuid::createUuid();
@@ -461,7 +471,7 @@ bool PackInstallTask::createPackComponent(QString instanceRoot, std::shared_ptr<
}
// Parse out tweakers
- auto args = m_version.extraArguments.split(" ");
+ auto args = extraArguments.split(" ");
QString previous;
for(auto arg : args) {
if(arg.startsWith("--tweakClass=") || previous == "--tweakClass") {