diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2023-10-01 14:32:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-01 14:32:58 +0200 |
commit | eab1180f68a4c994ad09c57ddf78ecd62610caa1 (patch) | |
tree | 34a75105380b19a41e6c79c86efdf0cb17bcc600 /launcher/modplatform/flame/FlameModIndex.cpp | |
parent | e3a147f56decaa9ae40c9a9a43e48ddfa53ecc6f (diff) | |
parent | 34294383ebaeff65d2a66a49426b2141c2d840c1 (diff) | |
download | PrismLauncher-eab1180f68a4c994ad09c57ddf78ecd62610caa1.tar.gz PrismLauncher-eab1180f68a4c994ad09c57ddf78ecd62610caa1.tar.bz2 PrismLauncher-eab1180f68a4c994ad09c57ddf78ecd62610caa1.zip |
Merge pull request #1090 from Ryex/feat/acknowledge_release_type
Diffstat (limited to 'launcher/modplatform/flame/FlameModIndex.cpp')
-rw-r--r-- | launcher/modplatform/flame/FlameModIndex.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/launcher/modplatform/flame/FlameModIndex.cpp b/launcher/modplatform/flame/FlameModIndex.cpp index 494dc2a7..2adcd781 100644 --- a/launcher/modplatform/flame/FlameModIndex.cpp +++ b/launcher/modplatform/flame/FlameModIndex.cpp @@ -96,8 +96,9 @@ void FlameMod::loadIndexedPackVersions(ModPlatform::IndexedPack& pack, } auto orderSortPredicate = [](const ModPlatform::IndexedVersion& a, const ModPlatform::IndexedVersion& b) -> bool { + bool a_better_release = a.version_type <= b.version_type; // dates are in RFC 3339 format - return a.date > b.date; + return a.date > b.date && a_better_release; }; std::sort(unsortedVersions.begin(), unsortedVersions.end(), orderSortPredicate); pack.versions = unsortedVersions; @@ -139,6 +140,22 @@ auto FlameMod::loadIndexedPackVersion(QJsonObject& obj, bool load_changelog) -> file.downloadUrl = Json::ensureString(obj, "downloadUrl"); file.fileName = Json::requireString(obj, "fileName"); + ModPlatform::IndexedVersionType::VersionType ver_type; + switch (Json::requireInteger(obj, "releaseType")) { + case 1: + ver_type = ModPlatform::IndexedVersionType::VersionType::Release; + break; + case 2: + ver_type = ModPlatform::IndexedVersionType::VersionType::Beta; + break; + case 3: + ver_type = ModPlatform::IndexedVersionType::VersionType::Alpha; + break; + default: + ver_type = ModPlatform::IndexedVersionType::VersionType::Unknown; + } + file.version_type = ModPlatform::IndexedVersionType(ver_type); + auto hash_list = Json::ensureArray(obj, "hashes"); for (auto h : hash_list) { auto hash_entry = Json::ensureObject(h); |