From 2660418d58efb33cd3a0ab8ed9d48c359c076905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 19 Mar 2017 02:13:49 +0100 Subject: NOISSUE hack it together enough to get launching back Meta index will now always return valid objects. They just might never load if they don't exist on the server. --- api/logic/minecraft/ProfilePatch.h | 4 ---- 1 file changed, 4 deletions(-) (limited to 'api/logic/minecraft/ProfilePatch.h') diff --git a/api/logic/minecraft/ProfilePatch.h b/api/logic/minecraft/ProfilePatch.h index 26230092..b61fb8b3 100644 --- a/api/logic/minecraft/ProfilePatch.h +++ b/api/logic/minecraft/ProfilePatch.h @@ -92,10 +92,6 @@ public: { return m_problemSeverity; } - virtual bool hasFailed() - { - return getProblemSeverity() == PROBLEM_ERROR; - } protected: QList m_problems; -- cgit v1.2.3 From f557c1367994a61935fa0e8d0b1b67688d2692d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 19 Mar 2017 23:58:54 +0100 Subject: NOISSUE stuff and things happened. Maybe. --- api/logic/minecraft/ProfilePatch.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'api/logic/minecraft/ProfilePatch.h') diff --git a/api/logic/minecraft/ProfilePatch.h b/api/logic/minecraft/ProfilePatch.h index b61fb8b3..6f63f3c4 100644 --- a/api/logic/minecraft/ProfilePatch.h +++ b/api/logic/minecraft/ProfilePatch.h @@ -51,8 +51,6 @@ public: virtual void applyTo(MinecraftProfile *profile) = 0; virtual bool isMinecraftVersion() = 0; - virtual bool hasJarMods() = 0; - virtual QList getJarMods() = 0; virtual bool isMoveable() = 0; virtual bool isCustomizable() = 0; -- cgit v1.2.3 From 6f2a87167a13101d80d2fbc096bbb6a5eb5ab0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 26 Mar 2017 20:50:31 +0200 Subject: NOISSUE remove some dead code from version related classes --- api/logic/minecraft/ProfilePatch.h | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'api/logic/minecraft/ProfilePatch.h') diff --git a/api/logic/minecraft/ProfilePatch.h b/api/logic/minecraft/ProfilePatch.h index 6f63f3c4..699a38ae 100644 --- a/api/logic/minecraft/ProfilePatch.h +++ b/api/logic/minecraft/ProfilePatch.h @@ -15,14 +15,6 @@ enum ProblemSeverity PROBLEM_ERROR }; -/// where is a version from? -enum class VersionSource -{ - Builtin, //!< version loaded from the internal resources. - Local, //!< version loaded from a file in the cache. - Remote, //!< incomplete version on a remote server. -}; - class PatchProblem { public: @@ -70,8 +62,6 @@ public: virtual QString getFilename() = 0; - virtual VersionSource getVersionSource() = 0; - virtual std::shared_ptr getVersionFile() = 0; virtual const QList& getProblems() -- cgit v1.2.3 From 5fabb4f2546fa6b79a4e2c29679f506e587a0070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 27 Mar 2017 03:34:39 +0200 Subject: NOISSUE Rough refactor of ProfilePatch and VersionFile internals. They are now distinct classes with distinct responsibilities. * ProfilePatch is an entry in MinecraftProfile and can hold VersionFile or Meta::Version. * VersionFile is the basic element that holds version information loaded from JSON. * Meta::Version is the loader class for VersionFile(s) from a server. --- api/logic/minecraft/ProfilePatch.h | 104 +++++++++++++++---------------------- 1 file changed, 41 insertions(+), 63 deletions(-) (limited to 'api/logic/minecraft/ProfilePatch.h') diff --git a/api/logic/minecraft/ProfilePatch.h b/api/logic/minecraft/ProfilePatch.h index 699a38ae..9e2555af 100644 --- a/api/logic/minecraft/ProfilePatch.h +++ b/api/logic/minecraft/ProfilePatch.h @@ -5,85 +5,63 @@ #include #include #include "JarMod.h" +#include "ProblemProvider.h" class MinecraftProfile; - -enum ProblemSeverity +namespace Meta { - PROBLEM_NONE, - PROBLEM_WARNING, - PROBLEM_ERROR -}; + class Version; +} +class VersionFile; -class PatchProblem +class ProfilePatch : public ProblemProvider { public: - PatchProblem(ProblemSeverity severity, const QString & description) - { - m_severity = severity; - m_description = description; - } - const QString & getDescription() const - { - return m_description; - } - const ProblemSeverity getSeverity() const - { - return m_severity; - } -private: - ProblemSeverity m_severity; - QString m_description; -}; + ProfilePatch(std::shared_ptr version); + ProfilePatch(std::shared_ptr file, const QString &filename = QString()); -class ProfilePatch : public std::enable_shared_from_this -{ -public: virtual ~ProfilePatch(){}; - virtual void applyTo(MinecraftProfile *profile) = 0; - - virtual bool isMinecraftVersion() = 0; + virtual void applyTo(MinecraftProfile *profile); - virtual bool isMoveable() = 0; - virtual bool isCustomizable() = 0; - virtual bool isRevertible() = 0; - virtual bool isRemovable() = 0; - virtual bool isCustom() = 0; - virtual bool isEditable() = 0; - virtual bool isVersionChangeable() = 0; + virtual bool isMoveable(); + virtual bool isCustomizable(); + virtual bool isRevertible(); + virtual bool isRemovable(); + virtual bool isCustom(); + virtual bool isVersionChangeable(); - virtual void setOrder(int order) = 0; - virtual int getOrder() = 0; + virtual void setOrder(int order); + virtual int getOrder(); - virtual QString getID() = 0; - virtual QString getName() = 0; - virtual QString getVersion() = 0; - virtual QDateTime getReleaseDateTime() = 0; + virtual QString getID(); + virtual QString getName(); + virtual QString getVersion(); + virtual QDateTime getReleaseDateTime(); - virtual QString getFilename() = 0; + virtual QString getFilename(); - virtual std::shared_ptr getVersionFile() = 0; + virtual std::shared_ptr getVersionFile(); - virtual const QList& getProblems() - { - return m_problems; - } - virtual void addProblem(ProblemSeverity severity, const QString &description) - { - if(severity > m_problemSeverity) - { - m_problemSeverity = severity; - } - m_problems.append(PatchProblem(severity, description)); - } - virtual ProblemSeverity getProblemSeverity() - { - return m_problemSeverity; - } + void setVanilla (bool state); + void setRemovable (bool state); + void setRevertible (bool state); + void setCustomizable (bool state); + void setMovable (bool state); protected: - QList m_problems; - ProblemSeverity m_problemSeverity = PROBLEM_NONE; + // Properties for UI and version manipulation from UI in general + bool m_isMovable = false; + bool m_isCustomizable = false; + bool m_isRevertible = false; + bool m_isRemovable = false; + bool m_isVanilla = false; + + bool m_orderOverride = false; + int m_order = 0; + + std::shared_ptr m_metaVersion; + std::shared_ptr m_file; + QString m_filename; }; typedef std::shared_ptr ProfilePatchPtr; -- cgit v1.2.3 From 2ac0edbbdb27e12bae00c4779da135582bde89f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Thu, 30 Mar 2017 01:05:58 +0200 Subject: NOISSUE preview of LWJGL version changing It still needs work - some LWJGL versions are exclusive to macOS. This has to be encoded in the json. --- api/logic/minecraft/ProfilePatch.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'api/logic/minecraft/ProfilePatch.h') diff --git a/api/logic/minecraft/ProfilePatch.h b/api/logic/minecraft/ProfilePatch.h index 9e2555af..fb6b2f05 100644 --- a/api/logic/minecraft/ProfilePatch.h +++ b/api/logic/minecraft/ProfilePatch.h @@ -11,6 +11,7 @@ class MinecraftProfile; namespace Meta { class Version; + class VersionList; } class VersionFile; @@ -41,17 +42,20 @@ public: virtual QString getFilename(); virtual std::shared_ptr getVersionFile(); + virtual std::shared_ptr getVersionList(); void setVanilla (bool state); void setRemovable (bool state); void setRevertible (bool state); - void setCustomizable (bool state); void setMovable (bool state); + + const QList getProblems() override; + ProblemSeverity getProblemSeverity() override; + protected: // Properties for UI and version manipulation from UI in general bool m_isMovable = false; - bool m_isCustomizable = false; bool m_isRevertible = false; bool m_isRemovable = false; bool m_isVanilla = false; -- cgit v1.2.3