NOISSUE fix multiple issues in ATLauncher integration

This commit is contained in:
Petr Mrázek
2021-02-09 05:04:23 +01:00
parent 434369ca7c
commit 13a7f8d3b7
11 changed files with 175 additions and 105 deletions

View File

@ -11,6 +11,8 @@
#include "minecraft/PackProfile.h"
#include "meta/Version.h"
#include <nonstd/optional>
namespace ATLauncher {
class MULTIMC_LOGIC_EXPORT PackInstallTask : public InstanceTask
@ -30,6 +32,9 @@ private slots:
void onDownloadSucceeded();
void onDownloadFailed(QString reason);
void onModsDownloaded();
void onModsExtracted();
private:
QString getDirForModType(ModType type, QString raw);
QString getVersionForLoader(QString uid);
@ -40,9 +45,12 @@ private:
void installConfigs();
void extractConfigs();
void installMods();
void extractMods();
void decompMods();
void downloadMods();
bool extractMods(
const QMap<QString, VersionMod> &toExtract,
const QMap<QString, VersionMod> &toDecomp,
const QMap<QString, QString> &toCopy
);
void install();
private:
@ -55,14 +63,18 @@ private:
QMap<QString, VersionMod> modsToExtract;
QMap<QString, VersionMod> modsToDecomp;
QMap<QString, QString> modsToCopy;
QString archivePath;
QStringList jarmods;
Meta::VersionPtr minecraftVersion;
QMap<QString, Meta::VersionPtr> componentsToInstall;
QFuture<QStringList> m_extractFuture;
QFutureWatcher<QStringList> m_extractFutureWatcher;
QFuture<nonstd::optional<QStringList>> m_extractFuture;
QFutureWatcher<nonstd::optional<QStringList>> m_extractFutureWatcher;
QFuture<bool> m_modExtractFuture;
QFutureWatcher<bool> m_modExtractFutureWatcher;
QFuture<bool> m_decompFuture;
QFutureWatcher<bool> m_decompFutureWatcher;