From 09e85e948cdb361c306a1cccbc3557a464366a21 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 11 Jul 2022 09:01:07 +0200 Subject: refactor: introduce RuntimeContext Signed-off-by: Sefa Eyeoglu --- launcher/minecraft/Library.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'launcher/minecraft/Library.h') diff --git a/launcher/minecraft/Library.h b/launcher/minecraft/Library.h index 0740a7ca..e0432fb8 100644 --- a/launcher/minecraft/Library.h +++ b/launcher/minecraft/Library.h @@ -10,9 +10,9 @@ #include #include "Rule.h" -#include "minecraft/OpSys.h" #include "GradleSpecifier.h" #include "MojangDownloadInfo.h" +#include "RuntimeContext.h" class Library; class MinecraftInstance; @@ -98,7 +98,7 @@ public: /* methods */ m_repositoryURL = base_url; } - void getApplicableFiles(OpSys system, QStringList & jar, QStringList & native, + void getApplicableFiles(const RuntimeContext & runtimeContext, QStringList & jar, QStringList & native, QStringList & native32, QStringList & native64, const QString & overridePath) const; void setAbsoluteUrl(const QString &absolute_url) @@ -112,7 +112,7 @@ public: /* methods */ } /// Get the file name of the library - QString filename(OpSys system) const; + QString filename(const RuntimeContext & runtimeContext) const; // DEPRECATED: set a display name, used by jar mods only void setDisplayName(const QString & displayName) @@ -121,7 +121,7 @@ public: /* methods */ } /// Get the file name of the library - QString displayName(OpSys system) const; + QString displayName(const RuntimeContext & runtimeContext) const; void setMojangDownloadInfo(MojangLibraryDownloadInfo::Ptr info) { @@ -140,7 +140,7 @@ public: /* methods */ } /// Returns true if the library should be loaded (or extracted, in case of natives) - bool isActive() const; + bool isActive(const RuntimeContext & runtimeContext) const; /// Returns true if the library is contained in an instance and false if it is shared bool isLocal() const; @@ -152,7 +152,7 @@ public: /* methods */ bool isForge() const; // Get a list of downloads for this library - QList getDownloads(OpSys system, class HttpMetaCache * cache, + QList getDownloads(const RuntimeContext & runtimeContext, class HttpMetaCache * cache, QStringList & failedLocalFiles, const QString & overridePath) const; private: /* methods */ @@ -163,7 +163,7 @@ private: /* methods */ QString storagePrefix() const; /// Get the relative file path where the library should be saved - QString storageSuffix(OpSys system) const; + QString storageSuffix(const RuntimeContext & runtimeContext) const; QString hint() const { @@ -204,7 +204,7 @@ protected: /* data */ QStringList m_extractExcludes; /// native suffixes per OS - QMap m_nativeClassifiers; + QMap m_nativeClassifiers; /// true if the library had a rules section (even empty) bool applyRules = false; -- cgit From 7bd8bd13feddded96b087bb142101f87cb0003b8 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Sun, 7 Aug 2022 00:06:32 +0200 Subject: feat: support multiarch system classifiers Signed-off-by: Sefa Eyeoglu --- launcher/minecraft/Library.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'launcher/minecraft/Library.h') diff --git a/launcher/minecraft/Library.h b/launcher/minecraft/Library.h index e0432fb8..b8fae9ec 100644 --- a/launcher/minecraft/Library.h +++ b/launcher/minecraft/Library.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -155,6 +156,8 @@ public: /* methods */ QList getDownloads(const RuntimeContext & runtimeContext, class HttpMetaCache * cache, QStringList & failedLocalFiles, const QString & overridePath) const; + QString getCompatibleNative(const RuntimeContext & runtimeContext) const; + private: /* methods */ /// the default storage prefix used by PolyMC static QString defaultStoragePrefix(); -- cgit From 3111e6a7212ae914041fce6d851d7662975dc1be Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Sat, 8 Oct 2022 20:09:53 +0200 Subject: chore: add missing license headers Signed-off-by: Sefa Eyeoglu --- launcher/minecraft/Library.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'launcher/minecraft/Library.h') diff --git a/launcher/minecraft/Library.h b/launcher/minecraft/Library.h index b8fae9ec..950aec9d 100644 --- a/launcher/minecraft/Library.h +++ b/launcher/minecraft/Library.h @@ -1,3 +1,38 @@ +// SPDX-License-Identifier: GPL-3.0-only +/* + * PolyMC - Minecraft Launcher + * Copyright (C) 2022 Sefa Eyeoglu + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * This file incorporates work covered by the following copyright and + * permission notice: + * + * Copyright 2013-2021 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once #include #include -- cgit