From 17c8f31a09da6bdfc4aa7f67b2ca86b791f2ba96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 4 Nov 2017 22:55:25 +0100 Subject: NOISSUE split out the LaunchProfile out of the ComponentList --- api/logic/minecraft/ComponentList.h | 88 +++---------------------------------- 1 file changed, 5 insertions(+), 83 deletions(-) (limited to 'api/logic/minecraft/ComponentList.h') diff --git a/api/logic/minecraft/ComponentList.h b/api/logic/minecraft/ComponentList.h index a566d8f5..0811a829 100644 --- a/api/logic/minecraft/ComponentList.h +++ b/api/logic/minecraft/ComponentList.h @@ -22,11 +22,11 @@ #include #include "Library.h" +#include "LaunchProfile.h" #include "ProfilePatch.h" #include "ProfileUtils.h" #include "BaseVersion.h" #include "MojangDownloadInfo.h" - #include "multimc_logic_export.h" class MinecraftInstance; @@ -80,45 +80,11 @@ public: /// reload all profile patches from storage, clear the profile and apply the patches void reload(); - /// clear the profile - void clear(); - /// apply the patches. Catches all the errors and returns true/false for success/failure bool reapplyPatches(); -public: /* application of profile variables from patches */ - void applyMinecraftVersion(const QString& id); - void applyMainClass(const QString& mainClass); - void applyAppletClass(const QString& appletClass); - void applyMinecraftArguments(const QString& minecraftArguments); - void applyMinecraftVersionType(const QString& type); - void applyMinecraftAssets(MojangAssetIndexInfo::Ptr assets); - void applyTraits(const QSet &traits); - void applyTweakers(const QStringList &tweakers); - void applyJarMods(const QList &jarMods); - void applyMods(const QList &jarMods); - void applyLibrary(LibraryPtr library); - void applyMainJar(LibraryPtr jar); - void applyProblemSeverity(ProblemSeverity severity); - -public: /* getters for profile variables */ - QString getMinecraftVersion() const; - QString getMainClass() const; - QString getAppletClass() const; - QString getMinecraftVersionType() const; - MojangAssetIndexInfo::Ptr getMinecraftAssets() const; - QString getMinecraftArguments() const; - const QSet & getTraits() const; - const QStringList & getTweakers() const; - const QList & getJarMods() const; - const QList & getLibraries() const; - const QList & getNativeLibraries() const; - const LibraryPtr getMainJar() const; - void getLibraryFiles(const QString & architecture, QStringList & jars, QStringList & nativeJars, const QString & overridePath, - const QString & tempPath) const; - bool hasTrait(const QString & trait) const; - ProblemSeverity getProblemSeverity() const; - + std::shared_ptr getProfile() const; + void clearProfile(); public: /// get the profile patch by id ProfilePatchPtr versionPatch(const QString &id); @@ -149,55 +115,11 @@ private: void upgradeDeprecatedFiles_internal(); private: /* data */ - /// the version of Minecraft - jar to use - QString m_minecraftVersion; - - /// Release type - "release" or "snapshot" - QString m_minecraftVersionType; - - /// Assets type - "legacy" or a version ID - MojangAssetIndexInfo::Ptr m_minecraftAssets; - - /** - * arguments that should be used for launching minecraft - * - * ex: "--username ${auth_player_name} --session ${auth_session} - * --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets}" - */ - QString m_minecraftArguments; - - /// A list of all tweaker classes - QStringList m_tweakers; - - /// The main class to load first - QString m_mainClass; - - /// The applet class, for some very old minecraft releases - QString m_appletClass; - - /// the list of libraries - QList m_libraries; - - /// the main jar - LibraryPtr m_mainJar; - - /// the list of libraries - QList m_nativeLibraries; - - /// traits, collected from all the version files (version files can only add) - QSet m_traits; - - /// A list of jar mods. version files can add those. - QList m_jarMods; - - /// the list of mods - QList m_mods; - - ProblemSeverity m_problemSeverity = ProblemSeverity::None; - /// list of attached profile patches QList m_patches; // the instance this belongs to MinecraftInstance *m_instance; + + std::shared_ptr m_profile; }; -- cgit v1.2.3