summaryrefslogtreecommitdiffstats
path: root/api/logic/modplatform/flame/PackManifest.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/logic/modplatform/flame/PackManifest.h')
-rw-r--r--api/logic/modplatform/flame/PackManifest.h69
1 files changed, 36 insertions, 33 deletions
diff --git a/api/logic/modplatform/flame/PackManifest.h b/api/logic/modplatform/flame/PackManifest.h
index 1a5254a8..02f39f0e 100644
--- a/api/logic/modplatform/flame/PackManifest.h
+++ b/api/logic/modplatform/flame/PackManifest.h
@@ -8,51 +8,54 @@ namespace Flame
{
struct File
{
- int projectId = 0;
- int fileId = 0;
- // NOTE: the opposite to 'optional'. This is at the time of writing unused.
- bool required = true;
-
- // our
- bool resolved = false;
- QString fileName;
- QUrl url;
- QString targetFolder = QLatin1Literal("mods");
- enum class Type
- {
- Unknown,
- Folder,
- Ctoc,
- SingleFile,
- Cmod2,
- Modpack,
- Mod
- } type = Type::Mod;
+ // NOTE: throws JSONValidationError
+ bool parseFromBytes(const QByteArray &bytes);
+
+ int projectId = 0;
+ int fileId = 0;
+ // NOTE: the opposite to 'optional'. This is at the time of writing unused.
+ bool required = true;
+
+ // our
+ bool resolved = false;
+ QString fileName;
+ QUrl url;
+ QString targetFolder = QLatin1Literal("mods");
+ enum class Type
+ {
+ Unknown,
+ Folder,
+ Ctoc,
+ SingleFile,
+ Cmod2,
+ Modpack,
+ Mod
+ } type = Type::Mod;
};
struct Modloader
{
- QString id;
- bool primary = false;
+ QString id;
+ bool primary = false;
};
struct Minecraft
{
- QString version;
- QString libraries;
- QVector<Flame::Modloader> modLoaders;
+ QString version;
+ QString libraries;
+ QVector<Flame::Modloader> modLoaders;
};
struct Manifest
{
- QString manifestType;
- int manifestVersion = 0;
- Flame::Minecraft minecraft;
- QString name;
- QString version;
- QString author;
- QVector<Flame::File> files;
- QString overrides;
+ QString manifestType;
+ int manifestVersion = 0;
+ Flame::Minecraft minecraft;
+ QString name;
+ QString version;
+ QString author;
+ QVector<Flame::File> files;
+ QString overrides;
};
void loadManifest(Flame::Manifest & m, const QString &filepath);