diff options
author | flow <flowlnlnln@gmail.com> | 2022-07-14 16:41:49 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-09-20 18:36:08 -0300 |
commit | 795d6f35eed689677186a26ba54ce9e77613859d (patch) | |
tree | 3f4b2dffca12fdc150f162ae69cea39235e55ef4 /launcher/modplatform/flame/PackManifest.cpp | |
parent | ebd46705d503a8627e759327e93c5a8432d4e47f (diff) | |
download | PrismLauncher-795d6f35eed689677186a26ba54ce9e77613859d.tar.gz PrismLauncher-795d6f35eed689677186a26ba54ce9e77613859d.tar.bz2 PrismLauncher-795d6f35eed689677186a26ba54ce9e77613859d.zip |
feat: add curseforge modpack updating
Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/modplatform/flame/PackManifest.cpp')
-rw-r--r-- | launcher/modplatform/flame/PackManifest.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/launcher/modplatform/flame/PackManifest.cpp b/launcher/modplatform/flame/PackManifest.cpp index 81395fcd..22008297 100644 --- a/launcher/modplatform/flame/PackManifest.cpp +++ b/launcher/modplatform/flame/PackManifest.cpp @@ -29,21 +29,29 @@ static void loadMinecraftV1(Flame::Minecraft& m, QJsonObject& minecraft) } } -static void loadManifestV1(Flame::Manifest& m, QJsonObject& manifest) +static void loadManifestV1(Flame::Manifest& pack, QJsonObject& manifest) { auto mc = Json::requireObject(manifest, "minecraft"); - loadMinecraftV1(m.minecraft, mc); - m.name = Json::ensureString(manifest, QString("name"), "Unnamed"); - m.version = Json::ensureString(manifest, QString("version"), QString()); - m.author = Json::ensureString(manifest, QString("author"), "Anonymous"); + + loadMinecraftV1(pack.minecraft, mc); + + pack.name = Json::ensureString(manifest, QString("name"), "Unnamed"); + pack.version = Json::ensureString(manifest, QString("version"), QString()); + pack.author = Json::ensureString(manifest, QString("author"), "Anonymous"); + auto arr = Json::ensureArray(manifest, "files", QJsonArray()); - for (QJsonValueRef item : arr) { + for (auto item : arr) { auto obj = Json::requireObject(item); + Flame::File file; loadFileV1(file, obj); - m.files.insert(file.fileId,file); + + pack.files.insert(file.fileId,file); } - m.overrides = Json::ensureString(manifest, "overrides", "overrides"); + + pack.overrides = Json::ensureString(manifest, "overrides", "overrides"); + + pack.is_loaded = true; } void Flame::loadManifest(Flame::Manifest& m, const QString& filepath) |