aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml86
-rw-r--r--.github/workflows/trigger_release.yml31
-rw-r--r--CMakeLists.txt18
-rw-r--r--launcher/InstanceCreationTask.cpp8
-rw-r--r--launcher/InstanceImportTask.cpp10
-rw-r--r--launcher/MMCZip.cpp27
-rw-r--r--launcher/MMCZip.h4
-rw-r--r--launcher/minecraft/MinecraftInstance.cpp6
-rw-r--r--launcher/modplatform/flame/FileResolvingTask.cpp20
-rw-r--r--launcher/modplatform/flame/FlameInstanceCreationTask.cpp1
-rw-r--r--launcher/resources/multimc/128x128/instances/chicken_legacy.png (renamed from launcher/resources/multimc/128x128/instances/chicken.png)bin6369 -> 6369 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/creeper_legacy.png (renamed from launcher/resources/multimc/128x128/instances/creeper.png)bin9046 -> 9046 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/enderpearl_legacy.png (renamed from launcher/resources/multimc/128x128/instances/enderpearl.png)bin21425 -> 21425 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/flame_legacy.png (renamed from launcher/resources/multimc/128x128/instances/flame.png)bin6226 -> 6226 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/ftb_logo_legacy.png (renamed from launcher/resources/multimc/128x128/instances/ftb_logo.png)bin7883 -> 7883 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/gear_legacy.png (renamed from launcher/resources/multimc/128x128/instances/gear.png)bin18321 -> 18321 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/herobrine_legacy.png (renamed from launcher/resources/multimc/128x128/instances/herobrine.png)bin4937 -> 4937 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/infinity_legacy.png (renamed from launcher/resources/multimc/128x128/instances/infinity.png)bin8012 -> 8012 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/magitech_legacy.png (renamed from launcher/resources/multimc/128x128/instances/magitech.png)bin23097 -> 23097 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/meat_legacy.png (renamed from launcher/resources/multimc/128x128/instances/meat.png)bin10583 -> 10583 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/netherstar_legacy.png (renamed from launcher/resources/multimc/128x128/instances/netherstar.png)bin14062 -> 14062 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/skeleton_legacy.png (renamed from launcher/resources/multimc/128x128/instances/skeleton.png)bin3673 -> 3673 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/squarecreeper_legacy.png (renamed from launcher/resources/multimc/128x128/instances/squarecreeper.png)bin9136 -> 9136 bytes
-rw-r--r--launcher/resources/multimc/128x128/instances/steve_legacy.png (renamed from launcher/resources/multimc/128x128/instances/steve.png)bin4312 -> 4312 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/brick_legacy.png (renamed from launcher/resources/multimc/32x32/instances/brick.png)bin2388 -> 2388 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/chicken_legacy.png (renamed from launcher/resources/multimc/32x32/instances/chicken.png)bin1181 -> 1181 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/creeper_legacy.png (renamed from launcher/resources/multimc/32x32/instances/creeper.png)bin1524 -> 1524 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/diamond_legacy.png (renamed from launcher/resources/multimc/32x32/instances/diamond.png)bin2444 -> 2444 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/dirt_legacy.png (renamed from launcher/resources/multimc/32x32/instances/dirt.png)bin482 -> 482 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/enderpearl_legacy.png (renamed from launcher/resources/multimc/32x32/instances/enderpearl.png)bin2120 -> 2120 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/ftb_logo_legacy.png (renamed from launcher/resources/multimc/32x32/instances/ftb_logo.png)bin1607 -> 1607 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/gear_legacy.png (renamed from launcher/resources/multimc/32x32/instances/gear.png)bin2414 -> 2414 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/gold_legacy.png (renamed from launcher/resources/multimc/32x32/instances/gold.png)bin2366 -> 2366 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/grass_legacy.png (renamed from launcher/resources/multimc/32x32/instances/grass.png)bin618 -> 618 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/herobrine_legacy.png (renamed from launcher/resources/multimc/32x32/instances/herobrine.png)bin1034 -> 1034 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/infinity_legacy.png (renamed from launcher/resources/multimc/32x32/instances/infinity.png)bin1714 -> 1714 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/iron_legacy.png (renamed from launcher/resources/multimc/32x32/instances/iron.png)bin1772 -> 1772 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/magitech_legacy.png (renamed from launcher/resources/multimc/32x32/instances/magitech.png)bin2646 -> 2646 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/meat_legacy.png (renamed from launcher/resources/multimc/32x32/instances/meat.png)bin1514 -> 1514 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/netherstar_legacy.png (renamed from launcher/resources/multimc/32x32/instances/netherstar.png)bin1942 -> 1942 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/planks_legacy.png (renamed from launcher/resources/multimc/32x32/instances/planks.png)bin2299 -> 2299 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/skeleton_legacy.png (renamed from launcher/resources/multimc/32x32/instances/skeleton.png)bin696 -> 696 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/squarecreeper_legacy.png (renamed from launcher/resources/multimc/32x32/instances/squarecreeper.png)bin1623 -> 1623 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/steve_legacy.png (renamed from launcher/resources/multimc/32x32/instances/steve.png)bin969 -> 969 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/stone_legacy.png (renamed from launcher/resources/multimc/32x32/instances/stone.png)bin1866 -> 1866 bytes
-rw-r--r--launcher/resources/multimc/32x32/instances/tnt_legacy.png (renamed from launcher/resources/multimc/32x32/instances/tnt.png)bin378 -> 378 bytes
-rw-r--r--launcher/resources/multimc/50x50/instances/enderman_legacy.png (renamed from launcher/resources/multimc/50x50/instances/enderman.png)bin2429 -> 2429 bytes
-rw-r--r--launcher/resources/multimc/multimc.qrc105
-rw-r--r--launcher/resources/multimc/scalable/instances/bee.svg289
-rw-r--r--launcher/resources/multimc/scalable/instances/bee_legacy.svg159
-rw-r--r--launcher/resources/multimc/scalable/instances/brick.svg67
-rw-r--r--launcher/resources/multimc/scalable/instances/chicken.svg130
-rw-r--r--launcher/resources/multimc/scalable/instances/creeper.svg68
-rw-r--r--launcher/resources/multimc/scalable/instances/diamond.svg62
-rw-r--r--launcher/resources/multimc/scalable/instances/dirt.svg52
-rw-r--r--launcher/resources/multimc/scalable/instances/enderman.svg96
-rw-r--r--launcher/resources/multimc/scalable/instances/enderpearl.svg95
-rw-r--r--launcher/resources/multimc/scalable/instances/flame.svg49
-rw-r--r--launcher/resources/multimc/scalable/instances/fox.svg435
-rw-r--r--launcher/resources/multimc/scalable/instances/fox_legacy.svg290
-rw-r--r--launcher/resources/multimc/scalable/instances/ftb_logo.svg82
-rw-r--r--launcher/resources/multimc/scalable/instances/gear.svg68
-rw-r--r--launcher/resources/multimc/scalable/instances/gold.svg63
-rw-r--r--launcher/resources/multimc/scalable/instances/grass.svg84
-rw-r--r--launcher/resources/multimc/scalable/instances/herobrine.svg111
-rw-r--r--launcher/resources/multimc/scalable/instances/iron.svg178
-rw-r--r--launcher/resources/multimc/scalable/instances/magitech.svg85
-rw-r--r--launcher/resources/multimc/scalable/instances/meat.svg121
-rw-r--r--launcher/resources/multimc/scalable/instances/modrinth.svg74
-rw-r--r--launcher/resources/multimc/scalable/instances/netherstar.svg81
-rw-r--r--launcher/resources/multimc/scalable/instances/planks.svg93
-rw-r--r--launcher/resources/multimc/scalable/instances/skeleton.svg134
-rw-r--r--launcher/resources/multimc/scalable/instances/squarecreeper.svg81
-rw-r--r--launcher/resources/multimc/scalable/instances/steve.svg154
-rw-r--r--launcher/resources/multimc/scalable/instances/stone.svg55
-rw-r--r--launcher/resources/multimc/scalable/instances/tnt.svg126
-rw-r--r--launcher/ui/pages/global/JavaPage.cpp34
-rw-r--r--launcher/ui/pages/global/JavaPage.h3
-rw-r--r--launcher/ui/pages/global/JavaPage.ui82
-rw-r--r--launcher/ui/pages/instance/ExternalResourcesPage.cpp11
-rw-r--r--launcher/ui/pages/instance/ExternalResourcesPage.h1
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.cpp35
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.h3
-rw-r--r--launcher/ui/pages/instance/InstanceSettingsPage.ui67
-rw-r--r--launcher/ui/pages/instance/ModFolderPage.cpp2
-rw-r--r--launcher/ui/pages/instance/ModFolderPage.h2
-rw-r--r--launcher/ui/widgets/JavaSettingsWidget.cpp42
-rw-r--r--launcher/ui/widgets/JavaSettingsWidget.h9
-rw-r--r--program_info/instance_icons.svg2720
89 files changed, 6052 insertions, 657 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f07a86e6..1ba5d0e4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -38,17 +38,11 @@ jobs:
qt_tools: ''
- os: windows-2022
- name: "Windows-Legacy"
- msystem: clang32
- qt_ver: 5
-
- - os: windows-2022
- name: "Windows"
+ name: "Windows-MinGW-w64"
msystem: clang64
- qt_ver: 6
- os: windows-2022
- name: "Windows-Legacy-MSVC"
+ name: "Windows-MSVC-Legacy"
msystem: ''
architecture: 'win32'
vcvars_arch: 'amd64_x86'
@@ -67,7 +61,19 @@ jobs:
qt_ver: 6
qt_host: windows
qt_arch: ''
- qt_version: '6.4.1'
+ qt_version: '6.4.0'
+ qt_modules: 'qt5compat qtimageformats'
+ qt_tools: ''
+
+ - os: windows-2022
+ name: "Windows-MSVC-arm64"
+ msystem: ''
+ architecture: 'arm64'
+ vcvars_arch: 'amd64_arm64'
+ qt_ver: 6
+ qt_host: windows
+ qt_arch: 'win64_msvc2019_arm64'
+ qt_version: '6.4.0'
qt_modules: 'qt5compat qtimageformats'
qt_tools: ''
@@ -123,12 +129,12 @@ jobs:
cmake:p
extra-cmake-modules:p
ninja:p
- qt${{ matrix.qt_ver }}-base:p
- qt${{ matrix.qt_ver }}-svg:p
- qt${{ matrix.qt_ver }}-imageformats:p
- quazip-qt${{ matrix.qt_ver }}:p
+ qt6-base:p
+ qt6-svg:p
+ qt6-imageformats:p
+ quazip-qt6:p
ccache:p
- ${{ matrix.qt_ver == 6 && 'qt6-5compat:p' || '' }}
+ qt6-5compat:p
- name: Force newer ccache
if: runner.os == 'Windows' && matrix.msystem == '' && inputs.build_type == 'Debug'
@@ -139,7 +145,7 @@ jobs:
if: (runner.os != 'Windows' || matrix.msystem == '') && inputs.build_type == 'Debug'
uses: hendrikmuhs/ccache-action@v1.2.5
with:
- key: ${{ matrix.os }}-qt${{ matrix.qt_ver }}
+ key: ${{ matrix.os }}-qt${{ matrix.qt_ver }}-${{ matrix.architecture }}
- name: Setup ccache (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug'
@@ -162,9 +168,9 @@ jobs:
uses: actions/cache@v3.0.11
with:
path: '${{ github.workspace }}\.ccache'
- key: ${{ matrix.os }}-qt${{ matrix.qt_ver }}
+ key: ${{ matrix.os }}-mingw-w64
restore-keys: |
- ${{ matrix.os }}-qt${{ matrix.qt_ver }}
+ ${{ matrix.os }}-mingw-w64
- name: Set short version
shell: bash
@@ -188,8 +194,23 @@ jobs:
if: runner.os == 'Linux' && matrix.qt_ver != 6
run: |
sudo apt-get -y install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5core5a libqt5network5 libqt5gui5
-
- - name: Install Qt (macOS, AppImage & Windows MSVC)
+
+ - name: Install host Qt (Windows MSVC arm64)
+ if: runner.os == 'Windows' && matrix.architecture == 'arm64'
+ uses: jurplel/install-qt-action@v3
+ with:
+ version: ${{ matrix.qt_version }}
+ host: 'windows'
+ target: 'desktop'
+ arch: ''
+ modules: ${{ matrix.qt_modules }}
+ tools: ${{ matrix.qt_tools }}
+ cache: ${{ inputs.is_qt_cached }}
+ cache-key-prefix: host-qt-arm64-windows
+ dir: ${{ github.workspace }}\HostQt
+ set-env: false
+
+ - name: Install Qt (macOS, Linux, Qt 6 & Windows MSVC)
if: runner.os == 'Linux' && matrix.qt_ver == 6 || runner.os == 'macOS' || (runner.os == 'Windows' && matrix.msystem == '')
uses: jurplel/install-qt-action@v3
with:
@@ -201,6 +222,13 @@ jobs:
tools: ${{ matrix.qt_tools }}
cache: ${{ inputs.is_qt_cached }}
+ - name: Install MSVC (Windows MSVC)
+ if: runner.os == 'Windows' && matrix.msystem == ''
+ uses: ilammy/msvc-dev-cmd@v1
+ with:
+ vsversion: 2022
+ arch: ${{ matrix.vcvars_arch }}
+
- name: Prepare AppImage (Linux)
if: runner.os == 'Linux' && matrix.qt_ver != 5
run: |
@@ -210,6 +238,11 @@ jobs:
${{ github.workspace }}/.github/scripts/prepare_JREs.sh
+ - name: Add QT_HOST_PATH var (Windows MSVC arm64)
+ if: runner.os == 'Windows' && matrix.architecture == 'arm64'
+ run: |
+ echo "QT_HOST_PATH=${{ github.workspace }}\HostQt\Qt\${{ matrix.qt_version }}\msvc2019_64" >> $env:GITHUB_ENV
+
##
# CONFIGURE
##
@@ -228,7 +261,7 @@ jobs:
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
run: |
- cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=${{ matrix.name }} -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -G Ninja
+ cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=${{ matrix.name }} -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=6 -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -G Ninja
- name: Configure CMake (Windows MSVC)
if: runner.os == 'Windows' && matrix.msystem == ''
@@ -286,7 +319,7 @@ jobs:
ctest -E "^example64|example$" --test-dir build --output-on-failure
- name: Test (Windows MSVC)
- if: runner.os == 'Windows' && matrix.msystem == ''
+ if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != 'arm64'
run: |
ctest -E "^example64|example$" --test-dir build --output-on-failure -C ${{ inputs.build_type }}
@@ -324,23 +357,12 @@ jobs:
EOF
fi
- - name: Add VC Enviroment Variables
- if: runner.os == 'Windows' && matrix.msystem == ''
- uses: ilammy/msvc-dev-cmd@v1
- with:
- arch: ${{ matrix.vcvars_arch }}
-
- name: Package (Windows MinGW-w64)
if: runner.os == 'Windows' && matrix.msystem != ''
shell: msys2 {0}
run: |
cmake --install ${{ env.BUILD_DIR }}
- cd ${{ env.INSTALL_DIR }}
- if [ "${{ matrix.qt_ver }}" == "5" ]; then
- cp /clang32/bin/libcrypto-1_1.dll /clang32/bin/libssl-1_1.dll ./
- fi
-
- name: Package (Windows MSVC)
if: runner.os == 'Windows' && matrix.msystem == ''
run: |
diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml
index 8baa9693..a2f89819 100644
--- a/.github/workflows/trigger_release.yml
+++ b/.github/workflows/trigger_release.yml
@@ -46,15 +46,26 @@ jobs:
tar -czf PrismLauncher-${{ env.VERSION }}.tar.gz PrismLauncher-${{ env.VERSION }}
- for d in PrismLauncher-Windows-*; do
+ for d in PrismLauncher-Windows-MSVC*; do
cd "${d}" || continue
- MSVC="$(echo -n ${d} | grep -o MSVC || true)"
LEGACY="$(echo -n ${d} | grep -o Legacy || true)"
+ ARM64="$(echo -n ${d} | grep -o arm64 || true)"
INST="$(echo -n ${d} | grep -o Setup || true)"
PORT="$(echo -n ${d} | grep -o Portable || true)"
- NAME="PrismLauncher-Windows"
- test -z "${MSVC}" && NAME="${NAME}-MinGW" || NAME="${NAME}-MSVC"
+ NAME="PrismLauncher-Windows-MSVC"
test -z "${LEGACY}" || NAME="${NAME}-Legacy"
+ test -z "${ARM64}" || NAME="${NAME}-arm64"
+ test -z "${PORT}" || NAME="${NAME}-Portable"
+ test -z "${INST}" || mv PrismLauncher-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe
+ test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" *
+ cd ..
+ done
+
+ for d in PrismLauncher-Windows-MinGW-w64*; do
+ cd "${d}" || continue
+ INST="$(echo -n ${d} | grep -o Setup || true)"
+ PORT="$(echo -n ${d} | grep -o Portable || true)"
+ NAME="PrismLauncher-Windows-MinGW-w64"
test -z "${PORT}" || NAME="${NAME}-Portable"
test -z "${INST}" || mv PrismLauncher-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe
test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" *
@@ -77,15 +88,15 @@ jobs:
PrismLauncher-Linux-${{ env.VERSION }}-x86_64.AppImage
PrismLauncher-Linux-Qt6-${{ env.VERSION }}.tar.gz
PrismLauncher-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz
- PrismLauncher-Windows-MinGW-Legacy-${{ env.VERSION }}.zip
- PrismLauncher-Windows-MinGW-Legacy-Portable-${{ env.VERSION }}.zip
- PrismLauncher-Windows-MinGW-Legacy-Setup-${{ env.VERSION }}.exe
- PrismLauncher-Windows-MinGW-${{ env.VERSION }}.zip
- PrismLauncher-Windows-MinGW-Portable-${{ env.VERSION }}.zip
- PrismLauncher-Windows-MinGW-Setup-${{ env.VERSION }}.exe
+ PrismLauncher-Windows-MinGW-w64-${{ env.VERSION }}.zip
+ PrismLauncher-Windows-MinGW-w64-Portable-${{ env.VERSION }}.zip
+ PrismLauncher-Windows-MinGW-w64-Setup-${{ env.VERSION }}.exe
PrismLauncher-Windows-MSVC-Legacy-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-Legacy-Portable-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-Legacy-Setup-${{ env.VERSION }}.exe
+ PrismLauncher-Windows-MSVC-arm64-${{ env.VERSION }}.zip
+ PrismLauncher-Windows-MSVC-arm64-Portable-${{ env.VERSION }}.zip
+ PrismLauncher-Windows-MSVC-arm64-Setup-${{ env.VERSION }}.exe
PrismLauncher-Windows-MSVC-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-Portable-${{ env.VERSION }}.zip
PrismLauncher-Windows-MSVC-Setup-${{ env.VERSION }}.exe
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f04b733b..2bdd4811 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -221,7 +221,7 @@ if(Launcher_QT_VERSION_MAJOR EQUAL 5)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUNICODE -D_UNICODE")
elseif(Launcher_QT_VERSION_MAJOR EQUAL 6)
set(QT_VERSION_MAJOR 6)
- find_package(Qt6 REQUIRED COMPONENTS Core Widgets Concurrent Network Test Xml Core5Compat)
+ find_package(Qt6 REQUIRED COMPONENTS Core CoreTools Widgets Concurrent Network Test Xml Core5Compat)