SCRATCH some version file member variables commented

This commit is contained in:
Petr Mrázek 2016-03-01 09:47:12 +01:00
parent f53cd55fbb
commit 80b81c2c1e
3 changed files with 61 additions and 21 deletions

View File

@ -5,6 +5,7 @@
#include "Json.h"
using namespace Json;
#include "ParseUtils.h"
static const int CURRENT_MINIMUM_LAUNCHER_VERSION = 14;
@ -31,30 +32,37 @@ VersionFilePtr MojangVersionFormat::versionFileFromJson(const QJsonDocument &doc
QJsonObject root = doc.object();
out->name = root.value("name").toString();
out->fileId = root.value("fileId").toString();
out->name = "Minecraft";
out->fileId = "net.minecraft";
out->version = root.value("version").toString();
out->mcVersion = root.value("mcVersion").toString();
out->filename = filename;
readString(root, "id", out->id);
readString(root, "mainClass", out->mainClass);
readString(root, "appletClass", out->appletClass);
readString(root, "minecraftArguments", out->overwriteMinecraftArguments);
readString(root, "type", out->type);
readString(root, "assets", out->assets);
if (!parse_timestamp(root.value("releaseTime").toString(""), out->m_releaseTimeString, out->m_releaseTime))
{
out->addProblem(PROBLEM_WARNING, QObject::tr("Invalid 'releaseTime' timestamp"));
}
if (!parse_timestamp(root.value("time").toString(""), out->m_updateTimeString, out->m_updateTime))
{
out->addProblem(PROBLEM_WARNING, QObject::tr("Invalid 'time' timestamp"));
}
if (root.contains("minimumLauncherVersion"))
{
auto minimumLauncherVersion = requireInteger(root.value("minimumLauncherVersion"));
if (minimumLauncherVersion > CURRENT_MINIMUM_LAUNCHER_VERSION)
out->minimumLauncherVersion = requireInteger(root.value("minimumLauncherVersion"));
if (out->minimumLauncherVersion > CURRENT_MINIMUM_LAUNCHER_VERSION)
{
out->addProblem(
PROBLEM_WARNING,
QObject::tr("The 'minimumLauncherVersion' value of this version (%1) is higher than supported by MultiMC (%2). It might not work properly!")
.arg(minimumLauncherVersion)
.arg(out->minimumLauncherVersion)
.arg(CURRENT_MINIMUM_LAUNCHER_VERSION));
}
}
@ -72,7 +80,7 @@ VersionFilePtr MojangVersionFormat::versionFileFromJson(const QJsonDocument &doc
}
return out;
}
/*
static QJsonDocument versionFileToJson(VersionFilePtr patch)
{
QJsonObject root;
@ -128,4 +136,3 @@ QJsonDocument MojangVersionFormat::profilePatchToJson(const ProfilePatchPtr &pat
}
throw VersionIncomplete(QObject::tr("Unhandled object type while processing %1").arg(patch->getPatchName()));
}
*/

View File

@ -8,7 +8,5 @@ class MojangVersionFormat
public:
// version files / profile patches
static VersionFilePtr versionFileFromJson(const QJsonDocument &doc, const QString &filename);
/*
static QJsonDocument profilePatchToJson(const ProfilePatchPtr &patch);
*/
};

View File

@ -102,49 +102,84 @@ public: /* methods */
public: /* data */
/// MultiMC: order hint for this version file if no explicit order is set
int order = 0;
// Flags for UI and version file manipulation in general
bool m_isVanilla = false;
bool m_isRemovable = false;
bool m_isRevertible = false;
bool m_isCustomizable = false;
bool m_isMovable = false;
QString name;
QString fileId;
QString version;
// TODO use the mcVersion to determine if a version file should be removed on update
QString mcVersion;
/// MultiMC: filename of the file this was loaded from
QString filename;
// TODO requirements
// QMap<QString, QString> requirements;
/// MultiMC: human readable name of this package
QString name;
/// MultiMC: package ID of this package
QString fileId;
/// MultiMC: version of this package
QString version;
/// MultiMC: dependency on a Minecraft version
QString mcVersion;
/// Mojang: used to version the Mojang version format
int minimumLauncherVersion = -1;
/// Mojang: version of Minecraft this is
QString id;
/// Mojang: class to launch Minecraft with
QString mainClass;
/// MultiMC: class to launch legacy Minecraft with (ambed in a custom window)
QString appletClass;
/// Mojang: Minecraft launch arguments (may contain placeholders for variable substitution)
QString overwriteMinecraftArguments;
/// MultiMC: Minecraft launch arguments, additive variant
QString addMinecraftArguments;
/// Mojang: DEPRECATED variant of the Minecraft arguments, hardcoded, do not use!
QString processArguments;
/// Mojang: type of the Minecraft version
QString type;
/// the time this version was actually released by Mojang, as string and as QDateTime
/// Mojang: the time this version was actually released by Mojang, as string and as QDateTime
QString m_releaseTimeString;
QDateTime m_releaseTime;
/// the time this version was last updated by Mojang, as string and as QDateTime
/// Mojang: the time this version was last updated by Mojang, as string and as QDateTime
QString m_updateTimeString;
QDateTime m_updateTime;
/// asset group used by this ... thing.
/// Mojang: DEPRECATED asset group to be used with Minecraft
QString assets;
/// MultiMC: override list of tweaker mod arguments for launchwrapper (replaces the previously assembled lists)
bool shouldOverwriteTweakers = false;
QStringList overwriteTweakers;
/// MultiMC: list of tweaker mod arguments for launchwrapper
QStringList addTweakers;
/// MultiMC: override list of libraries (replaces the previously assembled lists)
bool shouldOverwriteLibs = false;
QList<RawLibraryPtr> overwriteLibs;
/// Mojang: list of libraries to add to the version
QList<RawLibraryPtr> addLibs;
/// MultiMC: list of attached traits of this version file - used to enable features
QSet<QString> traits;
/// MultiMC: list of jar mods added to this version
QList<JarmodPtr> jarMods;
};