diff options
author | Jamie Mansfield <jmansfield@cadixdev.org> | 2021-05-28 23:10:02 +0100 |
---|---|---|
committer | Jamie Mansfield <jmansfield@cadixdev.org> | 2021-06-21 16:29:16 +0100 |
commit | 4ba0c9c2986d9fb133db923d2da60de9272ccc0a (patch) | |
tree | a406fe6c6578170f03c9b20720399e9a559916e0 /api/logic/modplatform | |
parent | 74311a54cf2f423a160ce0999bd5ad7e5c62f243 (diff) | |
download | PrismLauncher-4ba0c9c2986d9fb133db923d2da60de9272ccc0a.tar.gz PrismLauncher-4ba0c9c2986d9fb133db923d2da60de9272ccc0a.tar.bz2 PrismLauncher-4ba0c9c2986d9fb133db923d2da60de9272ccc0a.zip |
NOISSUE Support mod grouping and dependencies
Diffstat (limited to 'api/logic/modplatform')
-rw-r--r-- | api/logic/modplatform/atlauncher/ATLPackManifest.cpp | 13 | ||||
-rw-r--r-- | api/logic/modplatform/atlauncher/ATLPackManifest.h | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/api/logic/modplatform/atlauncher/ATLPackManifest.cpp b/api/logic/modplatform/atlauncher/ATLPackManifest.cpp index 149cb9c1..f28fd35c 100644 --- a/api/logic/modplatform/atlauncher/ATLPackManifest.cpp +++ b/api/logic/modplatform/atlauncher/ATLPackManifest.cpp @@ -147,7 +147,20 @@ static void loadVersionMod(ATLauncher::VersionMod & p, QJsonObject & obj) { p.optional = Json::ensureBoolean(obj, QString("optional"), false); p.recommended = Json::ensureBoolean(obj, QString("recommended"), false); p.selected = Json::ensureBoolean(obj, QString("selected"), false); + p.hidden = Json::ensureBoolean(obj, QString("hidden"), false); + p.library = Json::ensureBoolean(obj, QString("library"), false); + p.group = Json::ensureString(obj, QString("group"), ""); + if(obj.contains("depends")) { + auto dependsArr = Json::requireArray(obj, "depends"); + for (const auto depends : dependsArr) { + p.depends.append(Json::requireString(depends)); + } + } + p.client = Json::ensureBoolean(obj, QString("client"), false); + + // computed + p.effectively_hidden = p.hidden || p.library; } void ATLauncher::loadVersion(PackVersion & v, QJsonObject & obj) diff --git a/api/logic/modplatform/atlauncher/ATLPackManifest.h b/api/logic/modplatform/atlauncher/ATLPackManifest.h index 48e1d344..376587b0 100644 --- a/api/logic/modplatform/atlauncher/ATLPackManifest.h +++ b/api/logic/modplatform/atlauncher/ATLPackManifest.h @@ -90,7 +90,15 @@ struct VersionMod bool optional; bool recommended; bool selected; + bool hidden; + bool library; + QString group; + QVector<QString> depends; + bool client; + + // computed + bool effectively_hidden; }; struct PackVersion |