From 1b95061bcf111020ac5245db3598cc57f6aa1d6c Mon Sep 17 00:00:00 2001 From: Luna <93695520+LunaisLazier@users.noreply.github.com> Date: Wed, 2 Oct 2024 23:20:49 -0500 Subject: [PATCH] Adjust branding to that of ShatteredPrism --- .github/ISSUE_TEMPLATE/bug_report.yml | 14 +- .github/ISSUE_TEMPLATE/rfc.yml | 16 +- .github/ISSUE_TEMPLATE/suggestion.yml | 12 +- .github/workflows/build.yml | 66 +-- .github/workflows/trigger_release.yml | 65 +-- CMakeLists.txt | 6 +- README.md | 110 +--- ...ml => org.lunaislazier.ShatteredPrism.yml} | 12 +- flatpak/{fjordlauncher => shatteredprism} | 2 +- launcher/Application.cpp | 10 +- .../resources/multimc/scalable/launcher.svg | 52 +- launcher/ui/dialogs/AboutDialog.cpp | 13 +- launcher/ui/pages/global/APIPage.ui | 2 +- .../ui/pages/modplatform/flame/FlamePage.ui | 20 +- launcher/ui/themes/CatPack.cpp | 2 +- launcher/updater/PrismExternalUpdater.cpp | 2 +- .../updater/prismupdater/PrismUpdater.cpp | 18 +- program_info/CMakeLists.txt | 42 +- program_info/fjordlauncher.icns | Bin 35338 -> 0 bytes program_info/fjordlauncher.ico | Bin 372526 -> 0 bytes program_info/fjordlauncher.qrc | 2 +- ...enicons.fjord.sh => genicons.shattered.sh} | 40 +- ...org.lunaislazier.ShatteredPrism Source.svg | 51 ++ ...org.lunaislazier.ShatteredPrism.bigsur.svg | 4 + ...rg.lunaislazier.ShatteredPrism.desktop.in} | 2 +- ...naislazier.ShatteredPrism.metainfo.xml.in} | 12 +- .../org.lunaislazier.ShatteredPrism.svg | 51 ++ .../org.unmojang.FjordLauncher.Source.svg | 323 ------------ .../org.unmojang.FjordLauncher.bigsur.svg | 487 ------------------ program_info/org.unmojang.FjordLauncher.svg | 1 - program_info/shatteredprism-header-black.svg | 48 ++ program_info/shatteredprism-header.svg | 48 ++ ...ordlauncher.6.scd => shatteredprism.6.scd} | 20 +- program_info/shatteredprism.icns | Bin 0 -> 819348 bytes program_info/shatteredprism.ico | Bin 0 -> 150129 bytes ...manifest.in => shatteredprism.manifest.in} | 2 +- ...ordlauncher.rc.in => shatteredprism.rc.in} | 10 +- 37 files changed, 469 insertions(+), 1096 deletions(-) rename flatpak/{org.unmojang.FjordLauncher.yml => org.lunaislazier.ShatteredPrism.yml} (94%) rename flatpak/{fjordlauncher => shatteredprism} (92%) delete mode 100644 program_info/fjordlauncher.icns delete mode 100644 program_info/fjordlauncher.ico rename program_info/{genicons.fjord.sh => genicons.shattered.sh} (51%) mode change 100755 => 100644 create mode 100644 program_info/org.lunaislazier.ShatteredPrism Source.svg create mode 100644 program_info/org.lunaislazier.ShatteredPrism.bigsur.svg rename program_info/{org.unmojang.FjordLauncher.desktop.in => org.lunaislazier.ShatteredPrism.desktop.in} (92%) mode change 100755 => 100644 rename program_info/{org.unmojang.FjordLauncher.metainfo.xml.in => org.lunaislazier.ShatteredPrism.metainfo.xml.in} (75%) create mode 100644 program_info/org.lunaislazier.ShatteredPrism.svg delete mode 100644 program_info/org.unmojang.FjordLauncher.Source.svg delete mode 100644 program_info/org.unmojang.FjordLauncher.bigsur.svg delete mode 100644 program_info/org.unmojang.FjordLauncher.svg create mode 100644 program_info/shatteredprism-header-black.svg create mode 100644 program_info/shatteredprism-header.svg rename program_info/{fjordlauncher.6.scd => shatteredprism.6.scd} (75%) create mode 100644 program_info/shatteredprism.icns create mode 100644 program_info/shatteredprism.ico rename program_info/{fjordlauncher.manifest.in => shatteredprism.manifest.in} (92%) rename program_info/{fjordlauncher.rc.in => shatteredprism.rc.in} (69%) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 86ebee052..4fb4dab7a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -6,9 +6,9 @@ body: attributes: value: | Before submitting a bug report, please make sure you have read this *entire* form, and that: - * You have read the [Fjord Launcher wiki](https://fjordlauncher.org/wiki/) and it has not answered your question. + * You have read the [Prism Launcher wiki](https://prismlauncher.org/wiki/) and it has not answered your question. * Your bug is not caused by Minecraft or any mods you have installed. - * Your issue has not been reported before, [make sure to use the search function!](https://github.com/unmojang/FjordLauncher/issues) + * Your issue has not been reported before, [make sure to use the search function!](https://github.com/lunaislazier/ShatteredPrism/issues) **Do not forget to give your issue a descriptive title.** "Bug in the instance screen" makes it hard to distinguish issues at a glance. - type: dropdown @@ -23,15 +23,15 @@ body: - Other - type: textarea attributes: - label: Version of Fjord Launcher - description: The version of Fjord Launcher used in the bug report. - placeholder: Fjord Launcher 5.1 + label: Version of Shattered Prism + description: The version of Shattered Prism used in the bug report. + placeholder: Shattered Prism 1.3 validations: required: true - type: textarea attributes: label: Version of Qt - description: The version of Qt used in the bug report. You can find it in Help -> About Fjord Launcher -> About Qt. + description: The version of Qt used in the bug report. You can find it in Help -> About Shattered Prism -> About Qt. placeholder: Qt 6.3.0 validations: required: true @@ -39,7 +39,7 @@ body: attributes: label: Description of bug description: What did you expect to happen, what happened, and why is it incorrect? - placeholder: The parrot button should show a parrot, but it showed a cat instead! + placeholder: The cat button should show a cat, but it showed a parrot instead! validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/rfc.yml b/.github/ISSUE_TEMPLATE/rfc.yml index 1c157a9e4..25075de84 100644 --- a/.github/ISSUE_TEMPLATE/rfc.yml +++ b/.github/ISSUE_TEMPLATE/rfc.yml @@ -6,38 +6,38 @@ body: - type: markdown attributes: value: | - ### Use this form to suggest a larger change for Fjord Launcher. + ### Use this form to suggest a larger change for Shattered Prism. - type: textarea attributes: label: Goal description: Short description, 1-2 sentences. - placeholder: Remove the parrot from the launcher. + placeholder: Remove the cat from the launcher. validations: required: true - type: textarea attributes: label: Motivation description: | - Introduce the topic. If this is a not-well-known section of Fjord Launcher, a detailed explanation of the background is recommended. + Introduce the topic. If this is a not-well-known section of Shattered Prism, a detailed explanation of the background is recommended. Some example points of discussion: - What specific problems are you facing right now that you're trying to address? - Are there any previous discussions? Link to them and summarize them (don't force your readers to read them though!). - Is there any precedent set by other software? If so, link to resources. - placeholder: I don't like parrots. I think many users also don't like parrots. + placeholder: I don't like cats. I think many users also don't like cats. validations: required: true - type: textarea attributes: label: Specification description: A concrete, thorough explanation of what is being planned. - placeholder: Remove the parrot button and all references to the parrot from the codebase. Including resource files. + placeholder: Remove the cat button and all references to the cat from the codebase. Including resource files. validations: required: true - type: textarea attributes: label: Drawbacks description: Carefully consider every possible objection and issue with your proposal. This section should be updated as feedback comes in from discussion. - placeholder: Some users might like parrots. + placeholder: Some users might like cats. validations: required: true - type: textarea @@ -47,14 +47,14 @@ body: Are there any portions of your proposal which need to be discussed with the community before the RFC can proceed? Be careful here -- an RFC with a lot of remaining questions is likely to be stalled. If your RFC is mostly unresolved questions and not too much substance, it may not be ready. - placeholder: Do a lot of users care about the parrot? + placeholder: Do a lot of users care about the cat? validations: required: true - type: textarea attributes: label: Alternatives Considered description: A list of alternatives, that have been considered and offer equal or similar features to the proposed change. - placeholder: Maybe the parrot could be replaced with a dog? + placeholder: Maybe the cat could be replaced with a dog? validations: required: true - type: checkboxes diff --git a/.github/ISSUE_TEMPLATE/suggestion.yml b/.github/ISSUE_TEMPLATE/suggestion.yml index 13a03005b..17487f004 100644 --- a/.github/ISSUE_TEMPLATE/suggestion.yml +++ b/.github/ISSUE_TEMPLATE/suggestion.yml @@ -5,26 +5,26 @@ body: - type: markdown attributes: value: | - ### Use this form to suggest a feature for Fjord Launcher. + ### Use this form to suggest a feature for Shattered Prism. - type: input attributes: label: Role - description: In what way do you use Fjord Launcher that needs this feature? + description: In what way do you use Shattered Prism that needs this feature? placeholder: I play modded Minecraft. validations: required: true - type: input attributes: label: Suggestion - description: What do you want Fjord Launcher to do? - placeholder: I want the parrot button to squawk. + description: What do you want Shattered Prism to do? + placeholder: I want the cat button to meow. validations: required: true - type: input attributes: label: Benefit - description: Why do you need Fjord Launcher to do this? - placeholder: so that I can always hear a parrot when I need to. + description: Why do you need Shattered Prism to do this? + placeholder: so that I can always hear a cat when I need to. validations: required: true - type: checkboxes diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e46d66318..87ed762ed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -376,7 +376,7 @@ jobs: cmake --install ${{ env.BUILD_DIR }} cd ${{ env.INSTALL_DIR }} - chmod +x "FjordLauncher.app/Contents/MacOS/fjordlauncher" + chmod +x "ShatteredPrism.app/Contents/MacOS/ShatteredPrism" if [ -n '${{ secrets.APPLE_CODESIGN_ID }}' ]; then APPLE_CODESIGN_ID='${{ secrets.APPLE_CODESIGN_ID }}' @@ -384,8 +384,8 @@ jobs: APPLE_CODESIGN_ID='-' fi - sudo codesign --sign "$APPLE_CODESIGN_ID" --deep --force --entitlements "../program_info/App.entitlements" --options runtime "FjordLauncher.app/Contents/MacOS/fjordlauncher" - mv "FjordLauncher.app" "Fjord Launcher.app" + sudo codesign --sign "$APPLE_CODESIGN_ID" --deep --force --entitlements "../program_info/App.entitlements" --options runtime "ShatteredPrism.app/Contents/MacOS/ShatteredPrism" + mv "ShatteredPrism.app" "Shattered Prism.app" - name: Notarize (macOS) if: runner.os == 'macOS' @@ -393,25 +393,25 @@ jobs: cd ${{ env.INSTALL_DIR }} if [ -n '${{ secrets.APPLE_NOTARIZE_PASSWORD }}' ]; then - ditto -c -k --sequesterRsrc --keepParent "Fjord Launcher.app" ../FjordLauncher.zip - xcrun notarytool submit ../FjordLauncher.zip \ + ditto -c -k --sequesterRsrc --keepParent "Shattered Prism.app" ../ShatteredPrism.zip + xcrun notarytool submit ../ShatteredPrism.zip \ --wait --progress \ --apple-id '${{ secrets.APPLE_NOTARIZE_APPLE_ID }}' \ --team-id '${{ secrets.APPLE_NOTARIZE_TEAM_ID }}' \ --password '${{ secrets.APPLE_NOTARIZE_PASSWORD }}' - xcrun stapler staple "Fjord Launcher.app" + xcrun stapler staple "Shattered Prism.app" else echo ":warning: Skipping notarization as credentials are not present." >> $GITHUB_STEP_SUMMARY fi - ditto -c -k --sequesterRsrc --keepParent "Fjord Launcher.app" ../FjordLauncher.zip + ditto -c -k --sequesterRsrc --keepParent "Shattered Prism.app" ../ShatteredPrism.zip - name: Make Sparkle signature (macOS) if: matrix.name == 'macOS' run: | if [ '${{ secrets.SPARKLE_ED25519_KEY }}' != '' ]; then echo '${{ secrets.SPARKLE_ED25519_KEY }}' > ed25519-priv.pem - signature=$(/opt/homebrew/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/FjordLauncher.zip -inkey ed25519-priv.pem | openssl base64 | tr -d \\n) + signature=$(/opt/homebrew/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/ShatteredPrism.zip -inkey ed25519-priv.pem | openssl base64 | tr -d \\n) rm ed25519-priv.pem cat >> $GITHUB_STEP_SUMMARY << EOF ### Artifact Information :information_source: @@ -453,7 +453,7 @@ jobs: if (Get-Content ./codesign.pfx){ cd ${{ env.INSTALL_DIR }} # We ship the exact same executable for portable and non-portable editions, so signing just once is fine - SignTool sign /fd sha256 /td sha256 /f ../codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com fjordlauncher.exe fjordlauncher_updater.exe fjordlauncher_filelink.exe + SignTool sign /fd sha256 /td sha256 /f ../codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com ShatteredPrism.exe ShatteredPrism_updater.exe ShatteredPrism_filelink.exe } else { ":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY } @@ -494,7 +494,7 @@ jobs: if: runner.os == 'Windows' run: | if (Get-Content ./codesign.pfx){ - SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com FjordLauncher-Setup.exe + SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ secrets.WINDOWS_CODESIGN_PASSWORD }}' /tr http://timestamp.digicert.com ShatteredPrism-Setup.exe } else { ":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY } @@ -507,10 +507,10 @@ jobs: run: | cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_APPIMAGE_DIR }}/usr - mv ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.unmojang.FjordLauncher.metainfo.xml ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.fjordlauncher.FjordLauncher.appdata.xml + mv ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.lunaislazier.ShatteredPrism.metainfo.xml ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/metainfo/org.shatteredprism.ShatteredPrism.appdata.xml export "NO_APPSTREAM=1" # we have to skip appstream checking because appstream on ubuntu 20.04 is outdated - export OUTPUT="FjordLauncher-Linux-x86_64.AppImage" + export OUTPUT="ShatteredPrism-Linux-x86_64.AppImage" chmod +x linuxdeploy-*.AppImage @@ -529,7 +529,7 @@ jobs: chmod +x AppImageUpdate-x86_64.AppImage cp AppImageUpdate-x86_64.AppImage ${{ env.INSTALL_APPIMAGE_DIR }}/usr/bin - export UPDATE_INFORMATION="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|FjordLauncher-Linux-x86_64.AppImage.zsync" + export UPDATE_INFORMATION="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|ShatteredPrism-Linux-x86_64.AppImage.zsync" if [ '${{ secrets.GPG_PRIVATE_KEY_ID }}' != '' ]; then export SIGN=1 @@ -541,9 +541,9 @@ jobs: echo ":warning: Skipped code signing for Linux AppImage, as gpg key was not present." >> $GITHUB_STEP_SUMMARY fi - ./linuxdeploy-x86_64.AppImage --appdir ${{ env.INSTALL_APPIMAGE_DIR }} --output appimage --plugin qt -i ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/icons/hicolor/scalable/apps/org.unmojang.FjordLauncher.svg + ./linuxdeploy-x86_64.AppImage --appdir ${{ env.INSTALL_APPIMAGE_DIR }} --output appimage --plugin qt -i ${{ env.INSTALL_APPIMAGE_DIR }}/usr/share/icons/hicolor/scalable/apps/org.unmojang.ShatteredPrism.svg - mv "FjordLauncher-Linux-x86_64.AppImage" "FjordLauncher-Linux-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage" + mv "ShatteredPrism-Linux-x86_64.AppImage" "ShatteredPrism-Linux-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage" - name: Package (Linux, portable) if: runner.os == 'Linux' @@ -572,57 +572,57 @@ jobs: if: runner.os == 'macOS' uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ matrix.name }}-${{ env.VERSION }}-${{ inputs.build_type }} - path: FjordLauncher.zip + name: ShatteredPrism-${{ matrix.name }}-${{ env.VERSION }}-${{ inputs.build_type }} + path: ShatteredPrism.zip - name: Upload binary zip (Windows) if: runner.os == 'Windows' uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ matrix.name }}-${{ env.VERSION }}-${{ inputs.build_type }} + name: ShatteredPrism-${{ matrix.name }}-${{ env.VERSION }}-${{ inputs.build_type }} path: ${{ env.INSTALL_DIR }}/** - name: Upload binary zip (Windows, portable) if: runner.os == 'Windows' uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ matrix.name }}-Portable-${{ env.VERSION }}-${{ inputs.build_type }} + name: ShatteredPrism-${{ matrix.name }}-Portable-${{ env.VERSION }}-${{ inputs.build_type }} path: ${{ env.INSTALL_PORTABLE_DIR }}/** - name: Upload installer (Windows) if: runner.os == 'Windows' uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ matrix.name }}-Setup-${{ env.VERSION }}-${{ inputs.build_type }} - path: FjordLauncher-Setup.exe + name: ShatteredPrism-${{ matrix.name }}-Setup-${{ env.VERSION }}-${{ inputs.build_type }} + path: ShatteredPrism-Setup.exe - name: Upload binary tarball (Linux, portable, Qt 5) if: runner.os == 'Linux' && matrix.qt_ver != 6 uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ runner.os }}-Qt5-Portable-${{ env.VERSION }}-${{ inputs.build_type }} - path: FjordLauncher-portable.tar.gz + name: ShatteredPrism-${{ runner.os }}-Qt5-Portable-${{ env.VERSION }}-${{ inputs.build_type }} + path: ShatteredPrism-portable.tar.gz - name: Upload binary tarball (Linux, portable, Qt 6) if: runner.os == 'Linux' && matrix.qt_ver != 5 uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ runner.os }}-Qt6-Portable-${{ env.VERSION }}-${{ inputs.build_type }} - path: FjordLauncher-portable.tar.gz + name: ShatteredPrism-${{ runner.os }}-Qt6-Portable-${{ env.VERSION }}-${{ inputs.build_type }} + path: ShatteredPrism-portable.tar.gz - name: Upload AppImage (Linux) if: runner.os == 'Linux' && matrix.qt_ver != 5 uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage - path: FjordLauncher-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage + name: ShatteredPrism-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage + path: ShatteredPrism-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage - name: Upload AppImage Zsync (Linux) if: runner.os == 'Linux' && matrix.qt_ver != 5 uses: actions/upload-artifact@v4 with: - name: FjordLauncher-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage.zsync - path: FjordLauncher-Linux-x86_64.AppImage.zsync + name: ShatteredPrism-${{ runner.os }}-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage.zsync + path: ShatteredPrism-Linux-x86_64.AppImage.zsync - name: ccache stats (Windows MinGW-w64) if: runner.os == 'Windows' && matrix.msystem != '' @@ -645,8 +645,8 @@ jobs: if: inputs.build_type == 'Debug' uses: flatpak/flatpak-github-actions/flatpak-builder@v6 with: - bundle: "Fjord Launcher.flatpak" - manifest-path: flatpak/org.unmojang.FjordLauncher.yml + bundle: "Shattered Prism.flatpak" + manifest-path: flatpak/org.lunaislazier.ShatteredPrism.yml nix: name: Nix (${{ matrix.system }}) @@ -691,9 +691,9 @@ jobs: - name: Build debug package if: ${{ inputs.build_type == 'Debug' }} run: | - nix build --print-build-logs .#fjordlauncher-debug + nix build --print-build-logs .#shatteredprism-debug - name: Build release package if: ${{ inputs.build_type != 'Debug' }} run: | - nix build --print-build-logs .#fjordlauncher + nix build --print-build-logs .#shatteredprism diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index e1edcca13..d2bcb9507 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -1,6 +1,7 @@ name: Build Application and Make Release on: + workflow_dispatch: push: tags: - "*" @@ -36,7 +37,7 @@ jobs: uses: actions/checkout@v4 with: submodules: "true" - path: "FjordLauncher-source" + path: "ShatteredPrism-source" - name: Download artifacts uses: actions/download-artifact@v4 - name: Grab and store version @@ -45,38 +46,38 @@ jobs: echo "VERSION=$tag_name" >> $GITHUB_ENV - name: Package artifacts properly run: | - mv ${{ github.workspace }}/FjordLauncher-source FjordLauncher-${{ env.VERSION }} - mv FjordLauncher-Linux-Qt6-Portable*/FjordLauncher-portable.tar.gz FjordLauncher-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz - mv FjordLauncher-Linux-Qt5-Portable*/FjordLauncher-portable.tar.gz FjordLauncher-Linux-Qt5-Portable-${{ env.VERSION }}.tar.gz - mv FjordLauncher-*.AppImage/FjordLauncher-*.AppImage FjordLauncher-Linux-x86_64.AppImage - mv FjordLauncher-*.AppImage.zsync/FjordLauncher-*.AppImage.zsync FjordLauncher-Linux-x86_64.AppImage.zsync - mv FjordLauncher-macOS-Legacy*/FjordLauncher.zip FjordLauncher-macOS-Legacy-${{ env.VERSION }}.zip - mv FjordLauncher-macOS*/FjordLauncher.zip FjordLauncher-macOS-${{ env.VERSION }}.zip + mv ${{ github.workspace }}/ShatteredPrism-source ShatteredPrism-${{ env.VERSION }} + mv ShatteredPrism-Linux-Qt6-Portable*/ShatteredPrism-portable.tar.gz ShatteredPrism-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz + mv ShatteredPrism-Linux-Qt5-Portable*/ShatteredPrism-portable.tar.gz ShatteredPrism-Linux-Qt5-Portable-${{ env.VERSION }}.tar.gz + mv ShatteredPrism-*.AppImage/ShatteredPrism-*.AppImage ShatteredPrism-Linux-x86_64.AppImage + mv ShatteredPrism-*.AppImage.zsync/ShatteredPrism-*.AppImage.zsync ShatteredPrism-Linux-x86_64.AppImage.zsync + mv ShatteredPrism-macOS-Legacy*/ShatteredPrism.zip ShatteredPrism-macOS-Legacy-${{ env.VERSION }}.zip + mv ShatteredPrism-macOS*/ShatteredPrism.zip ShatteredPrism-macOS-${{ env.VERSION }}.zip - tar --exclude='.git' -czf FjordLauncher-${{ env.VERSION }}.tar.gz FjordLauncher-${{ env.VERSION }} + tar --exclude='.git' -czf ShatteredPrism-${{ env.VERSION }}.tar.gz ShatteredPrism-${{ env.VERSION }} - for d in FjordLauncher-Windows-MSVC*; do + for d in ShatteredPrism-Windows-MSVC*; do cd "${d}" || continue 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="FjordLauncher-Windows-MSVC" + NAME="ShatteredPrism-Windows-MSVC" test -z "${LEGACY}" || NAME="${NAME}-Legacy" test -z "${ARM64}" || NAME="${NAME}-arm64" test -z "${PORT}" || NAME="${NAME}-Portable" - test -z "${INST}" || mv FjordLauncher-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe + test -z "${INST}" || mv ShatteredPrism-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * cd .. done - for d in FjordLauncher-Windows-MinGW-w64*; do + for d in ShatteredPrism-Windows-MinGW-w64*; do cd "${d}" || continue INST="$(echo -n ${d} | grep -o Setup || true)" PORT="$(echo -n ${d} | grep -o Portable || true)" - NAME="FjordLauncher-Windows-MinGW-w64" + NAME="ShatteredPrism-Windows-MinGW-w64" test -z "${PORT}" || NAME="${NAME}-Portable" - test -z "${INST}" || mv FjordLauncher-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe + test -z "${INST}" || mv ShatteredPrism-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * cd .. done @@ -87,23 +88,23 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} tag_name: ${{ github.ref }} - name: Fjord Launcher ${{ env.VERSION }} + name: Shattered Prism ${{ env.VERSION }} draft: true prerelease: false files: | - FjordLauncher-Linux-Qt5-Portable-${{ env.VERSION }}.tar.gz - FjordLauncher-Linux-x86_64.AppImage - FjordLauncher-Linux-x86_64.AppImage.zsync - FjordLauncher-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz - FjordLauncher-Windows-MinGW-w64-${{ env.VERSION }}.zip - FjordLauncher-Windows-MinGW-w64-Portable-${{ env.VERSION }}.zip - FjordLauncher-Windows-MinGW-w64-Setup-${{ env.VERSION }}.exe - FjordLauncher-Windows-MSVC-arm64-${{ env.VERSION }}.zip - FjordLauncher-Windows-MSVC-arm64-Portable-${{ env.VERSION }}.zip - FjordLauncher-Windows-MSVC-arm64-Setup-${{ env.VERSION }}.exe - FjordLauncher-Windows-MSVC-${{ env.VERSION }}.zip - FjordLauncher-Windows-MSVC-Portable-${{ env.VERSION }}.zip - FjordLauncher-Windows-MSVC-Setup-${{ env.VERSION }}.exe - FjordLauncher-macOS-${{ env.VERSION }}.zip - FjordLauncher-macOS-Legacy-${{ env.VERSION }}.zip - FjordLauncher-${{ env.VERSION }}.tar.gz + ShatteredPrism-Linux-Qt5-Portable-${{ env.VERSION }}.tar.gz + ShatteredPrism-Linux-x86_64.AppImage + ShatteredPrism-Linux-x86_64.AppImage.zsync + ShatteredPrism-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz + ShatteredPrism-Windows-MinGW-w64-${{ env.VERSION }}.zip + ShatteredPrism-Windows-MinGW-w64-Portable-${{ env.VERSION }}.zip + ShatteredPrism-Windows-MinGW-w64-Setup-${{ env.VERSION }}.exe + ShatteredPrism-Windows-MSVC-arm64-${{ env.VERSION }}.zip + ShatteredPrism-Windows-MSVC-arm64-Portable-${{ env.VERSION }}.zip + ShatteredPrism-Windows-MSVC-arm64-Setup-${{ env.VERSION }}.exe + ShatteredPrism-Windows-MSVC-${{ env.VERSION }}.zip + ShatteredPrism-Windows-MSVC-Portable-${{ env.VERSION }}.zip + ShatteredPrism-Windows-MSVC-Setup-${{ env.VERSION }}.exe + ShatteredPrism-macOS-${{ env.VERSION }}.zip + ShatteredPrism-macOS-Legacy-${{ env.VERSION }}.zip + ShatteredPrism-${{ env.VERSION }}.tar.gz diff --git a/CMakeLists.txt b/CMakeLists.txt index 6fbcb9e6c..336d2f4a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -192,7 +192,7 @@ set(Launcher_VERSION_NAME4_COMMA "${Launcher_VERSION_MAJOR},${Launcher_VERSION_M set(Launcher_BUILD_PLATFORM "unknown" CACHE STRING "A short string identifying the platform that this build was built for. Only used to display in the about dialog.") # Github repo URL with releases for updater -set(Launcher_UPDATER_GITHUB_REPO "https://github.com/unmojang/FjordLauncher" CACHE STRING "Base github URL for the updater.") +set(Launcher_UPDATER_GITHUB_REPO "https://github.com/lunaislazier/ShatteredPrism" CACHE STRING "Base github URL for the updater.") # Name to help updater identify valid artifacts set(Launcher_BUILD_ARTIFACT "" CACHE STRING "Artifact name to help the updater identify valid artifacts.") @@ -204,7 +204,7 @@ set(Launcher_META_URL "https://meta.unmojang.org/v1/" CACHE STRING "URL to fetch set(Launcher_IMGUR_CLIENT_ID "5b97b0713fba4a3" CACHE STRING "Client ID you can get from Imgur when you register an application") # Bug tracker URL -set(Launcher_BUG_TRACKER_URL "https://github.com/unmojang/FjordLauncher/issues" CACHE STRING "URL for the bug tracker.") +set(Launcher_BUG_TRACKER_URL "https://github.com/lunaislazier/ShatteredPrism/issues" CACHE STRING "URL for the bug tracker.") # Translations Platform URL set(Launcher_TRANSLATIONS_URL "https://hosted.weblate.org/projects/prismlauncher/launcher/" CACHE STRING "URL for the translations platform.") @@ -350,7 +350,7 @@ include(ECMQtDeclareLoggingCategory) ####################################### Program Info ####################################### -set(Launcher_APP_BINARY_NAME "fjordlauncher" CACHE STRING "Name of the Launcher binary") +set(Launcher_APP_BINARY_NAME "shatteredprism" CACHE STRING "Name of the Launcher binary") add_subdirectory(program_info) ####################################### Install layout ####################################### diff --git a/README.md b/README.md index f185fb8b4..24dc366c4 100644 --- a/README.md +++ b/README.md @@ -1,104 +1,40 @@ -# Fjord Launcher logo Fjord Launcher +

+ + + + ShatteredPrism + +

-Fjord Launcher is a **fork** of [Prism Launcher](https://github.com/PrismLauncher/PrismLauncher). It was based on [PollyMC](https://github.com/fn2006/PollyMC), which is now unmaintained. It is **not** endorsed by or affiliated with Prism Launcher or PollyMC. +

+ ShatteredPrism is a custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once.
+
This is a fork of PrismLauncher and is not endorsed by it. +

-## Advantages of this fork over Prism Launcher +# Advantages over PrismLauncher -- [Support for alternative auth servers](doc/alternative-auth-servers.md) +- Completely DRM-Free. +- In-App FTB Modpack Downloading restored. +- Support 3rd Party Auth Servers(courtesy of [this project](https://github.com/fn2006/PollyMC/)). -- Ability to download FTB modpacks from within the launcher - -## Having a problem with the launcher? - -You **will not** open an issue in the Prism Launcher repo. - -You **will not** ask about Fjord Launcher in the Prism Launcher discord. - -You **will** ask in #fjord-launcher in our [Matrix space](https://matrix.to/#/#unmojang:matrix.org). - -You **will** open an issue [here](https://github.com/unmojang/FjordLauncher/issues). ## Installation -### Windows +- Downloads can be found on the [GitHub Releases](https://github.com/LunaisLazier/ShatteredPrism/releases). +- Last build status can be found in the [GitHub Actions](https://github.com/LunaisLazier/ShatteredPrism/actions) tab (this also includes the pull requests status). -#### [Scoop](https://scoop.sh) (recommended) +## Community & Support -```PowerShell -scoop bucket add unmojang https://github.com/unmojang/scoop-unmojang -scoop install unmojang/fjordlauncher -``` +Feel free to create a GitHub issue if you find a bug or want to suggest something, it is currently the **only** way to contact anyone regarding this project. -#### Windows (Manual) +Do **not** ask for support on any of the official PrismLauncher channels as they cannot be held responsible for any issues caused by the changes made. -You can get installers or portable builds from the [releases section](https://github.com/unmojang/FjordLauncher/releases/latest), MSVC builds are recommended over MinGW builds, but there's no real difference. -### macOS +## License [![https://github.com/PrismLauncher/PrismLauncher/blob/develop/LICENSE](https://img.shields.io/github/license/PrismLauncher/PrismLauncher?label=License&logo=gnu&color=C4282D)](LICENSE) -#### [Homebrew](https://brew.sh) (recommended) +All launcher code is available under the GPL-3.0-only license. -```Shell -brew tap unmojang/homebrew-unmojang -brew install --cask fjordlauncher -``` - -#### macOS (Manual) - -There are builds for macOS in the [releases section](https://github.com/unmojang/FjordLauncher/releases/latest). - -### Flatpak - -```Shell -flatpak remote-add --user --if-not-exists unmojang https://unmojang.github.io/unmojang-flatpak/index.flatpakrepo -flatpak install org.unmojang.FjordLauncher -``` - -### Arch Linux - -Fjord Launcher is [available](https://aur.archlinux.org/packages?O=0&K=fjordlauncher) from the AUR: - -```Shell -paru -S fjordlauncher -paru -S fjordlauncher-git # build latest Git commit from source -``` - -`fjordlauncher` is available in [Chaotic-AUR](https://aur.chaotic.cx/). - -The `fjordlauncher-bin` AUR package is broken; see [https://github.com/unmojang/FjordLauncher/issues/20](https://github.com/unmojang/FjordLauncher/issues/20). - -### Debian/Ubuntu - -Install from the MPR with [Mist](https://docs.makedeb.org/using-the-mpr/mist-the-mpr-cli/#installing-mist): - -```Shell -mist install fjordlauncher -mist install fjordlauncher-bin # binary package -mist install fjordlauncher-git # build latest Git commit from source -``` - -### Nix - -This repository contains a Nix flake: - -```Shell -nix run github:unmojang/FjordLauncher -``` - -See [nix/README.md](nix/README.md) for details. - -### Gentoo - -Install from the [unmojang overlay](https://github.com/unmojang/unmojang-overlay): - -```Shell -eselect repository add unmojang-overlay git https://github.com/unmojang/unmojang-overlay -emerge --sync unmojang-overlay -emerge -av games-action/fjordlauncher -``` - -### Other Linux - -AppImages are available in the [releases section](https://github.com/unmojang/FjordLauncher/releases/latest). +The logo and related assets are under the CC BY-NC-SA 4.0 license. ## Building diff --git a/flatpak/org.unmojang.FjordLauncher.yml b/flatpak/org.lunaislazier.ShatteredPrism.yml similarity index 94% rename from flatpak/org.unmojang.FjordLauncher.yml rename to flatpak/org.lunaislazier.ShatteredPrism.yml index d1c418151..564b22c85 100644 --- a/flatpak/org.unmojang.FjordLauncher.yml +++ b/flatpak/org.lunaislazier.ShatteredPrism.yml @@ -1,11 +1,11 @@ -id: org.unmojang.FjordLauncher +id: org.lunaislazier.ShatteredPrism runtime: org.kde.Platform runtime-version: 6.7 sdk: org.kde.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.openjdk17 -command: fjordlauncher +command: shatteredprism finish-args: - --share=ipc - --socket=x11 @@ -27,7 +27,7 @@ modules: # Needed for proper Wayland support - libdecor.json - - name: fjordlauncher + - name: shatteredprism buildsystem: cmake-ninja builddir: true config-opts: @@ -135,10 +135,10 @@ modules: buildsystem: simple build-commands: - install -Dm755 prime-run /app/bin/prime-run - - mv /app/bin/fjordlauncher /app/bin/fjordrun - - install -Dm755 fjordlauncher /app/bin/fjordlauncher + - mv /app/bin/shatteredprism /app/bin/shatteredrun + - install -Dm755 shatteredprism /app/bin/shatteredprism sources: - type: file path: prime-run - type: file - path: fjordlauncher + path: shatteredprism diff --git a/flatpak/fjordlauncher b/flatpak/shatteredprism similarity index 92% rename from flatpak/fjordlauncher rename to flatpak/shatteredprism index 5e2960993..3deaef236 100644 --- a/flatpak/fjordlauncher +++ b/flatpak/shatteredprism @@ -8,4 +8,4 @@ done export PATH="${PATH}${PATH:+:}/usr/lib/extensions/vulkan/gamescope/bin:/usr/lib/extensions/vulkan/MangoHud/bin" export VK_LAYER_PATH="/usr/lib/extensions/vulkan/share/vulkan/implicit_layer.d/" -exec /app/bin/fjordrun "$@" +exec /app/bin/shatteredrun "$@" diff --git a/launcher/Application.cpp b/launcher/Application.cpp index 9aa613589..3ddead52d 100644 --- a/launcher/Application.cpp +++ b/launcher/Application.cpp @@ -948,7 +948,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv) // check update locks { - auto update_log_path = FS::PathCombine(m_dataPath, "logs", "fjordlauncher_update.log"); + auto update_log_path = FS::PathCombine(m_dataPath, "logs", "shatteredprism_update.log"); auto update_lock = QFileInfo(FS::PathCombine(m_dataPath, ".prism_launcher_update.lock")); if (update_lock.exists()) { @@ -962,7 +962,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv) "\n" "This likely means that a update attempt failed. Please ensure your installation is in working order before " "proceeding.\n" - "Check the Fjord Launcher updater log at: \n" + "Check the Shattered Prism updater log at: \n" "%7\n" "for details on the last update attempt.\n" "\n" @@ -998,7 +998,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv) "\n" "Please ensure your installation is in working order before " "proceeding.\n" - "Check the Fjord Launcher updater log at: \n" + "Check the Shattered Prism updater log at: \n" "%1\n" "for details on the last update attempt.") .arg(update_log_path); @@ -1029,7 +1029,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv) auto infoMsg = tr("Update succeeded\n" "\n" "You are now running %1 .\n" - "Check the Fjord Launcher updater log at: \n" + "Check the Shattered Prism updater log at: \n" "%2\n" "for details.") .arg(BuildConfig.printableVersionString()) @@ -1249,7 +1249,7 @@ void Application::performMainStartupAction() msgBox.setWindowTitle(tr("Fetch CurseForge Core API key?")); msgBox.setText(tr("Would you like to fetch the official CurseForge app's API key now?")); msgBox.setInformativeText( - tr("Using the official CurseForge app's API key may break CurseForge's terms of service but should allow Fjord Launcher " + tr("Using the official CurseForge app's API key may break CurseForge's terms of service but should allow Shattered Prism " "to download all mods in a modpack without you needing to download any of them manually.")); msgBox.setStandardButtons(QMessageBox::No | QMessageBox::Yes); msgBox.setDefaultButton(QMessageBox::Yes); diff --git a/launcher/resources/multimc/scalable/launcher.svg b/launcher/resources/multimc/scalable/launcher.svg index 60914ff57..8bc67bd15 100644 --- a/launcher/resources/multimc/scalable/launcher.svg +++ b/launcher/resources/multimc/scalable/launcher.svg @@ -1 +1,51 @@ - \ No newline at end of file + + + + + + + + + + diff --git a/launcher/ui/dialogs/AboutDialog.cpp b/launcher/ui/dialogs/AboutDialog.cpp index d4225f06c..7db724624 100644 --- a/launcher/ui/dialogs/AboutDialog.cpp +++ b/launcher/ui/dialogs/AboutDialog.cpp @@ -72,7 +72,18 @@ QString getCreditsHtml() stream << "
\n"; //: %1 is the name of the launcher, determined at build time, e.g. "Prism Launcher Developers" - stream << "

" << QObject::tr("%1 Developers", "About Credits").arg(BuildConfig.LAUNCHER_DISPLAYNAME) << "

\n"; + stream << "

" << QObject::tr("%1 Developer", "About Credits").arg(BuildConfig.LAUNCHER_DISPLAYNAME) << "

\n"; + stream << QString("

LunaisLazier %1

\n").arg(getGitHub("lunaislazier")); + stream << "
\n"; + + //: %1 is the name of the launcher, determined at build time, e.g. "Prism Launcher Contributors" + stream << "

" << QObject::tr("%1 Contributors", "About Credits").arg(BuildConfig.LAUNCHER_DISPLAYNAME) << "

\n"; + stream << QString("

Chaiznt %1

\n").arg(getGitHub("chai-znt")); + stream << QString("

Raia/Lichen %1

\n").arg(getWebsite("https://twitter.com/LichenOnaWall")); + stream << "
\n"; + + //: %1 is the name of the launcher, determined at build time, e.g. "Prism Launcher Contributors" + stream << "

" << QObject::tr("%1 Contributors", "About Credits").arg("Fjord Launcher") << "

\n"; stream << QString("

Evan Goode %1

\n").arg(getGitHub("evan-goode")); stream << "
\n"; diff --git a/launcher/ui/pages/global/APIPage.ui b/launcher/ui/pages/global/APIPage.ui index e9eb77581..35760c645 100644 --- a/launcher/ui/pages/global/APIPage.ui +++ b/launcher/ui/pages/global/APIPage.ui @@ -294,7 +294,7 @@ - <html><head/><body><p>Note: you probably don't need to set this if CurseForge already works.</p><p><span style=" font-weight:700;">Using the official CurseForge app's API key may break CurseForge's terms of service but should allow Fjord Launcher to download all mods in a modpack without you needing to download any of them manually.</span></p></body></html> + <html><head/><body><p>Note: you probably don't need to set this if CurseForge already works.</p><p><span style=" font-weight:700;">Using the official CurseForge app's API key may break CurseForge's terms of service but should allow Shattered Prism to download all mods in a modpack without you needing to download any of them manually.</span></p></body></html> true diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.ui b/launcher/ui/pages/modplatform/flame/FlamePage.ui index b028e7569..bceb5d777 100644 --- a/launcher/ui/pages/modplatform/flame/FlamePage.ui +++ b/launcher/ui/pages/modplatform/flame/FlamePage.ui @@ -11,24 +11,6 @@ - - - - - true - - - - Note: CurseForge allows creators to block access to third-party tools like Prism Launcher. As such, you may need to manually download some mods to be able to install a modpack. - - - Qt::AlignCenter - - - true - - - @@ -120,4 +102,4 @@ - + \ No newline at end of file diff --git a/launcher/ui/themes/CatPack.cpp b/launcher/ui/themes/CatPack.cpp index 85eb85a18..efa183fad 100644 --- a/launcher/ui/themes/CatPack.cpp +++ b/launcher/ui/themes/CatPack.cpp @@ -46,7 +46,7 @@ QString BasicCatPack::path() { const auto now = QDate::currentDate(); - const auto birthday = QDate(now.year(), 11, 1); + const auto birthday = QDate(now.year(), 2, 4); const auto xmas = QDate(now.year(), 12, 25); const auto halloween = QDate(now.year(), 10, 31); diff --git a/launcher/updater/PrismExternalUpdater.cpp b/launcher/updater/PrismExternalUpdater.cpp index da1861103..4d075e4e9 100644 --- a/launcher/updater/PrismExternalUpdater.cpp +++ b/launcher/updater/PrismExternalUpdater.cpp @@ -57,7 +57,7 @@ PrismExternalUpdater::PrismExternalUpdater(QWidget* parent, const QString& appDi priv = new PrismExternalUpdater::Private(); priv->appDir = QDir(appDir); priv->dataDir = QDir(dataDir); - auto settings_file = priv->dataDir.absoluteFilePath("fjordlauncher_update.cfg"); + auto settings_file = priv->dataDir.absoluteFilePath("shatteredprism_update.cfg"); priv->settings = std::make_unique(settings_file, QSettings::Format::IniFormat); priv->allowBeta = priv->settings->value("allow_beta", false).toBool(); priv->autoCheck = priv->settings->value("auto_check", false).toBool(); diff --git a/launcher/updater/prismupdater/PrismUpdater.cpp b/launcher/updater/prismupdater/PrismUpdater.cpp index 8f43c8415..ccd01bcc2 100644 --- a/launcher/updater/prismupdater/PrismUpdater.cpp +++ b/launcher/updater/prismupdater/PrismUpdater.cpp @@ -218,11 +218,11 @@ PrismUpdaterApp::PrismUpdaterApp(int& argc, char** argv) : QApplication(argc, ar // Command line parsing QCommandLineParser parser; - parser.setApplicationDescription(QObject::tr("An auto-updater for Fjord Launcher")); + parser.setApplicationDescription(QObject::tr("An auto-updater for Shattered Prism")); parser.addOptions( { { { "d", "dir" }, tr("Use a custom path as application root (use '.' for current directory)."), tr("directory") }, - { { "V", "fjordlauncher-version" }, + { { "V", "shatteredprism-version" }, tr("Use this version as the installed launcher version. (provided because stdout can not be reliably captured on windows)"), tr("installed launcher version") }, { { "I", "install-version" }, "Install a specific version.", tr("version name") }, @@ -286,7 +286,7 @@ PrismUpdaterApp::PrismUpdaterApp(int& argc, char** argv) : QApplication(argc, ar m_selectUI = parser.isSet("select-ui"); m_allowDowngrade = parser.isSet("allow-downgrade"); - auto version = parser.value("fjordlauncher-version"); + auto version = parser.value("shatteredprism-version"); if (!version.isEmpty()) { if (version.contains('-')) { auto index = version.indexOf('-'); @@ -364,7 +364,7 @@ PrismUpdaterApp::PrismUpdaterApp(int& argc, char** argv) : QApplication(argc, ar #endif } - m_updateLogPath = FS::PathCombine(m_dataPath, "logs", "fjordlauncher_update.log"); + m_updateLogPath = FS::PathCombine(m_dataPath, "logs", "shatteredprism_update.log"); { // setup logging FS::ensureFolderPathExists(FS::PathCombine(m_dataPath, "logs")); @@ -588,7 +588,7 @@ void PrismUpdaterApp::run() if (m_isFlatpak) { showFatalErrorMessage(tr("Updating flatpack not supported"), tr("Actions outside of checking if an update is available are not " - "supported when running the flatpak version of Fjord Launcher.")); + "supported when running the flatpak version of Shattered Prism.")); return; } if (m_isAppimage) { @@ -1111,13 +1111,13 @@ void PrismUpdaterApp::backupAppDir() if (file_list.isEmpty()) { // best guess if (BuildConfig.BUILD_ARTIFACT.toLower().contains("linux")) { - file_list.append({ "FjordLauncher", "bin", "share", "lib" }); + file_list.append({ "ShatteredPrism", "bin", "share", "lib" }); } else { // windows by process of elimination file_list.append({ "jars", - "fjordlauncher.exe", - "fjordlauncher_filelink.exe", - "fjordlauncher_updater.exe", + "shatteredprism.exe", + "shatteredprism_filelink.exe", + "shatteredprism_updater.exe", "qtlogging.ini", "imageformats", "iconengines", diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt index f8c5bd7b5..f0f4e8feb 100644 --- a/program_info/CMakeLists.txt +++ b/program_info/CMakeLists.txt @@ -8,8 +8,8 @@ if(UNIX) endif() endif() -set(Launcher_CommonName "FjordLauncher") -set(Launcher_DisplayName "Fjord Launcher") +set(Launcher_CommonName "ShatteredPrism") +set(Launcher_DisplayName "Shattered Prism") set(Launcher_Name "${Launcher_CommonName}" PARENT_SCOPE) set(Launcher_DisplayName "${Launcher_DisplayName}" PARENT_SCOPE) @@ -19,28 +19,28 @@ set(Launcher_Copyright_Mac "© 2024-2024 Fjord Launcher Contributors, © 2022-20 set(Launcher_Copyright "${Launcher_Copyright}" PARENT_SCOPE) set(Launcher_Domain "" PARENT_SCOPE) set(Launcher_UserAgent "PrismLauncher/${Launcher_RELEASE_VERSION_NAME}" PARENT_SCOPE) -set(Launcher_ConfigFile "fjordlauncher.cfg" PARENT_SCOPE) -set(Launcher_Git "https://github.com/unmojang/FjordLauncher" PARENT_SCOPE) -set(Launcher_DesktopFileName "org.unmojang.FjordLauncher.desktop" PARENT_SCOPE) -set(Launcher_SVGFileName "org.unmojang.FjordLauncher.svg" PARENT_SCOPE) +set(Launcher_ConfigFile "shatteredprism.cfg" PARENT_SCOPE) +set(Launcher_Git "https://github.com/lunaislazier/ShatteredPrism" PARENT_SCOPE) +set(Launcher_DesktopFileName "org.lunaislazier.ShatteredPrism.desktop" PARENT_SCOPE) +set(Launcher_SVGFileName "org.lunaislazier.ShatteredPrism.svg" PARENT_SCOPE) -set(Launcher_Desktop "program_info/org.unmojang.FjordLauncher.desktop" PARENT_SCOPE) +set(Launcher_Desktop "program_info/org.lunaislazier.ShatteredPrism.desktop" PARENT_SCOPE) set(Launcher_mrpack_MIMEInfo "program_info/modrinth-mrpack-mime.xml" PARENT_SCOPE) -set(Launcher_MetaInfo "program_info/org.unmojang.FjordLauncher.metainfo.xml" PARENT_SCOPE) -set(Launcher_SVG "program_info/org.unmojang.FjordLauncher.svg" PARENT_SCOPE) -set(Launcher_Branding_ICNS "program_info/fjordlauncher.icns" PARENT_SCOPE) -set(Launcher_Branding_ICO "program_info/fjordlauncher.ico") +set(Launcher_MetaInfo "program_info/org.lunaislazier.ShatteredPrism.metainfo.xml" PARENT_SCOPE) +set(Launcher_SVG "program_info/org.lunaislazier.ShatteredPrism.svg" PARENT_SCOPE) +set(Launcher_Branding_ICNS "program_info/shatteredprism.icns" PARENT_SCOPE) +set(Launcher_Branding_ICO "program_info/shatteredprism.ico") set(Launcher_Branding_ICO "${Launcher_Branding_ICO}" PARENT_SCOPE) -set(Launcher_Branding_WindowsRC "program_info/fjordlauncher.rc" PARENT_SCOPE) -set(Launcher_Branding_LogoQRC "program_info/fjordlauncher.qrc" PARENT_SCOPE) +set(Launcher_Branding_WindowsRC "program_info/shatteredprism.rc" PARENT_SCOPE) +set(Launcher_Branding_LogoQRC "program_info/shatteredprism.qrc" PARENT_SCOPE) set(Launcher_Portable_File "program_info/portable.txt" PARENT_SCOPE) -configure_file(org.unmojang.FjordLauncher.desktop.in org.unmojang.FjordLauncher.desktop) -configure_file(org.unmojang.FjordLauncher.metainfo.xml.in org.unmojang.FjordLauncher.metainfo.xml) -configure_file(fjordlauncher.rc.in fjordlauncher.rc @ONLY) -configure_file(fjordlauncher.manifest.in fjordlauncher.manifest @ONLY) -configure_file(fjordlauncher.ico fjordlauncher.ico COPYONLY) +configure_file(org.lunaislazier.ShatteredPrism.desktop.in org.lunaislazier.ShatteredPrism.desktop) +configure_file(org.lunaislazier.ShatteredPrism.metainfo.xml.in org.lunaislazier.ShatteredPrism.metainfo.xml) +configure_file(shatteredprism.rc.in shatteredprism.rc @ONLY) +configure_file(shatteredprism.manifest.in shatteredprism.manifest @ONLY) +configure_file(shatteredprism.ico shatteredprism.ico COPYONLY) if(MSVC) set(Launcher_MSVC_Redist_NSIS_Section [=[ @@ -69,13 +69,13 @@ endif() configure_file(win_install.nsi.in win_install.nsi @ONLY) if(SCDOC_FOUND) - set(in_scd "${CMAKE_CURRENT_SOURCE_DIR}/fjordlauncher.6.scd") - set(out_man "${CMAKE_CURRENT_BINARY_DIR}/fjordlauncher.6") + set(in_scd "${CMAKE_CURRENT_SOURCE_DIR}/shatteredprism.6.scd") + set(out_man "${CMAKE_CURRENT_BINARY_DIR}/shatteredprism.6") add_custom_command( DEPENDS "${in_scd}" OUTPUT "${out_man}" COMMAND ${SCDOC_SCDOC} < "${in_scd}" > "${out_man}" ) add_custom_target(man ALL DEPENDS ${out_man}) - set(Launcher_ManPage "program_info/fjordlauncher.6" PARENT_SCOPE) + set(Launcher_ManPage "program_info/shatteredprism.6" PARENT_SCOPE) endif() diff --git a/program_info/fjordlauncher.icns b/program_info/fjordlauncher.icns deleted file mode 100644 index 5e8b707d31e00369a5ee894f46000e4a4aef1d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35338 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 Jsd2uT`aeHIXZ!#F diff --git a/program_info/fjordlauncher.ico b/program_info/fjordlauncher.ico deleted file mode 100644 index 8f4bab177aea11d0961583c0b44494f55f026f96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372526 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 - org.unmojang.FjordLauncher.svg + org.lunaislazier.ShatteredPrism.svg diff --git a/program_info/genicons.fjord.sh b/program_info/genicons.shattered.sh old mode 100755 new mode 100644 similarity index 51% rename from program_info/genicons.fjord.sh rename to program_info/genicons.shattered.sh index 464ce4bbd..5e8e649e4 --- a/program_info/genicons.fjord.sh +++ b/program_info/genicons.shattered.sh @@ -10,7 +10,7 @@ svg2png() { } if command -v "svgo"; then - svgo org.unmojang.FjordLauncher.Source.svg -o org.unmojang.FjordLauncher.svg + svgo org.lunaislazier.ShatteredPrism.Source.svg -o org.lunaislazier.ShatteredPrism.svg else echo 'ERROR: svgo not in $PATH' fi @@ -19,22 +19,22 @@ if command -v "inkscape" && command -v "icotool"; then # Windows ICO d=$(mktemp -d) - svg2png org.unmojang.FjordLauncher.svg "$d/fjordlauncher_16.png" 16 16 - svg2png org.unmojang.FjordLauncher.svg "$d/fjordlauncher_24.png" 24 24 - svg2png org.unmojang.FjordLauncher.svg "$d/fjordlauncher_32.png" 32 32 - svg2png org.unmojang.FjordLauncher.svg "$d/fjordlauncher_48.png" 48 48 - svg2png org.unmojang.FjordLauncher.svg "$d/fjordlauncher_64.png" 64 64 - svg2png org.unmojang.FjordLauncher.svg "$d/fjordlauncher_128.png" 128 128 - svg2png org.unmojang.FjordLauncher.svg "$d/fjordlauncher_256.png" 256 256 + svg2png org.lunaislazier.ShatteredPrism.svg "$d/shatteredprism_16.png" 16 16 + svg2png org.lunaislazier.ShatteredPrism.svg "$d/shatteredprism_24.png" 24 24 + svg2png org.lunaislazier.ShatteredPrism.svg "$d/shatteredprism_32.png" 32 32 + svg2png org.lunaislazier.ShatteredPrism.svg "$d/shatteredprism_48.png" 48 48 + svg2png org.lunaislazier.ShatteredPrism.svg "$d/shatteredprism_64.png" 64 64 + svg2png org.lunaislazier.ShatteredPrism.svg "$d/shatteredprism_128.png" 128 128 + svg2png org.lunaislazier.ShatteredPrism.svg "$d/shatteredprism_256.png" 256 256 - rm fjordlauncher.ico && icotool -o fjordlauncher.ico -c \ - "$d/fjordlauncher_256.png" \ - "$d/fjordlauncher_128.png" \ - "$d/fjordlauncher_64.png" \ - "$d/fjordlauncher_48.png" \ - "$d/fjordlauncher_32.png" \ - "$d/fjordlauncher_24.png" \ - "$d/fjordlauncher_16.png" + rm shatteredprism.ico && icotool -o shatteredprism.ico -c \ + "$d/shatteredprism_256.png" \ + "$d/shatteredprism_128.png" \ + "$d/shatteredprism_64.png" \ + "$d/shatteredprism_48.png" \ + "$d/shatteredprism_32.png" \ + "$d/shatteredprism_24.png" \ + "$d/shatteredprism_16.png" else echo "ERROR: Windows icons were NOT generated!" >&2 echo "ERROR: requires inkscape and icotool in PATH" @@ -44,11 +44,11 @@ if command -v "inkscape" && command -v "magick"; then # macOS ICNS d=$(mktemp -d) - d="$d/fjordlauncher.iconset" + d="$d/shatteredprism.iconset" mkdir -p "$d" - svg2png org.unmojang.FjordLauncher.bigsur.svg "$d/icon_512x512@2.png" 1024 1024 + svg2png org.lunaislazier.ShatteredPrism.bigsur.svg "$d/icon_512x512@2.png" 1024 1024 magick convert "$d/icon_512x512@2.png" -resize 16x16 "$d/icon_16x16.png" magick convert "$d/icon_512x512@2.png" -resize 32x32 "$d/icon_16x16@2.png" magick convert "$d/icon_512x512@2.png" -resize 32x32 "$d/icon_32x32.png" @@ -57,11 +57,11 @@ if command -v "inkscape" && command -v "magick"; then magick convert "$d/icon_512x512@2.png" -resize 256x256 "$d/icon_128x128@2.png" magick convert "$d/icon_512x512@2.png" -resize 256x256 "$d/icon_256x256.png" magick convert "$d/icon_512x512@2.png" -resize 512x512 "$d/icon_256x256@2.png" - magick convert "$d"/* fjordlauncher.icns + magick convert "$d"/* shatteredprism.icns else echo 'ERROR: macOS icons were NOT generated!' >&2 echo 'ERROR: requires inkscape and magick in $PATH' fi # replace icon in themes -cp -v org.unmojang.FjordLauncher.svg "../launcher/resources/multimc/scalable/launcher.svg" +cp -v org.lunaislazier.Shatteredprism.svg "../launcher/resources/multimc/scalable/launcher.svg" diff --git a/program_info/org.lunaislazier.ShatteredPrism Source.svg b/program_info/org.lunaislazier.ShatteredPrism Source.svg new file mode 100644 index 000000000..bfab74fe3 --- /dev/null +++ b/program_info/org.lunaislazier.ShatteredPrism Source.svg @@ -0,0 +1,51 @@ + + + + + + + + + + diff --git a/program_info/org.lunaislazier.ShatteredPrism.bigsur.svg b/program_info/org.lunaislazier.ShatteredPrism.bigsur.svg new file mode 100644 index 000000000..5e55c1d7d --- /dev/null +++ b/program_info/org.lunaislazier.ShatteredPrism.bigsur.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/program_info/org.unmojang.FjordLauncher.desktop.in b/program_info/org.lunaislazier.ShatteredPrism.desktop.in old mode 100755 new mode 100644 similarity index 92% rename from program_info/org.unmojang.FjordLauncher.desktop.in rename to program_info/org.lunaislazier.ShatteredPrism.desktop.in index 083573ec7..0cb6abb77 --- a/program_info/org.unmojang.FjordLauncher.desktop.in +++ b/program_info/org.lunaislazier.ShatteredPrism.desktop.in @@ -6,7 +6,7 @@ Type=Application Terminal=false Exec=@Launcher_APP_BINARY_NAME@ %U StartupNotify=true -Icon=org.unmojang.FjordLauncher +Icon=org.lunaislazier.ShatteredPrism Categories=Game;ActionGame;AdventureGame;Simulation; Keywords=game;minecraft;mc; StartupWMClass=@Launcher_CommonName@ diff --git a/program_info/org.unmojang.FjordLauncher.metainfo.xml.in b/program_info/org.lunaislazier.ShatteredPrism.metainfo.xml.in similarity index 75% rename from program_info/org.unmojang.FjordLauncher.metainfo.xml.in rename to program_info/org.lunaislazier.ShatteredPrism.metainfo.xml.in index 853e0a010..aff20d1ae 100644 --- a/program_info/org.unmojang.FjordLauncher.metainfo.xml.in +++ b/program_info/org.lunaislazier.ShatteredPrism.metainfo.xml.in @@ -1,16 +1,16 @@ - org.unmojang.FjordLauncher - org.unmojang.FjordLauncher.desktop - Fjord Launcher + org.lunaislazier.ShatteredPrism + org.lunaislazier.ShatteredPrism.desktop + Shattered Prism fn2006

A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once CC0-1.0 GPL-3.0-only - https://github.com/unmojang/FjordLauncher - https://github.com/unmojang/FjordLauncher/issues + https://github.com/lunaislazier/ShatteredPrism + https://github.com/lunaislazier/ShatteredPrism/issues -

Fjord Launcher is a custom launcher for Minecraft that focuses on predictability, long term stability and simplicity.

+

Shattered Prism is a custom launcher for Minecraft that focuses on predictability, long term stability and simplicity.

Features: