diff options
Diffstat (limited to 'launcher/minecraft')
-rw-r--r-- | launcher/minecraft/MinecraftInstance.cpp | 16 | ||||
-rw-r--r-- | launcher/minecraft/MinecraftInstance.h | 3 | ||||
-rw-r--r-- | launcher/minecraft/auth/flows/AuthContext.cpp | 33 | ||||
-rw-r--r-- | launcher/minecraft/auth/flows/Yggdrasil.cpp | 4 | ||||
-rw-r--r-- | launcher/minecraft/update/FMLLibrariesTask.cpp | 2 |
5 files changed, 37 insertions, 21 deletions
diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index 5f3c7244..f86269f0 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -222,6 +222,11 @@ QString MinecraftInstance::texturePacksDir() const return FS::PathCombine(gameRoot(), "texturepacks"); } +QString MinecraftInstance::shaderPacksDir() const +{ + return FS::PathCombine(gameRoot(), "shaderpacks"); +} + QString MinecraftInstance::instanceConfigFolder() const { return FS::PathCombine(gameRoot(), "config"); @@ -1010,6 +1015,17 @@ std::shared_ptr<ModFolderModel> MinecraftInstance::texturePackList() const return m_texture_pack_list; } +std::shared_ptr<ModFolderModel> MinecraftInstance::shaderPackList() const +{ + if (!m_shader_pack_list) + { + m_shader_pack_list.reset(new ResourcePackFolderModel(shaderPacksDir())); + m_shader_pack_list->disableInteraction(isRunning()); + connect(this, &BaseInstance::runningStatusChanged, m_shader_pack_list.get(), &ModFolderModel::disableInteraction); + } + return m_shader_pack_list; +} + std::shared_ptr<WorldList> MinecraftInstance::worldList() const { if (!m_world_list) diff --git a/launcher/minecraft/MinecraftInstance.h b/launcher/minecraft/MinecraftInstance.h index b55a2776..cdfd350b 100644 --- a/launcher/minecraft/MinecraftInstance.h +++ b/launcher/minecraft/MinecraftInstance.h @@ -39,6 +39,7 @@ public: QString jarModsDir() const; QString resourcePacksDir() const; QString texturePacksDir() const; + QString shaderPacksDir() const; QString loaderModsDir() const; QString coreModsDir() const; QString modsCacheLocation() const; @@ -71,6 +72,7 @@ public: std::shared_ptr<ModFolderModel> coreModList() const; std::shared_ptr<ModFolderModel> resourcePackList() const; std::shared_ptr<ModFolderModel> texturePackList() const; + std::shared_ptr<ModFolderModel> shaderPackList() const; std::shared_ptr<WorldList> worldList() const; std::shared_ptr<GameOptions> gameOptionsModel() const; @@ -124,6 +126,7 @@ protected: // data mutable std::shared_ptr<ModFolderModel> m_loader_mod_list; mutable std::shared_ptr<ModFolderModel> m_core_mod_list; mutable std::shared_ptr<ModFolderModel> m_resource_pack_list; + mutable std::shared_ptr<ModFolderModel> m_shader_pack_list; mutable std::shared_ptr<ModFolderModel> m_texture_pack_list; mutable std::shared_ptr<WorldList> m_world_list; mutable std::shared_ptr<GameOptions> m_game_options; diff --git a/launcher/minecraft/auth/flows/AuthContext.cpp b/launcher/minecraft/auth/flows/AuthContext.cpp index 961057ca..9fb3ec48 100644 --- a/launcher/minecraft/auth/flows/AuthContext.cpp +++ b/launcher/minecraft/auth/flows/AuthContext.cpp @@ -23,7 +23,6 @@ #include "Env.h" using OAuth2 = Katabasis::OAuth2; -using Requestor = AuthRequest; using Activity = Katabasis::Activity; AuthContext::AuthContext(AccountData * data, QObject *parent) : @@ -164,8 +163,8 @@ void AuthContext::doUserAuth() { QNetworkRequest request = QNetworkRequest(QUrl("https://user.auth.xboxlive.com/user/authenticate")); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request.setRawHeader("Accept", "application/json"); - auto *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onUserAuthDone); + auto *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onUserAuthDone); requestor->post(request, xbox_auth_data.toUtf8()); qDebug() << "First layer of XBox auth ... commencing."; } @@ -358,8 +357,8 @@ void AuthContext::doSTSAuthMinecraft() { QNetworkRequest request = QNetworkRequest(QUrl("https://xsts.auth.xboxlive.com/xsts/authorize")); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request.setRawHeader("Accept", "application/json"); - Requestor *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onSTSAuthMinecraftDone); + AuthRequest *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onSTSAuthMinecraftDone); requestor->post(request, xbox_auth_data.toUtf8()); qDebug() << "Getting Minecraft services STS token..."; } @@ -428,8 +427,8 @@ void AuthContext::doMinecraftAuth() { QNetworkRequest request = QNetworkRequest(QUrl("https://api.minecraftservices.com/authentication/login_with_xbox")); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request.setRawHeader("Accept", "application/json"); - Requestor *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onMinecraftAuthDone); + AuthRequest *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onMinecraftAuthDone); requestor->post(request, data.toUtf8()); qDebug() << "Getting Minecraft access token..."; } @@ -518,8 +517,8 @@ void AuthContext::doSTSAuthGeneric() { QNetworkRequest request = QNetworkRequest(QUrl("https://xsts.auth.xboxlive.com/xsts/authorize")); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request.setRawHeader("Accept", "application/json"); - Requestor *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onSTSAuthGenericDone); + AuthRequest *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onSTSAuthGenericDone); requestor->post(request, xbox_auth_data.toUtf8()); qDebug() << "Getting generic STS token..."; } @@ -574,8 +573,8 @@ void AuthContext::doXBoxProfile() { request.setRawHeader("Accept", "application/json"); request.setRawHeader("x-xbl-contract-version", "3"); request.setRawHeader("Authorization", QString("XBL3.0 x=%1;%2").arg(m_data->userToken.extra["uhs"].toString(), m_data->xboxApiToken.token).toUtf8()); - Requestor *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onXBoxProfileDone); + AuthRequest *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onXBoxProfileDone); requestor->get(request); qDebug() << "Getting Xbox profile..."; } @@ -753,8 +752,8 @@ void AuthContext::doMinecraftProfile() { // request.setRawHeader("Accept", "application/json"); request.setRawHeader("Authorization", QString("Bearer %1").arg(m_data->yggdrasilToken.token).toUtf8()); - Requestor *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onMinecraftProfileDone); + AuthRequest *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onMinecraftProfileDone); requestor->get(request); } @@ -801,8 +800,8 @@ void AuthContext::doMigrationEligibilityCheck() { request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request.setRawHeader("Authorization", QString("Bearer %1").arg(m_data->yggdrasilToken.token).toUtf8()); - Requestor *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onMigrationEligibilityCheckDone); + AuthRequest *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onMigrationEligibilityCheckDone); requestor->get(request); } @@ -853,8 +852,8 @@ void AuthContext::doGetSkin() { auto url = QUrl(m_data->minecraftProfile.skin.url); QNetworkRequest request = QNetworkRequest(url); - Requestor *requestor = new Requestor(this); - connect(requestor, &Requestor::finished, this, &AuthContext::onSkinDone); + AuthRequest *requestor = new AuthRequest(this); + connect(requestor, &AuthRequest::finished, this, &AuthContext::onSkinDone); requestor->get(request); } diff --git a/launcher/minecraft/auth/flows/Yggdrasil.cpp b/launcher/minecraft/auth/flows/Yggdrasil.cpp index c2935d05..ce828fd4 100644 --- a/launcher/minecraft/auth/flows/Yggdrasil.cpp +++ b/launcher/minecraft/auth/flows/Yggdrasil.cpp @@ -243,9 +243,7 @@ void Yggdrasil::processReply() STATE_FAILED_SOFT, tr("<b>SSL Handshake failed.</b><br/>There might be a few causes for it:<br/>" "<ul>" - "<li>You use Windows XP and need to <a " - "href=\"https://www.microsoft.com/en-us/download/details.aspx?id=38918\">update " - "your root certificates</a></li>" + "<li>You use Windows and need to update your root certificates, please install any outstanding updates.</li>" "<li>Some device on your network is interfering with SSL traffic. In that case, " "you have bigger worries than Minecraft not starting.</li>" "<li>Possibly something else. Check the MultiMC log file for details</li>" diff --git a/launcher/minecraft/update/FMLLibrariesTask.cpp b/launcher/minecraft/update/FMLLibrariesTask.cpp index a05a7c2a..8f1a43ff 100644 --- a/launcher/minecraft/update/FMLLibrariesTask.cpp +++ b/launcher/minecraft/update/FMLLibrariesTask.cpp @@ -58,7 +58,7 @@ void FMLLibrariesTask::executeTask() } // download missing libs to our place - setStatus(tr("Dowloading FML libraries...")); + setStatus(tr("Downloading FML libraries...")); auto dljob = new NetJob("FML libraries"); auto metacache = ENV.metacache(); for (auto &lib : fmlLibsToProcess) |