diff options
Diffstat (limited to 'logic')
| -rw-r--r-- | logic/BaseInstaller.cpp | 9 | ||||
| -rw-r--r-- | logic/BaseInstaller.h | 2 | ||||
| -rw-r--r-- | logic/BaseInstance.cpp | 4 | ||||
| -rw-r--r-- | logic/BaseInstance.h | 24 | ||||
| -rw-r--r-- | logic/BaseVersion.h | 4 | ||||
| -rw-r--r-- | logic/BaseVersionList.cpp (renamed from logic/lists/BaseVersionList.cpp) | 2 | ||||
| -rw-r--r-- | logic/BaseVersionList.h (renamed from logic/lists/BaseVersionList.h) | 0 | ||||
| -rw-r--r-- | logic/InstanceFactory.cpp | 79 | ||||
| -rw-r--r-- | logic/InstanceLauncher.cpp | 2 | ||||
| -rw-r--r-- | logic/InstanceList.cpp (renamed from logic/lists/InstanceList.cpp) | 16 | ||||
| -rw-r--r-- | logic/InstanceList.h (renamed from logic/lists/InstanceList.h) | 0 | ||||
| -rw-r--r-- | logic/LegacyFTBInstance.cpp | 5 | ||||
| -rw-r--r-- | logic/LegacyFTBInstance.h | 1 | ||||
| -rw-r--r-- | logic/LegacyInstance.cpp | 55 | ||||
| -rw-r--r-- | logic/LegacyInstance.h | 14 | ||||
| -rw-r--r-- | logic/LegacyUpdate.cpp | 85 | ||||
| -rw-r--r-- | logic/LegacyUpdate.h | 9 | ||||
| -rw-r--r-- | logic/LwjglVersionList.cpp (renamed from logic/lists/LwjglVersionList.cpp) | 0 | ||||
| -rw-r--r-- | logic/LwjglVersionList.h (renamed from logic/lists/LwjglVersionList.h) | 0 | ||||
| -rw-r--r-- | logic/MMCJson.cpp | 24 | ||||
| -rw-r--r-- | logic/MMCJson.h | 19 | ||||
| -rw-r--r-- | logic/MinecraftVersion.h | 89 | ||||
| -rw-r--r-- | logic/ModList.cpp | 1 | ||||
| -rw-r--r-- | logic/NostalgiaInstance.cpp | 36 | ||||
| -rw-r--r-- | logic/NostalgiaInstance.h | 29 | ||||
| -rw-r--r-- | logic/OneSixFTBInstance.cpp | 16 | ||||
| -rw-r--r-- | logic/OneSixFTBInstance.h | 1 | ||||
| -rw-r--r-- | logic/OneSixInstance.cpp | 299 | ||||
| -rw-r--r-- | logic/OneSixInstance.h | 44 | ||||
| -rw-r--r-- | logic/OneSixInstance_p.h | 13 | ||||
| -rw-r--r-- | logic/OneSixUpdate.cpp | 357 | ||||
| -rw-r--r-- | logic/OneSixUpdate.h | 21 | ||||
| -rw-r--r-- | logic/OneSixVersionBuilder.cpp | 252 | ||||
| -rw-r--r-- | logic/OneSixVersionBuilder.h | 47 | ||||
| -rw-r--r-- | logic/URNResolver.cpp | 98 | ||||
| -rw-r--r-- | logic/URNResolver.h | 18 | ||||
| -rw-r--r-- | logic/VersionFile.h | 127 | ||||
| -rw-r--r-- | logic/VersionFilterData.cpp | 68 | ||||
| -rw-r--r-- | logic/VersionFilterData.h | 26 | ||||
| -rw-r--r-- | logic/VersionFinal.cpp | 377 | ||||
| -rw-r--r-- | logic/forge/ForgeInstaller.cpp (renamed from logic/ForgeInstaller.cpp) | 194 | ||||
| -rw-r--r-- | logic/forge/ForgeInstaller.h (renamed from logic/ForgeInstaller.h) | 22 | ||||
| -rw-r--r-- | logic/forge/ForgeMirror.h (renamed from logic/net/ForgeMirror.h) | 0 | ||||
| -rw-r--r-- | logic/forge/ForgeMirrors.cpp (renamed from logic/net/ForgeMirrors.cpp) | 0 | ||||
| -rw-r--r-- | logic/forge/ForgeMirrors.h (renamed from logic/net/ForgeMirrors.h) | 8 | ||||
| -rw-r--r-- | logic/forge/ForgeVersion.cpp | 55 | ||||
| -rw-r--r-- | logic/forge/ForgeVersion.h | 33 | ||||
| -rw-r--r-- | logic/forge/ForgeVersionList.cpp (renamed from logic/lists/ForgeVersionList.cpp) | 28 | ||||
| -rw-r--r-- | logic/forge/ForgeVersionList.h (renamed from logic/lists/ForgeVersionList.h) | 55 | ||||
| -rw-r--r-- | logic/forge/ForgeXzDownload.cpp (renamed from logic/net/ForgeXzDownload.cpp) | 0 | ||||
| -rw-r--r-- | logic/forge/ForgeXzDownload.h (renamed from logic/net/ForgeXzDownload.h) | 4 | ||||
| -rw-r--r-- | logic/forge/LegacyForge.cpp (renamed from logic/LegacyForge.cpp) | 0 | ||||
| -rw-r--r-- | logic/forge/LegacyForge.h (renamed from logic/LegacyForge.h) | 2 | ||||
| -rw-r--r-- | logic/java/JavaChecker.cpp (renamed from logic/JavaChecker.cpp) | 0 | ||||
| -rw-r--r-- | logic/java/JavaChecker.h (renamed from logic/JavaChecker.h) | 0 | ||||
| -rw-r--r-- | logic/java/JavaCheckerJob.cpp (renamed from logic/JavaCheckerJob.cpp) | 0 | ||||
| -rw-r--r-- | logic/java/JavaCheckerJob.h (renamed from logic/JavaCheckerJob.h) | 0 | ||||
| -rw-r--r-- | logic/java/JavaUtils.cpp (renamed from logic/JavaUtils.cpp) | 8 | ||||
| -rw-r--r-- | logic/java/JavaUtils.h (renamed from logic/JavaUtils.h) | 2 | ||||
| -rw-r--r-- | logic/java/JavaVersionList.cpp (renamed from logic/lists/JavaVersionList.cpp) | 10 | ||||
| -rw-r--r-- | logic/java/JavaVersionList.h (renamed from logic/lists/JavaVersionList.h) | 4 | ||||
| -rw-r--r-- | logic/lists/MinecraftVersionList.cpp | 290 | ||||
| -rw-r--r-- | logic/liteloader/LiteLoaderInstaller.cpp (renamed from logic/LiteLoaderInstaller.cpp) | 8 | ||||
| -rw-r--r-- | logic/liteloader/LiteLoaderInstaller.h (renamed from logic/LiteLoaderInstaller.h) | 5 | ||||
| -rw-r--r-- | logic/liteloader/LiteLoaderVersionList.cpp (renamed from logic/lists/LiteLoaderVersionList.cpp) | 0 | ||||
| -rw-r--r-- | logic/liteloader/LiteLoaderVersionList.h (renamed from logic/lists/LiteLoaderVersionList.h) | 6 | ||||
| -rw-r--r-- | logic/minecraft/InstanceVersion.cpp | 537 | ||||
| -rw-r--r-- | logic/minecraft/InstanceVersion.h (renamed from logic/VersionFinal.h) | 73 | ||||
| -rw-r--r-- | logic/minecraft/JarMod.cpp | 56 | ||||
| -rw-r--r-- | logic/minecraft/JarMod.h | 18 | ||||
| -rw-r--r-- | logic/minecraft/MinecraftVersion.cpp | 143 | ||||
| -rw-r--r-- | logic/minecraft/MinecraftVersion.h | 103 | ||||
| -rw-r--r-- | logic/minecraft/MinecraftVersionList.cpp | 602 | ||||
| -rw-r--r-- | logic/minecraft/MinecraftVersionList.h (renamed from logic/lists/MinecraftVersionList.h) | 42 | ||||
| -rw-r--r-- | logic/minecraft/OneSixLibrary.cpp (renamed from logic/OneSixLibrary.cpp) | 79 | ||||
| -rw-r--r-- | logic/minecraft/OneSixLibrary.h (renamed from logic/OneSixLibrary.h) | 34 | ||||
| -rw-r--r-- | logic/minecraft/OneSixRule.cpp (renamed from logic/OneSixRule.cpp) | 17 | ||||
| -rw-r--r-- | logic/minecraft/OneSixRule.h (renamed from logic/OneSixRule.h) | 8 | ||||
| -rw-r--r-- | logic/minecraft/OpSys.cpp (renamed from logic/OpSys.cpp) | 0 | ||||
| -rw-r--r-- | logic/minecraft/OpSys.h (renamed from logic/OpSys.h) | 0 | ||||
| -rw-r--r-- | logic/minecraft/ParseUtils.cpp | 24 | ||||
| -rw-r--r-- | logic/minecraft/ParseUtils.h | 14 | ||||
| -rw-r--r-- | logic/minecraft/RawLibrary.cpp | 205 | ||||
| -rw-r--r-- | logic/minecraft/RawLibrary.h | 64 | ||||
| -rw-r--r-- | logic/minecraft/VersionBuildError.h | 58 | ||||
| -rw-r--r-- | logic/minecraft/VersionBuilder.cpp | 349 | ||||
| -rw-r--r-- | logic/minecraft/VersionBuilder.h | 56 | ||||
| -rw-r--r-- | logic/minecraft/VersionFile.cpp (renamed from logic/VersionFile.cpp) | 378 | ||||
| -rw-r--r-- | logic/minecraft/VersionFile.h | 103 | ||||
| -rw-r--r-- | logic/minecraft/VersionPatch.h | 31 | ||||
| -rw-r--r-- | logic/minecraft/VersionSource.h | 9 | ||||
| -rw-r--r-- | logic/net/NetJob.h | 1 | ||||
| -rw-r--r-- | logic/tasks/ProgressProvider.h | 1 |
93 files changed, 3848 insertions, 2164 deletions
diff --git a/logic/BaseInstaller.cpp b/logic/BaseInstaller.cpp index 669fd0ac..5660eb07 100644 --- a/logic/BaseInstaller.cpp +++ b/logic/BaseInstaller.cpp @@ -13,15 +13,10 @@ * limitations under the License. */ -#include "BaseInstaller.h" - #include <QFile> -#include "VersionFinal.h" -#include "OneSixLibrary.h" -#include "OneSixInstance.h" - -#include "cmdutils.h" +#include "logic/BaseInstaller.h" +#include "logic/OneSixInstance.h" BaseInstaller::BaseInstaller() { diff --git a/logic/BaseInstaller.h b/logic/BaseInstaller.h index d59833cc..9531fbff 100644 --- a/logic/BaseInstaller.h +++ b/logic/BaseInstaller.h @@ -29,7 +29,7 @@ class BaseInstaller { public: BaseInstaller(); - + virtual ~BaseInstaller(){}; bool isApplied(OneSixInstance *on); virtual bool add(OneSixInstance *to); diff --git a/logic/BaseInstance.cpp b/logic/BaseInstance.cpp index 5fa62593..0088530f 100644 --- a/logic/BaseInstance.cpp +++ b/logic/BaseInstance.cpp @@ -27,7 +27,7 @@ #include "pathutils.h" #include <cmdutils.h> -#include "lists/MinecraftVersionList.h" +#include "logic/minecraft/MinecraftVersionList.h" #include "logic/icons/IconList.h" BaseInstance::BaseInstance(BaseInstancePrivate *d_in, const QString &rootDir, @@ -58,6 +58,8 @@ BaseInstance::BaseInstance(BaseInstancePrivate *d_in, const QString &rootDir, // Java Settings settings().registerSetting("OverrideJava", false); + settings().registerSetting("OverrideJavaLocation", false); + settings().registerSetting("OverrideJavaArgs", false); settings().registerOverride(globalSettings->getSetting("JavaPath")); settings().registerOverride(globalSettings->getSetting("JvmArgs")); diff --git a/logic/BaseInstance.h b/logic/BaseInstance.h index 16791592..9598549b 100644 --- a/logic/BaseInstance.h +++ b/logic/BaseInstance.h @@ -22,9 +22,10 @@ #include <settingsobject.h> #include "inifile.h" -#include "lists/BaseVersionList.h" +#include "logic/BaseVersionList.h" #include "logic/auth/MojangAccount.h" +class ModList; class QDialog; class QDir; class Task; @@ -89,7 +90,7 @@ public: void setGroupInitial(QString val); void setGroupPost(QString val); - QStringList extraArguments() const; + virtual QStringList extraArguments() const; virtual QString intendedVersionId() const = 0; virtual bool setIntendedVersionId(QString version) = 0; @@ -110,6 +111,19 @@ public: virtual bool shouldUpdate() const = 0; virtual void setShouldUpdate(bool val) = 0; + ////// Mod Lists ////// + virtual std::shared_ptr<ModList> resourcePackList() + { + return nullptr; + } + virtual std::shared_ptr<ModList> texturePackList() + { + return nullptr; + } + + /// Traits. Normally inside the version, depends on instance implementation. + virtual QSet <QString> traits() = 0; + /// Get the curent base jar of this instance. By default, it's the /// versions/$version/$version.jar QString baseJar() const; @@ -169,12 +183,6 @@ public: /// 'prepareForLaunch' virtual void cleanupAfterRun() = 0; - /// create a mod edit dialog for the instance - virtual QDialog *createModEditDialog(QWidget *parent) = 0; - - /// is a particular action enabled with this instance selected? - virtual bool menuActionEnabled(QString action_name) const = 0; - virtual QString getStatusbarDescription() = 0; /// FIXME: this really should be elsewhere... diff --git a/logic/BaseVersion.h b/logic/BaseVersion.h index 43f5942a..ed63f551 100644 --- a/logic/BaseVersion.h +++ b/logic/BaseVersion.h @@ -16,6 +16,8 @@ #pragma once #include <memory> +#include <QString> +#include <QMetaType> /*! * An abstract base class for versions. @@ -52,4 +54,4 @@ struct BaseVersion typedef std::shared_ptr<BaseVersion> BaseVersionPtr; -Q_DECLARE_METATYPE(BaseVersionPtr)
\ No newline at end of file +Q_DECLARE_METATYPE(BaseVersionPtr) diff --git a/logic/lists/BaseVersionList.cpp b/logic/BaseVersionList.cpp index 6e2c5282..b34750b5 100644 --- a/logic/lists/BaseVersionList.cpp +++ b/logic/BaseVersionList.cpp @@ -13,7 +13,7 @@ * limitations under the License. */ -#include "logic/lists/BaseVersionList.h" +#include "logic/BaseVersionList.h" #include "logic/BaseVersion.h" BaseVersionList::BaseVersionList(QObject *parent) : QAbstractListModel(parent) diff --git a/logic/lists/BaseVersionList.h b/logic/BaseVersionList.h index 21b44e8d..21b44e8d 100644 --- a/logic/lists/BaseVersionList.h +++ b/logic/BaseVersionList.h diff --git a/logic/InstanceFactory.cpp b/logic/InstanceFactory.cpp index 95fd855b..c0a392e0 100644 --- a/logic/InstanceFactory.cpp +++ b/logic/InstanceFactory.cpp @@ -13,28 +13,26 @@ * limitations under the License. */ -#include "InstanceFactory.h" - #include <QDir> #include <QFileInfo> - -#include "BaseInstance.h" -#include "LegacyInstance.h" -#include "LegacyFTBInstance.h" -#include "OneSixInstance.h" -#include "OneSixFTBInstance.h" -#include "NostalgiaInstance.h" -#include "OneSixInstance.h" -#include "BaseVersion.h" -#include "MinecraftVersion.h" - -#include "inifile.h" +#include <inifile.h> #include <inisettingsobject.h> #include <setting.h> -#include "pathutils.h" +#include <pathutils.h> #include "logger/QsLog.h" +#include "logic/InstanceFactory.h" + +#include "logic/BaseInstance.h" +#include "logic/LegacyInstance.h" +#include "logic/LegacyFTBInstance.h" +#include "logic/OneSixInstance.h" +#include "logic/OneSixFTBInstance.h" +#include "logic/OneSixInstance.h" +#include "logic/BaseVersion.h" +#include "logic/minecraft/MinecraftVersion.h" + InstanceFactory InstanceFactory::loader; InstanceFactory::InstanceFactory() : QObject(NULL) @@ -51,7 +49,7 @@ InstanceFactory::InstLoadError InstanceFactory::loadInstance(InstancePtr &inst, QString inst_type = m_settings->get("InstanceType").toString(); // FIXME: replace with a map lookup, where instance classes register their types - if (inst_type == "OneSix") + if (inst_type == "OneSix" || inst_type == "Nostalgia") { inst.reset(new OneSixInstance(instDir, m_settings, this)); } @@ -59,10 +57,6 @@ InstanceFactory::InstLoadError InstanceFactory::loadInstance(InstancePtr &inst, { inst.reset(new LegacyInstance(instDir, m_settings, this)); } - else if (inst_type == "Nostalgia") - { - inst.reset(new NostalgiaInstance(instDir, m_settings, this)); - } else if (inst_type == "LegacyFTB") { inst.reset(new LegacyFTBInstance(instDir, m_settings, this)); @@ -98,55 +92,26 @@ InstanceFactory::InstCreateError InstanceFactory::createInstance(InstancePtr &in if (type == NormalInst) { - switch (mcVer->type) - { - case MinecraftVersion::Legacy: - // TODO new instance type - m_settings->set("InstanceType", "Legacy"); - inst.reset(new LegacyInstance(instDir, m_settings, this)); - inst->setIntendedVersionId(version->descriptor()); - inst->setShouldUseCustomBaseJar(false); - break; - case MinecraftVersion::OneSix: - m_settings->set("InstanceType", "OneSix"); - inst.reset(new OneSixInstance(instDir, m_settings, this)); - inst->setIntendedVersionId(version->descriptor()); - inst->setShouldUseCustomBaseJar(false); - break; - case MinecraftVersion::Nostalgia: - m_settings->set("InstanceType", "Nostalgia"); - inst.reset(new NostalgiaInstance(instDir, m_settings, this)); - inst->setIntendedVersionId(version->descriptor()); - inst->setShouldUseCustomBaseJar(false); - break; - default: - { |
