From 9e4aa2a1329f5640271722325e7638fce810e279 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 18:21:15 +0900 Subject: [PATCH 001/171] TEST: tesing main release on Gitea [skip ci] --- .github/workflows/main-gitea.yml | 164 +++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 .github/workflows/main-gitea.yml diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml new file mode 100644 index 00000000..b25c8931 --- /dev/null +++ b/.github/workflows/main-gitea.yml @@ -0,0 +1,164 @@ +name: "Build main" + +on: +# push: +# branches: +# - main +# paths: +# - '.github/workflows/**' +# - 'automation_tools/**' +# - 'emu-configs/**' +# - 'es-configs/**' +# - 'functions/**' +# - 'rd-submodules/**' +# - '*.sh' +# - 'net.retrodeck.retrodeck.yml' +# - 'net.retrodeck.retrodeck.appdata.xml' +# pull_request: +# branches: +# - main + + workflow_dispatch: + + +jobs: + + Building_RetroDECK: + runs-on: ubuntu-latest + steps: + + # Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317 + - name: Remove stuck mounts + run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* + continue-on-error: true + + - name: Clone RetroDECK repo + uses: actions/checkout@v3 + with: + submodules: 'true' + + - name: "Install dependencies" + run: "automation_tools/install_dependencies.sh" + + # backing up manifest in case download fails and hashes must be recalculated + - name: Manifest backup + run: "cp ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" + + - name: Run pre-build automation tasks + run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" + + - name: Read manifest content + id: read_manifest + run: echo "::set-output name=file_content::$(cat net.retrodeck.retrodeck.yml)" + + # - name: "Updating release notes in appdata" + # run: "automation_tools/appdata_management.sh" + + - name: Check versions (main only) + id: check_version_string + run: "automation_tools/main_version_checker.sh" + + - name: "[DEBUG] Outputting manifest" + run: cat net.retrodeck.retrodeck.yml + + # - name: "Build flatpak: download only" + # id: "flatpak-download" + # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" + # continue-on-error: true + + # Sometimes flatpak download fails, in this case it tries a second time + # - name: "Build flatpak: download only (retry)" + # if: steps.flatpak-download.outcome == 'failure' + # run: | + # echo "Download failed, maybe some hash changed since the build start." + # echo "Recalculating hashes and retrying download..." + # rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" + # cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" + # "${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" + # "${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" + + # - name: Build flatpak + # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh" + + # - name: Create Artifact for flathub + # run: | + # tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-main . + # hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact.tar.gz)) + # echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact.sha + # mv -f RetroDECK-Artifact.* ${{ secrets.ARTIFACT_REPO }} + + # - name: Create Bundle + # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh" + + - name: Create fake files + run: | + echo "hello" > RetroDECK.flatpak + echo "hello" > RetroDECK-Artifact.tar.gz + + - name: Getting version info + id: version + run: | + appdata="https://raw.githubusercontent.com/XargonWan/RetroDECK/main/net.retrodeck.retrodeck.appdata.xml" + REL_VER=$(curl -s $appdata | xmlstarlet sel -t -v "//release/@version" | head -1) + DES="$(curl -s $appdata | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')" + echo "REL_VER=$REL_VER" >> $GITHUB_ENV + echo -e "# Release Notes\n" >> "body.md" + echo "$DES" >> "body.md" + + - name: Publish the flatpak in a new release + uses: ncipollo/release-action@v1 + env: + REL_VER: ${{ env.REL_VER }} + with: + tag: ${{ env.REL_VER }} + name: "RetroDECK v${{ env.REL_VER }}" + bodyFile: "body.md" + artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" + allowUpdates: true + makeLatest: true + token: ${{ secrets.TRIGGER_BUILD_TOKEN }} + repo: RetroDECK + continue-on-error: true + + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release + # - name: Upload RetroDECK.flatpak + # uses: actions/upload-artifact@v3 + # with: + # name: retrodeck-flatpak + # path: RetroDECK.flatpak + # continue-on-error: true + + - name: Upload RetroDECK-cooker.flatpak to Gitea Release + run: | + # Set variables for Gitea host, organization, repository, access token, and release details + GITEA_HOST="repo.retrodeck.net" + ORGANIZATION="RetroDECK" + REPO="RetroDECK" + GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" + RELEASE_NAME="RetroDECK ${{env.TAG}}" + TAG="${{env.TAG}}" + RELEASE_BODY="$(cat body.md)" + + # Create a release using curl and capture the release ID + release_response=$(curl -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$RELEASE_BODY\"}" \ + "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases") + + # Extract the release ID from the response + release_id=$(echo $release_response | jq -r '.id') + + # Upload artifacts + curl -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@RetroDECK.flatpak" \ + "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" + + curl -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@RetroDECK-Artifact.tar.gz" \ + "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" + From 5e828a1463a43d6437a2e707b931e3a0c9d100b6 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 18:21:54 +0900 Subject: [PATCH 002/171] TEST: tesing main release on Gitea [skip ci] --- .github/workflows/main-gitea.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml index b25c8931..d97c3481 100644 --- a/.github/workflows/main-gitea.yml +++ b/.github/workflows/main-gitea.yml @@ -1,4 +1,4 @@ -name: "Build main" +name: "Publish main on Gitea" on: # push: From dd99ad9c95642f4dc9e9aae289305dca7b5391cc Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 18:26:31 +0900 Subject: [PATCH 003/171] TEST: tesing main release on Gitea [skip ci] --- .github/workflows/main-gitea.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml index d97c3481..83b3fc53 100644 --- a/.github/workflows/main-gitea.yml +++ b/.github/workflows/main-gitea.yml @@ -105,20 +105,20 @@ jobs: echo -e "# Release Notes\n" >> "body.md" echo "$DES" >> "body.md" - - name: Publish the flatpak in a new release - uses: ncipollo/release-action@v1 - env: - REL_VER: ${{ env.REL_VER }} - with: - tag: ${{ env.REL_VER }} - name: "RetroDECK v${{ env.REL_VER }}" - bodyFile: "body.md" - artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" - allowUpdates: true - makeLatest: true - token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - repo: RetroDECK - continue-on-error: true + # - name: Publish the flatpak in a new release + # uses: ncipollo/release-action@v1 + # env: + # REL_VER: ${{ env.REL_VER }} + # with: + # tag: ${{ env.REL_VER }} + # name: "RetroDECK v${{ env.REL_VER }}" + # bodyFile: "body.md" + # artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" + # allowUpdates: true + # makeLatest: true + # token: ${{ secrets.TRIGGER_BUILD_TOKEN }} + # repo: RetroDECK + # continue-on-error: true # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release # - name: Upload RetroDECK.flatpak @@ -135,8 +135,8 @@ jobs: ORGANIZATION="RetroDECK" REPO="RetroDECK" GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" - RELEASE_NAME="RetroDECK ${{env.TAG}}" - TAG="${{env.TAG}}" + RELEASE_NAME="RetroDECK ${{ env.REL_VER }}" + TAG="${{ env.REL_VER }}" RELEASE_BODY="$(cat body.md)" # Create a release using curl and capture the release ID From cc9ed43c3f01559685c1ba8f9f993e3bffb45aac Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 18:33:14 +0900 Subject: [PATCH 004/171] TEST: tesing main release on Gitea [skip ci] --- .github/workflows/main-gitea.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml index 83b3fc53..2af25979 100644 --- a/.github/workflows/main-gitea.yml +++ b/.github/workflows/main-gitea.yml @@ -139,6 +139,8 @@ jobs: TAG="${{ env.REL_VER }}" RELEASE_BODY="$(cat body.md)" + echo -e "[DEBUG] Release Body:\n$RELEASE_BODY" + # Create a release using curl and capture the release ID release_response=$(curl -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ @@ -146,6 +148,8 @@ jobs: -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$RELEASE_BODY\"}" \ "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases") + echo -e "[DEBUG] Release response:\n$release_response" + # Extract the release ID from the response release_id=$(echo $release_response | jq -r '.id') From 5169f4918ab1efe185c47e973c45e0f7946b6028 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 21:38:44 +0900 Subject: [PATCH 005/171] TEST: tesing main release on Gitea [skip ci] --- .github/workflows/main-gitea.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml index 2af25979..deea0003 100644 --- a/.github/workflows/main-gitea.yml +++ b/.github/workflows/main-gitea.yml @@ -145,7 +145,7 @@ jobs: release_response=$(curl -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/json" \ - -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$RELEASE_BODY\"}" \ + -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":"'"$RELEASE_BODY"'"}" \ "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases") echo -e "[DEBUG] Release response:\n$release_response" From af90d94c795eeb589259dc0dd32597e6337f44a1 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 21:45:29 +0900 Subject: [PATCH 006/171] TEST: tesing main release on Gitea [skip ci] --- .github/workflows/main-gitea.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml index deea0003..88a8c10e 100644 --- a/.github/workflows/main-gitea.yml +++ b/.github/workflows/main-gitea.yml @@ -139,13 +139,13 @@ jobs: TAG="${{ env.REL_VER }}" RELEASE_BODY="$(cat body.md)" - echo -e "[DEBUG] Release Body:\n$RELEASE_BODY" + escaped_body=$(echo "$RELEASE_BODY" | sed 's/[][\\.*^$]/\\&/g') # Create a release using curl and capture the release ID release_response=$(curl -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/json" \ - -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":"'"$RELEASE_BODY"'"}" \ + -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$escaped_body\"}" \ "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases") echo -e "[DEBUG] Release response:\n$release_response" From 0e8d4aba127ead76b62ed39716bea1a8285238fb Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 22:28:10 +0900 Subject: [PATCH 007/171] TEST: tesing main release on Gitea [skip ci] --- .github/workflows/main-gitea.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml index 88a8c10e..0c163bc7 100644 --- a/.github/workflows/main-gitea.yml +++ b/.github/workflows/main-gitea.yml @@ -135,20 +135,23 @@ jobs: ORGANIZATION="RetroDECK" REPO="RetroDECK" GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" - RELEASE_NAME="RetroDECK ${{ env.REL_VER }}" + RELEASE_NAME="RetroDECK v${{ env.REL_VER }}" TAG="${{ env.REL_VER }}" - RELEASE_BODY="$(cat body.md)" - escaped_body=$(echo "$RELEASE_BODY" | sed 's/[][\\.*^$]/\\&/g') + payload=$(jq -cn \ + --arg tag_name "$TAG" \ + --arg name "$RELEASE_NAME" \ + --arg body "$(cat body.md)" \ + '{$tag_name, $name, $body}' + ) # Create a release using curl and capture the release ID release_response=$(curl -X POST \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: application/json" \ - -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$escaped_body\"}" \ - "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases") - - echo -e "[DEBUG] Release response:\n$release_response" + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "$payload" \ + "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases" + ) # Extract the release ID from the response release_id=$(echo $release_response | jq -r '.id') From eff4e28c0c888baa500969e59156233cac14a73f Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 22 Apr 2024 22:33:44 +0900 Subject: [PATCH 008/171] WORKFLOW: added Gitea main publishment [skip ci] --- .github/workflows/main-gitea.yml | 171 -------------------------- .github/workflows/main-selfhosted.yml | 61 +++++---- 2 files changed, 39 insertions(+), 193 deletions(-) delete mode 100644 .github/workflows/main-gitea.yml diff --git a/.github/workflows/main-gitea.yml b/.github/workflows/main-gitea.yml deleted file mode 100644 index 0c163bc7..00000000 --- a/.github/workflows/main-gitea.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: "Publish main on Gitea" - -on: -# push: -# branches: -# - main -# paths: -# - '.github/workflows/**' -# - 'automation_tools/**' -# - 'emu-configs/**' -# - 'es-configs/**' -# - 'functions/**' -# - 'rd-submodules/**' -# - '*.sh' -# - 'net.retrodeck.retrodeck.yml' -# - 'net.retrodeck.retrodeck.appdata.xml' -# pull_request: -# branches: -# - main - - workflow_dispatch: - - -jobs: - - Building_RetroDECK: - runs-on: ubuntu-latest - steps: - - # Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317 - - name: Remove stuck mounts - run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* - continue-on-error: true - - - name: Clone RetroDECK repo - uses: actions/checkout@v3 - with: - submodules: 'true' - - - name: "Install dependencies" - run: "automation_tools/install_dependencies.sh" - - # backing up manifest in case download fails and hashes must be recalculated - - name: Manifest backup - run: "cp ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" - - - name: Run pre-build automation tasks - run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" - - - name: Read manifest content - id: read_manifest - run: echo "::set-output name=file_content::$(cat net.retrodeck.retrodeck.yml)" - - # - name: "Updating release notes in appdata" - # run: "automation_tools/appdata_management.sh" - - - name: Check versions (main only) - id: check_version_string - run: "automation_tools/main_version_checker.sh" - - - name: "[DEBUG] Outputting manifest" - run: cat net.retrodeck.retrodeck.yml - - # - name: "Build flatpak: download only" - # id: "flatpak-download" - # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" - # continue-on-error: true - - # Sometimes flatpak download fails, in this case it tries a second time - # - name: "Build flatpak: download only (retry)" - # if: steps.flatpak-download.outcome == 'failure' - # run: | - # echo "Download failed, maybe some hash changed since the build start." - # echo "Recalculating hashes and retrying download..." - # rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" - # cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" - # "${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" - # "${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" - - # - name: Build flatpak - # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh" - - # - name: Create Artifact for flathub - # run: | - # tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-main . - # hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact.tar.gz)) - # echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact.sha - # mv -f RetroDECK-Artifact.* ${{ secrets.ARTIFACT_REPO }} - - # - name: Create Bundle - # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh" - - - name: Create fake files - run: | - echo "hello" > RetroDECK.flatpak - echo "hello" > RetroDECK-Artifact.tar.gz - - - name: Getting version info - id: version - run: | - appdata="https://raw.githubusercontent.com/XargonWan/RetroDECK/main/net.retrodeck.retrodeck.appdata.xml" - REL_VER=$(curl -s $appdata | xmlstarlet sel -t -v "//release/@version" | head -1) - DES="$(curl -s $appdata | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')" - echo "REL_VER=$REL_VER" >> $GITHUB_ENV - echo -e "# Release Notes\n" >> "body.md" - echo "$DES" >> "body.md" - - # - name: Publish the flatpak in a new release - # uses: ncipollo/release-action@v1 - # env: - # REL_VER: ${{ env.REL_VER }} - # with: - # tag: ${{ env.REL_VER }} - # name: "RetroDECK v${{ env.REL_VER }}" - # bodyFile: "body.md" - # artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" - # allowUpdates: true - # makeLatest: true - # token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - # repo: RetroDECK - # continue-on-error: true - - # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - # - name: Upload RetroDECK.flatpak - # uses: actions/upload-artifact@v3 - # with: - # name: retrodeck-flatpak - # path: RetroDECK.flatpak - # continue-on-error: true - - - name: Upload RetroDECK-cooker.flatpak to Gitea Release - run: | - # Set variables for Gitea host, organization, repository, access token, and release details - GITEA_HOST="repo.retrodeck.net" - ORGANIZATION="RetroDECK" - REPO="RetroDECK" - GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" - RELEASE_NAME="RetroDECK v${{ env.REL_VER }}" - TAG="${{ env.REL_VER }}" - - payload=$(jq -cn \ - --arg tag_name "$TAG" \ - --arg name "$RELEASE_NAME" \ - --arg body "$(cat body.md)" \ - '{$tag_name, $name, $body}' - ) - - # Create a release using curl and capture the release ID - release_response=$(curl -X POST \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: application/json" \ - -d "$payload" \ - "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases" - ) - - # Extract the release ID from the response - release_id=$(echo $release_response | jq -r '.id') - - # Upload artifacts - curl -X POST \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: multipart/form-data" \ - -F "attachment=@RetroDECK.flatpak" \ - "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" - - curl -X POST \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: multipart/form-data" \ - -F "attachment=@RetroDECK-Artifact.tar.gz" \ - "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" - diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index bd335618..6da64968 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -123,27 +123,44 @@ jobs: path: RetroDECK.flatpak continue-on-error: true - - name: Publish the flatpak in a new release on Gitea - uses: ncipollo/release-action@v1 - env: - REL_VER: ${{ env.REL_VER }} - with: - tag: ${{ env.REL_VER }} - name: "RetroDECK v${{ env.REL_VER }}" - bodyFile: "body.md" - artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" - allowUpdates: true - makeLatest: true - token: ${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }} - repo: "https://repo.retrodeck.net/RetroDECK/RetroDECK" - continue-on-error: true - - - name: Upload RetroDECK.flatpak to Gitea Release + - name: Publish release on Gitea run: | - curl -X POST \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -F "file=@RetroDECK.flatpak" \ - "https://repo.retrodeck.net/RetroDECK/RetroDECK/releases/${{ env.REL_VER }}/assets?name=RetroDECK.flatpak" - env: - GITEA_TOKEN: ${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }} + # Set variables for Gitea host, organization, repository, access token, and release details + GITEA_HOST="repo.retrodeck.net" + ORGANIZATION="RetroDECK" + REPO="RetroDECK" + GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" + RELEASE_NAME="RetroDECK v${{ env.REL_VER }}" + TAG="${{ env.REL_VER }}" + + payload=$(jq -cn \ + --arg tag_name "$TAG" \ + --arg name "$RELEASE_NAME" \ + --arg body "$(cat body.md)" \ + '{$tag_name, $name, $body}' + ) + + # Create a release using curl and capture the release ID + release_response=$(curl -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: application/json" \ + -d "$payload" \ + "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases" + ) + + # Extract the release ID from the response + release_id=$(echo $release_response | jq -r '.id') + + # Upload artifacts + curl -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@RetroDECK.flatpak" \ + "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" + + curl -X POST \ + -H "Authorization: token ${GITEA_TOKEN}" \ + -H "Content-Type: multipart/form-data" \ + -F "attachment=@RetroDECK-Artifact.tar.gz" \ + "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" From b3b7ee7500a3d5241a05fa50a7a3150ceeca684b Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 29 Apr 2024 19:40:34 +0200 Subject: [PATCH 009/171] MANIFEST: updating runtime version to 6.7 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 2b2cdf04..1069b4be 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1,6 +1,6 @@ app-id: net.retrodeck.retrodeck runtime: org.kde.Platform -runtime-version: "6.5" +runtime-version: "6.7" sdk: org.kde.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.llvm16 # Needed for RPCS3 (llvm17 actually) From 7675568a2c71957e2dbc69521643df89ba6dbc23 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 2 May 2024 13:52:52 +0200 Subject: [PATCH 010/171] MANIFEST: updated ffmpeg to n5.1.4 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 1069b4be..8de71416 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -372,7 +372,7 @@ modules: sources: - type: git url: https://github.com/FFmpeg/FFmpeg.git - tag: n5.1.1 + tag: n5.1.4 - name: freeimage no-autogen: true From 4b95340b0c3a9c7723f51bfa3f137f9a32299f78 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 2 May 2024 15:43:06 +0200 Subject: [PATCH 011/171] DOLPHIN: updated to 5.0-21264 (6.7 runtime support) --- net.retrodeck.retrodeck.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 8de71416..58a0ab63 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -701,7 +701,6 @@ modules: # https://github.com/flathub/org.DolphinEmu.dolphin-emu # WHEN UPADTING: remember to update rd-submodules/dolphin contents - # needed for screensaver inhibition - name: xdg-screensaver-shim buildsystem: meson sources: @@ -728,7 +727,7 @@ modules: # fatal: remote transport reported error # url: ssh://git@github.com/dolphin-emu/dolphin.git url: https://github.com/dolphin-emu/dolphin.git - commit: 032c77b462a220016f23c5079e71bb23e0ad2adf + commit: 1efda863e47b690f460f069502a4391b3c7d87c4 x-checker-data: type: json url: https://dolphin-emu.org/update/latest/beta From d4060fde6ab0728d549e5ad1f1126f27d5e3209e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 4 May 2024 09:46:01 +0200 Subject: [PATCH 012/171] WORKFLOWS: restoring cooker-selfhosted on main and removing persistent one [skip ci] --- .../workflows}/cooker-selfhosted.yml | 135 +++++++++++++----- .../cooker-selfhosted-persistent.yml | 0 2 files changed, 99 insertions(+), 36 deletions(-) rename {old/removed-workflows => .github/workflows}/cooker-selfhosted.yml (56%) rename {.github/workflows => old/removed-workflows}/cooker-selfhosted-persistent.yml (100%) diff --git a/old/removed-workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml similarity index 56% rename from old/removed-workflows/cooker-selfhosted.yml rename to .github/workflows/cooker-selfhosted.yml index 43d086c9..4ffb693a 100644 --- a/old/removed-workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -1,32 +1,31 @@ name: "Build cooker" on: - # push: - # branches: - # - cooker* - # - feat* - # paths: - # - '.github/workflows/**' - # - 'automation_tools/**' - # - 'emu-configs/**' - # - 'es-configs/**' - # - 'functions/**' - # - 'rd-submodules/**' - # - '*.sh' - # - 'net.retrodeck.retrodeck.yml' - # - 'net.retrodeck.retrodeck.appdata.xml' - # pull_request: - # branches: - # - cooker* + push: + branches: + - cooker* + - feat* + paths: + - '.github/workflows/**' + - 'automation_tools/**' + - 'emu-configs/**' + - 'es-configs/**' + - 'functions/**' + - 'rd-submodules/**' + - '*.sh' + - 'net.retrodeck.retrodeck.yml' + - 'net.retrodeck.retrodeck.appdata.xml' + pull_request: + branches: + - cooker* # Italy (CET): 11:00 PM # Japan (JST): 7:00 AM - schedule: - - cron: '0 22 * * *' + # schedule: + # - cron: '0 22 * * *' workflow_dispatch: - jobs: Building_RetroDECK: @@ -49,6 +48,33 @@ jobs: - name: Generate cooker build ID run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_build_id.sh" + - name: Get branch name + id: branch_name + run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV + + # if it's a feature branch it will not marked as "latest" cooker version + - name: "Set makeLatest (cooker only)" + run: | + if [[ "$BRANCH_NAME" == 'feat/'* || "$BRANCH_NAME" == 'refs/'* ]]; then + echo "MAKE_LATEST=false" >> $GITHUB_ENV + else + echo "MAKE_LATEST=true" >> $GITHUB_ENV + fi + + # if the branch is coming from a PR the tag should be manually built + - name: "Generate version tag" + run: | + if [[ "$BRANCH_NAME" == 'refs/'* ]]; then + pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') + source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') + source_branch=${source_branch//\//-} + echo "[DEBUG] source branch is: $source_branch" + echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV + else + echo "TAG=${{env.BRANCH_NAME}}-${{ env.buildid }}" >> $GITHUB_ENV + fi + echo "Version TAG: ${{ env.TAG }}" + # backing up manifest in case download fails and hashes must be recalculated - name: Manifest backup run: "cp ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" @@ -109,23 +135,10 @@ jobs: id: commits continue-on-error: true - - name: Get branch name - id: branch_name - run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV - - # if it's a feature branch it will not marked as "latest" cooker version - - name: "Set makeLatest (cooker only)" - run: | - if [[ "$BRANCH_NAME" == 'feat/'* ]]; then - echo "MAKE_LATEST=false" >> $GITHUB_ENV - else - echo "MAKE_LATEST=true" >> $GITHUB_ENV - fi - - name: Publish the flatpak in a new cooker release uses: ncipollo/release-action@v1 with: - tag: "${{env.BRANCH_NAME}}-${{ env.buildid }}" + tag: "${{env.TAG}}" body: | # Release Notes (Cooker) This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}. @@ -134,12 +147,12 @@ jobs: ## Commits since last release ${{ steps.commits.outputs.commits }} - For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/qQcrFvaA2C) on our Discord server. + For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/WDc5C9YWMx) on our Discord server. Cooker channel is provided for the community to test fixes and explore new functionality. Please DO NOT open issues or ask support on this build. - artifacts: "RetroDECK-cooker.flatpak,RetroDECK-Artifact.tar.gz" + artifacts: "RetroDECK-cooker.flatpak,RetroDECK-cooker.flatpak.sha,RetroDECK-Artifact.tar.gz" allowUpdates: true makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build token: ${{ secrets.TRIGGER_BUILD_TOKEN }} @@ -154,3 +167,53 @@ jobs: path: RetroDECK-cooker.flatpak continue-on-error: true + # - name: Upload RetroDECK-cooker.flatpak to Gitea Release + # run: | + # # Set variables for Gitea host, organization, repository, access token, and release details + # GITEA_HOST="repo.retrodeck.net" + # ORGANIZATION="RetroDECK" + # REPO="RetroDECK-cooker" + # GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" + # RELEASE_NAME="RetroDECK ${{env.TAG}}" + # TAG="${{env.TAG}}" + # RELEASE_BODY="# Release Notes (Cooker) + # This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}. + # On branch [${{env.BRANCH_NAME}}](https://repo.retrodeck.net/RetroDECK/RetroDECK/src/branch/${{env.BRANCH_NAME}}). + + # ## Commits since last release + # ${{ steps.commits.outputs.commits }} + + # For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/WDc5C9YWMx) on our Discord server. + + # Cooker channel is provided for the community to test fixes and explore new functionality. + # Please DO NOT open issues or ask support on this build." + + # # Create a release using curl and capture the release ID + # release_response=$(curl -X POST \ + # -H "Authorization: token ${GITEA_TOKEN}" \ + # -H "Content-Type: application/json" \ + # -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$RELEASE_BODY\"}" \ + # "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases") + + # # Extract the release ID from the response + # release_id=$(echo $release_response | jq -r '.id') + + # # Upload artifacts + # curl -X POST \ + # -H "Authorization: token ${GITEA_TOKEN}" \ + # -H "Content-Type: multipart/form-data" \ + # -F "attachment=@RetroDECK-cooker.flatpak" \ + # "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" + + # # Upload artifacts sha + # curl -X POST \ + # -H "Authorization: token ${GITEA_TOKEN}" \ + # -H "Content-Type: multipart/form-data" \ + # -F "attachment=@RetroDECK-cooker.flatpak.sha" \ + # "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak.sha" + + # curl -X POST \ + # -H "Authorization: token ${GITEA_TOKEN}" \ + # -H "Content-Type: multipart/form-data" \ + # -F "attachment=@RetroDECK-Artifact.tar.gz" \ + # "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" diff --git a/.github/workflows/cooker-selfhosted-persistent.yml b/old/removed-workflows/cooker-selfhosted-persistent.yml similarity index 100% rename from .github/workflows/cooker-selfhosted-persistent.yml rename to old/removed-workflows/cooker-selfhosted-persistent.yml From 0da0e92c198535bb01c85c0df540f1f442ecde04 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 13 May 2024 09:53:21 +0200 Subject: [PATCH 013/171] APPDATA: updating date [skip c] --- net.retrodeck.retrodeck.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index ba2f06ca..395edded 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,7 +67,7 @@ GPL-3.0 CC0-1.0 - + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.1b

Changes:

From 9057a57abe4f09d9c429f659b2f2ca59dd3cc9a1 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 13 May 2024 10:09:59 +0200 Subject: [PATCH 014/171] RetroDECK 0.8.1b --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ebca27e7..604186f0 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -69,7 +69,7 @@ modules: # The version number is hardcoded in /app/retrodeck/version # # UPDATE STEPS FOR MAIN: - # [ ] Update the VERSION variable on line containing "VERSION=THISBRANCH" + # [x] Update the VERSION variable on line containing "VERSION=THISBRANCH" # [x] Update the appdata.xml with the version number and notes # - name: version-initialization @@ -79,7 +79,7 @@ modules: # on main please update this with the version variable, eg: VERSION=0.8.0b # on cooker will be THISBRANCH - VERSION=THISBRANCH + VERSION=0.8.1b git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ From 15657f396c09711bc9935009d9b2bbafc2e57a84 Mon Sep 17 00:00:00 2001 From: Alex Meyer Date: Tue, 14 May 2024 13:26:52 -0400 Subject: [PATCH 015/171] fix validate_for_chd check and unqouted log line --- functions/compression.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index bb33cd2e..e2af3fe2 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -34,7 +34,7 @@ find_compatible_compression_format() { local normalized_filename=$(echo "$1" | tr '[:upper:]' '[:lower:]') local system=$(echo "$1" | grep -oE "$roms_folder/[^/]+" | grep -oE "[^/]+$") - if [[ $(validate_for_chd "$1") == "true" ]] && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "chd" ]]; then + if [[ $(validate_for_chd "$1") == *"true" ]] && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "chd" ]]; then echo "chd" elif grep -qF ".${normalized_filename##*.}" $zip_compressable_extensions && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "zip" ]]; then echo "zip" @@ -66,7 +66,7 @@ validate_for_chd() { log i "Validating .cue associated .bin files" local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") log i "Associated bin files read:" - log i $(printf '%s\n' "$cue_bin_files") + log i "$(printf '%s\n' "$cue_bin_files")" if [[ ! -z "$cue_bin_files" ]]; then while IFS= read -r line do From 5db5fcb407073ca2c6e7c2dc9dd730a77e65ed8d Mon Sep 17 00:00:00 2001 From: Alex Meyer Date: Tue, 14 May 2024 16:16:36 -0400 Subject: [PATCH 016/171] make `log` output to stderr --- functions/compression.sh | 2 +- functions/logger.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index e2af3fe2..9616a2c3 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -34,7 +34,7 @@ find_compatible_compression_format() { local normalized_filename=$(echo "$1" | tr '[:upper:]' '[:lower:]') local system=$(echo "$1" | grep -oE "$roms_folder/[^/]+" | grep -oE "[^/]+$") - if [[ $(validate_for_chd "$1") == *"true" ]] && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "chd" ]]; then + if [[ $(validate_for_chd "$1") == "true" ]] && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "chd" ]]; then echo "chd" elif grep -qF ".${normalized_filename##*.}" $zip_compressable_extensions && [[ $(sed -n '/^\[/{h;d};/\b'"$system"'\b/{g;s/\[\(.*\)\]/\1/p;q};' $compression_targets) == "zip" ]]; then echo "zip" diff --git a/functions/logger.sh b/functions/logger.sh index d37dafb6..9c2ea6c3 100755 --- a/functions/logger.sh +++ b/functions/logger.sh @@ -86,11 +86,11 @@ log() { esac # Display the message in the terminal - echo -e "$colored_message" + echo -e "$colored_message" >&2 # Write the log message to the log file if [ ! -f "$logfile" ]; then - echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it" + echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it" >&2 touch "$logfile" fi echo "$log_message" >> "$logfile" From 284cf65d812840501d08d51401e79b664c2c7c15 Mon Sep 17 00:00:00 2001 From: Lazorne Date: Fri, 24 May 2024 05:25:52 +0000 Subject: [PATCH 017/171] Update settings.xml default default default --- emu-configs/cemu/settings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emu-configs/cemu/settings.xml b/emu-configs/cemu/settings.xml index 62a1e269..45c27204 100644 --- a/emu-configs/cemu/settings.xml +++ b/emu-configs/cemu/settings.xml @@ -94,9 +94,9 @@ 100 100 100 - alsa_output.pci-0000_04_00.5-platform-acp5x_mach.0.HiFi__hw_acp5x_1__sink - alsa_output.pci-0000_04_00.5-platform-acp5x_mach.0.HiFi__hw_acp5x_1__sink - filter-chain-source + default + default + default 2147483649 From bfd41858b3385693e4048c8ec4628d0687df44b1 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 24 May 2024 17:19:04 +0200 Subject: [PATCH 018/171] WORKFLOWS: fixing cloudflare artifact limit [skip ci] --- .github/workflows/cooker-selfhosted.yml | 10 +++++++--- .github/workflows/main-selfhosted.yml | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 4ffb693a..cf831cf8 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -171,6 +171,7 @@ jobs: # run: | # # Set variables for Gitea host, organization, repository, access token, and release details # GITEA_HOST="repo.retrodeck.net" + # UPLOAD_HOST="upload.retrodeck.net" # ORGANIZATION="RetroDECK" # REPO="RetroDECK-cooker" # GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" @@ -201,19 +202,22 @@ jobs: # # Upload artifacts # curl -X POST \ # -H "Authorization: token ${GITEA_TOKEN}" \ + # -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \ # -H "Content-Type: multipart/form-data" \ # -F "attachment=@RetroDECK-cooker.flatpak" \ - # "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" + # "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" # # Upload artifacts sha # curl -X POST \ # -H "Authorization: token ${GITEA_TOKEN}" \ + # -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \ # -H "Content-Type: multipart/form-data" \ # -F "attachment=@RetroDECK-cooker.flatpak.sha" \ - # "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak.sha" + # "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak.sha" # curl -X POST \ # -H "Authorization: token ${GITEA_TOKEN}" \ + # -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \ # -H "Content-Type: multipart/form-data" \ # -F "attachment=@RetroDECK-Artifact.tar.gz" \ - # "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" + # "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index fde7a737..f71c4446 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -127,6 +127,7 @@ jobs: run: | # Set variables for Gitea host, organization, repository, access token, and release details GITEA_HOST="repo.retrodeck.net" + UPLOAD_HOST="upload.retrodeck.net" ORGANIZATION="RetroDECK" REPO="RetroDECK" GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}" @@ -154,21 +155,24 @@ jobs: # Upload artifacts curl -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ + -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \ -H "Content-Type: multipart/form-data" \ -F "attachment=@RetroDECK.flatpak" \ - "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" + "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak" curl -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ + -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \ -H "Content-Type: multipart/form-data" \ -F "attachment=@RetroDECK-Artifact.tar.gz" \ - "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" + "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" - name: Upload RetroDECK.flatpak.sha to Gitea Release run: | curl -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ + -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \ -F "file=@RetroDECK.flatpak.sha" \ - "https://repo.retrodeck.net/RetroDECK/RetroDECK/releases/${{ env.REL_VER }}/assets?name=RetroDECK.flatpak.sha" + "https://$UPLOAD_HOST/RetroDECK/RetroDECK/releases/${{ env.REL_VER }}/assets?name=RetroDECK.flatpak.sha" env: GITEA_TOKEN: ${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }} From 1598b23a9d89f02d14961c03d5f9df1701fd1a97 Mon Sep 17 00:00:00 2001 From: laz Date: Tue, 28 May 2024 20:51:11 +0200 Subject: [PATCH 019/171] Cemu Input --- .../controllerProfiles/SteamInput-P1-Gyro.xml | 132 +++++++++--------- .../cemu/controllerProfiles/SteamInput-P1.xml | 124 ++++++++-------- .../cemu/controllerProfiles/controller0.xml | 28 ++-- 3 files changed, 148 insertions(+), 136 deletions(-) diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml index 83531018..ed34dc53 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml @@ -42,100 +42,104 @@ - 24 - - - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 15 - - - - 14 - + 12 + 13 - 12 - + 14 + - 11 - + 15 + - 10 - + 16 + - 9 - + 17 + - 8 - + 18 + - 7 - + 19 + - 6 - + 20 + - 5 - + 21 + - 4 - + 22 + - 3 - + 23 + + + + 25 + + + + 1 + 2 - 1 - + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 24 + diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml index e62e1b06..b2f05d47 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml @@ -21,92 +21,56 @@ - 24 - - - - 23 - - - - 22 - - - - 21 - - - - 20 - - - - 19 - - - - 18 - - - - 17 - - - - 16 - - - - 15 - + 1 + 14 - - 1 - - 2 - 3 - + 15 + - 4 - + 16 + - 5 - + 17 + - 6 - + 18 + - 7 - + 19 + - 8 - + 20 + - 9 - + 21 + - 10 - + 22 + - 11 - + 23 + + + + 25 + 12 @@ -116,6 +80,46 @@ 13 + + 11 + + + + 24 + + + + 10 + + + + 9 + + + + 8 + + + + 7 + + + + 6 + + + + 5 + + + + 4 + + + + 3 + + diff --git a/emu-configs/cemu/controllerProfiles/controller0.xml b/emu-configs/cemu/controllerProfiles/controller0.xml index e62e1b06..9517fa0f 100644 --- a/emu-configs/cemu/controllerProfiles/controller0.xml +++ b/emu-configs/cemu/controllerProfiles/controller0.xml @@ -21,8 +21,8 @@ - 24 - + 25 + 23 @@ -60,18 +60,14 @@ 15 - - 14 - - - - 1 - - 2 + + 14 + + 3 @@ -104,17 +100,25 @@ 10 + + 24 + + 11 + + 13 + + 12 - 13 - + 1 + From 6631389765f604f4794251b4e02f75b1f0c62c23 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 10:51:55 -0400 Subject: [PATCH 020/171] Rename functions.sh to other_functions.sh --- functions/global.sh | 2 +- functions/{functions.sh => other_functions.sh} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename functions/{functions.sh => other_functions.sh} (100%) diff --git a/functions/global.sh b/functions/global.sh index 704d7f9f..f7df1337 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -7,7 +7,7 @@ source /app/libexec/checks.sh source /app/libexec/compression.sh source /app/libexec/dialogs.sh source /app/libexec/logger.sh -source /app/libexec/functions.sh +source /app/libexec/other_functions.sh source /app/libexec/multi_user.sh source /app/libexec/framework.sh source /app/libexec/post_update.sh diff --git a/functions/functions.sh b/functions/other_functions.sh similarity index 100% rename from functions/functions.sh rename to functions/other_functions.sh From 8a6a6551b09143bbb12ee790229428772c7506a9 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 10:52:44 -0400 Subject: [PATCH 021/171] Create and source configurator_functions.sh --- functions/configurator_functions.sh | 0 functions/global.sh | 1 + 2 files changed, 1 insertion(+) create mode 100644 functions/configurator_functions.sh diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh new file mode 100644 index 00000000..e69de29b diff --git a/functions/global.sh b/functions/global.sh index f7df1337..1fa480f3 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -13,6 +13,7 @@ source /app/libexec/framework.sh source /app/libexec/post_update.sh source /app/libexec/prepare_component.sh source /app/libexec/presets.sh +source /app/libexec/configurator_fuctions.sh # Static variables rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path From 6524ff1beb9b8aa92b7cbcf28c3ec0b6a9ecf97c Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 10:54:29 -0400 Subject: [PATCH 022/171] Migrate existing configurator-related functions to configurator_functions.sh --- functions/configurator_functions.sh | 31 ++++++++++++++++++++++++++++ functions/other_functions.sh | 32 +---------------------------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh index e69de29b..4b7d66a1 100644 --- a/functions/configurator_functions.sh +++ b/functions/configurator_functions.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +check_bios_files() { + # This function validates all the BIOS files listed in the $bios_checklist and adds the results to an array called bios_checked_list which can be used elsewhere + # There is a "basic" and "expert" mode which outputs different levels of data + # USAGE: check_bios_files "mode" + + rm -f "$godot_bios_files_checked" # Godot data transfer temp files + touch "$godot_bios_files_checked" + + while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc + do + bios_file_found="No" + bios_hash_matched="No" + if [[ -f "$bios_folder/$bios_subdir$bios_file" ]]; then + bios_file_found="Yes" + if [[ $bios_hash == "Unknown" ]]; then + bios_hash_matched="Unknown" + elif [[ $(md5sum "$bios_folder/$bios_subdir$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then + bios_hash_matched="Yes" + fi + fi + if [[ "$1" == "basic" ]]; then + bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc") + echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc" >> "$godot_bios_files_checked" # Godot data transfer temp file + else + bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc" "$bios_subdir" "$bios_hash") + echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc"^"$bios_subdir"^"$bios_hash" >> "$godot_bios_files_checked" # Godot data transfer temp file + fi + done < $bios_checklist +} diff --git a/functions/other_functions.sh b/functions/other_functions.sh index b8ea9953..2c6f9947 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -286,36 +286,6 @@ dir_prep() { log i "$symlink is now $real" } -check_bios_files() { - # This function validates all the BIOS files listed in the $bios_checklist and adds the results to an array called bios_checked_list which can be used elsewhere - # There is a "basic" and "expert" mode which outputs different levels of data - # USAGE: check_bios_files "mode" - - rm -f "$godot_bios_files_checked" # Godot data transfer temp files - touch "$godot_bios_files_checked" - - while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc - do - bios_file_found="No" - bios_hash_matched="No" - if [[ -f "$bios_folder/$bios_subdir$bios_file" ]]; then - bios_file_found="Yes" - if [[ $bios_hash == "Unknown" ]]; then - bios_hash_matched="Unknown" - elif [[ $(md5sum "$bios_folder/$bios_subdir$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then - bios_hash_matched="Yes" - fi - fi - if [[ "$1" == "basic" ]]; then - bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc") - echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc" >> "$godot_bios_files_checked" # Godot data transfer temp file - else - bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc" "$bios_subdir" "$bios_hash") - echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc"^"$bios_subdir"^"$bios_hash" >> "$godot_bios_files_checked" # Godot data transfer temp file - fi - done < $bios_checklist -} - update_rpcs3_firmware() { create_dir "$roms_folder/ps3/tmp" chmod 777 "$roms_folder/ps3/tmp" @@ -699,7 +669,7 @@ ponzu() { rm -rf "$rdhome/ponzu" } -ponzu_remove(){ +ponzu_remove() { # Call me with yuzu or citra and I will remove them From 6d2eb27c87c67189f6cc6da6dbba470a12a1857f Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 10:58:11 -0400 Subject: [PATCH 023/171] Add Godot temp file location initialization --- functions/global.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/functions/global.sh b/functions/global.sh index 1fa480f3..67c52476 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -132,6 +132,11 @@ if [[ ! -d "$rd_logs_folder/ES-DE" ]]; then dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs" fi +# Initialize location of Godot temp data files, if it doesn't exist +if [[ ! -d "/var/config/retrodeck/godot" ]]; then + create_dir "/var/config/retrodeck/godot" +fi + # We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions if [[ -f "$HOME/retrodeck/.lock" ]]; then mv "$HOME/retrodeck/.lock" $lockfile From 2374d6e7fec0e2e382b3f43ddc13401f50198579 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 10:59:47 -0400 Subject: [PATCH 024/171] Only remove Godot temp file if it exists, cut down on errors --- functions/configurator_functions.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh index 4b7d66a1..aa0618f4 100644 --- a/functions/configurator_functions.sh +++ b/functions/configurator_functions.sh @@ -5,7 +5,9 @@ check_bios_files() { # There is a "basic" and "expert" mode which outputs different levels of data # USAGE: check_bios_files "mode" - rm -f "$godot_bios_files_checked" # Godot data transfer temp files + if [[ -f "$godot_bios_files_checked" ]]; then + rm -f "$godot_bios_files_checked" # Godot data transfer temp files + fi touch "$godot_bios_files_checked" while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc From 8411e064d168ac43f5e3f3b4c25b8274837abaf4 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 11:30:46 -0400 Subject: [PATCH 025/171] Extract preset change selection from Zenity for use in Godot --- functions/global.sh | 1 + functions/presets.sh | 64 +++++++++++++++++++++++++++++--------------- 2 files changed, 43 insertions(+), 22 deletions(-) diff --git a/functions/global.sh b/functions/global.sh index 67c52476..0c4cd4ed 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -53,6 +53,7 @@ pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lis # Godot data transfer temp files godot_bios_files_checked="/var/config/retrodeck/godot/godot_bios_files_checked.tmp" +godot_current_preset_settings="/var/config/retrodeck/godot/godot_current_preset_settings.tmp" # Config files for emulators with single config files diff --git a/functions/presets.sh b/functions/presets.sh index 19fcbcec..94bf7761 100644 --- a/functions/presets.sh +++ b/functions/presets.sh @@ -4,6 +4,43 @@ change_preset_dialog() { # This function will build a list of all systems compatible with a given preset, their current enable/disabled state and allow the user to change one or more # USAGE: change_preset_dialog "$preset" + build_preset_list_options "$1" + + choice=$(zenity \ + --list --width=1200 --height=720 \ + --checklist \ + --separator="," \ + --hide-column=3 --print-column=3 \ + --text="Enable $pretty_preset_name:" \ + --column "Enabled" \ + --column "Emulator" \ + --column "internal_system_name" \ + "${current_preset_settings[@]}") + + local rc=$? + + if [[ ! -z $choice || "$rc" == 0 ]]; then + ( + make_preset_changes + ) | + zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - Presets Configuration" \ + --text="Setting up your presets, please wait..." + else + echo "No choices made" + fi +} + +build_preset_list_options() { + # This function will build a list of all the systems available for a given preset + # The list will be generated into a Godot temp file and the variable $current_preset_settings + + if [[ -f "$godot_current_preset_settings" ]]; then + rm -f "$godot_current_preset_settings" # Godot data transfer temp files + fi + touch "$godot_current_preset_settings" + local preset="$1" pretty_preset_name=${preset//_/ } # Preset name prettification pretty_preset_name=$(echo $pretty_preset_name | awk '{for(i=1;i<=NF;i++){$i=toupper(substr($i,1,1))substr($i,2)}}1') # Preset name prettification @@ -25,24 +62,15 @@ change_preset_dialog() { current_disabled_systems=("${current_disabled_systems[@]}" "$system_name") fi current_preset_settings=("${current_preset_settings[@]}" "$system_value" "$(make_name_pretty $system_name)" "$system_name") + echo "$system_value"^"$(make_name_pretty $system_name)"^"$system_name" >> "$godot_current_preset_settings" done < <(printf '%s\n' "$section_results") +} - choice=$(zenity \ - --list --width=1200 --height=720 \ - --checklist \ - --separator="," \ - --hide-column=3 --print-column=3 \ - --text="Enable $pretty_preset_name:" \ - --column "Enabled" \ - --column "Emulator" \ - --column "internal_system_name" \ - "${current_preset_settings[@]}") - local rc=$? +make_preset_changes() { + # This function will take an array $choices, which contains the names of systems that have been enabled for this preset and enable them in the backend - if [[ ! -z $choice || "$rc" == 0 ]]; then - ( - IFS="," read -ra choices <<< "$choice" + IFS="," read -ra choices <<< "$choice" for emulator in "${all_systems[@]}"; do if [[ " ${choices[*]} " =~ " ${emulator} " && ! " ${current_enabled_systems[*]} " =~ " ${emulator} " ]]; then changed_systems=("${changed_systems[@]}" "$emulator") @@ -71,14 +99,6 @@ change_preset_dialog() { for emulator in "${changed_systems[@]}"; do build_preset_config $emulator ${changed_presets[*]} done - ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator Utility - Presets Configuration" \ - --text="Setting up your presets, please wait..." - else - echo "No choices made" - fi } build_preset_config() { From 38d86581e43fe5b4ff7a8e35940985de688c223f Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 11:30:56 -0400 Subject: [PATCH 026/171] Fix comment for readability --- functions/configurator_functions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh index aa0618f4..a9e138fb 100644 --- a/functions/configurator_functions.sh +++ b/functions/configurator_functions.sh @@ -1,7 +1,7 @@ #!/bin/bash check_bios_files() { - # This function validates all the BIOS files listed in the $bios_checklist and adds the results to an array called bios_checked_list which can be used elsewhere + # This function validates all the BIOS files listed in the $bios_checklist and adds the results to an array called $bios_checked_list which can be used elsewhere # There is a "basic" and "expert" mode which outputs different levels of data # USAGE: check_bios_files "mode" From 2afcf2ead46aa9cfa2940e2f23cc10b347914470 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 11:35:42 -0400 Subject: [PATCH 027/171] Move post-compression file cleanup to compress_game function to avoid repetition --- functions/compression.sh | 23 +++++++++++++++++++++ tools/configurator.sh | 43 ---------------------------------------- 2 files changed, 23 insertions(+), 43 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index 9616a2c3..fc726d80 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -26,6 +26,29 @@ compress_game() { elif [[ "$1" == "rvz" ]]; then dolphin-tool convert -f rvz -b 131072 -c zstd -l 5 -i "$source_file" -o "$dest_file.rvz" fi + + if [[ $post_compression_cleanup == "true" ]]; then # Remove file(s) if requested + if [[ -f "${file%.*}.$compatible_compression_format" ]]; then + log i "Performing post-compression file cleanup" + if [[ "$file" == *".cue" ]]; then + local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") + local file_path=$(dirname "$(realpath "$file")") + while IFS= read -r line + do + log i "Removing file $file_path/$line" + rm -f "$file_path/$line" + done < <(printf '%s\n' "$cue_bin_files") + log i "Removing file $(realpath $file)" + rm -f $(realpath "$file") + else + log i "Removing file $(realpath $file)" + rm -f "$(realpath "$file")" + fi + else + log i "Compressed file ${file%.*}.$compatible_compression_format not found, skipping original file deletion" + configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "A compressed version of the file was not found, skipping deletion." + fi + fi } find_compatible_compression_format() { diff --git a/tools/configurator.sh b/tools/configurator.sh index 1808ea8a..73588a07 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -794,28 +794,6 @@ configurator_compress_single_game_dialog() { echo "# Compressing $(basename "$file") to $compatible_compression_format format" # This updates the Zenity dialog log i "Compressing $(basename "$file") to $compatible_compression_format format" compress_game "$compatible_compression_format" "$file" "$system" - if [[ $post_compression_cleanup == "true" ]]; then # Remove file(s) if requested - if [[ -f "${file%.*}.$compatible_compression_format" ]]; then - log i "Performing post-compression file cleanup" - if [[ "$file" == *".cue" ]]; then - local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") - local file_path=$(dirname "$(realpath "$file")") - while IFS= read -r line - do - log i "Removing file $file_path/$line" - rm -f "$file_path/$line" - done < <(printf '%s\n' "$cue_bin_files") - log i "Removing file $(realpath $file)" - rm -f $(realpath "$file") - else - log i "Removing file $(realpath $file)" - rm -f "$(realpath "$file")" - fi - else - log i "Compressed file ${file%.*}.$compatible_compression_format not found, skipping original file deletion" - configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "A compressed version of the file was not found, skipping deletion." - fi - fi ) | zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ @@ -922,27 +900,6 @@ configurator_compress_multiple_games_dialog() { games_left_to_compress=$((games_left_to_compress-1)) log i "Games left to compress: $games_left_to_compress" compress_game "$compression_format" "$file" "$system" - if [[ $post_compression_cleanup == "true" ]]; then # Remove file(s) if requested - if [[ -f "${file%.*}.$compatible_compression_format" ]]; then - if [[ "$file" == *".cue" ]]; then - local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") - local file_path=$(dirname "$(realpath "$file")") - while IFS= read -r line - do - log i "Removing file $file_path/$line" - rm -f "$file_path/$line" - done < <(printf '%s\n' "$cue_bin_files") - log i "Removing file $(realpath $file)" - rm -f $(realpath "$file") - else - log i "Removing file $(realpath $file)" - rm -f "$(realpath "$file")" - fi - else - log i "Compressed file ${file%.*}.$compatible_compression_format not found, skipping original file deletion" - configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "Compression of $(basename $file) failed, skipping deletion." - fi - fi done ) | zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ From 7fc79b49ea600746fe4434c7778bd0a01dadc9e1 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 12:17:28 -0400 Subject: [PATCH 028/171] Extract game compression functions from Zenity for use in Godot --- functions/compression.sh | 65 ++++++++++++++++++++++++++++++++++++++++ functions/global.sh | 1 + tools/configurator.sh | 49 +----------------------------- 3 files changed, 67 insertions(+), 48 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index fc726d80..96c2ea52 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -119,6 +119,71 @@ validate_for_chd() { fi } +find_compatible_games() { + # The function takes the following arguments, which alter what files are compressed: + # "everything" - Compresses all games found into their compatible formats + # "all" - Compresses a list of user-chosen files into their compatible formats + # "chd" or "zip" or "rvz" - Compresses a list of user-chosen files into the given format + + if [[ -f "$godot_compression_compatible_games" ]]; then + rm -f "$godot_compression_compatible_games" # Godot data transfer temp files + fi + touch "$godot_compression_compatible_games" + + local compressable_games_list=() + local all_compressable_games=() + local games_to_compress=() + local target_selection="$1" + + if [[ "$1" == "everything" ]]; then + local compression_format="all" + else + local compression_format="$1" + fi + + if [[ $compression_format == "all" ]]; then + local compressable_systems_list=$(cat $compression_targets | sed '/^$/d' | sed '/^\[/d') + else + local compressable_systems_list=$(sed -n '/\['"$compression_format"'\]/, /\[/{ /\['"$compression_format"'\]/! { /\[/! p } }' $compression_targets | sed '/^$/d') + fi + + while IFS= read -r system # Find and validate all games that are able to be compressed with this compression type + do + compression_candidates=$(find "$roms_folder/$system" -type f -not -iname "*.txt") + if [[ ! -z $compression_candidates ]]; then + while IFS= read -r game + do + local compatible_compression_format=$(find_compatible_compression_format "$game") + if [[ $compression_format == "chd" ]]; then + if [[ $compatible_compression_format == "chd" ]]; then + all_compressable_games=("${all_compressable_games[@]}" "$game") + compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") + echo "${game}"^"$compatible_compression_format" >> "$godot_compression_compatible_games" + fi + elif [[ $compression_format == "zip" ]]; then + if [[ $compatible_compression_format == "zip" ]]; then + all_compressable_games=("${all_compressable_games[@]}" "$game") + compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") + echo "${game}"^"$compatible_compression_format" >> "$godot_compression_compatible_games" + fi + elif [[ $compression_format == "rvz" ]]; then + if [[ $compatible_compression_format == "rvz" ]]; then + all_compressable_games=("${all_compressable_games[@]}" "$game") + compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") + echo "${game}"^"$compatible_compression_format" >> "$godot_compression_compatible_games" + fi + elif [[ $compression_format == "all" ]]; then + if [[ ! $compatible_compression_format == "none" ]]; then + all_compressable_games=("${all_compressable_games[@]}" "$game") + compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") + echo "${game}"^"$compatible_compression_format" >> "$godot_compression_compatible_games" + fi + fi + done < <(printf '%s\n' "$compression_candidates") + fi + done < <(printf '%s\n' "$compressable_systems_list") +} + cli_compress_single_game() { # This function will compress a single file passed from the CLI arguments # USAGE: cli_compress_single_game $full_file_path diff --git a/functions/global.sh b/functions/global.sh index 0c4cd4ed..e2b0257b 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -54,6 +54,7 @@ pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lis godot_bios_files_checked="/var/config/retrodeck/godot/godot_bios_files_checked.tmp" godot_current_preset_settings="/var/config/retrodeck/godot/godot_current_preset_settings.tmp" +godot_compression_compatible_games="/var/config/retrodeck/godot/godot_compression_compatible_games.tmp" # Config files for emulators with single config files diff --git a/tools/configurator.sh b/tools/configurator.sh index 73588a07..7a0bb1be 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -813,54 +813,7 @@ configurator_compress_single_game_dialog() { configurator_compress_multiple_games_dialog() { # This dialog will display any games it finds to be compressable, from the systems listed under each compression type in compression_targets.cfg - local compressable_games_list=() - local all_compressable_games=() - local games_to_compress=() - local target_selection="$1" - - if [[ "$1" == "everything" ]]; then - local compression_format="all" - else - local compression_format="$1" - fi - - if [[ $compression_format == "all" ]]; then - local compressable_systems_list=$(cat $compression_targets | sed '/^$/d' | sed '/^\[/d') - else - local compressable_systems_list=$(sed -n '/\['"$compression_format"'\]/, /\[/{ /\['"$compression_format"'\]/! { /\[/! p } }' $compression_targets | sed '/^$/d') - fi - - while IFS= read -r system # Find and validate all games that are able to be compressed with this compression type - do - compression_candidates=$(find "$roms_folder/$system" -type f -not -iname "*.txt") - if [[ ! -z $compression_candidates ]]; then - while IFS= read -r game - do - local compatible_compression_format=$(find_compatible_compression_format "$game") - if [[ $compression_format == "chd" ]]; then - if [[ $compatible_compression_format == "chd" ]]; then - all_compressable_games=("${all_compressable_games[@]}" "$game") - compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") - fi - elif [[ $compression_format == "zip" ]]; then - if [[ $compatible_compression_format == "zip" ]]; then - all_compressable_games=("${all_compressable_games[@]}" "$game") - compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") - fi - elif [[ $compression_format == "rvz" ]]; then - if [[ $compatible_compression_format == "rvz" ]]; then - all_compressable_games=("${all_compressable_games[@]}" "$game") - compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") - fi - elif [[ $compression_format == "all" ]]; then - if [[ ! $compatible_compression_format == "none" ]]; then - all_compressable_games=("${all_compressable_games[@]}" "$game") - compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") - fi - fi - done < <(printf '%s\n' "$compression_candidates") - fi - done < <(printf '%s\n' "$compressable_systems_list") + find_compatible_games "$1" if [[ ! "$target_selection" == "everything" ]]; then # If the user chose to not auto-compress everything choice=$(zenity \ From 37f120119b94b16927102eb54f29333cb2ab6dcb Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 12:18:08 -0400 Subject: [PATCH 029/171] Remove duplicate compression cleanup from CLI compression --- functions/compression.sh | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index 96c2ea52..3e09dc1e 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -197,26 +197,6 @@ cli_compress_single_game() { if [[ ! $compatible_compression_format == "none" ]]; then log i "$(basename "$file") can be compressed to $compatible_compression_format" compress_game "$compatible_compression_format" "$file" "$system" - if [[ $post_compression_cleanup == [yY] ]]; then # Remove file(s) if requested - if [[ -f "${file%.*}.$compatible_compression_format" ]]; then - if [[ $(basename "$file") == *".cue" ]]; then - local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") - local file_path=$(dirname "$(realpath "$file")") - while IFS= read -r line - do # Remove associated .bin files - log i "Removing original file "$file_path/$line"" - rm -f "$file_path/$line" - done < <(printf '%s\n' "$cue_bin_files") # Remove original .cue file - log i "Removing original file $(basename "$file")" - rm -f "$file" - else - log i "Removing original file $(basename "$file")" - rm -f "$file" - fi - else - log w "Compressed version of $(basename "$file") not found, skipping deletion." - fi - fi else log w "$(basename "$file") does not have any compatible compression formats." fi @@ -259,26 +239,6 @@ cli_compress_all_games() { if [[ ! "$compatible_compression_format" == "none" ]]; then log i "$(basename "$file") can be compressed to $compatible_compression_format" compress_game "$compatible_compression_format" "$file" "$system" - if [[ $post_compression_cleanup == [yY] ]]; then # Remove file(s) if requested - if [[ -f "${file%.*}.$compatible_compression_format" ]]; then - if [[ "$file" == *".cue" ]]; then - local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") - local file_path=$(dirname "$(realpath "$file")") - while IFS= read -r line - do # Remove associated .bin files - log i "Removing original file "$file_path/$line"" - rm -f "$file_path/$line" - done < <(printf '%s\n' "$cue_bin_files") # Remove original .cue file - log i "Removing original file "$file"" - rm -f $(realpath "$file") - else - log i "Removing original file "$file"" - rm -f $(realpath "$file") - fi - else - log w "Compressed version of $(basename "$file") not found, skipping deletion." - fi - fi else log w "No compatible compression format found for $(basename "$file")" fi From 35a3f5fd719b4dee421e4e29c00a0fa1b9fe4bbd Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 13:32:36 -0400 Subject: [PATCH 030/171] Improve prepare_component safelock - Regarding this issue: https://github.com/XargonWan/RetroDECK/issues/757 --- functions/prepare_component.sh | 35 +++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index adad0d90..a040fa20 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -12,10 +12,12 @@ prepare_component() { action="$1" component=$(echo "$2" | tr '[:upper:]' '[:lower:]') call_source="$3" + component_found="false" log d "Preparing component: \"$component\", action: \"$action\"" if [[ "$component" == "retrodeck" ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Update the paths of all folders in retrodeck.cfg and create them while read -r config_line; do local current_setting_name=$(get_setting_name "$config_line" "retrodeck") @@ -49,9 +51,10 @@ prepare_component() { fi if [[ "$component" =~ ^(es-de|all)$ ]]; then # For use after ESDE-related folders are moved or a reset - log i "--------------------------------" - log i "Prepearing ES-DE" - log i "--------------------------------" + component_found="true" + log i "--------------------------------" + log i "Prepearing ES-DE" + log i "--------------------------------" if [[ "$action" == "reset" ]]; then rm -rf /var/config/ES-DE create_dir /var/config/ES-DE/settings @@ -77,9 +80,10 @@ prepare_component() { fi if [[ "$component" =~ ^(retroarch|all)$ ]]; then - log i "--------------------------------" - log i "Prepearing RetroArch" - log i "--------------------------------" + component_found="true" + log i "--------------------------------" + log i "Prepearing RetroArch" + log i "--------------------------------" if [[ "$action" == "reset" ]]; then # Run reset-only commands if [[ $multi_user_mode == "true" ]]; then # Multi-user actions create_dir -d "$multi_user_data_folder/$SteamAppUser/config/retroarch" @@ -211,6 +215,7 @@ prepare_component() { fi if [[ "$component" =~ ^(citra|citra-emu|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "------------------------" log i "Prepearing CITRA" @@ -256,6 +261,7 @@ prepare_component() { fi if [[ "$component" =~ ^(cemu|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "----------------------" log i "Prepearing CEMU" @@ -283,6 +289,7 @@ prepare_component() { fi if [[ "$component" =~ ^(dolphin|dolphin-emu|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "----------------------" log i "Prepearing DOLPHIN" @@ -336,6 +343,7 @@ prepare_component() { fi if [[ "$component" =~ ^(duckstation|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "------------------------" log i "Prepearing DUCKSTATION" @@ -381,6 +389,7 @@ prepare_component() { fi if [[ "$component" =~ ^(melonds|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "----------------------" log i "Prepearing MELONDS" @@ -419,6 +428,7 @@ prepare_component() { fi if [[ "$component" =~ ^(pcsx2|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "----------------------" log i "Prepearing PCSX2" @@ -463,6 +473,7 @@ prepare_component() { fi if [[ "$component" =~ ^(pico8|pico-8|all)$ ]]; then + component_found="true" if [[ ("$action" == "reset") || ("$action" == "postmove") ]]; then dir_prep "$bios_folder/pico-8" "$HOME/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed dir_prep "$roms_folder/pico8" "$bios_folder/pico-8/carts" # Symlink default game location to RD roms for cleanliness (this location is overridden anyway by the --root_path launch argument anyway) @@ -473,6 +484,7 @@ prepare_component() { fi if [[ "$component" =~ ^(ppsspp|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "------------------------" log i "Prepearing PPSSPPSDL" @@ -501,6 +513,7 @@ prepare_component() { fi if [[ "$component" =~ ^(primehack|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "----------------------" log i "Prepearing Primehack" @@ -544,6 +557,7 @@ prepare_component() { fi if [[ "$component" =~ ^(rpcs3|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "------------------------" log i "Prepearing RPCS3" @@ -580,6 +594,7 @@ prepare_component() { fi if [[ "$component" =~ ^(ryujinx|all)$ ]]; then + component_found="true" # NOTE: for techincal reasons the system folder of Ryujinx IS NOT a sumlink of the bios/switch/keys as not only the keys are located there # When RetroDECK starts there is a "manage_ryujinx_keys" function that symlinks the keys only in Rryujinx/system. if [[ "$action" == "reset" ]]; then # Run reset-only commands @@ -624,6 +639,7 @@ prepare_component() { fi if [[ "$component" =~ ^(yuzu|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "----------------------" log i "Prepearing YUZU" @@ -677,6 +693,7 @@ prepare_component() { fi if [[ "$component" =~ ^(xemu|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "------------------------" log i "Prepearing XEMU" @@ -721,6 +738,7 @@ prepare_component() { fi if [[ "$component" =~ ^(vita3k|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "----------------------" log i "Prepearing Vita3K" @@ -745,6 +763,7 @@ prepare_component() { fi if [[ "$component" =~ ^(mame|all)$ ]]; then + component_found="true" # TODO: do a proper script # This is just a placeholder script to test the emulator's flow log i "----------------------" @@ -814,6 +833,7 @@ prepare_component() { fi if [[ "$component" =~ ^(gzdoom|all)$ ]]; then + component_found="true" # TODO: do a proper script # This is just a placeholder script to test the emulator's flow log i "----------------------" @@ -834,6 +854,7 @@ prepare_component() { fi if [[ "$component" =~ ^(boilr|all)$ ]]; then + component_found="true" log i "----------------------" log i "Prepearing BOILR" log i "----------------------" @@ -842,7 +863,7 @@ prepare_component() { cp -fvr "/app/libexec/steam-sync/config.toml" "/var/config/boilr" fi - if [[ ! "$component" =~ ^(retrodeck|es-de|retroarch|citra|citra-emu|cemu|dolphin|dolphin-emu|duckstation|melonds|melonDS|pcsx2|pico8|pico-8|ppsspp|primehack|rpcs3|ryujinx|yuzu|xemu|vita3k|mame|gzdoom|boilr|)$ ]]; then + if [[ $component_found="false" ]]; then log e "Supplied component $component not found, not resetting" fi From e89755561f4148406a1814f26af09b9c5bb04db6 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 17:12:54 -0400 Subject: [PATCH 031/171] Add empty ROM folder tool to Configurator https://github.com/XargonWan/RetroDECK/issues/796 --- functions/configurator_functions.sh | 31 +++++++++++++++++++++++++++++ functions/global.sh | 1 + tools/configurator.sh | 30 ++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh index a9e138fb..b654105e 100644 --- a/functions/configurator_functions.sh +++ b/functions/configurator_functions.sh @@ -31,3 +31,34 @@ check_bios_files() { fi done < $bios_checklist } + +find_empty_rom_folders() { + # This function will build an array of all the system subfolders in $roms_folder which are either empty or contain only systeminfo.txt for easy removal + + if [[ -f "$godot_empty_roms_folders" ]]; then + rm -f "$godot_empty_roms_folders" # Godot data transfer temp files + fi + touch "$godot_empty_roms_folders" + + empty_rom_folders_list=() + all_empty_folders=() + + for system in $(find "$roms_folder" -mindepth 1 -maxdepth 1 -type d -printf '%f\n') + do + local dir="$roms_folder/$system" + local files=$(ls -A1 "$dir") + local count=$(ls -A "$dir" | wc -l) + + if [[ $count -eq 0 ]]; then + # Directory is empty + empty_rom_folders_list=("${empty_rom_folders_list[@]}" "false" "$(realpath $dir)") + all_empty_folders=("${all_empty_folders[@]}" "$(realpath $dir)") + echo "$(realpath $dir)" >> "$godot_empty_roms_folders" # Godot data transfer temp file + elif [[ $count -eq 1 ]] && [[ "$(basename "${files[0]}")" == "systeminfo.txt" ]]; then + # Directory contains only systeminfo.txt + empty_rom_folders_list=("${empty_rom_folders_list[@]}" "false" "$(realpath $dir)") + all_empty_folders=("${all_empty_folders[@]}" "$(realpath $dir)") + echo "$(realpath $dir)" >> "$godot_empty_roms_folders" # Godot data transfer temp file + fi + done +} diff --git a/functions/global.sh b/functions/global.sh index e2b0257b..5ae8c08d 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -55,6 +55,7 @@ pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lis godot_bios_files_checked="/var/config/retrodeck/godot/godot_bios_files_checked.tmp" godot_current_preset_settings="/var/config/retrodeck/godot/godot_current_preset_settings.tmp" godot_compression_compatible_games="/var/config/retrodeck/godot/godot_compression_compatible_games.tmp" +godot_empty_roms_folders="/var/config/retrodeck/godot/godot_empty_roms_folders.tmp" # Config files for emulators with single config files diff --git a/tools/configurator.sh b/tools/configurator.sh index 7a0bb1be..04ee365e 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -52,6 +52,7 @@ source /app/libexec/global.sh # - Move Screenshots folder # - Move Mods folder # - Move Texture Packs folder +# - Tool: Remove Empty ROM Folders # - Tool: Compress Games # - Compress Single Game # - Compress Multiple Games - CHD @@ -559,6 +560,7 @@ configurator_retrodeck_tools_dialog() { local choices=( "Tool: Move Folders" "Move RetroDECK folders between internal/SD card or to a custom location" + "Tool: Remove Empty ROM Folders" "Remove some or all of the empty ROM folders" "Tool: Compress Games" "Compress games for systems that support it" "Install: RetroDECK Controller Layouts" "Install the custom RetroDECK controller layouts on Steam" "Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator" @@ -585,6 +587,34 @@ configurator_retrodeck_tools_dialog() { configurator_retrodeck_move_tool_dialog ;; + "Tool: Remove Empty ROM Folders" ) + log i "Configurator: opening \"$choice\" menu" + find_empty_rom_folders + + choice=$(zenity \ + --list --width=1200 --height=720 --title "RetroDECK Configurator - RetroDECK: Remove Empty ROM Folders" \ + --checklist --hide-column=3 --ok-label="Remove Selected" --extra-button="Remove All" \ + --separator="," --print-column=2 \ + --text="Choose which ROM folders to remove:" \ + --column "Remove?" \ + --column "System" \ + "${empty_rom_folders_list[@]}") + + local rc=$? + if [[ $rc == "0" && ! -z $choice ]]; then # User clicked "Remove Selected" with at least one system selected + IFS="," read -ra folders_to_remove <<< "$choice" + for folder in "${folders_to_remove[@]}"; do + log i "Removing empty folder $folder" + rm -f "$folder" + done + elif [[ ! -z $choice ]]; then # User clicked "Remove All" + for folder in "${all_empty_folders[@]}"; do + log i "Removing empty folder $folder" + rm -f "$folder" + done + fi + ;; + "Tool: Compress Games" ) log i "Configurator: opening \"$choice\" menu" configurator_generic_dialog "RetroDECK Configurator - Compression Tool" "Depending on your library and compression choices, the process can sometimes take a long time.\nPlease be patient once it is started!" From 26063dec2b82f8782039f8724bfc52b412ac78bb Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 30 May 2024 17:17:35 -0400 Subject: [PATCH 032/171] Add Configurator tool to rebuild any missing default ROM folders - Also add missing return to menu after completion of empty rom folder removal tool --- tools/configurator.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/configurator.sh b/tools/configurator.sh index 04ee365e..4c0d9278 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -53,6 +53,7 @@ source /app/libexec/global.sh # - Move Mods folder # - Move Texture Packs folder # - Tool: Remove Empty ROM Folders +# - Tool: Rebuild All ROM Folders # - Tool: Compress Games # - Compress Single Game # - Compress Multiple Games - CHD @@ -561,6 +562,7 @@ configurator_retrodeck_tools_dialog() { local choices=( "Tool: Move Folders" "Move RetroDECK folders between internal/SD card or to a custom location" "Tool: Remove Empty ROM Folders" "Remove some or all of the empty ROM folders" + "Tool: Rebuild All ROM Folders" "Rebuild any missing default ROM folders" "Tool: Compress Games" "Compress games for systems that support it" "Install: RetroDECK Controller Layouts" "Install the custom RetroDECK controller layouts on Steam" "Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator" @@ -613,6 +615,16 @@ configurator_retrodeck_tools_dialog() { rm -f "$folder" done fi + + configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "The removal process is complete." + configurator_retrodeck_tools_dialog + ;; + + "Tool: Rebuild All ROM Folders" ) + log i "Configurator: opening \"$choice\" menu" + es-de --create-system-dirs + configurator_generic_dialog "RetroDECK Configurator - Rebuild All ROM Folders" "The rebuilding process is complete.\n\nAll missing default ROM folders will now exist in $roms_folder" + configurator_retrodeck_tools_dialog ;; "Tool: Compress Games" ) From 66e7af978cad7789d3ffc419c00d6c1266504436 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Fri, 31 May 2024 09:31:26 -0400 Subject: [PATCH 033/171] Un-localize some extracted arrays used between functions. --- functions/compression.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index 3e09dc1e..d33f5a2d 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -130,10 +130,10 @@ find_compatible_games() { fi touch "$godot_compression_compatible_games" - local compressable_games_list=() - local all_compressable_games=() - local games_to_compress=() - local target_selection="$1" + compressable_games_list=() + all_compressable_games=() + games_to_compress=() + target_selection="$1" if [[ "$1" == "everything" ]]; then local compression_format="all" From 79b755a45d149b48a6bbdcd741ffd63c17f032f6 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Fri, 31 May 2024 09:34:53 -0400 Subject: [PATCH 034/171] Unlocalize presets-related variables for use between functions. --- functions/presets.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/functions/presets.sh b/functions/presets.sh index 94bf7761..ce384307 100644 --- a/functions/presets.sh +++ b/functions/presets.sh @@ -41,14 +41,14 @@ build_preset_list_options() { fi touch "$godot_current_preset_settings" - local preset="$1" + preset="$1" pretty_preset_name=${preset//_/ } # Preset name prettification pretty_preset_name=$(echo $pretty_preset_name | awk '{for(i=1;i<=NF;i++){$i=toupper(substr($i,1,1))substr($i,2)}}1') # Preset name prettification - local current_preset_settings=() - local current_enabled_systems=() - local current_disabled_systems=() - local changed_systems=() - local changed_presets=() + current_preset_settings=() + current_enabled_systems=() + current_disabled_systems=() + changed_systems=() + changed_presets=() local section_results=$(sed -n '/\['"$preset"'\]/, /\[/{ /\['"$preset"'\]/! { /\[/! p } }' $rd_conf | sed '/^$/d') while IFS= read -r config_line From bb512b9a9bda889ee4852116dff4215ffc06abc4 Mon Sep 17 00:00:00 2001 From: Lazorne Date: Tue, 4 Jun 2024 10:30:18 +0200 Subject: [PATCH 035/171] added rainbows --- res/extra_splashes/rd-pride.svg | 141 ++++++++++++++++++++++++++++++++ res/icon-pride.png | Bin 0 -> 7099 bytes res/icon-pride.svg | 100 ++++++++++++++++++++++ 3 files changed, 241 insertions(+) create mode 100644 res/extra_splashes/rd-pride.svg create mode 100644 res/icon-pride.png create mode 100644 res/icon-pride.svg diff --git a/res/extra_splashes/rd-pride.svg b/res/extra_splashes/rd-pride.svg new file mode 100644 index 00000000..4c473f49 --- /dev/null +++ b/res/extra_splashes/rd-pride.svg @@ -0,0 +1,141 @@ + + diff --git a/res/icon-pride.png b/res/icon-pride.png new file mode 100644 index 0000000000000000000000000000000000000000..afbde32ab61da539349c4661c6104c1759a86cbd GIT binary patch literal 7099 zcmXY$1y~f{*T?U&>{3gKN_WT#l7cjdAf3|PNQcyqTombc=@h{L1Oz0N6zNc;V-ZA3 zNK3*XmH z&_R^Ty?eT9_wKQI`+7OKxH|&Cn--QPtJL@@p#B zr$)@00vC^Y$kpN#UM!h;@7cfGTw1QIcv8Ve9FCEYmO!_t#$9TV-m;UC*y(KzNoftl zw3|AX)8``$hDAi)l%@_=lRh^-RofwpHjoNr8TkKu~cj?l1a;JQi}~adz7O8 zJY&JL_X?(K@E9W!naEz>efs01^KvP$(aFcRODmo$vXFKTPlr%!Rj9C?!}T^SNWln3 zJ2EEsr*b=nZfqnaUzaC9Hbf?DCG+gUvZNJ$sb!)1(+F-~^lJ)e^O}B7$|1e9|*jvY`SrLHU*0n28nBX!5{B{6AFwpz}76J zk%*D8FQ)4oRg|}oDm;dz5*CdHwqbomFsv|%qU{9!A3~Vsma0p3D&lXVK&o@=C>gm& z18_(idvgx5XZiyZim{hQhW_;MCH~&!{UA>o#dB#)n)@BBM--KLDOTRt&|eb1^h4uf z%ippH9o3XS9Oc`=V>wksK}b;XND2%L3?dARJg3C4S4Nbq$ienv%geXwjz~Lp z4o+XfPB<~XlXt$T4ZviU0$Rh;R2@88s*qoO5o7oeJORMj$z$HbRty1Kf~rfo8# z-z?sBaoO;1sq%7KyRljG9cuhJ4W)T2L#X?~YFDrf+fJi+wN^V$s)xkp@!+bj@{2EG zs$U+&zF{Dc_-M6j0gh`~;?l*f4JRT9#+?2FUO_>@*xnT{&=hxc-$7U9n%(;n-as*N z@rGP+5TB3`CZ6XZiK#GgREm!2$PALPx`skBYSIF$>PAKN=J?Synlgg|s^#Ez++`Ux zqv#J~Oi4+J2-vMXpedVYL$BuUEVO3jae&~X&DDmvZ4H=3Ukkf>0&G7h)U?rafmDre%3>NXOaABldYJZr#lCBwD+qzXYPgwbtKB zuDJUi=1)ebtHjO?5i#Zt6GOv0bdrQMWbB2`Yd1t>5gofg0>wxGJrf$V_11FNM(ubu znkOl7uyV-~J}f%IQD72+sZ3QWN_d})9#wQmI-{T%E8ye%dlD-5YrgrJR&VKTt$S{6 zd<2o;aVMMNbE-eTW}dXPNPU}_u4=cssvsQ-c$e2mQ(+_nz9NZAIuU|;YjN%8?V+k zJSxyeU`E&GILba?VG1)&xVErtF}Leh5f?`mB#*Vq%af%RShYh~71Y%F-#1U5q5};K z3~VMVO{eQ!Xn1rAQObI?7uf2<;E(oFOd!5QX2eNxrpmfKJm~vV+8U=}hD17Hjyat` z^%#QU($dl^9mDP{SiWd-#%RL|BU`8+UjCt3>knSH(CCeb5ukf@)pjq_dO$e7WC?$^ z+xz!u%V(o3%V`6Bld_Nx`~o}9kBTh{S%cOJ0)_lHzq#i#1`)rK;q?AWAN+BV5q9Vx zT5RFeI4A7CX)u&`hmxC{d&bXI7BcL6=T?HIm*7ev=@nMIY9a10hc zsoF9wk|1o#olyVg14p7de$CXqWdb;x7%J!5lzBBCXIkgf=~QRBJ*FYUqVu$bcfiJoQ*Vl# zRc=209!yye$)`VnuT(7gA#?QY!TLl+R#~#C`iu^2EM`Ilo8Q%?sF^1|>>9J61Jmu? zZbTWVe_w7;93-MeyESs4*c!5r_o(2}z`?Jmy9 z5^?Txz8523ukI5-V^tl4eiW?bW0CvP_Sw#4!m_CnVR#y!}*$ovfh%P)c#KEuGw>9ny#%Q z@h4kA_xd`nUA{2vk7**~9f23U)Wn2BL3=hzFZAkYb6lYw$Gry>BbAIw%Wp0Qt&sm% zUHvyAy>#;Vd8j+Cjd`xo>rP0TTHfI5U&)cZ$5b2@Y5H~xE&kAw_X#pP5xYoTSD39W zJLD~gKg;@Uq@bj-)_=?B6SP2(6WzRdQ^0Ua1;F_e$CDdMq81J?X;$9=A13deF z5{WY6ef45dUcGj&JzY9&tjL9ch{r>Y$iXWlle)P_U;RJK&c^4hQeYY`$lH%1}SD}HSOWmvJW@yfv%^oT3n31@O7n3;ccye zuFe7BypSWhpM5e+*UlGhK&eTmVI|Y}1PRxU<{c6viO@0^UPoD(Q4s%+O6% zchD(aPY=+X-09&z8`1nV;a;98oGrBLbOtXw*TkzD|DeZ&H_r*hcUCyfP=ID`#-SS? zA<%b9I#LI3w5ID#+~QofvKivXlf!4}fa&8pNmGGLaNX;X-7gL0lOHw1sUFGOy>rkQ z4rrBoq&$YSCG6O95u5G-8s7djE&yj!ZZfcRWpX#%OJFemI`HFW)N5QKm9bhTS2pzH#bT ziL4I$u76uZTb>3R_ zu696yJM~es_u}}s^7Z@DeoEi3ff#_TxZbuA_4&O59eDHE8aAXdj+w&s+20ic`YFe- zY@MSkHv+c5D|5mzzS`!DdqZB9{IUG@i?3k+U9-8_UX+(2dv+4m2~?kTvopdwxHbc4 zgbwb6vh%{(l19!ft@qL%(Ts7$M^c$DJ=EWy14-FX~tKMWBWrOP-3`Z(N_ZH>DRUg?;=V9Em=+rS@ z7q&omq~?tjbbHONr@gHZ81lU}FraoMfeUAYt@R2^Y|>yxVg%^`6M=)ER@Y+jJxMI) zq6T@EMG`9{ctj6of=%a2+1q*SlAa9H5aZUP{fO_4;@*p(s55%yJkFzEF)t8KRNso@h@|i&IqnWA^{QxEL=y%^^)bS9tY5V)Ao%X_sRg z^v>f?!L6vrEktakK8;7NJ7m-wmweX+;2o7Gdjo0*u;)78XAfARu8i=qpIULm&p`075gj#6#Eboed;`bd9uzV+S~ZRq|SEE5~lNWyP{1g3ZKk+`le^Jz%;+S(zTtyH0-dp{D-4 z`Pea4XvdLt;fkz}sRKV*7F6GR_q9<*1bW=|%ga&{RKbZa-W-B5;zjY@%sYW# zMbVJ=n}$gf3ez;BqPwlI3@6nbCAl~@w`0OQ%lGRUd(SobMBVdNIPCYF&)7c^vNAgXx?dUT z@-+dd(tF+MCGvG_v5$b#C%|S0YKUW@S_f)!AOW>7h>e9QC_%-|W_&|~I8>epr0a7q zQHX-rA%)mOIo|7WO2u1J|4N~G&p@+dT2$`Y^V>+Uih^p!5nOOEfC)3qYXnC`U6 zupL}`5lq1W$$39f^-L~sXTBe>i9GRH`CJxObaZrt0wtP{qzal=GtIxY;VfGNpy5Tf zN2GV7M%OgX!sRaxAN;G_X0`)l{!H7u;C2gTLnKI4u`ZPI=R!ydrtCi#larIVZSHgc zJ8_ebZ~xl^9Y+V;)>O4KpmJ2#)1$^8zLI}lBXm(MGJbnl#27H-kvcLq&LtUJhh4iD zjq2~iyScgf9Iiv9>$8_2wys%M94#o=`?X9%7%JxynY$k&$SQRWgpt58gVD1I_Wu2Q zI!RxL&&kir$`Fv~Yg7W$uqX(;Y@}w8(~A)5$enVPmzRr#^J`@C-@VQ7Uh&=2U*H@B zzavSTfCP!{`N@9MT49Kg=X_JW{8ofioD#vP{N)G3_?mu-;xw%dx~##cHwuFuBW&%I zm6ajr&|7@>iLR-sOT2bOiE_gA9Q+?#H8DHG)7}+R{;2GZmk3B3kIR2l{#oY2a6gH` z@h=fZdx#IwA!o#__xrkl#lx}@N)U1tgqZj%_3Ig48-JzKIBUDB2QewrFs1$+aSsOQ z!|y+&7`qT(wN>=)Z)}U_%IBnP`G~e_lot=Usfd3e$GTj(Hb3a{MyardUDa2wU=FUs z?c%CIDrk6jGfv8D0E;%dSbfL{-qfcc@Sh<~l%HiCPCqd*ktq{^UgcTZ>W#!X`(N>& zpL}b+UsrT7H1MkCdl2A_uZ=WR|0W!Aywd|I6zYT?{tya^82god@DG3y7bhEP_yr^- zC1p$aa3nKH+O3XHPmYawpL}8mQB=D%!Eqy%@84gexuHE2J=c?Rd_+4GZi+jLJ~wCYX>5zXchS# z{b|BHAi4g!yu7QIH6s7o8Ye`nZd4My%>Ui%3aM3L^9J|Mq&tfb-`_YNQP;yh`+K4W zD=y!>35ZOOuv5u+>su$6^o4nMB7{vR+y0%+Eepd|kd7O+ln^ zX4v5eJ_urJH}%_FS{MY|PBE=f_pqDdk zoEd-hATKY^ZB$A|V(R)o@aUS`z#JOMo0d^O?cUJ2?G~1wwrycf64QORac%**gv>;z zISO19?VVk$F|`FA4#x*nPqiXCxcSXE#?O=tC(vN z*Hzbc$EcS0zC84^4i681N44ylDV!!r!tQi(fj5>u#|8SH{Rin`wVdBDjwo*}oqU z-dzo}ZH`Yv1=Y~3HWSp`+hT@>tb{fv!A=cVnQK_$lrozw1c;Is__<7ClnQoL6l3YP z+Yj8{Oy3=lc7h;Tkg}c?eC)}Q+BaKr#n_0$vkSfl%{1H-&JcMpl4eT&uCFd20A-Oa zck#JBgFw6i1x))2=~G3>U2SvQnc%aps)C=HKJosC^77-S-QVjg-E;pWuO9`gz)x;r zY%9GW+mwQZ0bcD4OEnnZVPAHojPi26)aOUyT3pIT;{^`Jxy*2(v)7^=Iq9pzjbzui`*upj5#wt8DOLY=#amUqlE*^24qw z)AN`8qAV7~kb(smwjp93f{F3dFG+f>{GI_STii#oS*-2XHNV4 a5+-A9hLTbF`U=|C0cy(HN>z$BkN*d(9T|!M literal 0 HcmV?d00001 diff --git a/res/icon-pride.svg b/res/icon-pride.svg new file mode 100644 index 00000000..afb01d39 --- /dev/null +++ b/res/icon-pride.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + From a821c98d982bde8a42a2b10cb0a520671f272dab Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 6 Jun 2024 09:18:57 -0400 Subject: [PATCH 036/171] Add "latestghtag" option to pre-build automation. - Also correct some text in the "latestghrelease" option --- automation_tools/pre_build_automation.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/automation_tools/pre_build_automation.sh b/automation_tools/pre_build_automation.sh index 895f2074..96ca9836 100755 --- a/automation_tools/pre_build_automation.sh +++ b/automation_tools/pre_build_automation.sh @@ -8,6 +8,8 @@ # Needs the URL of the file, in this line format: hash^PLACEHOLDERTEXT^url # latestcommit: Finds the most recent commit of a git repo and updated the placeholder in the manifest. # Needs the URL of the repo and the branch to find the latest commit from, in this line format: latestcommit^PLACEHOLDERTEXT^url^branch +# latestghtag: Finds the most recent tag on a GitHub repo, for repos that don't have normal releases, but also shouldn't use the latest commit +# Needs the URL of the repo, in this line format: latestghtag^PLACEHOLDERTEXT^url # latestghrelease: Finds the download URL and SHA256 hash of the latest release from a git repo. # Needs the API URL of the repo, in this line format: latestappimage^PLACEHOLDERTEXT^https://api.github.com/repos///releases/latest^ # As this command updates two different placeholders (one for the URL, one for the file hash) in the manifest, @@ -82,10 +84,19 @@ do /bin/sed -i 's^'"$placeholder"'^'"$commit"'^' $rd_manifest ;; + "latestghtag" ) + echo + echo "Placeholder text: $placeholder" + echo "Repo to get the latest tag from: $url" + echo + tag=$(git ls-remote "$url" | tail -n 1 | cut -f2 | sed 's|refs/tags/||') + echo "Tag found: $tag" + /bin/sed -i 's^'"$placeholder"'^'"$tag"'^' $rd_manifest + "latestghrelease" ) echo echo "Placeholder text: $placeholder" - echo "Repo to look for AppImage releases: $url" + echo "Repo to look for latest releases: $url" echo ghreleaseurl=$(curl -s "$url" | grep browser_download_url | grep "$branch\""$ | cut -d : -f 2,3 | tr -d \" | sed -n 1p | tr -d ' ') echo "GitHub release URL found: $ghreleaseurl" From 9942837d82c1cd4ffef4b3a34d86906607fcff3e Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 6 Jun 2024 09:19:46 -0400 Subject: [PATCH 037/171] Add missing case end. --- automation_tools/pre_build_automation.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/automation_tools/pre_build_automation.sh b/automation_tools/pre_build_automation.sh index 96ca9836..476ae315 100755 --- a/automation_tools/pre_build_automation.sh +++ b/automation_tools/pre_build_automation.sh @@ -92,6 +92,7 @@ do tag=$(git ls-remote "$url" | tail -n 1 | cut -f2 | sed 's|refs/tags/||') echo "Tag found: $tag" /bin/sed -i 's^'"$placeholder"'^'"$tag"'^' $rd_manifest + ;; "latestghrelease" ) echo From a954bff88d83db70aa9320f1a441981d662ab2b6 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:24:53 +0900 Subject: [PATCH 038/171] MANIFEST: version wasn't set correctly --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 604186f0..7e1a1663 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -79,7 +79,7 @@ modules: # on main please update this with the version variable, eg: VERSION=0.8.0b # on cooker will be THISBRANCH - VERSION=0.8.1b + VERSION=THISBRANCH git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ From 6cfb5d8dc459f9548efab5ddbe9c003b6d7e9d39 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:25:10 +0900 Subject: [PATCH 039/171] MANIFEST: version wasn't set correctly --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 7e1a1663..db24a4b8 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -69,8 +69,8 @@ modules: # The version number is hardcoded in /app/retrodeck/version # # UPDATE STEPS FOR MAIN: - # [x] Update the VERSION variable on line containing "VERSION=THISBRANCH" - # [x] Update the appdata.xml with the version number and notes + # [ ] Update the VERSION variable on line containing "VERSION=THISBRANCH" + # [ ] Update the appdata.xml with the version number and notes # - name: version-initialization buildsystem: simple From c51b94a1b9baed16b124f5a02ad4c06758b4b490 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:27:39 +0900 Subject: [PATCH 040/171] PCSX2: updated to nightly-1.7.5900 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index db24a4b8..ed88f4ec 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -678,7 +678,7 @@ modules: - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" sources: - type: file - url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.5769/pcsx2-v1.7.5769-linux-appimage-x64-Qt.AppImage + url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.5900/pcsx2-v1.7.5900-linux-appimage-x64-Qt.AppImage sha256: d819a339b9f3c43ee44fe9b6d975b9f76cff7716b5976a3b94f77e2cf4cab667 # PCSX2 - END From ed69ccdafb443352f9cb975f6010d2f30d84a006 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:28:33 +0900 Subject: [PATCH 041/171] DOLPHIN: frozen --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ed88f4ec..39ae659f 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -683,7 +683,7 @@ modules: # PCSX2 - END - # Dolphin - START + # Dolphin - START - FROZEN UNTIL KDE 6.7 UPDATE # https://github.com/flathub/org.DolphinEmu.dolphin-emu # WHEN UPADTING: remember to update rd-submodules/dolphin contents From 47138515ea81efbb616d9d6d67a29046f5ed22b3 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:31:57 +0900 Subject: [PATCH 042/171] libslirp: updated (dependency of: XEMU, MelonDS) --- net.retrodeck.retrodeck.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 39ae659f..3cb4a936 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -318,10 +318,17 @@ modules: # dependency of: XEMU, MelonDS - name: libslirp buildsystem: meson + cleanup: + - /include sources: - - type: git - url: https://gitlab.freedesktop.org/slirp/libslirp.git - tag: v4.7.0 + - type: archive + url: https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v4.8.0/libslirp-v4.8.0.tar.gz + sha256: 2a98852e65666db313481943e7a1997abff0183bd9bea80caec1b5da89fda28c + x-checker-data: + type: anitya + project-id: 96796 + stable-only: true + url-template: https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v$version/libslirp-v$version.tar.gz # dependency of: CEMU (1.0.26), DOLPHIN (1.0.27) - name: libusb From 9563b7a6e16c0c2b3a433a9671134b8c8ff8512d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:33:20 +0900 Subject: [PATCH 043/171] XEMU: updated to v0.7.126 --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 3cb4a936..01659030 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -816,8 +816,8 @@ modules: sources: - type: git url: https://github.com/xemu-project/xemu.git - tag: v0.7.120 - commit: 94d826a4f125d755d6d37069ad7084bfde33d650 + tag: v0.7.126 + commit: b2b6a98d5ea21970cd2436a1912230f4b97c5e03 x-checker-data: type: json url: https://api.github.com/repos/xemu-project/xemu/releases/latest From e43c2d83f0ecee564f5da9a4227f03fb6d819380 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:37:35 +0900 Subject: [PATCH 044/171] libevdev: updated to 1.13.2 (dependency of: DOLPHIN, RPCS3) --- net.retrodeck.retrodeck.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 01659030..fac44c96 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -247,16 +247,20 @@ modules: config-opts: - -Dtests=disabled - -Ddocumentation=disabled + cleanup: + - /bin + - /include + - /lib/pkgconfig + - /share sources: - type: archive - url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.1.tar.xz - sha256: 06a77bf2ac5c993305882bc1641017f5bec1592d6d1b64787bad492ab34f2f36 + url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.2.tar.xz + sha256: 3eca86a6ce55b81d5bce910637fc451c8bbe373b1f9698f375c7f1ad0de3ac48 x-checker-data: type: anitya project-id: 20540 stable-only: true url-template: https://www.freedesktop.org/software/libevdev/libevdev-$version.tar.xz - # dependency of: CEMU - name: rapidjson buildsystem: cmake-ninja From 2d79eeca46871152c7bc9caf3314504844dd1b57 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:39:47 +0900 Subject: [PATCH 045/171] RPCS3: updated (might break due to llvm) --- net.retrodeck.retrodeck.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index fac44c96..5dc15c49 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -867,9 +867,9 @@ modules: buildsystem: cmake-ninja builddir: true build-options: - # llvm17 is not available in framework 6.5 but in 6.6, so we're trying llvm16 and cross our fingers until Primehack is updated (as Primehack breaks on 6.6) - #append-ld-library-path: /usr/lib/sdk/llvm17/lib - #append-path: /usr/lib/sdk/llvm17/bin + # llvm18 is not available in framework 6.5 but in 6.6, so we're trying llvm16 and cross our fingers until Primehack is updated (as Primehack breaks on 6.6) + #append-ld-library-path: /usr/lib/sdk/llvm18/lib + #append-path: /usr/lib/sdk/llvm18/bin append-ld-library-path: /usr/lib/sdk/llvm16/lib append-path: /usr/lib/sdk/llvm16/bin cflags: &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong @@ -897,7 +897,7 @@ modules: - -DUSE_SYSTEM_ZLIB=ON - -Wno-dev post-install: - #- cp /usr/lib/sdk/llvm17/lib/libLLVM-17.so /app/lib/ + #- cp /usr/lib/sdk/llvm18/lib/libLLVM.so.18.1 /app/lib/ - cp /usr/lib/sdk/llvm16/lib/libLLVM-16.so /app/lib/ - |- set -eux @@ -907,7 +907,7 @@ modules: sources: - type: git url: https://github.com/RPCS3/rpcs3.git - commit: 4ecf8ecd06c15f0557e1d9243f31e4c2d7baebe2 + commit: feff2ba09e3b4bba230e90e968304f87590fac43 # RPCS3 - END From 76a92c12b9a4f56bc0753fea31feeaac9febb6de Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:40:46 +0900 Subject: [PATCH 046/171] PRIMEHACK: frozen --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 5dc15c49..22b85464 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -911,7 +911,7 @@ modules: # RPCS3 - END - # PRIMEHACK - START + # PRIMEHACK - START - FROZEN UNTIL KDE 6.7 UPDATE # https://github.com/flathub/io.github.shiiion.primehack - name: primehack From b924ed01afa9da3b4e7b484d71be4dcda4da937d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:42:05 +0900 Subject: [PATCH 047/171] DUCKSTATION: stating the autoupdated status --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 22b85464..24d640b0 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -953,7 +953,7 @@ modules: # # PRIMEHACK - END - # Duckstation-AppImage - START + # Duckstation-AppImage - START - AUTOUPDATED # https://github.com/stenzek/duckstation/releases/tag/preview - name: Duckstation-AppImage From ca360b607bce036badd040cc702d4e591765b56c Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:46:07 +0900 Subject: [PATCH 048/171] glslang: updated to 1.14.2 (dependency of: CEMU) --- net.retrodeck.retrodeck.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 24d640b0..7896edcd 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -223,21 +223,13 @@ modules: - /lib/cmake sources: - type: archive - url: https://github.com/KhronosGroup/glslang/archive/14.1.0.tar.gz - sha256: b5e4c36d60eda7613f36cfee3489c6f507156829c707e1ecd7f48ca45b435322 + url: https://github.com/KhronosGroup/glslang/archive/14.2.0.tar.gz + sha256: 14a2edbb509cb3e51a9a53e3f5e435dbf5971604b4b833e63e6076e8c0a997b5 x-checker-data: type: anitya stable-only: true project-id: 205796 url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz - # - type: git - # url: https://github.com/KhronosGroup/SPIRV-Tools.git - # tag: sdk-1.3.261.1 - # dest: External/spirv-tools - # - type: git - # url: https://github.com/KhronosGroup/SPIRV-Headers.git - # tag: sdk-1.3.261.1 - # dest: External/spirv-tools/external/spirv-headers # enables motion controls on non-wii controllers (switch, ps4, etc) # dependency of: DOLPHIN, RPCS3 From 1856920549e52f93b98f970c70b9b8623cafab88 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:51:37 +0900 Subject: [PATCH 049/171] CEMU: updated to v2.0-86 --- net.retrodeck.retrodeck.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 7896edcd..600de002 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1048,8 +1048,8 @@ modules: - /share sources: - type: archive - url: https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.4/wxWidgets-3.2.4.tar.bz2 - sha256: 0640e1ab716db5af2ecb7389dbef6138d7679261fbff730d23845ba838ca133e + url: https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.5/wxWidgets-3.2.5.tar.bz2 + sha256: 0ad86a3ad3e2e519b6a705248fc9226e3a09bbf069c6c692a02acf7c2d1c6b51 x-checker-data: type: anitya project-id: 5150 @@ -1069,8 +1069,21 @@ modules: x-checker-data: type: git tag-pattern: ^v([\d.]+-\d+)$ - tag: v2.0-79 - commit: efbbb817fe1cbe09ee132344b44a0f61f8b8ac96 + tag: v2.0-86 + commit: 1672f969bbc4a683e4a852aa2e145c1e6f9f68e6 + disable-submodules: true + - type: git + url: https://github.com/mozilla/cubeb + commit: 6c1a6e151c1f981a2800d40af7c041cfcccc710e + dest: dependencies/cubeb + - type: git + url: https://github.com/Exzap/ZArchive + dest: dependencies/ZArchive + tag: v0.1.2 + - type: git + url: https://github.com/ocornut/imgui + dest: dependencies/imgui + commit: f65bcf481ab34cd07d3909aab1479f409fa79f2f - type: shell commands: - sed "s/set(EXPERIMENTAL_VERSION.*/set(EXPERIMENTAL_VERSION \"$(git describe From f586c443d4847abe4d7bbda85b9347000383ae07 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:52:24 +0900 Subject: [PATCH 050/171] VITA3K: stating the autoupdated status --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 600de002..6af0d119 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1131,7 +1131,7 @@ modules: # Cemu - END - # Vita3K - START + # Vita3K - START - AUTOUPDATED - name: vita3k buildsystem: simple @@ -1149,7 +1149,7 @@ modules: sha256: VITA3KSHAPLACEHOLDER - type: file path: res/retrodeck.png - + # Vita3K - END # SOLARUS - START From 0e36bfccf2c5fa581a6aae15289ae08d5a43d97b Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 19:53:57 +0900 Subject: [PATCH 051/171] RYUJINX: updated to 1.1.1330 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 6af0d119..a1bbd3af 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1236,7 +1236,7 @@ modules: ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: file - url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1297/ryujinx-1.1.1297-linux_x64.tar.gz + url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1330/ryujinx-1.1.1330-linux_x64.tar.gz sha256: 28b38754e7d2e92083b313b23278c180ae54ac025edbbd0276ec03baec0cec0f # Ryujinx Appimage - END From e5df23dbb82cb40b4bfa1d88a09602c4c936847e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 20:06:45 +0900 Subject: [PATCH 052/171] PCSX2: fixing sha --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index a1bbd3af..a5c2b6a4 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -682,7 +682,7 @@ modules: sources: - type: file url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.5900/pcsx2-v1.7.5900-linux-appimage-x64-Qt.AppImage - sha256: d819a339b9f3c43ee44fe9b6d975b9f76cff7716b5976a3b94f77e2cf4cab667 + sha256: a4012fbdd175536cac99ef7f0b5fb65aa8303b4c5b8cc31918a05341d61bbb26 # PCSX2 - END From 3fad4b755debc4daa4527f222aa709647d7a047f Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 20:25:04 +0900 Subject: [PATCH 053/171] PCSX2: fixing sha --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index a5c2b6a4..a3e6908c 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1237,7 +1237,7 @@ modules: sources: - type: file url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1330/ryujinx-1.1.1330-linux_x64.tar.gz - sha256: 28b38754e7d2e92083b313b23278c180ae54ac025edbbd0276ec03baec0cec0f + sha256: 1e9158a3f55ff128e089ac3778dfb35127f2cab9d59bc52b5fe63c7b7ac2f6cb # Ryujinx Appimage - END From ca7af4594cd92fc77510544207be1e3a5dc93b41 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 21:48:48 +0900 Subject: [PATCH 054/171] Revert "RPCS3: updated (might break due to llvm)" This reverts commit 2d79eeca46871152c7bc9caf3314504844dd1b57. --- net.retrodeck.retrodeck.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index a3e6908c..88f365b5 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -859,9 +859,9 @@ modules: buildsystem: cmake-ninja builddir: true build-options: - # llvm18 is not available in framework 6.5 but in 6.6, so we're trying llvm16 and cross our fingers until Primehack is updated (as Primehack breaks on 6.6) - #append-ld-library-path: /usr/lib/sdk/llvm18/lib - #append-path: /usr/lib/sdk/llvm18/bin + # llvm17 is not available in framework 6.5 but in 6.6, so we're trying llvm16 and cross our fingers until Primehack is updated (as Primehack breaks on 6.6) + #append-ld-library-path: /usr/lib/sdk/llvm17/lib + #append-path: /usr/lib/sdk/llvm17/bin append-ld-library-path: /usr/lib/sdk/llvm16/lib append-path: /usr/lib/sdk/llvm16/bin cflags: &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong @@ -889,7 +889,7 @@ modules: - -DUSE_SYSTEM_ZLIB=ON - -Wno-dev post-install: - #- cp /usr/lib/sdk/llvm18/lib/libLLVM.so.18.1 /app/lib/ + #- cp /usr/lib/sdk/llvm17/lib/libLLVM-17.so /app/lib/ - cp /usr/lib/sdk/llvm16/lib/libLLVM-16.so /app/lib/ - |- set -eux @@ -899,7 +899,7 @@ modules: sources: - type: git url: https://github.com/RPCS3/rpcs3.git - commit: feff2ba09e3b4bba230e90e968304f87590fac43 + commit: 4ecf8ecd06c15f0557e1d9243f31e4c2d7baebe2 # RPCS3 - END From 3129535dbe3379e8746d785aed605beae79e7c15 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 15 Jun 2024 21:50:13 +0900 Subject: [PATCH 055/171] RPCS3: frozen [skip ci] --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 88f365b5..f7c6c545 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -852,7 +852,7 @@ modules: # MELONDS - END - # RPCS3 - START + # RPCS3 - START - FROZEN UNTIL KDE 6.7 UPDATE # https://github.com/flathub/net.rpcs3.RPCS3 - name: rpcs3 From 9c9587622d85ade88aab6cbd04fe4e07a645ff52 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 18 Jun 2024 16:37:27 +0900 Subject: [PATCH 056/171] PRIMEHACK: updated to PR 116 --- net.retrodeck.retrodeck.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 229c52ec..0ad75e63 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -902,7 +902,7 @@ modules: # RPCS3 - END - # PRIMEHACK - START - FROZEN UNTIL KDE 6.7 UPDATE + # PRIMEHACK - START # https://github.com/flathub/io.github.shiiion.primehack - name: primehack @@ -913,17 +913,14 @@ modules: - -DENABLE_SDL=ON - -DENABLE_EVDEV=ON - -DDISTRIBUTOR=Flathub - - -DQT_DIR= cleanup: - /share/man post-install: - install -D primehack-wrapper /app/bin/primehack-wrapper sources: - type: git - url: https://github.com/XargonWan/primehack - commit: af7710ef7b04a632b4294eae5e0eff8fe9c4d1f8 - #url: https://github.com/TheDrifter363/primehack.git - #commit: 6295c695307a67f11ee202b05cbdd7b5c1edae5c + url: https://github.com/shiiion/dolphin.git + commit: 81bfb9686afd2d190134b44dd72d3cee876fe2ab # This commit refers to the PR 166: https://github.com/shiiion/dolphin/pull/166, please change it when it's approved # detects whether dolphin is running in a flatpak sandbox # and makes it use xdg directories if it is. # prevents dolphin from attempting to write conf files @@ -942,7 +939,7 @@ modules: - primehack "$@" dest-filename: primehack-wrapper - # # PRIMEHACK - END + # PRIMEHACK - END # Duckstation-AppImage - START - AUTOUPDATED # https://github.com/stenzek/duckstation/releases/tag/preview From adb5a82b36e5dea637dd7b5f8d022ac740794949 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 18 Jun 2024 16:39:53 +0900 Subject: [PATCH 057/171] RPCS3: updated --- net.retrodeck.retrodeck.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 0ad75e63..09c99603 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -3,7 +3,7 @@ runtime: org.kde.Platform runtime-version: "6.7" sdk: org.kde.Sdk sdk-extensions: - - org.freedesktop.Sdk.Extension.llvm16 # Needed for RPCS3 (llvm17 actually) + - org.freedesktop.Sdk.Extension.llvm18 # Needed for RPCS3 - org.freedesktop.Sdk.Extension.rust-stable # Needed for BoilR command: retrodeck.sh @@ -858,11 +858,8 @@ modules: buildsystem: cmake-ninja builddir: true build-options: - # llvm17 is not available in framework 6.5 but in 6.6, so we're trying llvm16 and cross our fingers until Primehack is updated (as Primehack breaks on 6.6) - #append-ld-library-path: /usr/lib/sdk/llvm17/lib - #append-path: /usr/lib/sdk/llvm17/bin - append-ld-library-path: /usr/lib/sdk/llvm16/lib - append-path: /usr/lib/sdk/llvm16/bin + append-ld-library-path: /usr/lib/sdk/llvm18/lib + append-path: /usr/lib/sdk/llvm18/bin cflags: &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer @@ -888,8 +885,7 @@ modules: - -DUSE_SYSTEM_ZLIB=ON - -Wno-dev post-install: - #- cp /usr/lib/sdk/llvm17/lib/libLLVM-17.so /app/lib/ - - cp /usr/lib/sdk/llvm16/lib/libLLVM-16.so /app/lib/ + - cp /usr/lib/sdk/llvm18/lib/libLLVM.so.18.1 /app/lib/ - |- set -eux COMM_TAG="$(awk -F'[\{,]' '/version{.*}/{printf "%d.%d.%d", $2, $3, $4}' ../rpcs3/rpcs3_version.cpp)" @@ -898,7 +894,7 @@ modules: sources: - type: git url: https://github.com/RPCS3/rpcs3.git - commit: 4ecf8ecd06c15f0557e1d9243f31e4c2d7baebe2 + commit: 5b973448bf75a239f34fd9c7698c8a02b04e2ea9 # RPCS3 - END From 6418d2ce37e7b4b70e2501ed5a2afa414faf7145 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 18 Jun 2024 16:41:55 +0900 Subject: [PATCH 058/171] DOLPHIN: updated --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 09c99603..35706b0c 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -686,7 +686,7 @@ modules: # PCSX2 - END - # Dolphin - START - FROZEN UNTIL KDE 6.7 UPDATE + # Dolphin - START # https://github.com/flathub/org.DolphinEmu.dolphin-emu # WHEN UPADTING: remember to update rd-submodules/dolphin contents @@ -716,7 +716,7 @@ modules: # fatal: remote transport reported error # url: ssh://git@github.com/dolphin-emu/dolphin.git url: https://github.com/dolphin-emu/dolphin.git - commit: 1efda863e47b690f460f069502a4391b3c7d87c4 + commit: a9544510468740b77cf06ef28daaa65fe247fd32 x-checker-data: type: json url: https://dolphin-emu.org/update/latest/beta From 131e6a5b0fafdcf6b1b1a3d47f8b54da7116c865 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 18 Jun 2024 16:42:19 +0900 Subject: [PATCH 059/171] Comments cleanup --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 35706b0c..de23b2a3 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -851,7 +851,7 @@ modules: # MELONDS - END - # RPCS3 - START - FROZEN UNTIL KDE 6.7 UPDATE + # RPCS3 - START # https://github.com/flathub/net.rpcs3.RPCS3 - name: rpcs3 From 45bcadfe7c888d070d951e599e7a1ce4c356d0db Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 18 Jun 2024 17:15:41 +0900 Subject: [PATCH 060/171] Triggering build From 222ce9d88ba7a6afd94878ba6435083c5ccbb30c Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 19 Jun 2024 09:18:02 +0900 Subject: [PATCH 061/171] PRIMEHACK: updated patches --- rd-submodules/primehack/detectflatpak.patch | 3 +-- rd-submodules/primehack/nodirtyversion.patch | 13 ++++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/rd-submodules/primehack/detectflatpak.patch b/rd-submodules/primehack/detectflatpak.patch index 60dd1a2d..9c744da5 100644 --- a/rd-submodules/primehack/detectflatpak.patch +++ b/rd-submodules/primehack/detectflatpak.patch @@ -30,5 +30,4 @@ index 8d9dc2abb8..8a9d39a3d5 100644 const char* data_home = getenv("XDG_DATA_HOME"); std::string data_path = -- -2.37.1 - +2.37.1 \ No newline at end of file diff --git a/rd-submodules/primehack/nodirtyversion.patch b/rd-submodules/primehack/nodirtyversion.patch index 20b6f3c1..8d8482e3 100644 --- a/rd-submodules/primehack/nodirtyversion.patch +++ b/rd-submodules/primehack/nodirtyversion.patch @@ -1,13 +1,12 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9af66009a1..2acd3bed9a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -149,7 +149,7 @@ if(GIT_FOUND) +diff --git a/CMake/ScmRevGen.cmake b/CMake/ScmRevGen.cmake +index aacf7491ce..503791cda8 100644 +--- a/CMake/ScmRevGen.cmake ++++ b/CMake/ScmRevGen.cmake +@@ -7,7 +7,7 @@ if(GIT_FOUND) OUTPUT_VARIABLE DOLPHIN_WC_REVISION OUTPUT_STRIP_TRAILING_WHITESPACE) # defines DOLPHIN_WC_DESCRIBE - execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --always --long --dirty + execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --always --long OUTPUT_VARIABLE DOLPHIN_WC_DESCRIBE - OUTPUT_STRIP_TRAILING_WHITESPACE) - + OUTPUT_STRIP_TRAILING_WHITESPACE) \ No newline at end of file From d3f8fc65145841cf54845a447276317ce6153410 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 19 Jun 2024 13:30:37 +0900 Subject: [PATCH 062/171] CLEANUP: removed rust as was used for BoilR only --- net.retrodeck.retrodeck.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index de23b2a3..9e8f5795 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -4,7 +4,6 @@ runtime-version: "6.7" sdk: org.kde.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.llvm18 # Needed for RPCS3 - - org.freedesktop.Sdk.Extension.rust-stable # Needed for BoilR command: retrodeck.sh finish-args: From 1b73d218ce92168022c6342316e2ac44d31f60ef Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 19 Jun 2024 20:21:03 +0900 Subject: [PATCH 063/171] APPDATA: updated [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 33 ++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 395edded..51c7084a 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,6 +67,29 @@ GPL-3.0 CC0-1.0 + + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.2b + +

Changes:

+
    +
  • ES-DE: updated to 3.0.3
  • +
  • RUNTIME: updated to KDE 6.7
  • +
  • All emulators updated
  • +
  • CONFIGURATOR: fixed an issue in the multi-file compression tool that prevented some type of files to be converted
  • +
  • CONFIGURATOR: added headless state for some functions (this will help to migrate to the Godot Configurator)
  • +
  • CONFIGURATOR: added a new "Empty ROMs folder removal" tool helping the user to cleanup the roms folder by deleting the empty folders
  • +
  • CONFIGURATOR: edded a new "Rebuild removed ROMs folders" tool. This is complementary to the previous one:by recreating the whole roms folder structure
  • +
  • CONFIGURATOR: chd compression functionality restored
  • +
  • CEMU: now audio should work correctly when docking and undocking the Steam Deck
  • +
  • CEMU: added microphone blow input to R3
  • +
  • INFRASTRUCTURE: we now have a self-hosted Gitea repo in case fo disaster recovery
  • +
+

Known issues:

+
    +
  • Please check the know issues in the Wiki under General Information.
  • +
+
+
https://github.com/XargonWan/RetroDECK/releases/tag/0.8.1b @@ -96,7 +119,7 @@

Known issues:

    -
  • Please check the know issues in the Wiki under General Infomration.
  • +
  • Please check the know issues in the Wiki under General Information.
@@ -154,7 +177,7 @@

Known issues:

    -
  • Please check the know issues in the Wiki under General Infomration.
  • +
  • Please check the know issues in the Wiki under General Information.
@@ -172,7 +195,7 @@

Known issues:

    -
  • Please check the know issues in the Wiki under General Infomration.
  • +
  • Please check the know issues in the Wiki under General Information.
@@ -208,7 +231,7 @@

Known issues:

    -
  • Please check the know issues in the Wiki under General Infomration
  • +
  • Please check the know issues in the Wiki under General Information
@@ -222,7 +245,7 @@

Known issues:

    -
  • Please check the know issues in the Wiki under General Infomration
  • +
  • Please check the know issues in the Wiki under General Information
From 3adb929acded883612eaa8fddf2f94caf45184eb Mon Sep 17 00:00:00 2001 From: laz Date: Wed, 19 Jun 2024 18:58:46 +0200 Subject: [PATCH 064/171] fixed credits file --- .../reference_lists/retrodeck_credits.txt | 103 ++++++++---------- 1 file changed, 48 insertions(+), 55 deletions(-) diff --git a/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt b/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt index 49d44557..e2f0a385 100644 --- a/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt +++ b/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt @@ -1,74 +1,67 @@ -Credits & The Team - -This is the page where we try to introduce the team and thank everyone who have contributed to the project so far. -If you feel you have contributed to the project but lacks mention, please contact us on discord! - The Team -XargonWan -RetroDECK project founder and also one of the founding members of AmberELEC. -IceNine451 -Creator of the RetroDECK configurator and the RetroDECK Framework. +--- + +XargonWan + +RetroDECK project founder and also one of the founding members of AmberELEC. +Grand General of the IPL (Italian Pizza Legion) also known as the Napoletanan Fist in the internal pizza war. + +--- Lazorne -Community management/outreach, testing, documentation and Wiki Lord. + +Community management/outreach, testing, documentation, emulator configurations, Steam Input and feature request / issue management. +Meme Lord of the Wiki and also the cult leader of the NPC (The Nordic Pizza Cult) also called by the others as "The Pizza Heresy Cult" or "Harbingers of Pizza Chaos". Instigator of the internal pizza war. + +--- + +jiannazzone + +Web Development, Community management/outreach, testing, documentation. Have not choosen a side yet in the Pizza War. + +--- + +IceNine451 + +Creator of the RetroDECK configurator, the RetroDECK Framework and various cool things. +Freedom loving leader of the MCCP (Murican Cheese Crust Patriots) in the internal pizza war. + +--- + +Lx32 + + +Develops various new features, functions and tools. +1st Commander of the IPL (Italian Pizza Legion) nicknamed Paladin al Taglio in the internal pizza war. + +--- WallK -Works on Godot Features. -LX32 -Works on a many projects. +Checks GODOT and other things. +Pizza Mercenary + +--- dottormac -Tester +Does bleeding edge cooker testing (lives in the danger zone), some feature suggestions and design. -Collaborators -Leon Styhre -Maker of EmulationStation Desktop Edition +--- -anthonycaccese -Theme creator for ES-DE and AmberELEC + We want give special thanks to: +- Our Patreon and donors that keeps the build servers running and provide feedback. -Additional credits -RavenKilit -Former Beta Tester and AmberELEC contributor +- All related emulation, front end and software projects that we are dependent on. -MorGuux -Made the RetroDECK steamdb graphics for the old logo +- All people that have put both time and money into emulation projects. -Pixelguin -Made the new logo and steamdb graphics +- All the users who help others with support, guidance and good spirit. -teotwaki -Generous cloud hosting sponsor +- All the users who help with testing and reporting issues. -Niroku / Atari -Helps with community management, is also part of Batocera +- All the community creators who creates various art and assets for the community. -Gabeboii -Webmaster - -Draco -Former server admiistrator and code consultant - -ItzSelenux -Maker of pixelitos - -Kenny.nl -The Kenny.nl project provides several free game assets under open licenses. - - -Special Thanks - -We want give special thanks to: - - Our Patreons that keeps the build servers running and provide feedback. - All related emulation projects, such as Batocera and AmberELEC where we are taking our inspiration. - All people that have put both time and money into emulation projects. - All the users who help others with support, guidance and good spirit. - All the users who help with testing and reporting issues. - All the community creators who creates various art and assets for the community. - -You are the ones that makes this project possible. +You are all the ones that makes this project possible. From 8cce9181b126d0e12ed127a4163198c00c571f9f Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 20 Jun 2024 11:54:38 +0900 Subject: [PATCH 065/171] DUCKSTATION: fixed games not running in full screen --- emu-configs/duckstation/settings.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emu-configs/duckstation/settings.ini b/emu-configs/duckstation/settings.ini index 0936a2e7..65ca7e7b 100644 --- a/emu-configs/duckstation/settings.ini +++ b/emu-configs/duckstation/settings.ini @@ -7,7 +7,7 @@ SyncToHostRefreshRate = false IncreaseTimerResolution = true InhibitScreensaver = true StartPaused = false -StartFullscreen = false +StartFullscreen = true PauseOnFocusLoss = true PauseOnMenu = true SaveStateOnExit = false From 468a73025269bd73f5d39dd86f6df142bd1f4cc2 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 20 Jun 2024 11:57:52 +0900 Subject: [PATCH 066/171] VITA3K: updated configuration file --- emu-configs/vita3k/config.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/emu-configs/vita3k/config.yml b/emu-configs/vita3k/config.yml index c1114ec2..5cca3861 100644 --- a/emu-configs/vita3k/config.yml +++ b/emu-configs/vita3k/config.yml @@ -25,10 +25,15 @@ screen-filter: Bilinear v-sync: true anisotropic-filtering: 1 texture-cache: true +async-pipeline-compilation: true show-compile-shaders: true hashless-texture-cache: false +import-textures: false +export-textures: false +export-as-png: true boot-apps-full-screen: true audio-backend: SDL +audio-volume: 100 ngs-enable: true sys-button: 1 sys-lang: 1 @@ -78,16 +83,20 @@ keyboard-button-psbutton: 19 keyboard-gui-toggle-gui: 10 keyboard-gui-fullscreen: 68 keyboard-gui-toggle-touch: 23 +keyboard-toggle-texture-replacement: 0 +keyboard-take-screenshot: 0 user-id: 00 user-auto-connect: true -dump-textures: false +user-lang: "" display-info-message: true show-welcome: false +check-for-updates: false asia-font-support: false shader-cache: true spirv-shader: false +fps-hack: true current-ime-lang: 4 -psn-status: 0 +psn-signed-in: 0 http-enable: true http-timeout-attempts: 50 http-timeout-sleep-ms: 100 From e3cc449f57e734b4a361e16eb167b40c3697e473 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 20 Jun 2024 12:02:09 +0900 Subject: [PATCH 067/171] SUBMODULES: updated + GZDoom --- rd-submodules/retroarch | 2 +- rd-submodules/ryujinx | 2 +- rd-submodules/shared-modules | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch index c2aad986..6b7f8091 160000 --- a/rd-submodules/retroarch +++ b/rd-submodules/retroarch @@ -1 +1 @@ -Subproject commit c2aad98600a47ab250f1b133328d0ccc1310f65e +Subproject commit 6b7f80910290d9fbd4b7ba439c5917183ce71c92 diff --git a/rd-submodules/ryujinx b/rd-submodules/ryujinx index ea1dae93..41761a7d 160000 --- a/rd-submodules/ryujinx +++ b/rd-submodules/ryujinx @@ -1 +1 @@ -Subproject commit ea1dae930a6f61388c2b5e05f95bb6ed0120926e +Subproject commit 41761a7dc36ec8520bdaca796d9d0b1219b66a07 diff --git a/rd-submodules/shared-modules b/rd-submodules/shared-modules index f63cb3f5..16732779 160000 --- a/rd-submodules/shared-modules +++ b/rd-submodules/shared-modules @@ -1 +1 @@ -Subproject commit f63cb3f5fff835c141769d35cd54ce0ae042fcbf +Subproject commit 16732779e792bcc3f60b8db2c909a1ab540a93a6 From 7995b76d14b1797dfe3c3d8edc88edc783a6afd0 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 20 Jun 2024 20:31:52 +0900 Subject: [PATCH 068/171] VITA3K: added missing cli reset command [skip ci] --- retrodeck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index 52cd7697..d0da9f3d 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -59,7 +59,7 @@ https://retrodeck.net echo "Available options are: es-de, retroarch, cemu, dolphin, duckstation, gzdoom, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, ryujinx, xemu, vita3k, mame, boilr, all" read -p "Please enter the component you would like to reset: " component component=$(echo "$component" | tr '[:upper:]' '[:lower:]') - if [[ "$component" =~ ^(es-de|retroarch|cemu|dolphin|duckstation|gzdoom|mame|melonds|pcsx2|ppsspp|primehack|ryujinx|rpcs3|xemu|all)$ ]]; then + if [[ "$component" =~ ^(es-de|retroarch|cemu|dolphin|duckstation|gzdoom|mame|melonds|pcsx2|ppsspp|primehack|ryujinx|rpcs3|vita3k|xemu|all)$ ]]; then read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then prepare_component "reset" "$component" "cli" From d6860e734e0325c7a58910ec5cc2763de95d8a2a Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 20 Jun 2024 13:27:51 -0400 Subject: [PATCH 069/171] Correct null return on system name prettification - Add RPCS3 to system name prettification reference list --- .../defaults/retrodeck/reference_lists/pretty_system_names.cfg | 3 ++- functions/other_functions.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg b/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg index e668911a..9eec0818 100644 --- a/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg +++ b/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg @@ -1,3 +1,4 @@ +citra^Citra (Nintendo 3DS Standalone Emulator, via Ponzu) dolphin^Dolphin (GameCube / Wii Standalone Emulator) duckstation^Duckstation (Sony Playstation Standalone Emulator) gb^Nintendo GameBoy @@ -11,7 +12,7 @@ ppsspp^PPSSPP (Sony PSP Standalone Emulator) primehack^Primehack (Metroid Prime Standalone Emulator) psx_ra^Sony Playstation (RetroArch Core) retroarch^RetroArch (Multi-emulator Frontend) +rpcs3^RPCS3 (Sony Playstation 3 Standalone Emulator) ryujinx^Ryujinx (Nintendo Switch Standalone Emulator) snes^Nintendo Super Nintendo yuzu^Yuzu (Nintendo Switch Standalone Emulator, via Ponzu) -citra^Citra (Nintendo 3DS Standalone Emulator, via Ponzu) \ No newline at end of file diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 2c6f9947..2a93a561 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -313,7 +313,7 @@ make_name_pretty() { if [[ ! -z "$system" ]]; then IFS='^' read -r internal_name pretty_name < <(echo "$system") else - pretty_name="$system" + pretty_name="$1" fi echo "$pretty_name" } From 92f0c227f491fef8dbe8f92ce2017163bdee60fa Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 20 Jun 2024 13:37:02 -0400 Subject: [PATCH 070/171] User preset settings were being lost during rdconf expansion --- functions/other_functions.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 2a93a561..764fd8eb 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -153,7 +153,6 @@ update_rd_conf() { # STAGE 2: To handle presets sections that use duplicate setting names - mv -f $rd_conf $rd_conf_backup # Backup config file agiain before update but after Stage 1 expansion generate_single_patch $rd_defaults $rd_conf_backup $rd_update_patch retrodeck # Create a patch file for differences between defaults and current user settings sed -i '/change^^version/d' $rd_update_patch # Remove version line from temporary patch file deploy_single_patch $rd_defaults $rd_update_patch $rd_conf # Re-apply user settings to defaults file From 284e8d5cc19fb3ccdfe0506c26a3d608bb633c7e Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 20 Jun 2024 13:44:24 -0400 Subject: [PATCH 071/171] Remove unneeded sourcing from dialogs.sh --- functions/dialogs.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/functions/dialogs.sh b/functions/dialogs.sh index 3772c7e9..36418f61 100644 --- a/functions/dialogs.sh +++ b/functions/dialogs.sh @@ -1,7 +1,5 @@ #!/bin/bash -source /app/libexec/functions.sh - # Dialog colors purple="#a864fc" blue="#6fbfff" From d6748e567d9131bdf043d8c3373dd26aac75fac7 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 20 Jun 2024 13:45:38 -0400 Subject: [PATCH 072/171] Fix sourcing typo in global.sh --- functions/global.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/global.sh b/functions/global.sh index 5ae8c08d..3c5edbc3 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -13,7 +13,7 @@ source /app/libexec/framework.sh source /app/libexec/post_update.sh source /app/libexec/prepare_component.sh source /app/libexec/presets.sh -source /app/libexec/configurator_fuctions.sh +source /app/libexec/configurator_functions.sh # Static variables rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path From 3dd31d1c0470eca537a5f50469e405d5fa80e38f Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 20 Jun 2024 13:48:40 -0400 Subject: [PATCH 073/171] Fix confusing complete dialog from cancelling empty ROM folder removal --- tools/configurator.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 4c0d9278..d92c6f30 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -609,14 +609,15 @@ configurator_retrodeck_tools_dialog() { log i "Removing empty folder $folder" rm -f "$folder" done + configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "The removal process is complete." elif [[ ! -z $choice ]]; then # User clicked "Remove All" for folder in "${all_empty_folders[@]}"; do log i "Removing empty folder $folder" rm -f "$folder" done + configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "The removal process is complete." fi - configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "The removal process is complete." configurator_retrodeck_tools_dialog ;; From 9357db8863d8f79c894c4c6dceb515186a733851 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 20 Jun 2024 13:50:54 -0400 Subject: [PATCH 074/171] Add progress dialog to finding empty rom folder process --- tools/configurator.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index d92c6f30..d794f096 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -591,8 +591,16 @@ configurator_retrodeck_tools_dialog() { "Tool: Remove Empty ROM Folders" ) log i "Configurator: opening \"$choice\" menu" - find_empty_rom_folders - + ( + find_empty_rom_folders + ) | + zenity --progress --no-cancel --pulsate --auto-close \ + --icon-name=net.retrodeck.retrodeck \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title="Finding Empty ROM Folders" \ + --width=400 --height=200 \ + --text="Finding empty ROM folders, please be patient.\n\n" + choice=$(zenity \ --list --width=1200 --height=720 --title "RetroDECK Configurator - RetroDECK: Remove Empty ROM Folders" \ --checklist --hide-column=3 --ok-label="Remove Selected" --extra-button="Remove All" \ From 858b4f16ab240a3808136626359e12a9a2423efa Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 20 Jun 2024 13:53:41 -0400 Subject: [PATCH 075/171] Fix incorrect rm command from removal of empty rom folders --- tools/configurator.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index d794f096..876fb622 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -615,13 +615,13 @@ configurator_retrodeck_tools_dialog() { IFS="," read -ra folders_to_remove <<< "$choice" for folder in "${folders_to_remove[@]}"; do log i "Removing empty folder $folder" - rm -f "$folder" + rm -rf "$folder" done configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "The removal process is complete." elif [[ ! -z $choice ]]; then # User clicked "Remove All" for folder in "${all_empty_folders[@]}"; do log i "Removing empty folder $folder" - rm -f "$folder" + rm -rf "$folder" done configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "The removal process is complete." fi From b061d9ff40eb78e8c79cfb13ed5a5c842caee0af Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 21 Jun 2024 10:44:17 +0900 Subject: [PATCH 076/171] GZDOOM: added depdencies (that should have been already taken by the module...) --- net.retrodeck.retrodeck.yml | 2 ++ rd-submodules/retroarch | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 9e8f5795..c970d701 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1199,6 +1199,8 @@ modules: # GZDoom - Start # When updating remember to update all the .pk3 files from the standalone linux download + - rd-submodules/shared-modules/gzdoom/game-music-emu.json + - rd-submodules/shared-modules/gzdoom/zmusic.json - rd-submodules/shared-modules/gzdoom/gzdoom.json # GZDoom - END diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch index 6b7f8091..fc0418b8 160000 --- a/rd-submodules/retroarch +++ b/rd-submodules/retroarch @@ -1 +1 @@ -Subproject commit 6b7f80910290d9fbd4b7ba439c5917183ce71c92 +Subproject commit fc0418b8cf75a1500bb8c8633320490b16d39443 From 78ecb4598800d7da1a0c75ec0616a6336a7be2ae Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 21 Jun 2024 10:57:12 +0900 Subject: [PATCH 077/171] Revert "GZDOOM: added depdencies (that should have been already taken by the module...)" This reverts commit b061d9ff40eb78e8c79cfb13ed5a5c842caee0af. --- net.retrodeck.retrodeck.yml | 2 -- rd-submodules/retroarch | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index c970d701..9e8f5795 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1199,8 +1199,6 @@ modules: # GZDoom - Start # When updating remember to update all the .pk3 files from the standalone linux download - - rd-submodules/shared-modules/gzdoom/game-music-emu.json - - rd-submodules/shared-modules/gzdoom/zmusic.json - rd-submodules/shared-modules/gzdoom/gzdoom.json # GZDoom - END diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch index fc0418b8..6b7f8091 160000 --- a/rd-submodules/retroarch +++ b/rd-submodules/retroarch @@ -1 +1 @@ -Subproject commit fc0418b8cf75a1500bb8c8633320490b16d39443 +Subproject commit 6b7f80910290d9fbd4b7ba439c5917183ce71c92 From babc03dd00c9509c0fb2421e12e15779d36a4c42 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 21 Jun 2024 10:57:17 +0900 Subject: [PATCH 078/171] Revert "SUBMODULES: updated + GZDoom" This reverts commit e3cc449f57e734b4a361e16eb167b40c3697e473. --- rd-submodules/retroarch | 2 +- rd-submodules/ryujinx | 2 +- rd-submodules/shared-modules | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch index 6b7f8091..c2aad986 160000 --- a/rd-submodules/retroarch +++ b/rd-submodules/retroarch @@ -1 +1 @@ -Subproject commit 6b7f80910290d9fbd4b7ba439c5917183ce71c92 +Subproject commit c2aad98600a47ab250f1b133328d0ccc1310f65e diff --git a/rd-submodules/ryujinx b/rd-submodules/ryujinx index 41761a7d..ea1dae93 160000 --- a/rd-submodules/ryujinx +++ b/rd-submodules/ryujinx @@ -1 +1 @@ -Subproject commit 41761a7dc36ec8520bdaca796d9d0b1219b66a07 +Subproject commit ea1dae930a6f61388c2b5e05f95bb6ed0120926e diff --git a/rd-submodules/shared-modules b/rd-submodules/shared-modules index 16732779..f63cb3f5 160000 --- a/rd-submodules/shared-modules +++ b/rd-submodules/shared-modules @@ -1 +1 @@ -Subproject commit 16732779e792bcc3f60b8db2c909a1ab540a93a6 +Subproject commit f63cb3f5fff835c141769d35cd54ce0ae042fcbf From c10133aab10c4123f7e895f4a99e3a433427fec8 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 21 Jun 2024 15:48:38 +0900 Subject: [PATCH 079/171] STEAM_SYNC: removed from this build --- functions/prepare_component.sh | 10 - functions/steam-sync/config.toml | 61 ---- functions/steam-sync/steam-sync.py | 456 ----------------------------- rd-submodules/retroarch | 2 +- rd-submodules/ryujinx | 2 +- rd-submodules/shared-modules | 2 +- retrodeck.sh | 2 +- tools/configurator.sh | 51 +--- 8 files changed, 5 insertions(+), 581 deletions(-) delete mode 100644 functions/steam-sync/config.toml delete mode 100644 functions/steam-sync/steam-sync.py diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index a040fa20..f423c55b 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -853,16 +853,6 @@ prepare_component() { sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON fi - if [[ "$component" =~ ^(boilr|all)$ ]]; then - component_found="true" - log i "----------------------" - log i "Prepearing BOILR" - log i "----------------------" - - create_dir "/var/config/boilr" - cp -fvr "/app/libexec/steam-sync/config.toml" "/var/config/boilr" - fi - if [[ $component_found="false" ]]; then log e "Supplied component $component not found, not resetting" fi diff --git a/functions/steam-sync/config.toml b/functions/steam-sync/config.toml deleted file mode 100644 index 0bdd0e25..00000000 --- a/functions/steam-sync/config.toml +++ /dev/null @@ -1,61 +0,0 @@ -debug = false -config_version = 1 -blacklisted_games = [] -boilr_tag = "retrodeck" - -[steamgrid_db] -enabled = true -prefer_animated = false -banned_images = [] -only_download_boilr_images = false -allow_nsfw = false - -[steam] -create_collections = false -optimize_for_big_picture = false -stop_steam = false -start_steam = false - -[bottles] -enabled = false - -[epic_games] -enabled = false -safe_launch = [] - -[flatpak] -enabled = false - -[gog] -enabled = false -create_symlinks = true - -[heroic] -enabled = false -launch_games_through_heroic = [] -default_launch_through_heroic = true - -[itch] -enabled = false -create_symlinks = true - -[legendary] -enabled = false - -[lutris] -enabled = false -executable = "lutris" -flatpak = true -flatpak_image = "net.lutris.Lutris" -installed = true - -[origin] -enabled = false - -[uplay] -enabled = false - -[minigalaxy] -enabled = true -create_symlinks = false -games_folder = "/var/config/boilr/sync/" diff --git a/functions/steam-sync/steam-sync.py b/functions/steam-sync/steam-sync.py deleted file mode 100644 index 11b078b2..00000000 --- a/functions/steam-sync/steam-sync.py +++ /dev/null @@ -1,456 +0,0 @@ -"""Sync RetroDECK favorites games with steam shortcuts""" -import binascii -import os -import re -import shlex -import shutil -import glob -import sys -import time -import hashlib - -import xml.etree.ElementTree as ET - -command_list_default={ -"3do": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/opera_libretro.so", -"amiga": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so", -"amiga1200": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so", -"amiga600": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so", -"amigacd32": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so", -"amstradcpc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cap32_libretro.so", -"arcade": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"arduboy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/arduous_libretro.so", -"astrocde": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"atari2600": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/stella_libretro.so", -"atari5200": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/a5200_libretro.so", -"atari7800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/prosystem_libretro.so", -"atari800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so", -"atarijaguar": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/virtualjaguar_libretro.so", -"atarijaguarcd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/virtualjaguar_libretro.so", -"atarilynx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/handy_libretro.so", -"atarist": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/hatari_libretro.so", -"atarixe": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so", -"atomiswave": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so", -"c64": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x64sc_libretro.so", -"cavestory": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/nxengine_libretro.so", -"cdimono1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/same_cdi_libretro.so", -"cdtv": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so", -"chailove": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/chailove_libretro.so", -"channelf": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/freechaf_libretro.so", -"colecovision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so", -"cps": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"cps1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"cps2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"cps3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"doom": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/prboom_libretro.so", -"dos": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_pure_libretro.so", -"dreamcast": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so", -"easyrpg": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/easyrpg_libretro.so", -"famicom": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so", -"fba": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_libretro.so", -"fbneo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbneo_libretro.so", -"fds": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so", -"gameandwatch": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gw_libretro.so", -"gamegear": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"gb": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gambatte_libretro.so", -"gba": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mgba_libretro.so", -"gbc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gambatte_libretro.so", -"genesis": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"gx4000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cap32_libretro.so", -"intellivision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/freeintv_libretro.so", -"j2me": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/squirreljme_libretro.so", -"lcdgames": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gw_libretro.so", -"lutro": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/lutro_libretro.so", -"mame": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"mastersystem": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"megacd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"megacdjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"megadrive": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"megaduck": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/sameduck_libretro.so", -"mess": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mess2015_libretro.so", -"model2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"moto": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/theodore_libretro.so", -"msx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so", -"msx1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so", -"msx2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so", -"msxturbor": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so", -"multivision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearsystem_libretro.so", -"n64": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mupen64plus_next_libretro.so", -"n64dd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/parallel_n64_libretro.so", -"naomi": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so", -"naomigd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so", -"nds": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/desmume_libretro.so", -"neogeo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbneo_libretro.so", -"neogeocd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/neocd_libretro.so", -"neogeocdjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/neocd_libretro.so", -"nes": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so", -"ngp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_ngp_libretro.so", -"ngpc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_ngp_libretro.so", -"odyssey2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/o2em_libretro.so", -"palm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mu_libretro.so", -"pc88": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/quasi88_libretro.so", -"pc98": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/np2kai_libretro.so", -"pcengine": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so", -"pcenginecd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so", -"pcfx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pcfx_libretro.so", -"pokemini": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pokemini_libretro.so", -"psx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/swanstation_libretro.so", -"quake": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tyrquake_libretro.so", -"satellaview": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so", -"saturn": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_saturn_libretro.so", -"saturnjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_saturn_libretro.so", -"scummvm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/scummvm_libretro.so", -"sega32x": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so", -"sega32xjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so", -"sega32xna": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so", -"segacd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"sfc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so", -"sg-1000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"sgb": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen-s_libretro.so", -"snes": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so", -"snesna": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so", -"spectravideo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so", -"sufami": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so", -"supergrafx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_supergrafx_libretro.so", -"supervision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/potator_libretro.so", -"tg16": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so", -"tg-cd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so", -"tic80": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tic80_libretro.so", -"to8": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/theodore_libretro.so", -"uzebox": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/uzem_libretro.so", -"vectrex": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vecx_libretro.so", -"vic20": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_xvic_libretro.so", -"videopac": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/o2em_libretro.so", -"virtualboy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_vb_libretro.so", -"wasm4": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/wasm4_libretro.so", -"wonderswan": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_wswan_libretro.so", -"wonderswancolor": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_wswan_libretro.so", -"x1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/x1_libretro.so", -"x68000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/px68k_libretro.so", -"zx81": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/81_libretro.so", -"zxspectrum": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fuse_libretro.so", -"switch": "flatpak run --command=/var/data/ponzu/Yuzu/bin/yuzu net.retrodeck.retrodeck -f -g", -"n3ds": "flatpak run --command=/var/data/ponzu/Citra/bin/citra-qt net.retrodeck.retrodeck", -"ps2": "flatpak run --command=pcsx2-qt net.retrodeck.retrodeck -batch", -"wiiu": "flatpak run --command=Cemu-wrapper net.retrodeck.retrodeck -g", -"gc": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e", -"wii": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e", -"xbox": "flatpak run --command=xemu net.retrodeck.retrodeck -dvd_path", -"ps3": "flatpak run --command=pcsx3 net.retrodeck.retrodeck --no-gui", -"psp": "flatpak run --command=PPSSPPSDL net.retrodeck.retrodeck", -"pico8": "flatpak run --command=pico8 net.retrodeck.retrodeck -desktop_path ~/retrodeck/screenshots -root_path {GAMEDIR} -run" -} - -alt_command_list={ -"PUAE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so", -"Caprice32": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cap32_libretro.so", -"MAME - CURRENT": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"Stella": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/stella_libretro.so", -"a5200": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/a5200_libretro.so", -"Atari800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so", -"Handy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/handy_libretro.so", -"VICE x64sc Accurate": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x64sc_libretro.so", -"SAME CDi": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/same_cdi_libretro.so", -"blueMSX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so", -"MAME - CURRENT": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so", -"PrBoom": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/prboom_libretro.so", -"DOSBox-Pure": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_pure_libretro.so", -"Mesen": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so", -"Genesis Plus GX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so", -"Gamebatte": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gambatte_libretro.so", -"mGBA": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mgba_libretro.so", -"ParaLLEI N64": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/parallel_n64_libretro.so", -"DeSmuME": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/desmume_libretro.so", -"NeoCD": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/neocd_libretro.so", -"Beetle NeoPop": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_ngp_libretro.so", -"Neko Project II Kai": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/np2kai_libretro.so", -"Beetle PCE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so", -"Swanstation": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/swanstation_libretro.so", -"TyrQuake": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tyrquake_libretro.so", -"Beetle Saturn": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_saturn_libretro.so", -"Snes 9x - Current": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so", -"Beetle SuperGrafx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_supergrafx_libretro.so", -"Yuzu (Standalone)": "flatpak run --command=yuzu net.retrodeck.retrodeck -f -g", -"Citra (Standalone)": "flatpak run --command=citra net.retrodeck.retrodeck", -"PCSX2 (Standalone)": "flatpak run --command=pcsx2-qt net.retrodeck.retrodeck -batch", -"Dolphin (Standalone)": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e", -"RPCS3 Directory (Standalone)": "flatpak run --command=pcsx3 net.retrodeck.retrodeck --no-gui", -"PPSSPP (Standalone)": "flatpak run --command=PPSSPPSDL net.retrodeck.retrodeck", -"PICO-8 (Standalone)": "flatpak run --command=pico8 net.retrodeck.retrodeck -desktop_path ~/retrodeck/screenshots -root_path {GAMEDIR} -run", -"PUAE 2021": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae2021_libretro.so", -"CrocoDS": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/crocods_libretro.so", -"CPCemu (Standalone)": "NYI", #NYI -"MAME 2010": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame2010_libretro.so", -"MAME 2003-Plus": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame2003_plus_libretro.so", -"MAME 2000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame2000_libretro.so", -"MAME (Standalone)": "NYI", #NYI -"FinalBurn Neo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbneo_libretro.so", -"FinalBurn Neo (Standalone)": "NYI", #NYI -"FB Alpha 2012": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_libretro.so", -"Flycast": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so", -"Flycast (Standalone)": "NYI", #NYI -"Kronos": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/kronos_libretro.so", -"Supermodel (Standalone)": "NYI", #NYI -"Supermodel [Fullscreen] (Standalone)": "NYI", #NYI -"Shortcut or script": "TODO: I have to catch how it works", #TODO -"Atari800 (Standalone)": "NYI", #NYI -"Stella 2014": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/stella2014_libretro.so", -"Atari800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so", -"Beetle Lynx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_lynx_libretro.so", -"VICE x64 Fast": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x64_libretro.so", -"VICE x64 SuperCPU": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_xscpu64_libretro.so", -"VICE x128": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x128_libretro.so", -"Frodo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/frodo_libretro.so", -"CDi 2015": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cdi2015_libretro.so", -"Gearcoleco": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearcoleco_libretro.so", -"FB Alpha 2012 CPS-1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_cps1_libretro.so", -"FB Alpha 2012 CPS-2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_cps2_libretro.so", -"FB Alpha 2012 CPS-3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_cps3_libretro.so", -"Boom 3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/boom3_libretro.so", -"Boom 3 xp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/boom3_libretro_xp.so", -"DOSBox-Core": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_core_libretro.so", -"DOSBox-SVN": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_svn_libretro.so", -"Keep ES-DE running": "TODO: I have to catch how it works", #TODO -"AppImage (Suspend ES-DE)": "TODO: I have to catch how it works", #TODO -"AppImage (Keep ES-DE running)": "TODO: I have to catch how it works", #TODO -"Nestopia UE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/nestopia_libretro.so", -"FCEUmm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fceumm_libretro.so", -"QuickNES": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/quicknes_libretro.so", -"Genesis Plus GX Wide": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_wide_libretro.so", -"Gearsystem": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearsystem_libretro.so", -"SMS Plus GX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/smsplus_libretro.so", -"SameBoy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/sameboy_libretro.so", -"Gearboy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearboy_libretro.so", -"TGB Dual": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tgbdual_libretro.so", -"Mesen-S": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen-s_libretro.so", -"VBA-M": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vbam_libretro.so", -"bsnes": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bsnes_libretro.so", -"mGBA": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mgba_libretro.so", -"VBA Next": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vba_next_libretro.so", -"gpSP": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gpsp_libretro.so", -"Dolphin": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dolphin_libretro.so", -"PrimeHack (Standalone)": "flatpak run --command=primehack-wrapper net.retrodeck.retrodeck -b -e", -"PicoDrive": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so", -"BlastEm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/blastem_libretro.so", -"CrocoDS": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/crocods_libretro.so", -"fMSX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fmsx_libretro.so", -"Citra": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/citra_libretro.so", -"Citra 2018": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/citra2018_libretro.so", -"Mupen64Plus-Next": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mupen64plus_next_libretro.so", -"DeSmuME 2015": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/desmume2015_libretro.so", -"melonDS": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/melonds_libretro.so", -"melonDS (Standalone)": "flatpak run --command=melonDS net.retrodeck.retrodeck", -"FinalBurn Neo neogeocd": "flatpak run --command=retroarch net.retrodeck.retrodeck --subsystem neocd -L /var/config/retroarch/cores/fbneo_libretro.so", -"RACE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/race_libretro.so", -"Neko Project II": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/nekop2_libretro.so", -"Beetle PCE FAST": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_fast_libretro.so", -"PICO-8 Splore (Standalone)": "flatpak run --command=pico8 net.retrodeck.retrodeck -desktop_path ~/retrodeck/screenshots -root_path {GAMEDIR} -splore", -"AppImage": "TODO: I have to catch how it works", #TODO -"LRPS2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pcsx2_libretro.so", -"PCSX2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pcsx2_libretro.so", -"RPCS3 Shortcut (Standalone)": "TODO: I have to catch how it works", #TODO -"PPSSPP": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/ppsspp_libretro.so", -"Beetle PSX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_psx_libretro.so", -"Beetle PSX HW": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_psx_hw_libretro.so", -"PCSX ReARMed": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pcsx_rearmed_libretro.so", -"DuckStation (Standalone)": "flatpak run --command=duckstation-qt net.retrodeck.retrodeck -batch", -"vitaQuake 2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2_libretro.so", -"vitaQuake 2 [Rogue]": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2-rogue_libretro.so", -"vitaQuake 2 [Xatrix]": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2-xatrix_libretro.so", -"vitaQuake 2 [Zaero]": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2-zaero_libretro.so", -"vitaQuake 3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake3_libretro.so", -"YabaSanshiro": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/yabasanshiro_libretro.so", -"Yabause": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/yabause_libretro.so", -"Snes9x 2010": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x2010_libretro.so", -"bsnes-hd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bsnes_hd_beta_libretro.so", -"bsnes-mercury Accuracy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bsnes_mercury_accuracy_libretro.so", -"Beetle Supafaust": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_supafaust_libretro.so", -"Beetle PCE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so" -} - -exit_file="/tmp/retrodeck_steam_sync_exit" -rdhome="" -roms_folder="" - -def create_shortcut_new(games): - changes=0 - old_games=os.listdir(rdhome+"/.sync/") - - for game in games: - try: - i=old_games.index(game[0]) - old_games[i]=0 - except ValueError: - print(game[0]+" is a new game!") - changes=1 - - path=rdhome+"/.sync/"+game[0] - print("Go to path: "+path) - if not os.path.exists(path): - os.makedirs(path) - fl=open(path+"/goggame-0.info","w") - fl.write('{\n') - fl.write(' "buildId": "",\n') - fl.write(' "clientId": "",\n') - fl.write(' "gameId": "",\n') - fl.write(' "name": "'+game[0]+'",\n') - fl.write(' "playTasks": [\n') - fl.write(' {\n') - fl.write(' "category": "launcher",\n') - fl.write(' "isPrimary": true,\n') - fl.write(' "languages": [\n') - fl.write(' "en-US"\n') - fl.write(' ],\n') - fl.write(' "name": "'+game[0]+'",\n') - fl.write(' "path": "launch.sh",\n') - fl.write(' "type": "FileTask"\n') - fl.write(' }\n') - fl.write(' ]\n') - fl.write('}\n') - fl.close() - - fl=open(path+"/launch.sh","w") - fl.write("#!/bin/bash\n\n") - fl.write('if test "$(whereis flatpak)" = "flatpak:"\n') - fl.write("then\n") - fl.write("flatpak-spawn --host "+game[1]+"\n") - fl.write("else\n") - fl.write(game[1]+"\n") - fl.write("fi\n") - fl.close() - - st=os.stat(path+"/launch.sh") - os.chmod(path+"/launch.sh", st.st_mode | 0o0111) - - print("Start removing") - print(old_games) - for game in old_games: - if game: - shutil.rmtree(rdhome+"/.sync/"+game) - changes=1 - - if changes: - os.system("boilr --no-ui") - -def addToSteam(systems): - games=[] - for system in systems: - print("Start parsing system: {}".format(system)) - - f=open(rdhome+"/gamelists/"+system+"/gamelist.xml","r") - f.readline() - parser=ET.XMLParser() - parser.feed(b'') - parser.feed(f.read()) - parser.feed(b'') - root=parser.close() - f.close() - - globalAltEmu="" - for subroot in root: - if subroot.tag=="alternativeEmulator": - for alt in subroot: - globalAltEmu=alt.text - else: - for game in subroot: - path="" - name="" - favorite="" - altemulator=globalAltEmu - for tag in game: - if tag.tag=="path": - path=tag.text - elif tag.tag=="name": - name=tag.text - elif tag.tag=="favorite": - favorite=tag.text - elif tag.tag=="altemulator": - altemulator=tag.text - - if favorite=="true" and altemulator=="": - print("Find favorite game: {}".format(name)) - games.append([name,command_list_default[system]+" '"+roms_folder+"/"+system+path[1:]+"'"]) - elif favorite=="true": - print("Find favorite game with alternative emulator: {}, {}".format(name,altemulator)) - if ("neogeocd" in system) and altemulator=="FinalBurn Neo": - games.append([name,alt_command_list[altemulator+" neogeocd"]+" '"+roms_folder+"/"+system+path[1:]+"'"]) - print(alt_command_list[altemulator+" neogeocd"]+" '"+roms_folder+"/"+system+path[1:]+"'") - elif system=="pico8" and altemulator=="PICO-8 Splore (Standalone)": - games.append([name,alt_command_list[altemulator]]) - print(alt_command_list[altemulator]) - else: - games.append([name,alt_command_list[altemulator]+" '"+roms_folder+"/"+system+path[1:]+"'"]) - print(alt_command_list[altemulator]+" '"+roms_folder+"/"+system+path[1:]+"'") - if not games==[]: - create_shortcut_new(games) - -def start_config(): - global rdhome - global roms_folder - global command_list_default - global alt_command_list - - if os.path.isfile(exit_file): - os.remove(exit_file) - - print("Open RetroDECK config file: {}".format(os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/retrodeck/retrodeck.cfg"))) - - fl=open(os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/retrodeck/retrodeck.cfg"),"r") - lines=fl.readlines() - for line in lines: - if "rdhome" in line: - rdhome=line[7:-1] - elif "roms_folder" in line: - roms_folder=line[12:-1] - fl.close() - - command_list_default["pico8"]=command_list_default["pico8"].replace("{GAMEDIR}",roms_folder+"/pico8") - alt_command_list["PICO-8 Splore (Standalone)"]=alt_command_list["PICO-8 Splore (Standalone)"].replace("{GAMEDIR}",roms_folder+"/pico8") - - if not os.path.exists(rdhome+"/.sync/"): - os.makedirs(rdhome+"/.sync/") - - boilr_path=os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/boilr/config.toml") - if os.path.isfile(boilr_path): - with open(boilr_path,"r") as f: - data=f.read() - data=re.sub("\"games_folder.*","games_folder = "+rdhome+"/.sync/\"",data) - with open(boilr_path,"w") as f: - f.write(data) - else: - print("Error! BoilR config not initialized.") - -if __name__=="__main__": - start_config() - - new_hash={} - for system in os.listdir(rdhome+"/gamelists/"): - new_hash[system]=hashlib.md5(open(rdhome+"/gamelists/"+system+"/gamelist.xml","rb").read()).hexdigest() - - running=True - - while running: - time.sleep(30) - systems=[] - - for system in os.listdir(rdhome+"/gamelists/"): - if not system in systems: - if system in new_hash.keys(): - old_hash=new_hash[system] - new_hash[system]=hashlib.md5(open(rdhome+"/gamelists/"+system+"/gamelist.xml","rb").read()).hexdigest() - if not new_hash[system] == old_hash: - print("System {} changed!".format(system)) - systems.append(system) - else: - print("System {} not changed!".format(system)) - else: - new_hash[system]=hashlib.md5(open(rdhome+"/gamelists/"+system+"/gamelist.xml","rb").read()).hexdigest() - print("System {} added!".format(system)) - systems.append(system) - - if os.path.isfile(exit_file): - running=False - os.remove(exit_file) - - addToSteam(systems) - print("Finish!") diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch index c2aad986..fc0418b8 160000 --- a/rd-submodules/retroarch +++ b/rd-submodules/retroarch @@ -1 +1 @@ -Subproject commit c2aad98600a47ab250f1b133328d0ccc1310f65e +Subproject commit fc0418b8cf75a1500bb8c8633320490b16d39443 diff --git a/rd-submodules/ryujinx b/rd-submodules/ryujinx index ea1dae93..41761a7d 160000 --- a/rd-submodules/ryujinx +++ b/rd-submodules/ryujinx @@ -1 +1 @@ -Subproject commit ea1dae930a6f61388c2b5e05f95bb6ed0120926e +Subproject commit 41761a7dc36ec8520bdaca796d9d0b1219b66a07 diff --git a/rd-submodules/shared-modules b/rd-submodules/shared-modules index f63cb3f5..16732779 160000 --- a/rd-submodules/shared-modules +++ b/rd-submodules/shared-modules @@ -1 +1 @@ -Subproject commit f63cb3f5fff835c141769d35cd54ce0ae042fcbf +Subproject commit 16732779e792bcc3f60b8db2c909a1ab540a93a6 diff --git a/retrodeck.sh b/retrodeck.sh index d0da9f3d..95e8718c 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -56,7 +56,7 @@ https://retrodeck.net ;; --reset-component*) echo "You are about to reset one or more RetroDECK components or emulators." - echo "Available options are: es-de, retroarch, cemu, dolphin, duckstation, gzdoom, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, ryujinx, xemu, vita3k, mame, boilr, all" + echo "Available options are: es-de, retroarch, cemu, dolphin, duckstation, gzdoom, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, ryujinx, xemu, vita3k, mame, all" read -p "Please enter the component you would like to reset: " component component=$(echo "$component" | tr '[:upper:]' '[:lower:]') if [[ "$component" =~ ^(es-de|retroarch|cemu|dolphin|duckstation|gzdoom|mame|melonds|pcsx2|ppsspp|primehack|ryujinx|rpcs3|vita3k|xemu|all)$ ]]; then diff --git a/tools/configurator.sh b/tools/configurator.sh index 876fb622..50498666 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -156,11 +156,6 @@ configurator_welcome_dialog() { configurator_about_retrodeck_dialog ;; - "Sync with Steam" ) - log i "Configurator: opening \"$choice\" menu" - configurator_add_steam - ;; - "Developer Options" ) log i "Configurator: opening \"$choice\" menu" configurator_generic_dialog "RetroDECK Configurator - Developer Options" "The following features and options are potentially VERY DANGEROUS for your RetroDECK install!\n\nThey should be considered the bleeding-edge of upcoming RetroDECK features, and never used when you have important saves/states/roms that are not backed up!\n\nYOU HAVE BEEN WARNED!" @@ -1156,13 +1151,12 @@ configurator_reset_dialog() { --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --text="Which component do you want to reset to default settings?" \ --column="Component" --column="Action" \ - "BoilR" "Reset BoilR that manages the sync and scraping toward Steam library" \ "ES-DE" "Reset the ES-DE frontend" \ ) # TODO: "GyroDSU" "Reset the gyroscope manager GyroDSU" case $component_to_reset in - "BoilR" | "ES-DE" ) # TODO: GyroDSU + "ES-DE" ) # TODO: GyroDSU if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset $component_to_reset to default settings?\n\nThis process cannot be undone.") == "true" ]]; then prepare_component "reset" "$component_to_reset" "configurator" configurator_process_complete_dialog "resetting $component_to_reset" @@ -1255,49 +1249,6 @@ configurator_about_retrodeck_dialog() { esac } -configurator_add_steam() { - if [[ $(get_setting_value $rd_conf "steam_sync" retrodeck "options") == "true" ]]; then - zenity --question \ - --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator - RetroDECK Steam Syncronization" \ - --text="Steam syncronization is currently enabled. Do you want to disable it?\n\nThe already added shortcut will not be removed.\n" - - if [ $? == 0 ] # User clicked "Yes" - then - disable_steam_sync - else # User clicked "Cancel" - configurator_welcome_dialog - fi - else - zenity --question \ - --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator - RetroDECK Steam Syncronization" \ - --text="Steam syncronization is currently disabled. Do you want to enable it?\n\nAll the games marked as favorites will be syncronized with Steam thanks to BoilR.\nRemember to restart Steam each time to see the changes.\n" - - if [ $? == 0 ] - then - enable_steam_sync - else - configurator_welcome_dialog - fi - fi -} - -enable_steam_sync() { - set_setting_value $rd_conf "steam_sync" "true" retrodeck "options" - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator - RetroDECK Steam Syncronization" \ - --text="Steam syncronization enabled, restart RetroDECK to get effect." - configurator_welcome_dialog -} - -disable_steam_sync() { - set_setting_value $rd_conf "steam_sync" "false" retrodeck "options" - touch /tmp/retrodeck_steam_sync_exit - configurator_welcome_dialog -} - configurator_version_history_dialog() { local version_array=($(xml sel -t -v '//component/releases/release/@version' -n $rd_appdata)) local all_versions_list=() From d19d52db9186306ff8419fe54202ca66f78407f5 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Fri, 21 Jun 2024 09:54:13 -0400 Subject: [PATCH 080/171] Remove excess white space --- functions/other_functions.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 764fd8eb..51c587c5 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -560,7 +560,6 @@ deploy_helper_files() { eval current_dest="$dest" cp -f "$helper_files_folder/$file" "$current_dest/$file" fi - done < "$helper_files_list" } From b60c135f6d7f7e70c151ce55b2cfeb879f3a4db6 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Fri, 21 Jun 2024 10:30:30 -0400 Subject: [PATCH 081/171] Make empty rom folder removal account for shipped helper files --- functions/configurator_functions.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh index b654105e..7e3a0870 100644 --- a/functions/configurator_functions.sh +++ b/functions/configurator_functions.sh @@ -42,6 +42,14 @@ find_empty_rom_folders() { empty_rom_folders_list=() all_empty_folders=() + all_helper_files=() + + while IFS='^' read -r file dest + do + if [[ ! "$file" == "#"* ]] && [[ ! -z "$file" ]]; then + all_helper_files=("${all_helper_files[@]}" "$file") + fi + done < "$helper_files_list" for system in $(find "$roms_folder" -mindepth 1 -maxdepth 1 -type d -printf '%f\n') do @@ -59,6 +67,21 @@ find_empty_rom_folders() { empty_rom_folders_list=("${empty_rom_folders_list[@]}" "false" "$(realpath $dir)") all_empty_folders=("${all_empty_folders[@]}" "$(realpath $dir)") echo "$(realpath $dir)" >> "$godot_empty_roms_folders" # Godot data transfer temp file + elif [[ $count -eq 2 ]] && [[ "$files" =~ "systeminfo.txt" ]]; then + # Directory contains 2 files, one of which is "systeminfo.txt" + for helper_file in ${all_helper_files[@]} # Compare helper file list to dir file list + do + if [[ "$files" =~ "$helper_file" ]]; then + contains_helper_file="true" # Helper file was found + break + fi + done + if [[ "$contains_helper_file" == "true" ]]; then + # Directory contains only systeminfo.txt and a helper file + empty_rom_folders_list=("${empty_rom_folders_list[@]}" "false" "$(realpath $dir)") + all_empty_folders=("${all_empty_folders[@]}" "$(realpath $dir)") + echo "$(realpath $dir)" >> "$godot_empty_roms_folders" # Godot data transfer temp file + fi fi done } From 9e4e7874d086a33360abdab88e6a7cbfee77f93b Mon Sep 17 00:00:00 2001 From: icenine451 <59938822+icenine451@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:14:18 -0400 Subject: [PATCH 082/171] Fix bug in component name detection in prepare_component --- functions/prepare_component.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index f423c55b..aaf3971f 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -124,7 +124,7 @@ prepare_component() { create_dir "$bios_folder/fbneo/cheats" create_dir "$bios_folder/fbneo/blend" dir_prep "$mods_folder/FBNeo" "$bios_folder/fbneo/patched" - + # PPSSPP log i "--------------------------------" log i "Prepearing PPSSPP_LIBRETRO" @@ -172,11 +172,11 @@ prepare_component() { set_setting_value "$ra_scummvm_conf" "themepath" "$mods_folder/RetroArch/ScummVM/theme" "libretro_scummvm" "scummvm" set_setting_value "$ra_scummvm_conf" "savepath" "$saves_folder/scummvm" "libretro_scummvm" "scummvm" set_setting_value "$ra_scummvm_conf" "browser_lastpath" "$roms_folder/scummvm" "libretro_scummvm" "scummvm" - + dir_prep "$texture_packs_folder/RetroArch-Mesen" "/var/config/retroarch/system/HdPacks" dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/cache" "/var/config/retroarch/system/Mupen64plus/cache" dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture" "/var/config/retroarch/system/Mupen64plus/hires_texture" - + # Reset default preset settings set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "cheevos")" "retrodeck" "cheevos" set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "cheevos_hardcore")" "retrodeck" "cheevos_hardcore" @@ -853,7 +853,7 @@ prepare_component() { sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON fi - if [[ $component_found="false" ]]; then + if [[ $component_found == "false" ]]; then log e "Supplied component $component not found, not resetting" fi From 64873f56914b1ca78e70abe944fd3dbd6efed45e Mon Sep 17 00:00:00 2001 From: icenine451 <59938822+icenine451@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:27:35 -0400 Subject: [PATCH 083/171] Zenity progress dialog was losing empty rom folder array information --- tools/configurator.sh | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 50498666..2dfa47d7 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -586,16 +586,10 @@ configurator_retrodeck_tools_dialog() { "Tool: Remove Empty ROM Folders" ) log i "Configurator: opening \"$choice\" menu" - ( - find_empty_rom_folders - ) | - zenity --progress --no-cancel --pulsate --auto-close \ - --icon-name=net.retrodeck.retrodeck \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title="Finding Empty ROM Folders" \ - --width=400 --height=200 \ - --text="Finding empty ROM folders, please be patient.\n\n" - + + configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "Searching for empty rom folders, please be patient..." + find_empty_rom_folders + choice=$(zenity \ --list --width=1200 --height=720 --title "RetroDECK Configurator - RetroDECK: Remove Empty ROM Folders" \ --checklist --hide-column=3 --ok-label="Remove Selected" --extra-button="Remove All" \ @@ -604,7 +598,7 @@ configurator_retrodeck_tools_dialog() { --column "Remove?" \ --column "System" \ "${empty_rom_folders_list[@]}") - + local rc=$? if [[ $rc == "0" && ! -z $choice ]]; then # User clicked "Remove Selected" with at least one system selected IFS="," read -ra folders_to_remove <<< "$choice" @@ -620,7 +614,7 @@ configurator_retrodeck_tools_dialog() { done configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "The removal process is complete." fi - + configurator_retrodeck_tools_dialog ;; From 3f5b007e91610cc2bc463e9e1eef76e366d71cbc Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 22 Jun 2024 15:26:42 +0900 Subject: [PATCH 084/171] Revert submodule rd-submodules/shared-modules because GZDoom is broken (to commit 782d3cc04ccdd8071017f622d4bacd35faecbd86) --- rd-submodules/shared-modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rd-submodules/shared-modules b/rd-submodules/shared-modules index 16732779..782d3cc0 160000 --- a/rd-submodules/shared-modules +++ b/rd-submodules/shared-modules @@ -1 +1 @@ -Subproject commit 16732779e792bcc3f60b8db2c909a1ab540a93a6 +Subproject commit 782d3cc04ccdd8071017f622d4bacd35faecbd86 From b5aa72632c3467f4ba4aecaceacf48762d231991 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 22 Jun 2024 19:47:27 +0900 Subject: [PATCH 085/171] STEAM_SYNC: removed from this build - part 2 --- retrodeck.sh | 9 --------- 1 file changed, 9 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index 95e8718c..4e3e29a6 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -184,13 +184,4 @@ if [[ $update_check == "true" ]]; then fi # Normal Startup - -if [[ $steam_sync == "true" ]]; then - python3 /app/libexec/steam-sync/steam-sync.py & -fi - start_retrodeck - -if [[ $steam_sync == "true" ]]; then - touch /tmp/retrodeck_steam_sync_exit -fi From 2186382c3ea37b60a37228d995c29dc9e95510b6 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 22 Jun 2024 21:00:07 +0900 Subject: [PATCH 086/171] FRAMEWORK: fixing an issue where second level subfolders of ES-DE were not correctly placed in the second level --- functions/global.sh | 1 - functions/other_functions.sh | 2 ++ functions/prepare_component.sh | 7 ++++--- rd-submodules/retroarch | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/functions/global.sh b/functions/global.sh index 3c5edbc3..800515a6 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -200,7 +200,6 @@ else fi conf_read - #tmplog_merger # This function is tempry(?) removed # Verify rdhome is where it is supposed to be. if [[ ! -d "$rdhome" ]]; then diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 51c587c5..bc4bd8b0 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -448,6 +448,8 @@ finit() { esac + log i "\"retrodeck\" folder will be located in \"$rdhome\"" + prepare_component "reset" "retrodeck" # Parse the [paths] section of retrodeck.cfg and set the value of / create all needed folders conf_write # Write the new values to retrodeck.cfg diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index aaf3971f..01258bbf 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -23,7 +23,8 @@ prepare_component() { local current_setting_name=$(get_setting_name "$config_line" "retrodeck") if [[ ! $current_setting_name =~ (rdhome|sdcard) ]]; then # Ignore these locations local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "paths") - declare -g "$current_setting_name=$rdhome/$(basename $current_setting_value)" + declare -g "$current_setting_name=$rdhome/${current_setting_value#*retrodeck/}" #removes everything until "retrodeck" and adds the actual retrodeck folder + log d "Setting: $current_setting_name=$current_setting_value" if [[ ! $current_setting_name == "logs_folder" ]]; then # Don't create a logs folder normally, we want to maintain the current files exactly to not lose early-install logs. create_dir "$rdhome/$(basename $current_setting_value)" else # Log folder-specific actions @@ -33,8 +34,8 @@ prepare_component() { fi fi done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f') - create_dir "/var/config/retrodeck/godot" - + create_dir "/var/config/retrodeck/godot" # TODO: what is this for? Can we delete it or add it to the retrodeck.cfg so the folder will be created by the above script? + fi if [[ "$action" == "postmove" ]]; then # Update the paths of any folders that came with the retrodeck folder during a move while read -r config_line; do diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch index fc0418b8..eec4bcca 160000 --- a/rd-submodules/retroarch +++ b/rd-submodules/retroarch @@ -1 +1 @@ -Subproject commit fc0418b8cf75a1500bb8c8633320490b16d39443 +Subproject commit eec4bcca8c9e514467fb62cca4a7b2d12c6a2328 From 6fd3ff61fb37023369b473abb55023a985b50f61 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 22 Jun 2024 21:40:22 +0900 Subject: [PATCH 087/171] VITA3K: some configurationschanged upstream, reflecting them --- functions/global.sh | 3 +-- functions/post_update.sh | 7 +++++++ functions/prepare_component.sh | 20 ++++++++++---------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/functions/global.sh b/functions/global.sh index 800515a6..52db4426 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -118,8 +118,7 @@ rpcs3vfsconf="/var/config/rpcs3/vfs.yml" # Vita3k config files -vita3kconf="/var/data/Vita3K/config.yml" -vita3kusrconfdir="$bios_folder/Vita3K/Vita3K" +vita3kconf="/var/config/Vita3K/config.yml" # MAME-SA config files diff --git a/functions/post_update.sh b/functions/post_update.sh index 3dcc012b..4c82306e 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -339,6 +339,13 @@ post_update() { fi fi + if [[ $(check_version_is_older_than "0.8.2b") == "true" ]]; then + if [ -d ] then; + log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\"" + mv -f "/var/data/Vita3K" "/var/config/Vita3K" + fi + fi + # if [[ $(check_version_is_older_than "0.9.0b") == "true" ]]; then # # Placeholder for version 0.9.0b # rm /var/config/emulationstation/.emulationstation # remving the old symlink to .emulationstation as it might be not needed anymore diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 01258bbf..13922609 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -250,7 +250,7 @@ prepare_component() { set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit" fi if [[ "$action" == "postmove" ]]; then # Run only post-move commands - dir_prep "$rdhome/bios/citra/sysdata" "/var/data/citra-emu/sysdata" + dir_prep "$bios_folder/citra/sysdata" "/var/data/citra-emu/sysdata" dir_prep "$rdhome/logs/citra" "/var/data/citra-emu/log" dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods" dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures" @@ -748,18 +748,18 @@ prepare_component() { log d "Figure out what Vita3k needs for multi-user" else # Single-user actions # NOTE: the component is writing in "." so it must be placed in the rw filesystem. A symlink of the binary is already placed in /app/bin/Vita3K - rm -rf "/var/data/Vita3K" - create_dir "/var/data/Vita3K/Vita3K" - cp -fvr "$emuconfigs/vita3k/config.yml" "/var/data/Vita3K" # component config - cp -fvr "$emuconfigs/vita3k/ux0" "$bios_folder/Vita3K/Vita3K" # User config - set_setting_value "$vita3kconf" "pref-path" "$rdhome/bios/Vita3K/Vita3K/" "vita3k" + rm -rf "/var/config/Vita3K" + create_dir "/var/config/Vita3K" + cp -fvr "$emuconfigs/vita3k/config.yml" "$vita3kconf" # component config + cp -fvr "$emuconfigs/vita3k/ux0" "$bios_folder/Vita3K/" # User config + set_setting_value "$vita3kconf" "pref-path" "$bios_folder/Vita3K/" "vita3k" fi # Shared actions - dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/Vita3K/ux0/user/00/savedata" # Multi-user safe? + dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/ux0/user/00/savedata" # Multi-user safe? fi if [[ "$action" == "postmove" ]]; then # Run only post-move commands - dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/Vita3K/ux0/user/00/savedata" # Multi-user safe? - set_setting_value "$vita3kconf" "pref-path" "$rdhome/bios/Vita3K/Vita3K/" "vita3k" + dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/ux0/user/00/savedata" # Multi-user safe? + set_setting_value "$vita3kconf" "pref-path" "$bios_folder/Vita3K/" "vita3k" fi fi @@ -845,7 +845,7 @@ prepare_component() { create_dir "/var/data/gzdoom/audio/midi" create_dir "/var/data/gzdoom/audio/fm_banks" create_dir "/var/data/gzdoom/audio/soundfonts" - create_dir "$rdhome/bios/gzdoom" + create_dir "$bios_folder/gzdoom" cp -fvr "$emuconfigs/gzdoom/gzdoom.ini" "/var/config/gzdoom" From f7d580e7d0561b2b3ff4d395fedf09ff80d9083d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 22 Jun 2024 21:55:59 +0900 Subject: [PATCH 088/171] APPDATA: updated [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 51c7084a..1856f694 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -74,12 +74,13 @@
  • ES-DE: updated to 3.0.3
  • RUNTIME: updated to KDE 6.7
  • -
  • All emulators updated
  • +
  • All emulators and engines updated
  • CONFIGURATOR: fixed an issue in the multi-file compression tool that prevented some type of files to be converted
  • CONFIGURATOR: added headless state for some functions (this will help to migrate to the Godot Configurator)
  • CONFIGURATOR: added a new "Empty ROMs folder removal" tool helping the user to cleanup the roms folder by deleting the empty folders
  • CONFIGURATOR: edded a new "Rebuild removed ROMs folders" tool. This is complementary to the previous one:by recreating the whole roms folder structure
  • CONFIGURATOR: chd compression functionality restored
  • +
  • FRAMEWORK: fixed an issue where second level subfolders inside retrodeck folder were not correctly placed, this caused errors on ES-DE as themes and downloaded_media folder could not be found after a reset or first install
  • CEMU: now audio should work correctly when docking and undocking the Steam Deck
  • CEMU: added microphone blow input to R3
  • INFRASTRUCTURE: we now have a self-hosted Gitea repo in case fo disaster recovery
  • From 75dc0bf2374939cb4197542d5fe43e972892b861 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 22 Jun 2024 21:56:37 +0900 Subject: [PATCH 089/171] POST_UPDATE: unwanted folders cleanup [skip ci] --- functions/post_update.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 4c82306e..bcacfb1f 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -313,8 +313,7 @@ post_update() { set_setting_value "$es_settings" "UserThemeDirectory" "$rdhome/ES-DE/themes" "es_settings" mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" - mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" - rm -rf "$rdhome/gamelists" + mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" && rm -rf "$rdhome/gamelists" log i "MAME-SA, migrating samples to the new exposed folder: from \"/var/data/mame/assets/samples\" to \"$bios_folder/mame-sa/samples\"" create_dir "$bios_folder/mame-sa/samples" @@ -343,6 +342,11 @@ post_update() { if [ -d ] then; log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\"" mv -f "/var/data/Vita3K" "/var/config/Vita3K" + + log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" + mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" + mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" + mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" && rm -rf "$rdhome/gamelists" fi fi From 4cac8e13e2cc2f3b0909f53be55f63de44b91121 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 23 Jun 2024 20:26:45 +0900 Subject: [PATCH 090/171] POST_UPDATE: code cleanup [skip ci] --- functions/post_update.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index bcacfb1f..03403f87 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -339,15 +339,12 @@ post_update() { fi if [[ $(check_version_is_older_than "0.8.2b") == "true" ]]; then - if [ -d ] then; log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\"" mv -f "/var/data/Vita3K" "/var/config/Vita3K" - log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" && rm -rf "$rdhome/gamelists" - fi fi # if [[ $(check_version_is_older_than "0.9.0b") == "true" ]]; then From e51d363b0f5d9b9c5421cf567e9c2bc00186a5c5 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 24 Jun 2024 09:07:25 +0900 Subject: [PATCH 091/171] LIBFLAC: added --- net.retrodeck.retrodeck.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 9e8f5795..ca5b43f4 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -343,6 +343,16 @@ modules: stable-only: true url-template: https://github.com/libusb/libusb/releases/download/v$version/libusb-$version.tar.bz2 + # needed for chdman + - name: libFLAC + buildsystem: meson + config-opts: + - -Dbuildtype=release + sources: + - type: archive + url: https://downloads.xiph.org/releases/flac/flac-1.4.2.tar.xz + sha256: e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4 + # ES-DE - START # https://gitlab.com/es-de/emulationstation-de From e3c368f11ae87d03e9b13f3eda3da26451fd318a Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 24 Jun 2024 09:43:39 +0900 Subject: [PATCH 092/171] LIBFLAC: updated and built with cmake-ninja --- net.retrodeck.retrodeck.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ca5b43f4..55f1dd88 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -345,13 +345,13 @@ modules: # needed for chdman - name: libFLAC - buildsystem: meson + buildsystem: cmake-ninja config-opts: - -Dbuildtype=release sources: - type: archive - url: https://downloads.xiph.org/releases/flac/flac-1.4.2.tar.xz - sha256: e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4 + url: https://downloads.xiph.org/releases/flac/flac-1.4.3.tar.xz + sha256: 6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70 # ES-DE - START # https://gitlab.com/es-de/emulationstation-de From 7022193212c77ae2afa83cba8275decbc1751527 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 26 Jun 2024 09:58:45 +0900 Subject: [PATCH 093/171] LIBFLAC: disabled as it should be installed by MAME (outsourced manifest) --- net.retrodeck.retrodeck.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 55f1dd88..9a5aa49c 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -344,14 +344,14 @@ modules: url-template: https://github.com/libusb/libusb/releases/download/v$version/libusb-$version.tar.bz2 # needed for chdman - - name: libFLAC - buildsystem: cmake-ninja - config-opts: - - -Dbuildtype=release - sources: - - type: archive - url: https://downloads.xiph.org/releases/flac/flac-1.4.3.tar.xz - sha256: 6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70 + # - name: libFLAC + # buildsystem: cmake-ninja + # config-opts: + # - -Dbuildtype=release + # sources: + # - type: archive + # url: https://downloads.xiph.org/releases/flac/flac-1.4.3.tar.xz + # sha256: 6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70 # ES-DE - START # https://gitlab.com/es-de/emulationstation-de From 00ee6e12798c39b5cce14fe6d823d855bc27420e Mon Sep 17 00:00:00 2001 From: icenine451 Date: Wed, 26 Jun 2024 12:43:33 -0400 Subject: [PATCH 094/171] Add "no compessable files found" dialog --- tools/configurator.sh | 44 +++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 2dfa47d7..16088c63 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -855,29 +855,33 @@ configurator_compress_multiple_games_dialog() { find_compatible_games "$1" - if [[ ! "$target_selection" == "everything" ]]; then # If the user chose to not auto-compress everything - choice=$(zenity \ - --list --width=1200 --height=720 --title "RetroDECK Configurator - RetroDECK: Compression Tool" \ - --checklist --hide-column=3 --ok-label="Compress Selected" --extra-button="Compress All" \ - --separator="," --print-column=3 \ - --text="Choose which games to compress:" \ - --column "Compress?" \ - --column "Game" \ - --column "Game Full Path" \ - "${compressable_games_list[@]}") + if [[ ! $(echo "${#all_compressable_games[@]}") == "0" ]]; then + if [[ ! "$target_selection" == "everything" ]]; then # If the user chose to not auto-compress everything + choice=$(zenity \ + --list --width=1200 --height=720 --title "RetroDECK Configurator - RetroDECK: Compression Tool" \ + --checklist --hide-column=3 --ok-label="Compress Selected" --extra-button="Compress All" \ + --separator="," --print-column=3 \ + --text="Choose which games to compress:" \ + --column "Compress?" \ + --column "Game" \ + --column "Game Full Path" \ + "${compressable_games_list[@]}") - local rc=$? - if [[ $rc == "0" && ! -z $choice ]]; then # User clicked "Compress Selected" with at least one game selected - IFS="," read -ra games_to_compress <<< "$choice" - local total_games_to_compress=${#games_to_compress[@]} - local games_left_to_compress=$total_games_to_compress - elif [[ ! -z $choice ]]; then # User clicked "Compress All" + local rc=$? + if [[ $rc == "0" && ! -z $choice ]]; then # User clicked "Compress Selected" with at least one game selected + IFS="," read -ra games_to_compress <<< "$choice" + local total_games_to_compress=${#games_to_compress[@]} + local games_left_to_compress=$total_games_to_compress + elif [[ ! -z $choice ]]; then # User clicked "Compress All" + games_to_compress=("${all_compressable_games[@]}") + local total_games_to_compress=${#all_compressable_games[@]} + local games_left_to_compress=$total_games_to_compress + fi + else # The user chose to auto-compress everything games_to_compress=("${all_compressable_games[@]}") - local total_games_to_compress=${#all_compressable_games[@]} - local games_left_to_compress=$total_games_to_compress fi - else # The user chose to auto-compress everything - games_to_compress=("${all_compressable_games[@]}") + else + configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "No compressable files were found." fi if [[ ! $(echo "${#games_to_compress[@]}") == "0" ]]; then From 7f62bd089b019acd2250b92d9191dfd8f62ad6c8 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Wed, 26 Jun 2024 12:43:56 -0400 Subject: [PATCH 095/171] Add check for existing compressed format when building compressable files list --- functions/compression.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index d33f5a2d..ccb5a44c 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -155,19 +155,19 @@ find_compatible_games() { do local compatible_compression_format=$(find_compatible_compression_format "$game") if [[ $compression_format == "chd" ]]; then - if [[ $compatible_compression_format == "chd" ]]; then + if [[ $compatible_compression_format == "chd" && ! -f "$(echo ${game%.*}.chd)" ]]; then all_compressable_games=("${all_compressable_games[@]}" "$game") compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") echo "${game}"^"$compatible_compression_format" >> "$godot_compression_compatible_games" fi elif [[ $compression_format == "zip" ]]; then - if [[ $compatible_compression_format == "zip" ]]; then + if [[ $compatible_compression_format == "zip" && ! -f "$(echo ${game%.*}.zip)" ]]; then all_compressable_games=("${all_compressable_games[@]}" "$game") compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") echo "${game}"^"$compatible_compression_format" >> "$godot_compression_compatible_games" fi elif [[ $compression_format == "rvz" ]]; then - if [[ $compatible_compression_format == "rvz" ]]; then + if [[ $compatible_compression_format == "rvz" && ! -f "$(echo ${game%.*}.rvz)" ]]; then all_compressable_games=("${all_compressable_games[@]}" "$game") compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") echo "${game}"^"$compatible_compression_format" >> "$godot_compression_compatible_games" From 1057f091d64313536fa138697786bbc7e7ac3501 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Wed, 26 Jun 2024 12:44:39 -0400 Subject: [PATCH 096/171] Fix "files left" counting when compressing all files --- tools/configurator.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/configurator.sh b/tools/configurator.sh index 16088c63..5435f44c 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -879,6 +879,8 @@ configurator_compress_multiple_games_dialog() { fi else # The user chose to auto-compress everything games_to_compress=("${all_compressable_games[@]}") + total_games_to_compress=${#all_compressable_games[@]} + games_left_to_compress=$total_games_to_compress fi else configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "No compressable files were found." From e850715a42fef7b62bab7f8a2746acb028464d5c Mon Sep 17 00:00:00 2001 From: icenine451 Date: Wed, 26 Jun 2024 12:50:35 -0400 Subject: [PATCH 097/171] Localize some compression math variables --- tools/configurator.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 5435f44c..2cdb24cd 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -879,8 +879,8 @@ configurator_compress_multiple_games_dialog() { fi else # The user chose to auto-compress everything games_to_compress=("${all_compressable_games[@]}") - total_games_to_compress=${#all_compressable_games[@]} - games_left_to_compress=$total_games_to_compress + local total_games_to_compress=${#all_compressable_games[@]} + local games_left_to_compress=$total_games_to_compress fi else configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "No compressable files were found." From 8deda023431aa02346ea61a90a7ab0863cff0e67 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 27 Jun 2024 08:52:14 -0400 Subject: [PATCH 098/171] Remove unnessecary file removal dialog --- functions/compression.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/functions/compression.sh b/functions/compression.sh index ccb5a44c..c0d1b169 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -46,7 +46,6 @@ compress_game() { fi else log i "Compressed file ${file%.*}.$compatible_compression_format not found, skipping original file deletion" - configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "A compressed version of the file was not found, skipping deletion." fi fi } From d08d027db69d91150677073954dc36194fc0d6bc Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 27 Jun 2024 08:52:41 -0400 Subject: [PATCH 099/171] Fix compressed file detection for removal validation --- functions/compression.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index c0d1b169..fed37ab8 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -28,7 +28,7 @@ compress_game() { fi if [[ $post_compression_cleanup == "true" ]]; then # Remove file(s) if requested - if [[ -f "${file%.*}.$compatible_compression_format" ]]; then + if [[ -f "${file%.*}.$1" ]]; then log i "Performing post-compression file cleanup" if [[ "$file" == *".cue" ]]; then local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") @@ -45,7 +45,7 @@ compress_game() { rm -f "$(realpath "$file")" fi else - log i "Compressed file ${file%.*}.$compatible_compression_format not found, skipping original file deletion" + log i "Compressed file ${file%.*}.$1 not found, skipping original file deletion" fi fi } From 2472254b09588f80fd880e8fb9ecade5ce9b8ad5 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 27 Jun 2024 08:53:12 -0400 Subject: [PATCH 100/171] Fix compression logging handling spaces in files --- functions/compression.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/compression.sh b/functions/compression.sh index fed37ab8..4b0bcdd8 100644 --- a/functions/compression.sh +++ b/functions/compression.sh @@ -38,10 +38,10 @@ compress_game() { log i "Removing file $file_path/$line" rm -f "$file_path/$line" done < <(printf '%s\n' "$cue_bin_files") - log i "Removing file $(realpath $file)" + log i "Removing file $(realpath "$file")" rm -f $(realpath "$file") else - log i "Removing file $(realpath $file)" + log i "Removing file $(realpath "$file")" rm -f "$(realpath "$file")" fi else From 31d3ab64cc3901c45c241fde3037dc23972bf11b Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 27 Jun 2024 08:59:07 -0400 Subject: [PATCH 101/171] Add backup reminder dialog to empty rom folder removal process --- tools/configurator.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/configurator.sh b/tools/configurator.sh index 2cdb24cd..a860222a 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -587,6 +587,7 @@ configurator_retrodeck_tools_dialog() { "Tool: Remove Empty ROM Folders" ) log i "Configurator: opening \"$choice\" menu" + configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "Before removing any identified empty ROM folders,\nplease make sure your ROM collection is backed up, just in case!" configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "Searching for empty rom folders, please be patient..." find_empty_rom_folders From 3c0d69e6441518785a992668ecd86b10e710923f Mon Sep 17 00:00:00 2001 From: icenine451 Date: Fri, 28 Jun 2024 16:03:36 -0400 Subject: [PATCH 102/171] Add rd_zenity function to keep Gtk-related errors out of the terminal --- functions/other_functions.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/functions/other_functions.sh b/functions/other_functions.sh index bc4bd8b0..01d575b4 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -285,6 +285,11 @@ dir_prep() { log i "$symlink is now $real" } +rd_zenity() { + # This function replaces the standard 'zenity' command and filters out annoying GTK errors on Steam Deck + zenity 2> >(grep -v 'Gtk' >&2) "$@" +} + update_rpcs3_firmware() { create_dir "$roms_folder/ps3/tmp" chmod 777 "$roms_folder/ps3/tmp" From 853d6cf35df24e655a86c2ec200b0a2b79db806e Mon Sep 17 00:00:00 2001 From: icenine451 Date: Fri, 28 Jun 2024 16:07:35 -0400 Subject: [PATCH 103/171] Replace standard zenity commands with new rd_zenity function. --- emu-configs/gzdoom/gzdoom.sh | 4 +- functions/050_save_migration.sh | 8 +-- functions/checks.sh | 10 ++-- functions/dialogs.sh | 24 ++++----- functions/multi_user.sh | 8 +-- functions/other_functions.sh | 44 +++++++-------- functions/post_update.sh | 2 +- functions/presets.sh | 4 +- retrodeck.sh | 2 +- tools/configurator.sh | 96 ++++++++++++++++----------------- 10 files changed, 101 insertions(+), 101 deletions(-) diff --git a/emu-configs/gzdoom/gzdoom.sh b/emu-configs/gzdoom/gzdoom.sh index 620b809f..692d7cab 100644 --- a/emu-configs/gzdoom/gzdoom.sh +++ b/emu-configs/gzdoom/gzdoom.sh @@ -68,7 +68,7 @@ else # Check if the .doom file exists if [[ ! -e "$doom_file" ]]; then log e "doom file not found in \"$doom_file\"" - zenity --error --no-wrap \ + rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --text="File \"$doom_file\" not found. Quitting." @@ -85,7 +85,7 @@ else # If the file is not found, exit with an error if [[ -z "$found_file" ]]; then log "[ERROR] File not found in \"$line\"" - zenity --error --no-wrap \ + rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --text="File \"$doom_file\" not found. Quitting." diff --git a/functions/050_save_migration.sh b/functions/050_save_migration.sh index b75672b4..ccb22aef 100644 --- a/functions/050_save_migration.sh +++ b/functions/050_save_migration.sh @@ -54,7 +54,7 @@ save_migration() { save_backup_file=$rdhome/savebackup_"$(date +"%Y_%m_%d_%I_%M_%p").zip" state_backup_file=$rdhome/statesbackup_"$(date +"%Y_%m_%d_%I_%M_%p").zip" - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --text="You are updating to a version of RetroDECK where save file locations have changed!\n\nYour existing files will be backed up for safety and then sorted automatically.\n\nIf a file cannot be sorted automatically it will remain where it is for manual sorting.\n\nPLEASE BE PATIENT! This process can take several minutes if you have a large ROM library." @@ -144,7 +144,7 @@ save_migration() { done ) | - zenity --progress \ + rd_zenity --progress \ --icon-name=net.retrodeck.retrodeck \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title="Processing Files" \ @@ -154,14 +154,14 @@ save_migration() { --auto-close if [[ $(cat $migration_logfile | grep "ERROR" | wc -l) -eq 0 ]]; then - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --text="The migration process has sorted all of your files automatically.\n\nEverything should be working normally, if you experience any issues please check the RetroDECK wiki or contact us directly on the Discord." else cat $migration_logfile | grep "ERROR" > "$rdhome/manual_sort_needed.log" - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --text="The migration process was unable to sort $(cat $migration_logfile | grep "ERROR" | wc -l) files automatically.\n\nThese files will need to be moved manually to their new locations, find more detail on the RetroDECK wiki.\n\nA log of the files that need manual sorting can be found at $rdhome/manual_sort_needed.log" diff --git a/functions/checks.sh b/functions/checks.sh index 2bd9af51..713556aa 100644 --- a/functions/checks.sh +++ b/functions/checks.sh @@ -51,7 +51,7 @@ check_for_version_update() { if [[ ! "$update_ignore" == "$online_version" ]]; then if [[ "$update_repo" == "RetroDECK" ]] && [[ $(sed -e 's/[\.a-z]//g' <<< $version) -le $(sed -e 's/[\.a-z]//g' <<< $online_version) ]]; then - # choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \ + # choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \ # --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ # --title "RetroDECK Update Available" \ # --text="There is a new version of RetroDECK on the stable release channel $online_version. Would you like to update to it?\n\n(depending on your internet speed this could takes several minutes).") @@ -65,7 +65,7 @@ check_for_version_update() { # ( # flatpak-spawn --host flatpak update --noninteractive -y net.retrodeck.retrodeck # ) | - # zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + # rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ # --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ # --title "RetroDECK Updater" \ # --text="Upgrade in process please wait (this could takes several minutes)." @@ -74,7 +74,7 @@ check_for_version_update() { # fi # TODO: add the logic to check and update the branch from the configuration file log i "Showing new version found dialog" - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Ignore this version" \ + choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Ignore this version" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK - New Update Available" \ --text="There is a new version of RetroDECK available: $online_version.\nYou can easily update from the app store you have installed, examples: KDE Discover or Gnome Software.\n\nIf you would like to ignore this notification, click the \"Ignore this version\" button.") @@ -85,7 +85,7 @@ check_for_version_update() { fi elif [[ "$update_repo" == "RetroDECK-cooker" ]] && [[ ! $version == $online_version ]]; then log i "Showing update request dialog as \"$online_version\" was found and is greater then \"$version\"" - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \ + choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK - New Cooker Version Available" \ --text="There is a more recent version of RetroDECK cooker.\nYou are running version $hard_version. The latest is $online_version.\n\nWould you like to update?\nIf you would like to ignore this notification, click the \"Ignore this version\" button.\n\nIf you would like to disable these notifications entirely: disable Online Update Checks in the Configurator.") @@ -141,7 +141,7 @@ check_for_version_update() { rm -rf "$temp_folder" # Cleanup old bundles to save space ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Updater" \ --text="RetroDECK is updating to the latest version, please wait." diff --git a/functions/dialogs.sh b/functions/dialogs.sh index 36418f61..613be8d2 100644 --- a/functions/dialogs.sh +++ b/functions/dialogs.sh @@ -8,7 +8,7 @@ debug_dialog() { # This function is for displaying commands run by the Configurator without actually running them # USAGE: debug_dialog "command" - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Debug Dialog" \ --text="$1" @@ -17,7 +17,7 @@ debug_dialog() { configurator_process_complete_dialog() { # This dialog shows when a process is complete. # USAGE: configurator_process_complete_dialog "process text" - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Quit" --extra-button="OK" \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Quit" --extra-button="OK" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Process Complete" \ --text="The process of $1 is now complete.\n\nYou may need to quit and restart RetroDECK for your changes to take effect\n\nClick OK to return to the Main Menu or Quit to quit RetroDECK." @@ -33,7 +33,7 @@ configurator_generic_dialog() { # This dialog is for showing temporary messages before another process happens. # USAGE: configurator_generic_dialog "title text" "info text" log i "Showing a configurator_generic_dialog" - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "$1" \ --text="$2" @@ -43,7 +43,7 @@ configurator_generic_question_dialog() { # This dialog provides a generic dialog for getting a response from a user. # USAGE: $(configurator_generic_question_dialog "title text" "action text") # This function will return a "true" if the user clicks "Yes", and "false" if they click "No". - choice=$(zenity --title "RetroDECK - $1" --question --no-wrap --cancel-label="No" --ok-label="Yes" \ + choice=$(rd_zenity --title "RetroDECK - $1" --question --no-wrap --cancel-label="No" --ok-label="Yes" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --text="$2") if [[ $? == "0" ]]; then @@ -57,7 +57,7 @@ configurator_destination_choice_dialog() { # This dialog is for making things easy for new users to move files to common locations. Gives the options for "Internal", "SD Card" and "Custom" locations. # USAGE: $(configurator_destination_choice_dialog "folder being moved" "action text") # This function returns one of the values: "Back" "Internal Storage" "SD Card" "Custom Location" - choice=$(zenity --title "RetroDECK Configurator Utility - Moving $1 folder" --info --no-wrap --ok-label="Back" --extra-button="Internal Storage" --extra-button="SD Card" --extra-button="Custom Location" \ + choice=$(rd_zenity --title "RetroDECK Configurator Utility - Moving $1 folder" --info --no-wrap --ok-label="Back" --extra-button="Internal Storage" --extra-button="SD Card" --extra-button="Custom Location" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --text="$2") @@ -73,7 +73,7 @@ configurator_reset_confirmation_dialog() { # This dialog provides a confirmation for any reset functions, before the reset is actually performed. # USAGE: $(configurator_reset_confirmation_dialog "emulator being reset" "action text") # This function will return a "true" if the user clicks Confirm, and "false" if they click Cancel. - choice=$(zenity --title "RetroDECK Configurator Utility - Reset $1" --question --no-wrap --cancel-label="Cancel" --ok-label="Confirm" \ + choice=$(rd_zenity --title "RetroDECK Configurator Utility - Reset $1" --question --no-wrap --cancel-label="Cancel" --ok-label="Confirm" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --text="$2") if [[ $? == "0" ]]; then @@ -133,7 +133,7 @@ configurator_move_folder_dialog() { configurator_generic_dialog "RetroDECK Configurator - Move Folder" "The moving process was not completed, please try again." fi else # If there isn't enough space in the picked destination - zenity --icon-name=net.retrodeck.retrodeck --error --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Move Directories" \ --text="The destination directory you have selected does not have enough free space for the files you are trying to move.\n\nPlease select a new destination or free up some space." @@ -170,7 +170,7 @@ changelog_dialog() { if [[ "$1" == "all" ]]; then xml sel -t -m "//release" -v "concat('RetroDECK version: ', @version)" -n -v "description" -n $rd_appdata | awk '{$1=$1;print}' | sed -e '/./b' -e :n -e 'N;s/\n$//;tn' > "/var/config/retrodeck/changelog.txt" - zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \ + rd_zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Changelogs" \ --filename="/var/config/retrodeck/changelog.txt" @@ -179,7 +179,7 @@ changelog_dialog() { echo -e "In RetroDECK version $1, the following changes were made:\n$version_changelog" > "/var/config/retrodeck/changelog-partial.txt" 2>/dev/null - zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \ + rd_zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Changelogs" \ --filename="/var/config/retrodeck/changelog-partial.txt" @@ -190,7 +190,7 @@ get_cheevos_token_dialog() { # This function will return a RetroAchvievements token from a valid username and password, will return "login failed" otherwise # USAGE: get_cheevos_token_dialog - local cheevos_info=$(zenity --forms --title="Cheevos" \ + local cheevos_info=$(rd_zenity --forms --title="Cheevos" \ --text="Username and password." \ --separator="^" \ --add-entry="Username" \ @@ -217,7 +217,7 @@ desktop_mode_warning() { if [[ $(check_desktop_mode) == "true" && $desktop_mode_warning == "true" ]]; then local message='You appear to be running RetroDECK in the Steam Deck'\''s Desktop mode!\n\nSome functions of RetroDECK may not work properly in Desktop mode, such as the Steam Deck'\''s normal controls.\n\nRetroDECK is best enjoyed in Game mode!\n\nDo you still want to proceed?' log i "Showing message:\n$message" - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Never show this again" \ + choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Never show this again" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Desktop Mode Warning" \ --text="$message") @@ -245,7 +245,7 @@ low_space_warning() { if [[ "$used_percent" -ge 90 && -d "$HOME/retrodeck" ]]; then # If there is any RetroDECK data on the main drive to move local message='Your main drive is over 90% full!\n\nIf your drive fills completely this can lead to data loss or system crash.\n\nPlease consider moving some RetroDECK folders to other storage locations using the Configurator.' log i "Showing message:\n$message" - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Never show this again" \ + choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Never show this again" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Low Space Warning" \ --text="$message") diff --git a/functions/multi_user.sh b/functions/multi_user.sh index 10fced39..10e31e06 100644 --- a/functions/multi_user.sh +++ b/functions/multi_user.sh @@ -2,7 +2,7 @@ multi_user_set_default_dialog() { chosen_user="$1" - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="No and don't ask again" \ + choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="No and don't ask again" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Default User" \ --text="Would you like to set $chosen_user as the default user?\n\nIf the current user cannot be determined from the system, the default will be used.\nThis normally only happens in Desktop Mode.\n\nIf you would like to be asked which user is playing every time, click \"No and don't ask again\"") @@ -23,7 +23,7 @@ do full_userlist=("${full_userlist[@]}" "$user") done < <(ls -1 "$multi_user_data_folder") -chosen_user=$(zenity \ +chosen_user=$(rd_zenity \ --list --width=1200 --height=720 \ --ok-label="Select User" \ --text="Choose the current user:" \ @@ -65,7 +65,7 @@ multi_user_disable_multi_user_mode() { full_userlist=("${full_userlist[@]}" "$user") done < <(ls -1 "$multi_user_data_folder") - single_user=$(zenity \ + single_user=$(rd_zenity \ --list --width=1200 --height=720 \ --ok-label="Select User" \ --text="Choose the current user:" \ @@ -125,7 +125,7 @@ multi_user_determine_current_user() { multi_user_setup_new_user else # If running in Desktop mode for the first time configurator_generic_dialog "RetroDECK Multi-User Mode" "The current user could not be determined from the system and there is no existing userlist.\n\nPlease enter the Steam account username (not profile name) into the next dialog, or run RetroDECK in game mode." - if zenity --entry \ + if rd_zenity --entry \ --title="Specify Steam username" \ --text="Enter Steam username:" then # User clicked "OK" diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 01d575b4..90faa7fc 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -8,10 +8,10 @@ directory_browse() { while [ $path_selected == false ] do - local target="$(zenity --file-selection --title="Choose $1" --directory)" + local target="$(rd_zenity --file-selection --title="Choose $1" --directory)" if [ ! -z "$target" ] #yes then - zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ + rd_zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ --text="Directory $target chosen, is this correct?" if [ $? == 0 ] then @@ -20,7 +20,7 @@ directory_browse() { break fi else - zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ + rd_zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ --text="No directory selected. Do you want to exit the selection process?" if [ $? == 0 ] then @@ -38,10 +38,10 @@ file_browse() { while [ $file_selected == false ] do - local target="$(zenity --file-selection --title="Choose $1")" + local target="$(rd_zenity --file-selection --title="Choose $1")" if [ ! -z "$target" ] #yes then - zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ + rd_zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ --text="File $target chosen, is this correct?" if [ $? == 0 ] then @@ -50,7 +50,7 @@ file_browse() { break fi else - zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ + rd_zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" \ --text="No file selected. Do you want to exit the selection process?" if [ $? == 0 ] then @@ -89,13 +89,13 @@ move() { rsync -a --remove-source-files --ignore-existing --mkpath "$source_dir" "$dest_dir" # Copy files but don't overwrite conflicts find "$source_dir" -type d -empty -delete # Cleanup empty folders that were left behind ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Move in Progress" \ --text="Moving directory $(basename "$1") to new location of $2, please wait." if [[ -d "$source_dir" ]]; then # Some conflicting files remain - zenity --icon-name=net.retrodeck.retrodeck --error --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Move Directories" \ --text="There were some conflicting files that were not moved.\n\nAll files that could be moved are in the new location,\nany files that already existed at the new location have not been moved and will need to be handled manually." @@ -133,7 +133,7 @@ download_file() { ( wget "$1" -O "$2" -q ) | - zenity --progress \ + rd_zenity --progress \ --title="Downloading File" \ --text="Downloading $3..." \ --pulsate \ @@ -327,10 +327,10 @@ finit_browse() { path_selected=false while [ $path_selected == false ] do - local target="$(zenity --file-selection --title="Choose RetroDECK data directory location" --directory)" + local target="$(rd_zenity --file-selection --title="Choose RetroDECK data directory location" --directory)" if [[ ! -z "$target" ]]; then if [[ -w "$target" ]]; then - zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" \ + rd_zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" \ --cancel-label="No" \ --ok-label "Yes" \ --text="Your RetroDECK data folder will be:\n\n$target/retrodeck\n\nis that ok?" @@ -340,7 +340,7 @@ do echo "$target/retrodeck" break else - zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" --text="Do you want to quit?" + rd_zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="No" --ok-label "Yes" --text="Do you want to quit?" if [ $? == 0 ] # yes, quit then quit_retrodeck @@ -348,7 +348,7 @@ do fi fi else - zenity --error --no-wrap \ + rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --ok-label "Quit" \ @@ -367,7 +367,7 @@ finit_user_options_dialog() { done < $finit_options_list - local choices=$(zenity \ + local choices=$(rd_zenity \ --list --width=1200 --height=720 \ --checklist --hide-column=4 --ok-label="Confirm Selections" --extra-button="Enable All" \ --separator=" " --print-column=4 \ @@ -411,7 +411,7 @@ finit() { if [ ! -d "$sdcard" ] # SD Card path is not existing then log e "SD card not found" - zenity --error --no-wrap \ + rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --ok-label "Browse" \ @@ -424,7 +424,7 @@ finit() { elif [ ! -w "$sdcard" ] #SD card found but not writable then log e "SD card found but not writable" - zenity --error --no-wrap \ + rd_zenity --error --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --ok-label "Quit" \ @@ -439,7 +439,7 @@ finit() { "Custom Location" ) log i "Custom Location selected" - zenity --info --no-wrap \ + rd_zenity --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ --ok-label "Browse" \ @@ -470,7 +470,7 @@ finit() { configurator_generic_dialog "Vita3K Firmware Install" "You have chosen to install the Vita3K firmware during the RetroDECK first setup.\n\nThis process will take several minutes and requires network access.\n\nVita3K will be launched automatically at the end of the RetroDECK setup process.\nOnce the firmware is installed, please close the emulator to finish the process." fi - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" \ --text="RetroDECK will now install the needed files, which can take up to one minute.\nRetroDECK will start once the process is completed.\n\nPress OK to continue." @@ -498,7 +498,7 @@ finit() { fi ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Finishing Initialization" \ --text="RetroDECK is finishing the initial setup process, please wait." @@ -714,7 +714,7 @@ branch_selector() { # Display branches in a Zenity list dialog selected_branch=$( - zenity --list \ + rd_zenity --list \ --icon-name=net.retrodeck.retrodeck \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Cooker Branch - Select Branch" \ @@ -724,7 +724,7 @@ branch_selector() { # Display warning message if [ $selected_branch ]; then - zenity --question --icon-name=net.retrodeck.retrodeck --no-wrap \ + rd_zenity --question --icon-name=net.retrodeck.retrodeck --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Cooker Branch - Switch Branch" \ --text="Are you sure you want to move to \"$selected_branch\" branch?" @@ -745,7 +745,7 @@ branch_selector() { flatpak-spawn --host flatpak install --user --bundle --noninteractive -y "$rdhome/RetroDECK_Updates/RetroDECK-cooker.flatpak" rm -rf "$rdhome/RetroDECK_Updates" # Cleanup old bundles to save space ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Updater" \ --text="RetroDECK is updating to the latest \"$selected_branch\" version, please wait." diff --git a/functions/post_update.sh b/functions/post_update.sh index 03403f87..7d638ffd 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -380,7 +380,7 @@ post_update() { deploy_helper_files build_retrodeck_current_presets ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK - Upgrade Process" \ --width=400 --height=200 \ diff --git a/functions/presets.sh b/functions/presets.sh index ce384307..c7d4ff66 100644 --- a/functions/presets.sh +++ b/functions/presets.sh @@ -6,7 +6,7 @@ change_preset_dialog() { build_preset_list_options "$1" - choice=$(zenity \ + choice=$(rd_zenity \ --list --width=1200 --height=720 \ --checklist \ --separator="," \ @@ -23,7 +23,7 @@ change_preset_dialog() { ( make_preset_changes ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Presets Configuration" \ --text="Setting up your presets, please wait..." diff --git a/retrodeck.sh b/retrodeck.sh index 4e3e29a6..b2ef5a7e 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -113,7 +113,7 @@ if [ -f "$lockfile" ]; then set_setting_value $rd_conf "update_check" "true" retrodeck "options" set_setting_value $rd_conf "developer_options" "true" retrodeck "options" cooker_base_version=$(echo $hard_version | cut -d'-' -f2) - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Upgrade" --extra-button="Don't Upgrade" --extra-button="Full Wipe and Fresh Install" \ + choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Upgrade" --extra-button="Don't Upgrade" --extra-button="Full Wipe and Fresh Install" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Cooker Upgrade" \ --text="You appear to be upgrading to a \"cooker\" build of RetroDECK.\n\nWould you like to perform the standard post-update process, skip the post-update process or remove ALL existing RetroDECK folders and data (including ROMs and saves) to start from a fresh install?\n\nPerforming the normal post-update process multiple times may lead to unexpected results.") diff --git a/tools/configurator.sh b/tools/configurator.sh index a860222a..2793be49 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -124,7 +124,7 @@ configurator_welcome_dialog() { "RetroDECK: About" "Show additional information about RetroDECK") fi - choice=$(zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "${welcome_menu_options[@]}") @@ -171,7 +171,7 @@ configurator_welcome_dialog() { } configurator_presets_and_settings_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - Presets & Settings" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Presets & Settings" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Global: Presets & Settings" "Here you find presets and settings that that span over multiple emulators" \ @@ -204,7 +204,7 @@ configurator_presets_and_settings_dialog() { } configurator_global_presets_and_settings_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - Global: Presets & Settings" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Global: Presets & Settings" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Widescreen: Enable/Disable" "Enable or disable widescreen in supported systems" \ @@ -287,7 +287,7 @@ configurator_global_presets_and_settings_dialog() { } configurator_retroarch_presets_and_settings_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroArch: Presets & Settings" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroArch: Presets & Settings" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Borders: Enable/Disable" "Enable or disable borders in supported systems" ) @@ -309,7 +309,7 @@ configurator_retroarch_presets_and_settings_dialog() { } configurator_wii_and_gamecube_presets_and_settings_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - Wii & GameCube: Presets & Settings" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Wii & GameCube: Presets & Settings" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Dolphin Textures: Universal Dynamic Input" "Enable/Disable Venomalia's Universal Dynamic Input Textures for Dolphin" \ @@ -337,7 +337,7 @@ configurator_wii_and_gamecube_presets_and_settings_dialog() { configurator_dolphin_input_textures_dialog() { if [[ -d "/var/data/dolphin-emu/Load/DynamicInputTextures" ]]; then - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - Dolphin Textures: Universal Dynamic Input" \ --text="Custom input textures are currently enabled. Do you want to disable them?" @@ -351,7 +351,7 @@ configurator_dolphin_input_textures_dialog() { configurator_wii_and_gamecube_presets_and_settings_dialog fi else - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - Dolphin Textures: Universal Dynamic Input" \ --text="Custom input textures are currently disabled. Do you want to enable them?\n\nThis process may take several minutes to complete." @@ -363,7 +363,7 @@ configurator_dolphin_input_textures_dialog() { mkdir "/var/data/dolphin-emu/Load/DynamicInputTextures" rsync -rlD --mkpath "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/dolphin-emu/Load/DynamicInputTextures/" ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Dolphin Custom Input Textures Install" configurator_process_complete_dialog "enabling Dolphin custom input textures" @@ -375,7 +375,7 @@ configurator_dolphin_input_textures_dialog() { configurator_primehack_input_textures_dialog() { if [[ -d "/var/data/primehack/Load/DynamicInputTextures" ]]; then - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - Dolphin Custom Input Textures" \ --text="Custom input textures are currently enabled. Do you want to disable them?" @@ -389,7 +389,7 @@ configurator_primehack_input_textures_dialog() { configurator_wii_and_gamecube_presets_and_settings_dialog fi else - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - Primehack Custom Input Textures" \ --text="Custom input textures are currently disabled. Do you want to enable them?\n\nThis process may take several minutes to complete." @@ -401,7 +401,7 @@ configurator_primehack_input_textures_dialog() { mkdir "/var/data/primehack/Load/DynamicInputTextures" rsync -rlD --mkpath "/app/retrodeck/extras/DynamicInputTextures/" "/var/data/primehack/Load/DynamicInputTextures/" ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Primehack Custom Input Textures Install" configurator_process_complete_dialog "enabling Primehack custom input textures" @@ -413,7 +413,7 @@ configurator_primehack_input_textures_dialog() { configurator_power_user_warning_dialog() { if [[ $power_user_warning == "true" ]]; then - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Never show this again" \ + choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Never show this again" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Power User Warning" \ --text="Making manual changes to an emulator's configuration may create serious issues,\nand some settings may be overwitten during RetroDECK updates or when using presets.\n\nSome standalone emulator functions may not work properly outside of Desktop mode.\n\nPlease continue only if you know what you're doing.\n\nDo you want to continue?") @@ -457,7 +457,7 @@ configurator_open_emulator_dialog() { emulator_list+=("Citra" "Open the 3DS emulator Citra") fi - emulator=$(zenity --list \ + emulator=$(rd_zenity --list \ --title "RetroDECK Configurator Utility - Open Emulator" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --text="Which emulator do you want to launch?" \ @@ -572,7 +572,7 @@ configurator_retrodeck_tools_dialog() { choices+=("Ponzu - Remove Citra" "Run Ponzu to remove Citra from RetroDECK. Configurations and saves will be mantained.") fi - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Tools" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Tools" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "${choices[@]}") @@ -591,7 +591,7 @@ configurator_retrodeck_tools_dialog() { configurator_generic_dialog "RetroDECK Configurator - Remove Empty ROM Folders" "Searching for empty rom folders, please be patient..." find_empty_rom_folders - choice=$(zenity \ + choice=$(rd_zenity \ --list --width=1200 --height=720 --title "RetroDECK Configurator - RetroDECK: Remove Empty ROM Folders" \ --checklist --hide-column=3 --ok-label="Remove Selected" --extra-button="Remove All" \ --separator="," --print-column=2 \ @@ -649,7 +649,7 @@ configurator_retrodeck_tools_dialog() { ( update_rpcs3_firmware ) | - zenity --progress --no-cancel --pulsate --auto-close \ + rd_zenity --progress --no-cancel --pulsate --auto-close \ --icon-name=net.retrodeck.retrodeck \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title="Downloading PS3 Firmware" \ @@ -668,7 +668,7 @@ configurator_retrodeck_tools_dialog() { ( update_vita3k_firmware ) | - zenity --progress --pulsate \ + rd_zenity --progress --pulsate \ --icon-name=net.retrodeck.retrodeck \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title="Downloading PS Vita Firmware" \ @@ -702,7 +702,7 @@ configurator_retrodeck_tools_dialog() { } configurator_retrodeck_move_tool_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Move Tool" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Move Tool" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Move all of RetroDECK" "Move the entire retrodeck folder to a new location" \ @@ -774,7 +774,7 @@ configurator_retrodeck_move_tool_dialog() { } configurator_compression_tool_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Compression Tool" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Compression Tool" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Compress Single Game" "Compress a single game into a compatible format" \ @@ -836,7 +836,7 @@ configurator_compress_single_game_dialog() { log i "Compressing $(basename "$file") to $compatible_compression_format format" compress_game "$compatible_compression_format" "$file" "$system" ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Compression in Progress" configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "The compression process is complete." @@ -858,7 +858,7 @@ configurator_compress_multiple_games_dialog() { if [[ ! $(echo "${#all_compressable_games[@]}") == "0" ]]; then if [[ ! "$target_selection" == "everything" ]]; then # If the user chose to not auto-compress everything - choice=$(zenity \ + choice=$(rd_zenity \ --list --width=1200 --height=720 --title "RetroDECK Configurator - RetroDECK: Compression Tool" \ --checklist --hide-column=3 --ok-label="Compress Selected" --extra-button="Compress All" \ --separator="," --print-column=3 \ @@ -902,7 +902,7 @@ configurator_compress_multiple_games_dialog() { compress_game "$compression_format" "$file" "$system" done ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Compression in Progress" configurator_generic_dialog "RetroDECK Configurator - RetroDECK: Compression Tool" "The compression process is complete!" @@ -913,7 +913,7 @@ configurator_compress_multiple_games_dialog() { } configurator_compression_cleanup_dialog() { - zenity --icon-name=net.retrodeck.retrodeck --question --no-wrap --cancel-label="No" --ok-label="Yes" \ + rd_zenity --icon-name=net.retrodeck.retrodeck --question --no-wrap --cancel-label="No" --ok-label="Yes" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK: Compression Tool" \ --text="Do you want to remove old files after they are compressed?\n\nClicking \"No\" will leave all files behind which will need to be cleaned up manually and may result in game duplicates showing in the RetroDECK library.\n\nPlease make sure you have a backup of your ROMs before using automatic cleanup!" @@ -927,7 +927,7 @@ configurator_compression_cleanup_dialog() { configurator_online_update_setting_dialog() { if [[ $(get_setting_value $rd_conf "update_check" retrodeck "options") == "true" ]]; then - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Online Update Check" \ --text="Online update checks for RetroDECK are currently enabled.\n\nDo you want to disable them?" @@ -939,7 +939,7 @@ configurator_online_update_setting_dialog() { configurator_retrodeck_tools_dialog fi else - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Online Update Check" \ --text="Online update checks for RetroDECK are currently disabled.\n\nDo you want to enable them?" @@ -954,7 +954,7 @@ configurator_online_update_setting_dialog() { } configurator_retrodeck_troubleshooting_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Troubleshooting" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Troubleshooting" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Backup: RetroDECK Userdata" "Compress and backup important RetroDECK user data folders" \ @@ -971,7 +971,7 @@ configurator_retrodeck_troubleshooting_dialog() { ( backup_retrodeck_userdata ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Backup in Progress" \ --text="Backing up RetroDECK userdata, please wait..." @@ -1016,7 +1016,7 @@ configurator_check_bios_files() { check_bios_files "basic" - zenity --list --title="RetroDECK Configurator Utility - Check & Verify: BIOS Files" --cancel-label="Back" \ + rd_zenity --list --title="RetroDECK Configurator Utility - Check & Verify: BIOS Files" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column "BIOS File Name" \ --column "System" \ @@ -1034,7 +1034,7 @@ configurator_check_bios_files_expert_mode() { check_bios_files "expert" - zenity --list --title="RetroDECK Configurator Utility - Check & Verify: BIOS Files" --cancel-label="Back" \ + rd_zenity --list --title="RetroDECK Configurator Utility - Check & Verify: BIOS Files" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column "BIOS File Name" \ --column "System" \ @@ -1052,7 +1052,7 @@ configurator_check_multifile_game_structure() { local folder_games=($(find $roms_folder -maxdepth 2 -mindepth 2 -type d ! -name "*.m3u" ! -name "*.ps3")) if [[ ${#folder_games[@]} -gt 1 ]]; then echo "$(find $roms_folder -maxdepth 2 -mindepth 2 -type d ! -name "*.m3u" ! -name "*.ps3")" > $logs_folder/multi_file_games_"$(date +"%Y_%m_%d_%I_%M_%p").log" - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - Check & Verify: Multi-file structure" \ --text="The following games were found to have the incorrect folder structure:\n\n$(find $roms_folder -maxdepth 2 -mindepth 2 -type d ! -name "*.m3u" ! -name "*.ps3")\n\nIncorrect folder structure can result in failure to launch games or saves being in the incorrect location.\n\nPlease see the RetroDECK wiki for more details!\n\nYou can find this list of games in ~/retrodeck/logs" @@ -1071,7 +1071,7 @@ configurator_reset_dialog() { "Reset RetroDECK" "Reset RetroDECK to default settings" ) - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Reset" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Reset" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "${choices[@]}") @@ -1105,7 +1105,7 @@ configurator_reset_dialog() { "Reset Emulator or Engine" ) log i "Configurator: opening \"$choice\" menu" - component_to_reset=$(zenity --list \ + component_to_reset=$(rd_zenity --list \ --title "RetroDECK Configurator Utility - Reset Specific Standalone Emulator" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --text="Which emulator or engine do you want to reset to default?" \ @@ -1147,7 +1147,7 @@ configurator_reset_dialog() { ;; "Reset RetroDECK Component" ) - component_to_reset=$(zenity --list \ + component_to_reset=$(rd_zenity --list \ --title "RetroDECK Configurator Utility - Reset Specific RetroDECK Component" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --text="Which component do you want to reset to default settings?" \ @@ -1181,7 +1181,7 @@ configurator_reset_dialog() { ( prepare_component "reset" "all" ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Finishing Initialization" \ --text="RetroDECK is finishing the reset process, please wait." @@ -1199,7 +1199,7 @@ configurator_reset_dialog() { "Reset RetroDECK" ) log i "Configurator: opening \"$choice\" menu" if [[ $(configurator_reset_confirmation_dialog "RetroDECK" "Are you sure you want to reset RetroDECK entirely?\n\nThis process cannot be undone.") == "true" ]]; then - zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - Reset RetroDECK" \ --text="You are resetting RetroDECK to its default state.\n\nAfter the process is complete you will need to exit RetroDECK and run it again, where you will go through the initial setup process." @@ -1220,7 +1220,7 @@ configurator_reset_dialog() { } configurator_about_retrodeck_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: About" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK: About" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Description" \ "Version History" "View the version changelogs for RetroDECK" \ @@ -1235,7 +1235,7 @@ configurator_about_retrodeck_dialog() { "Credits" ) log i "Configurator: opening \"$choice\" menu" - zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \ + rd_zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Credits" \ --filename="$emuconfigs/defaults/retrodeck/reference_lists/retrodeck_credits.txt" @@ -1258,7 +1258,7 @@ configurator_version_history_dialog() { all_versions_list=("${all_versions_list[@]}" "RetroDECK $rd_version Changelog" "View the changes specific to version $rd_version") done - choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK Version History" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK Version History" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Description" \ "Full RetroDECK Changelog" "View the list of all changes that have ever been made to RetroDECK" \ @@ -1283,7 +1283,7 @@ configurator_version_history_dialog() { } configurator_developer_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Description" \ "Change Multi-user mode" "Enable or disable multi-user support" \ @@ -1332,7 +1332,7 @@ configurator_developer_dialog() { configurator_retrodeck_multiuser_dialog() { if [[ $(get_setting_value $rd_conf "multi_user_mode" retrodeck "options") == "true" ]]; then - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Multi-user Support" \ --text="Multi-user support is currently enabled. Do you want to disable it?\n\nIf there is more than one user configured,\nyou will be given a choice of which to use as the single RetroDECK user.\n\nThis user's files will be moved to the default locations.\n\nOther users' files will remain in the mutli-user-data folder.\n" @@ -1344,7 +1344,7 @@ configurator_retrodeck_multiuser_dialog() { configurator_developer_dialog fi else - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Multi-user support" \ --text="Multi-user support is currently disabled. Do you want to enable it?\n\nThe current user's saves and states will be backed up and then moved to the \"retrodeck/multi-user-data\" folder.\nAdditional users will automatically be stored in their own folder here as they are added." @@ -1360,7 +1360,7 @@ configurator_retrodeck_multiuser_dialog() { configurator_online_update_channel_dialog() { if [[ $(get_setting_value $rd_conf "update_repo" retrodeck "options") == "RetroDECK" ]]; then - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Change Update Branch" \ --text="You are currently on the production branch of RetroDECK updates. Would you like to switch to the cooker branch?\n\nAfter installing a cooker build, you may need to remove the \"stable\" branch install of RetroDECK to avoid overlap." @@ -1372,7 +1372,7 @@ configurator_online_update_channel_dialog() { configurator_developer_dialog fi else - zenity --question \ + rd_zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - RetroDECK Change Update Branch" \ --text="You are currently on the cooker branch of RetroDECK updates. Would you like to switch to the production branch?\n\nAfter installing a production build, you may need to remove the \"cooker\" branch install of RetroDECK to avoid overlap." @@ -1387,7 +1387,7 @@ configurator_online_update_channel_dialog() { } configurator_usb_import_dialog() { - choice=$(zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Description" \ "Prepare USB device" "Create ROM folders on a selected USB device" \ @@ -1405,7 +1405,7 @@ configurator_usb_import_dialog() { done < <(df --output=size,target | grep media | grep -v $default_sd | awk '{$1=$1;print}') if [[ "${#external_devices[@]}" -gt 0 ]]; then - choice=$(zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --hide-column=3 --print-column=3 \ --column "Device Name" \ @@ -1435,7 +1435,7 @@ configurator_usb_import_dialog() { done < <(df --output=size,target | grep media | grep -v $default_sd | awk '{$1=$1;print}') if [[ "${#external_devices[@]}" -gt 0 ]]; then - choice=$(zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --hide-column=3 --print-column=3 \ --column "Device Name" \ @@ -1449,7 +1449,7 @@ configurator_usb_import_dialog() { ( rsync -a --mkpath "$choice/ROMs/"* "$roms_folder" ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - USB Import In Progress" configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" @@ -1458,7 +1458,7 @@ configurator_usb_import_dialog() { ( rsync -a --mkpath "$choice/ROMs/"* "$roms_folder" ) | - zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator Utility - USB Import In Progress" configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" From 88893a3c1b185944692dc4cd79447b49fa5e0848 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Sat, 29 Jun 2024 15:17:08 -0400 Subject: [PATCH 104/171] Add compensation for reading reference files where there is not an empty newline at the end of the file --- automation_tools/pre_build_automation.sh | 2 +- functions/checks.sh | 2 +- functions/configurator_functions.sh | 4 ++-- functions/framework.sh | 4 ++-- functions/other_functions.sh | 6 +++--- functions/presets.sh | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/automation_tools/pre_build_automation.sh b/automation_tools/pre_build_automation.sh index 476ae315..5d9a7c91 100755 --- a/automation_tools/pre_build_automation.sh +++ b/automation_tools/pre_build_automation.sh @@ -50,7 +50,7 @@ cat "$automation_task_list" echo # Update all collected information -while IFS="^" read -r action placeholder url branch +while IFS="^" read -r action placeholder url branch || [[ -n "$action" ]]; do if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then case "$action" in diff --git a/functions/checks.sh b/functions/checks.sh index 713556aa..a1589f22 100644 --- a/functions/checks.sh +++ b/functions/checks.sh @@ -156,7 +156,7 @@ check_for_version_update() { } validate_input() { - while IFS="^" read -r input action + while IFS="^" read -r input action || [[ -n "$input" ]]; do if [[ "$input" == "$1" ]]; then eval "$action" diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh index 7e3a0870..11ce5eb0 100644 --- a/functions/configurator_functions.sh +++ b/functions/configurator_functions.sh @@ -10,7 +10,7 @@ check_bios_files() { fi touch "$godot_bios_files_checked" - while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc + while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc || [[ -n "$bios_file" ]]; do bios_file_found="No" bios_hash_matched="No" @@ -44,7 +44,7 @@ find_empty_rom_folders() { all_empty_folders=() all_helper_files=() - while IFS='^' read -r file dest + while IFS='^' read -r file dest || [[ -n "$file" ]]; do if [[ ! "$file" == "#"* ]] && [[ ! -z "$file" ]]; then all_helper_files=("${all_helper_files[@]}" "$file") diff --git a/functions/framework.sh b/functions/framework.sh index 92f3b32e..d64fd16e 100644 --- a/functions/framework.sh +++ b/functions/framework.sh @@ -410,7 +410,7 @@ deploy_single_patch() { cp -fv "$1" "$3" # Create a copy of the original file to be patched -while IFS="^" read -r action current_section setting_name setting_value system_name +while IFS="^" read -r action current_section setting_name setting_value system_name || [[ -n "$action" ]]; do case $action in @@ -461,7 +461,7 @@ deploy_multi_patch() { # Patch file format should be as follows, with optional entries in (). Optional settings can be left empty, but must still have ^ dividers: # $action^($current_section)^$setting_name^$setting_value^$system_name^($config file) -while IFS="^" read -r action current_section setting_name setting_value system_name config_file +while IFS="^" read -r action current_section setting_name setting_value system_name config_file || [[ -n "$action" ]]; do case $action in diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 90faa7fc..7e5d3c40 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -361,7 +361,7 @@ done finit_user_options_dialog() { finit_available_options=() - while IFS="^" read -r enabled option_name option_desc option_tag + while IFS="^" read -r enabled option_name option_desc option_tag || [[ -n "$enabled" ]]; do finit_available_options=("${finit_available_options[@]}" "$enabled" "$option_name" "$option_desc" "$option_tag") done < $finit_options_list @@ -561,7 +561,7 @@ deploy_helper_files() { # This script will distribute helper documentation files throughout the filesystem according to the $helper_files_list # USAGE: deploy_helper_files - while IFS='^' read -r file dest + while IFS='^' read -r file dest || [[ -n "$file" ]]; do if [[ ! "$file" == "#"* ]] && [[ ! -z "$file" ]]; then eval current_dest="$dest" @@ -579,7 +579,7 @@ easter_eggs() { current_day=$(date +"%0m%0d") # Read the current date in a format that can be calculated in ranges current_time=$(date +"%0H%0M") # Read the current time in a format that can be calculated in ranges if [[ ! -z $(cat $easter_egg_checklist) ]]; then - while IFS="^" read -r start_date end_date start_time end_time splash_file # Read Easter Egg checklist file and separate values + while IFS="^" read -r start_date end_date start_time end_time splash_file || [[ -n "$start_date" ]]; # Read Easter Egg checklist file and separate values do if [[ "$((10#$current_day))" -ge "$((10#$start_date))" && "$((10#$current_day))" -le "$((10#$end_date))" && "$((10#$current_time))" -ge "$((10#$start_time))" && "$((10#$current_time))" -le "$((10#$end_time))" ]]; then # If current line specified date/time matches current date/time, set $splash_file to be deployed new_splash_file="$splashscreen_dir/$splash_file" diff --git a/functions/presets.sh b/functions/presets.sh index c7d4ff66..b3abaf4e 100644 --- a/functions/presets.sh +++ b/functions/presets.sh @@ -116,7 +116,7 @@ build_preset_config() { local read_system_name=$(get_setting_name "$system_line") if [[ "$read_system_name" == "$system_being_changed" ]]; then local read_system_enabled=$(get_setting_value "$rd_conf" "$read_system_name" "retrodeck" "$current_preset") - while IFS='^' read -r action read_preset read_setting_name new_setting_value section target_file defaults_file + while IFS='^' read -r action read_preset read_setting_name new_setting_value section target_file defaults_file || [[ -n "$action" ]]; do case "$action" in @@ -202,7 +202,7 @@ build_retrodeck_current_presets() { # This can also be used to build the "current" state post-update after adding new systems # USAGE: build_retrodeck_current_presets - while IFS= read -r current_setting_line # Read the existing retrodeck.cfg + while IFS= read -r current_setting_line || [[ -n "$current_setting_line" ]]; # Read the existing retrodeck.cfg do if [[ (! -z "$current_setting_line") && (! "$current_setting_line" == "#"*) && (! "$current_setting_line" == "[]") ]]; then # If the line has a valid entry in it if [[ ! -z $(grep -o -P "^\[.+?\]$" <<< "$current_setting_line") ]]; then # If the line is a section header From 2e448424584bc11db501f02d069d8339c64a5cc8 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Sat, 29 Jun 2024 15:31:05 -0400 Subject: [PATCH 105/171] Add comment and blank line handling to reference-file-reading functions --- functions/checks.sh | 8 +- functions/configurator_functions.sh | 32 +++--- functions/framework.sh | 147 ++++++++++++++-------------- functions/other_functions.sh | 16 +-- functions/presets.sh | 133 +++++++++++++------------ 5 files changed, 172 insertions(+), 164 deletions(-) diff --git a/functions/checks.sh b/functions/checks.sh index a1589f22..d0a60f73 100644 --- a/functions/checks.sh +++ b/functions/checks.sh @@ -158,9 +158,11 @@ check_for_version_update() { validate_input() { while IFS="^" read -r input action || [[ -n "$input" ]]; do - if [[ "$input" == "$1" ]]; then - eval "$action" - input_validated="true" + if [[ ! $input == "#"* ]] && [[ ! -z "$input" ]]; then + if [[ "$input" == "$1" ]]; then + eval "$action" + input_validated="true" + fi fi done < $input_validation } diff --git a/functions/configurator_functions.sh b/functions/configurator_functions.sh index 11ce5eb0..768215b8 100644 --- a/functions/configurator_functions.sh +++ b/functions/configurator_functions.sh @@ -12,22 +12,24 @@ check_bios_files() { while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc || [[ -n "$bios_file" ]]; do - bios_file_found="No" - bios_hash_matched="No" - if [[ -f "$bios_folder/$bios_subdir$bios_file" ]]; then - bios_file_found="Yes" - if [[ $bios_hash == "Unknown" ]]; then - bios_hash_matched="Unknown" - elif [[ $(md5sum "$bios_folder/$bios_subdir$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then - bios_hash_matched="Yes" + if [[ ! $bios_file == "#"* ]] && [[ ! -z "$bios_file" ]]; then + bios_file_found="No" + bios_hash_matched="No" + if [[ -f "$bios_folder/$bios_subdir$bios_file" ]]; then + bios_file_found="Yes" + if [[ $bios_hash == "Unknown" ]]; then + bios_hash_matched="Unknown" + elif [[ $(md5sum "$bios_folder/$bios_subdir$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then + bios_hash_matched="Yes" + fi + fi + if [[ "$1" == "basic" ]]; then + bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc") + echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc" >> "$godot_bios_files_checked" # Godot data transfer temp file + else + bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc" "$bios_subdir" "$bios_hash") + echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc"^"$bios_subdir"^"$bios_hash" >> "$godot_bios_files_checked" # Godot data transfer temp file fi - fi - if [[ "$1" == "basic" ]]; then - bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc") - echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc" >> "$godot_bios_files_checked" # Godot data transfer temp file - else - bios_checked_list=("${bios_checked_list[@]}" "$bios_file" "$bios_system" "$bios_file_found" "$bios_hash_matched" "$bios_desc" "$bios_subdir" "$bios_hash") - echo "$bios_file"^"$bios_system"^"$bios_file_found"^"$bios_hash_matched"^"$bios_desc"^"$bios_subdir"^"$bios_hash" >> "$godot_bios_files_checked" # Godot data transfer temp file fi done < $bios_checklist } diff --git a/functions/framework.sh b/functions/framework.sh index d64fd16e..08e736f3 100644 --- a/functions/framework.sh +++ b/functions/framework.sh @@ -412,45 +412,42 @@ cp -fv "$1" "$3" # Create a copy of the original file to be patched while IFS="^" read -r action current_section setting_name setting_value system_name || [[ -n "$action" ]]; do + if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then + case $action in - case $action in + "disable_file" ) + eval disable_file "$setting_name" + ;; - "disable_file" ) - eval disable_file "$setting_name" - ;; + "enable_file" ) + eval enable_file "$setting_name" + ;; - "enable_file" ) - eval enable_file "$setting_name" - ;; + "add_setting_line" ) + add_setting_line "$3" "$setting_name" "$system_name" "$current_section" + ;; - "add_setting_line" ) - add_setting_line "$3" "$setting_name" "$system_name" "$current_section" - ;; + "disable_setting" ) + disable_setting "$3" "$setting_name" "$system_name" "$current_section" + ;; - "disable_setting" ) - disable_setting "$3" "$setting_name" "$system_name" "$current_section" - ;; + "enable_setting" ) + enable_setting "$3" "$setting_name" "$system_name" "$current_section" + ;; - "enable_setting" ) - enable_setting "$3" "$setting_name" "$system_name" "$current_section" - ;; + "change" ) + if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name + eval setting_value="$setting_value" + fi + set_setting_value "$3" "$setting_name" "$setting_value" "$system_name" "$current_section" + ;; - "change" ) - if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name - eval setting_value="$setting_value" - fi - set_setting_value "$3" "$setting_name" "$setting_value" "$system_name" "$current_section" - ;; + * ) + log e "Config line malformed: $action" + ;; - *"#"* ) - # Comment line in patch file - ;; - - * ) - echo "Config line malformed: $action" - ;; - - esac + esac + fi done < "$2" } @@ -463,58 +460,56 @@ deploy_multi_patch() { while IFS="^" read -r action current_section setting_name setting_value system_name config_file || [[ -n "$action" ]]; do - case $action in + if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then + case $action in - "disable_file" ) - if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name - eval config_file="$config_file" - fi - disable_file "$config_file" - ;; + "disable_file" ) + if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name + eval config_file="$config_file" + fi + disable_file "$config_file" + ;; - "enable_file" ) - if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name - eval config_file="$config_file" - fi - enable_file "$config_file" - ;; + "enable_file" ) + if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name + eval config_file="$config_file" + fi + enable_file "$config_file" + ;; - "add_setting_line" ) - if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name - eval config_file="$config_file" - fi - add_setting_line "$config_file" "$setting_name" "$system_name" "$current_section" - ;; + "add_setting_line" ) + if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name + eval config_file="$config_file" + fi + add_setting_line "$config_file" "$setting_name" "$system_name" "$current_section" + ;; - "disable_setting" ) - if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name - eval config_file="$config_file" - fi - disable_setting "$config_file" "$setting_name" "$system_name" "$current_section" - ;; + "disable_setting" ) + if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name + eval config_file="$config_file" + fi + disable_setting "$config_file" "$setting_name" "$system_name" "$current_section" + ;; - "enable_setting" ) - if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name - eval config_file="$config_file" - fi - enable_setting "$config_file" "$setting_name" "$system_name" "$current_section" - ;; + "enable_setting" ) + if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name + eval config_file="$config_file" + fi + enable_setting "$config_file" "$setting_name" "$system_name" "$current_section" + ;; - "change" ) - if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name - eval setting_value="$setting_value" - fi - set_setting_value "$config_file" "$setting_name" "$setting_value" "$system_name" "$current_section" - ;; + "change" ) + if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name + eval setting_value="$setting_value" + fi + set_setting_value "$config_file" "$setting_name" "$setting_value" "$system_name" "$current_section" + ;; - *"#"* ) - # Comment line in patch file - ;; + * ) + log e "Config line malformed: $action" + ;; - * ) - echo "Config line malformed: $action" - ;; - - esac + esac + fi done < "$1" } diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 7e5d3c40..703727a7 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -363,7 +363,9 @@ finit_user_options_dialog() { while IFS="^" read -r enabled option_name option_desc option_tag || [[ -n "$enabled" ]]; do - finit_available_options=("${finit_available_options[@]}" "$enabled" "$option_name" "$option_desc" "$option_tag") + if [[ ! $enabled == "#"* ]] && [[ ! -z "$enabled" ]]; then + finit_available_options=("${finit_available_options[@]}" "$enabled" "$option_name" "$option_desc" "$option_tag") + fi done < $finit_options_list @@ -581,11 +583,13 @@ easter_eggs() { if [[ ! -z $(cat $easter_egg_checklist) ]]; then while IFS="^" read -r start_date end_date start_time end_time splash_file || [[ -n "$start_date" ]]; # Read Easter Egg checklist file and separate values do - if [[ "$((10#$current_day))" -ge "$((10#$start_date))" && "$((10#$current_day))" -le "$((10#$end_date))" && "$((10#$current_time))" -ge "$((10#$start_time))" && "$((10#$current_time))" -le "$((10#$end_time))" ]]; then # If current line specified date/time matches current date/time, set $splash_file to be deployed - new_splash_file="$splashscreen_dir/$splash_file" - break - else # When there are no matches, the default splash screen is set to deploy - new_splash_file="$default_splash_file" + if [[ ! $start_date == "#"* ]] && [[ ! -z "$start_date" ]]; then + if [[ "$((10#$current_day))" -ge "$((10#$start_date))" && "$((10#$current_day))" -le "$((10#$end_date))" && "$((10#$current_time))" -ge "$((10#$start_time))" && "$((10#$current_time))" -le "$((10#$end_time))" ]]; then # If current line specified date/time matches current date/time, set $splash_file to be deployed + new_splash_file="$splashscreen_dir/$splash_file" + break + else # When there are no matches, the default splash screen is set to deploy + new_splash_file="$default_splash_file" + fi fi done < $easter_egg_checklist else diff --git a/functions/presets.sh b/functions/presets.sh index b3abaf4e..92dd868d 100644 --- a/functions/presets.sh +++ b/functions/presets.sh @@ -79,11 +79,14 @@ make_preset_changes() { fi set_setting_value "$rd_conf" "$emulator" "true" "retrodeck" "$preset" # Check for conflicting presets for this system - while IFS=: read -r preset_being_checked known_incompatible_preset; do - if [[ "$preset" == "$preset_being_checked" ]]; then - if [[ $(get_setting_value "$rd_conf" "$emulator" "retrodeck" "$known_incompatible_preset") == "true" ]]; then - changed_presets=("${changed_presets[@]}" "$known_incompatible_preset") - set_setting_value "$rd_conf" "$emulator" "false" "retrodeck" "$known_incompatible_preset" + while IFS=: read -r preset_being_checked known_incompatible_preset || [[ -n "$preset_being_checked" ]]; + do + if [[ ! $preset_being_checked == "#"* ]] && [[ ! -z "$preset_being_checked" ]]; then + if [[ "$preset" == "$preset_being_checked" ]]; then + if [[ $(get_setting_value "$rd_conf" "$emulator" "retrodeck" "$known_incompatible_preset") == "true" ]]; then + changed_presets=("${changed_presets[@]}" "$known_incompatible_preset") + set_setting_value "$rd_conf" "$emulator" "false" "retrodeck" "$known_incompatible_preset" + fi fi fi done < "$incompatible_presets_reference_list" @@ -118,79 +121,81 @@ build_preset_config() { local read_system_enabled=$(get_setting_value "$rd_conf" "$read_system_name" "retrodeck" "$current_preset") while IFS='^' read -r action read_preset read_setting_name new_setting_value section target_file defaults_file || [[ -n "$action" ]]; do - case "$action" in + if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then + case "$action" in - "config_file_format" ) - if [[ "$read_preset" == "retroarch-all" ]]; then - local retroarch_all="true" - local read_config_format="retroarch" - else - local read_config_format="$read_preset" - fi - ;; + "config_file_format" ) + if [[ "$read_preset" == "retroarch-all" ]]; then + local retroarch_all="true" + local read_config_format="retroarch" + else + local read_config_format="$read_preset" + fi + ;; - "change" ) - if [[ "$read_preset" == "$current_preset" ]]; then - if [[ "$target_file" = \$* ]]; then # Read current target file and resolve if it is a variable - eval target_file=$target_file - fi - local read_target_file="$target_file" - if [[ "$defaults_file" = \$* ]]; then #Read current defaults file and resolve if it is a variable - eval defaults_file=$defaults_file - fi - local read_defaults_file="$defaults_file" - if [[ "$read_system_enabled" == "true" ]]; then - if [[ "$new_setting_value" = \$* ]]; then - eval new_setting_value=$new_setting_value + "change" ) + if [[ "$read_preset" == "$current_preset" ]]; then + if [[ "$target_file" = \$* ]]; then # Read current target file and resolve if it is a variable + eval target_file=$target_file fi - if [[ "$read_config_format" == "retroarch" && ! "$retroarch_all" == "true" ]]; then # If this is a RetroArch core, generate the override file - if [[ ! -f "$read_target_file" ]]; then - create_dir "$(realpath "$(dirname "$read_target_file")")" - echo "$read_setting_name = \""$new_setting_value"\"" > "$read_target_file" - else - if [[ -z $(grep -o -P "^$read_setting_name\b" "$read_target_file") ]]; then - add_setting "$read_target_file" "$read_setting_name" "$new_setting_value" "$read_config_format" "$section" + local read_target_file="$target_file" + if [[ "$defaults_file" = \$* ]]; then #Read current defaults file and resolve if it is a variable + eval defaults_file=$defaults_file + fi + local read_defaults_file="$defaults_file" + if [[ "$read_system_enabled" == "true" ]]; then + if [[ "$new_setting_value" = \$* ]]; then + eval new_setting_value=$new_setting_value + fi + if [[ "$read_config_format" == "retroarch" && ! "$retroarch_all" == "true" ]]; then # If this is a RetroArch core, generate the override file + if [[ ! -f "$read_target_file" ]]; then + create_dir "$(realpath "$(dirname "$read_target_file")")" + echo "$read_setting_name = \""$new_setting_value"\"" > "$read_target_file" else - set_setting_value "$read_target_file" "$read_setting_name" "$new_setting_value" "$read_config_format" "$section" - fi + if [[ -z $(grep -o -P "^$read_setting_name\b" "$read_target_file") ]]; then + add_setting "$read_target_file" "$read_setting_name" "$new_setting_value" "$read_config_format" "$section" + else + set_setting_value "$read_target_file" "$read_setting_name" "$new_setting_value" "$read_config_format" "$section" + fi + fi + else + set_setting_value "$read_target_file" "$read_setting_name" "$new_setting_value" "$read_config_format" "$section" fi else - set_setting_value "$read_target_file" "$read_setting_name" "$new_setting_value" "$read_config_format" "$section" - fi - else - if [[ "$read_config_format" == "retroarch" && ! "$retroarch_all" == "true" ]]; then - if [[ -f "$read_target_file" ]]; then - delete_setting "$read_target_file" "$read_setting_name" "$read_config_format" "$section" - if [[ -z $(cat "$read_target_file") ]]; then # If the override file is empty - rm -f "$read_target_file" - fi - if [[ -z $(ls -1 "$(dirname "$read_target_file")") ]]; then # If the override folder is empty - rmdir "$(realpath "$(dirname "$read_target_file")")" + if [[ "$read_config_format" == "retroarch" && ! "$retroarch_all" == "true" ]]; then + if [[ -f "$read_target_file" ]]; then + delete_setting "$read_target_file" "$read_setting_name" "$read_config_format" "$section" + if [[ -z $(cat "$read_target_file") ]]; then # If the override file is empty + rm -f "$read_target_file" + fi + if [[ -z $(ls -1 "$(dirname "$read_target_file")") ]]; then # If the override folder is empty + rmdir "$(realpath "$(dirname "$read_target_file")")" + fi fi + else + local default_setting_value=$(get_setting_value "$read_defaults_file" "$read_setting_name" "$read_config_format" "$section") + set_setting_value "$read_target_file" "$read_setting_name" "$default_setting_value" "$read_config_format" "$section" fi - else - local default_setting_value=$(get_setting_value "$read_defaults_file" "$read_setting_name" "$read_config_format" "$section") - set_setting_value "$read_target_file" "$read_setting_name" "$default_setting_value" "$read_config_format" "$section" fi fi - fi - ;; + ;; - "enable" ) - if [[ "$read_preset" == "$current_preset" ]]; then - if [[ "$read_system_enabled" == "true" ]]; then - enable_file "$read_setting_name" - else - disable_file "$read_setting_name" + "enable" ) + if [[ "$read_preset" == "$current_preset" ]]; then + if [[ "$read_system_enabled" == "true" ]]; then + enable_file "$read_setting_name" + else + disable_file "$read_setting_name" + fi fi - fi - ;; + ;; - * ) - echo "Other data: $action $read_preset $read_setting_name $new_setting_value $section" # DEBUG - ;; + * ) + echo "Other data: $action $read_preset $read_setting_name $new_setting_value $section" # DEBUG + ;; - esac + esac + fi done < <(cat "$presets_dir/$read_system_name"_presets.cfg) fi done < <(printf '%s\n' "$preset_section") From 58615bb9d5eaa95e117f9d3597bef40ea669806f Mon Sep 17 00:00:00 2001 From: icenine451 Date: Sat, 29 Jun 2024 15:38:16 -0400 Subject: [PATCH 106/171] Change some echoes to logs --- functions/multi_user.sh | 6 +++--- functions/presets.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/functions/multi_user.sh b/functions/multi_user.sh index 10e31e06..2e015cc4 100644 --- a/functions/multi_user.sh +++ b/functions/multi_user.sh @@ -149,7 +149,7 @@ multi_user_determine_current_user() { multi_user_return_to_single_user() { single_user="$1" - echo "Returning to single-user mode for $single_user" + log i "Returning to single-user mode for $single_user" unlink "$saves_folder" unlink "$states_folder" unlink "$rd_conf" @@ -182,7 +182,7 @@ multi_user_return_to_single_user() { multi_user_setup_new_user() { # TODO: RPCS3 one-offs - echo "Setting up new user" + log i "Setting up new user" unlink "$saves_folder" unlink "$states_folder" dir_prep "$multi_user_data_folder/$SteamAppUser/saves" "$saves_folder" @@ -220,7 +220,7 @@ multi_user_setup_new_user() { } multi_user_link_current_user_files() { - echo "Linking existing user" + log i "Linking existing user" ln -sfT "$multi_user_data_folder/$SteamAppUser/saves" "$saves_folder" ln -sfT "$multi_user_data_folder/$SteamAppUser/states" "$states_folder" ln -sfT "$multi_user_data_folder/$SteamAppUser/config/retrodeck/retrodeck.cfg" "$rd_conf" diff --git a/functions/presets.sh b/functions/presets.sh index 92dd868d..aac3c321 100644 --- a/functions/presets.sh +++ b/functions/presets.sh @@ -28,7 +28,7 @@ change_preset_dialog() { --title "RetroDECK Configurator Utility - Presets Configuration" \ --text="Setting up your presets, please wait..." else - echo "No choices made" + log i "No preset choices made" fi } @@ -191,7 +191,7 @@ build_preset_config() { ;; * ) - echo "Other data: $action $read_preset $read_setting_name $new_setting_value $section" # DEBUG + log d "Other data: $action $read_preset $read_setting_name $new_setting_value $section" # DEBUG ;; esac From c32a20cf2367416eb2b14c93fcde6959c811d25a Mon Sep 17 00:00:00 2001 From: icenine451 Date: Sat, 29 Jun 2024 16:23:01 -0400 Subject: [PATCH 107/171] Update USB import tool --- tools/configurator.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 2793be49..e6b735f8 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1402,7 +1402,7 @@ configurator_usb_import_dialog() { while read -r size device_path; do device_name=$(basename "$device_path") external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") - done < <(df --output=size,target | grep media | grep -v $default_sd | awk '{$1=$1;print}') + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$default_sd" | awk '{$1=$1;print}') if [[ "${#external_devices[@]}" -gt 0 ]]; then choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ @@ -1432,7 +1432,7 @@ configurator_usb_import_dialog() { device_name=$(basename "$device_path") external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") fi - done < <(df --output=size,target | grep media | grep -v $default_sd | awk '{$1=$1;print}') + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$default_sd" | awk '{$1=$1;print}') if [[ "${#external_devices[@]}" -gt 0 ]]; then choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ From 9f2c4c9129cdd705244b0d40407f1183cf9c48ec Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 1 Jul 2024 09:26:30 -0400 Subject: [PATCH 108/171] Updates to USB Import tool - Support for new SteamOS SD card paths - More safety around existing user data --- tools/configurator.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index e6b735f8..4b6a7d6d 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1397,12 +1397,15 @@ configurator_usb_import_dialog() { "Prepare USB device" ) log i "Configurator: opening \"$choice\" menu" + + configurator_generic_dialog "RetroDeck Configurator - USB Import" "If you have an SD card installed that is not currently configured in RetroDECK it may show up in this list, but not be suitable for USB import.\n\nPlease select your desired drive carefully." + external_devices=() while read -r size device_path; do device_name=$(basename "$device_path") external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") - done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$default_sd" | awk '{$1=$1;print}') + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') if [[ "${#external_devices[@]}" -gt 0 ]]; then choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ @@ -1414,8 +1417,8 @@ configurator_usb_import_dialog() { "${external_devices[@]}") if [[ ! -z "$choice" ]]; then - es-de --home "$choice" --create-system-dirs - rm -rf "$choice/ES-DE" # Cleanup unnecessary folder + es-de --home "$choice/RetroDECK ROM Import" --create-system-dirs + rm -rf "$choice/RetroDECK ROM Import/ES-DE" # Cleanup unnecessary folder fi else configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found." @@ -1428,11 +1431,11 @@ configurator_usb_import_dialog() { external_devices=() while read -r size device_path; do - if [[ -d "$device_path/ROMs" ]]; then + if [[ -d "$device_path/RetroDECK ROM Import/ROMs" ]]; then device_name=$(basename "$device_path") external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") fi - done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$default_sd" | awk '{$1=$1;print}') + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') if [[ "${#external_devices[@]}" -gt 0 ]]; then choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ @@ -1444,10 +1447,10 @@ configurator_usb_import_dialog() { "${external_devices[@]}") if [[ ! -z "$choice" ]]; then - if [[ $(verify_space "$choice/ROMs" "$roms_folder") == "false" ]]; then + if [[ $(verify_space "$choice/RetroDECK ROM Import/ROMs" "$roms_folder") == "false" ]]; then if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same ROMs in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then ( - rsync -a --mkpath "$choice/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" ) | rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ @@ -1456,7 +1459,7 @@ configurator_usb_import_dialog() { fi else ( - rsync -a --mkpath "$choice/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" ) | rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ From 86d5298c9de487a7a1b9e3aecddd82d545484fd9 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 1 Jul 2024 09:32:58 -0400 Subject: [PATCH 109/171] Move USB Import tool to main Configurator --- tools/configurator.sh | 202 +++++++++++++++++++++--------------------- 1 file changed, 100 insertions(+), 102 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 4b6a7d6d..06d1c6be 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -61,6 +61,7 @@ source /app/libexec/global.sh # - Compress Multiple Games - RVZ # - Compress Multiple Games - All Formats # - Compress All Games +# - Tool: USB Import # - Install: RetroDECK Controller Layouts # - Install: PS3 firmware # - Install: PS Vita firmware @@ -101,7 +102,6 @@ source /app/libexec/global.sh # - Change Multi-user mode # - Change Update channel # - Browse the wiki -# - USB Import tool # - Install: RetroDECK Starter Pack # DIALOG TREE FUNCTIONS @@ -559,6 +559,7 @@ configurator_retrodeck_tools_dialog() { "Tool: Remove Empty ROM Folders" "Remove some or all of the empty ROM folders" "Tool: Rebuild All ROM Folders" "Rebuild any missing default ROM folders" "Tool: Compress Games" "Compress games for systems that support it" + "Tool: USB Import" "Prepare a USB device for ROMs or import an existing collection" "Install: RetroDECK Controller Layouts" "Install the custom RetroDECK controller layouts on Steam" "Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator" "Install: PS Vita Firmware" "Download and install PS Vita firmware for use with the Vita3K emulator" @@ -632,6 +633,11 @@ configurator_retrodeck_tools_dialog() { configurator_compression_tool_dialog ;; + "Tool: USB Import" ) + log i "Configurator: opening \"$choice\" menu" + configurator_usb_import_dialog + ;; + "Install: RetroDECK Controller Layouts" ) log i "Configurator: opening \"$choice\" menu" configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "We are now offering a new official RetroDECK controller profile!\nIt is an optional component that helps you get the most out of RetroDECK with a new in-game radial menu for unified hotkeys across emulators.\n\nThe files need to be installed outside of the normal ~/retrodeck folder, so we wanted your permission before proceeding.\n\nThe files will be installed at the following shared Steam locations:\n\n$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/\n$HOME/.steam/steam/controller_base/templates" @@ -925,6 +931,99 @@ configurator_compression_cleanup_dialog() { fi } +configurator_usb_import_dialog() { + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ + --column="Choice" --column="Description" \ + "Prepare USB device" "Create ROM folders on a selected USB device" \ + "Import from USB" "Import collection from a previously prepared device" ) + + case $choice in + + "Prepare USB device" ) + log i "Configurator: opening \"$choice\" menu" + configurator_generic_dialog "RetroDeck Configurator - USB Import" "If you have an SD card installed that is not currently configured in RetroDECK it may show up in this list, but not be suitable for USB import.\n\nPlease select your desired drive carefully." + + external_devices=() + + while read -r size device_path; do + device_name=$(basename "$device_path") + external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') + + if [[ "${#external_devices[@]}" -gt 0 ]]; then + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ + --hide-column=3 --print-column=3 \ + --column "Device Name" \ + --column "Device Size" \ + --column "path" \ + "${external_devices[@]}") + + if [[ ! -z "$choice" ]]; then + es-de --home "$choice/RetroDECK ROM Import" --create-system-dirs + rm -rf "$choice/RetroDECK ROM Import/ES-DE" # Cleanup unnecessary folder + fi + else + configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found." + fi + configurator_usb_import_dialog + ;; + + "Import from USB" ) + log i "Configurator: opening \"$choice\" menu" + external_devices=() + + while read -r size device_path; do + if [[ -d "$device_path/RetroDECK ROM Import/ROMs" ]]; then + device_name=$(basename "$device_path") + external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") + fi + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') + + if [[ "${#external_devices[@]}" -gt 0 ]]; then + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ + --hide-column=3 --print-column=3 \ + --column "Device Name" \ + --column "Device Size" \ + --column "path" \ + "${external_devices[@]}") + + if [[ ! -z "$choice" ]]; then + if [[ $(verify_space "$choice/RetroDECK ROM Import/ROMs" "$roms_folder") == "false" ]]; then + if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same ROMs in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then + ( + rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" + ) | + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - USB Import In Progress" + configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" + fi + else + ( + rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" + ) | + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - USB Import In Progress" + configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" + fi + fi + else + configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found with an importable folder." + fi + configurator_usb_import_dialog + ;; + + "" ) # No selection made or Back button clicked + log i "Configurator: going back" + configurator_retrodeck_tools_dialog + ;; + esac +} + configurator_online_update_setting_dialog() { if [[ $(get_setting_value $rd_conf "update_check" retrodeck "options") == "true" ]]; then rd_zenity --question \ @@ -1289,7 +1388,6 @@ configurator_developer_dialog() { "Change Multi-user mode" "Enable or disable multi-user support" \ "Change Update Channel" "Change between normal and cooker builds" \ "Browse the Wiki" "Browse the RetroDECK wiki online" \ - "USB Import" "Prepare a USB device for ROMs or import an existing collection" \ "Install RetroDECK Starter Pack" "Install the optional RetroDECK starter pack" ) case $choice in @@ -1310,11 +1408,6 @@ configurator_developer_dialog() { configurator_developer_dialog ;; - "USB Import" ) - log i "Configurator: opening \"$choice\" menu" - configurator_usb_import_dialog - ;; - "Install RetroDECK Starter Pack" ) log i "Configurator: opening \"$choice\" menu" if [[ $(configurator_generic_question_dialog "Install: RetroDECK Starter Pack" "The RetroDECK creators have put together a collection of classic retro games you might enjoy!\n\nWould you like to have them automatically added to your library?") == "true" ]]; then @@ -1386,101 +1479,6 @@ configurator_online_update_channel_dialog() { fi } -configurator_usb_import_dialog() { - choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ - --column="Choice" --column="Description" \ - "Prepare USB device" "Create ROM folders on a selected USB device" \ - "Import from USB" "Import collection from a previously prepared device" ) - - case $choice in - - "Prepare USB device" ) - log i "Configurator: opening \"$choice\" menu" - - configurator_generic_dialog "RetroDeck Configurator - USB Import" "If you have an SD card installed that is not currently configured in RetroDECK it may show up in this list, but not be suitable for USB import.\n\nPlease select your desired drive carefully." - - external_devices=() - - while read -r size device_path; do - device_name=$(basename "$device_path") - external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") - done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') - - if [[ "${#external_devices[@]}" -gt 0 ]]; then - choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ - --hide-column=3 --print-column=3 \ - --column "Device Name" \ - --column "Device Size" \ - --column "path" \ - "${external_devices[@]}") - - if [[ ! -z "$choice" ]]; then - es-de --home "$choice/RetroDECK ROM Import" --create-system-dirs - rm -rf "$choice/RetroDECK ROM Import/ES-DE" # Cleanup unnecessary folder - fi - else - configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found." - fi - configurator_usb_import_dialog - ;; - - "Import from USB" ) - log i "Configurator: opening \"$choice\" menu" - external_devices=() - - while read -r size device_path; do - if [[ -d "$device_path/RetroDECK ROM Import/ROMs" ]]; then - device_name=$(basename "$device_path") - external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") - fi - done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') - - if [[ "${#external_devices[@]}" -gt 0 ]]; then - choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ - --hide-column=3 --print-column=3 \ - --column "Device Name" \ - --column "Device Size" \ - --column "path" \ - "${external_devices[@]}") - - if [[ ! -z "$choice" ]]; then - if [[ $(verify_space "$choice/RetroDECK ROM Import/ROMs" "$roms_folder") == "false" ]]; then - if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same ROMs in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then - ( - rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" - ) | - rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator Utility - USB Import In Progress" - configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" - fi - else - ( - rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" - ) | - rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator Utility - USB Import In Progress" - configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" - fi - fi - else - configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found with an importable folder." - fi - configurator_usb_import_dialog - ;; - - "" ) # No selection made or Back button clicked - log i "Configurator: going back" - configurator_developer_dialog - ;; - esac - -} - # START THE CONFIGURATOR configurator_welcome_dialog From 6e0a729574d69698b405e9dbdbafdbf218709a69 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 1 Jul 2024 10:46:12 -0400 Subject: [PATCH 110/171] Create default BIOS subfolders during USB Import prep --- tools/configurator.sh | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 06d1c6be..1b85effe 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -961,8 +961,33 @@ configurator_usb_import_dialog() { "${external_devices[@]}") if [[ ! -z "$choice" ]]; then - es-de --home "$choice/RetroDECK ROM Import" --create-system-dirs - rm -rf "$choice/RetroDECK ROM Import/ES-DE" # Cleanup unnecessary folder + es-de --home "$choice/RetroDECK Import" --create-system-dirs + rm -rf "$choice/RetroDECK Import/ES-DE" # Cleanup unnecessary folder + create_dir "$choice/RetroDECK Import/BIOS" + + # Prepare default BIOS folder subfolders + create_dir "$choice/RetroDECK Import/BIOS/np2kai" + create_dir "$choice/RetroDECK Import/BIOS/dc" + create_dir "$choice/RetroDECK Import/BIOS/Mupen64plus" + create_dir "$choice/RetroDECK Import/BIOS/quasi88" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/samples" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/cheats" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/blend" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/patched" + create_dir "$choice/RetroDECK Import/BIOS/citra/sysdata" + create_dir "$choice/RetroDECK Import/BIOS/cemu" + create_dir "$choice/RetroDECK Import/BIOS/pico-8/carts" + create_dir "$choice/RetroDECK Import/BIOS/pico-8/cdata" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_hdd0" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_hdd1" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash2" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash3" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_bdvd" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_usb000" + create_dir "$choice/RetroDECK Import/BIOS/Vita3K/" + create_dir "$choice/RetroDECK Import/BIOS/mame-sa/samples" + create_dir "$choice/RetroDECK Import/BIOS/gzdoom" fi else configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found." @@ -975,7 +1000,7 @@ configurator_usb_import_dialog() { external_devices=() while read -r size device_path; do - if [[ -d "$device_path/RetroDECK ROM Import/ROMs" ]]; then + if [[ -d "$device_path/RetroDECK Import/ROMs" ]]; then device_name=$(basename "$device_path") external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") fi @@ -991,10 +1016,10 @@ configurator_usb_import_dialog() { "${external_devices[@]}") if [[ ! -z "$choice" ]]; then - if [[ $(verify_space "$choice/RetroDECK ROM Import/ROMs" "$roms_folder") == "false" ]]; then + if [[ $(verify_space "$choice/RetroDECK Import/ROMs" "$roms_folder") == "false" ]]; then if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same ROMs in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then ( - rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" ) | rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ @@ -1003,7 +1028,7 @@ configurator_usb_import_dialog() { fi else ( - rsync -a --mkpath "$choice/RetroDECK ROM Import/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" ) | rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ From b88da802cfacb22512e678b73b26fb951d8b3ded Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 1 Jul 2024 10:47:17 -0400 Subject: [PATCH 111/171] Add BIOS folder to USB Import process --- tools/configurator.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/configurator.sh b/tools/configurator.sh index 1b85effe..ab2e13f2 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1020,6 +1020,7 @@ configurator_usb_import_dialog() { if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same ROMs in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then ( rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK Import/BIOS/"* "$bios_folder" ) | rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ @@ -1029,6 +1030,7 @@ configurator_usb_import_dialog() { else ( rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK Import/BIOS/"* "$bios_folder" ) | rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ From 129367e5dec7d820d97308bb8655a96d6abcc9df Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 1 Jul 2024 10:48:10 -0400 Subject: [PATCH 112/171] Update low space warning message for USB Import --- tools/configurator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index ab2e13f2..8b2fd70a 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1017,7 +1017,7 @@ configurator_usb_import_dialog() { if [[ ! -z "$choice" ]]; then if [[ $(verify_space "$choice/RetroDECK Import/ROMs" "$roms_folder") == "false" ]]; then - if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same ROMs in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then + if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM/BIOS library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same files in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then ( rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" rsync -a --mkpath "$choice/RetroDECK Import/BIOS/"* "$bios_folder" From 2d813196196663d815c83446d50a007e89b96d53 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 1 Jul 2024 10:49:18 -0400 Subject: [PATCH 113/171] Add BIOS folder size check to low space warning for USB Import --- tools/configurator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 8b2fd70a..3e9c3c8f 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1016,7 +1016,7 @@ configurator_usb_import_dialog() { "${external_devices[@]}") if [[ ! -z "$choice" ]]; then - if [[ $(verify_space "$choice/RetroDECK Import/ROMs" "$roms_folder") == "false" ]]; then + if [[ $(verify_space "$choice/RetroDECK Import/ROMs" "$roms_folder") == "false" || $(verify_space "$choice/RetroDECK Import/BIOS" "$bios_folder") == "false" ]]; then if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM/BIOS library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same files in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then ( rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" From 92e6383c7804dbf3b3e2aab5715b226f451608ed Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 1 Jul 2024 10:50:11 -0400 Subject: [PATCH 114/171] Update Configurator menu description for USB Import --- tools/configurator.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 3e9c3c8f..573dfef1 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -935,7 +935,7 @@ configurator_usb_import_dialog() { choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Description" \ - "Prepare USB device" "Create ROM folders on a selected USB device" \ + "Prepare USB device" "Create ROM and BIOS folders on a selected USB device" \ "Import from USB" "Import collection from a previously prepared device" ) case $choice in From fe31f00375c2ea3fefba4343118035865b30a39f Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:17:38 +0900 Subject: [PATCH 115/171] Workflows: added a workflow to check for emulator updates --- .github/workflows/emulator-updates.yaml | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/emulator-updates.yaml diff --git a/.github/workflows/emulator-updates.yaml b/.github/workflows/emulator-updates.yaml new file mode 100644 index 00000000..4a5f9587 --- /dev/null +++ b/.github/workflows/emulator-updates.yaml @@ -0,0 +1,56 @@ +name: Check Emulator Updates + +on: + schedule: + - cron: '0 18 * * *' # Controlla ogni giorno alle 18:00 UTC (3:00 JST) + push: + branches: + - main + workflow_dispatch: + +jobs: + check-updates: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flatpak-builder-tools + + - name: Check for emulator updates + run: | + flatpak-builder --check-updates ./net.retrodeck.retrodeck.yml --modules "modulo1,modulo2" # Sostituisci modulo1,modulo2 con i tuoi moduli specifici + + - name: Configure Git + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + - name: Create or update branch + run: | + git fetch origin + if git rev-parse --verify origin/feat/auto-emulator-updates; then + git branch -D feat/auto-emulator-updates + fi + git checkout -b feat/auto-emulator-updates + git add . + git commit -m "Update emulators" + git push --set-upstream origin feat/auto-emulator-updates --force + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + token: ${{ secrets.GITHUB_TOKEN }} + source: feat/auto-emulator-updates + destination: cooker-0.8.2b + title: 'Automated Emulator Updates' + body: 'This PR contains automated updates for specified emulators.' From 8620ec6ef4341a194a7a213bafdbcb8a89593224 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:19:01 +0900 Subject: [PATCH 116/171] chore: comments cleanup [skip ci] --- net.retrodeck.retrodeck.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 9a5aa49c..9e8f5795 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -343,16 +343,6 @@ modules: stable-only: true url-template: https://github.com/libusb/libusb/releases/download/v$version/libusb-$version.tar.bz2 - # needed for chdman - # - name: libFLAC - # buildsystem: cmake-ninja - # config-opts: - # - -Dbuildtype=release - # sources: - # - type: archive - # url: https://downloads.xiph.org/releases/flac/flac-1.4.3.tar.xz - # sha256: 6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70 - # ES-DE - START # https://gitlab.com/es-de/emulationstation-de From bca1dbbebdd36f989278da686db207fe82f3a394 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:24:39 +0900 Subject: [PATCH 117/171] Workflows: disabled emulators update checker pipeline [skip ci] --- .github/workflows/emulator-updates.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/emulator-updates.yaml b/.github/workflows/emulator-updates.yaml index 4a5f9587..d55cd4a7 100644 --- a/.github/workflows/emulator-updates.yaml +++ b/.github/workflows/emulator-updates.yaml @@ -1,8 +1,8 @@ name: Check Emulator Updates on: - schedule: - - cron: '0 18 * * *' # Controlla ogni giorno alle 18:00 UTC (3:00 JST) + # schedule: + # - cron: '0 18 * * *' push: branches: - main From 9e9e6bba173c460e85a402df5aae016ede9c0ba7 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:31:47 +0900 Subject: [PATCH 118/171] PCSX2: updated to 1.7.5967 --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 9e8f5795..f704df7a 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -680,8 +680,8 @@ modules: - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" sources: - type: file - url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.5900/pcsx2-v1.7.5900-linux-appimage-x64-Qt.AppImage - sha256: a4012fbdd175536cac99ef7f0b5fb65aa8303b4c5b8cc31918a05341d61bbb26 + url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.5967/pcsx2-v1.7.5967-linux-appimage-x64-Qt.AppImage + sha256: 7af0257204fac749efd1d6a309e287378f56bae54446902a5f34aafe17ce9915 # PCSX2 - END From c8918d6f47dc670150d2cddb0cab721697c75472 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:32:57 +0900 Subject: [PATCH 119/171] DOLPHIN: updated --- net.retrodeck.retrodeck.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index f704df7a..78e649b6 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -708,14 +708,15 @@ modules: - /share/man post-install: - install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper - - sed -i -e 's/"2048"/"512"/g' /app/share/icons/hicolor/scalable/apps/dolphin-emu.svg + - sed -i -e 's/viewBox="0 0 1024.02 571.29"/viewBox="0 -285.645 1024 1024" width="2048" + height="2048"/g' /app/share/icons/hicolor/scalable/apps/dolphin-emu.svg sources: - type: git # Sometimes Dolphin or its submodules clone are failing in https so it must done in ssh # fatal: remote transport reported error # url: ssh://git@github.com/dolphin-emu/dolphin.git url: https://github.com/dolphin-emu/dolphin.git - commit: a9544510468740b77cf06ef28daaa65fe247fd32 + commit: b92e354389bb7c0bd114a8631b8af110d3cb3a14 x-checker-data: type: json url: https://dolphin-emu.org/update/latest/beta From ced23858f2a8eedb678df70eadc4be522cf1eac2 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:35:27 +0900 Subject: [PATCH 120/171] chore: comments --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 78e649b6..4f674fee 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -310,7 +310,7 @@ modules: # dependency of: CEMU, RPCS3 - rd-submodules/shared-modules/glew/glew.json - # dependency of: XEMU, MelonDS + # dependency of: XEMU, MelonDS (4.7.0) - name: libslirp buildsystem: meson cleanup: From b05358d48e62c921716e439690765244c3c957ac Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:38:23 +0900 Subject: [PATCH 121/171] DUCKSTATION: updated to v0.1-6937 (out of rolling release) --- automation_tools/automation_task_list.cfg | 2 +- net.retrodeck.retrodeck.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/automation_tools/automation_task_list.cfg b/automation_tools/automation_task_list.cfg index 1b955846..2284832c 100644 --- a/automation_tools/automation_task_list.cfg +++ b/automation_tools/automation_task_list.cfg @@ -1,7 +1,7 @@ # The proper format for this file is # ACTION^PLACEHOLDERTEXT^URL^REPO(Optional) # hash^DOOMSHAPLACEHOLDER^https://buildbot.libretro.com/assets/cores/DOOM/Doom%20%28Shareware%29.zip -hash^DUCKSTATIONSHAPLACEHOLDER^https://github.com/stenzek/duckstation/releases/download/preview/DuckStation-x64.AppImage +#hash^DUCKSTATIONSHAPLACEHOLDER^https://github.com/stenzek/duckstation/releases/download/preview/DuckStation-x64.AppImage hash^SAMEDUCKSHAPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip hash^PPSSPPBIOSHASHPLACEHOLDER^https://github.com/hrydgard/ppsspp/archive/refs/heads/master.zip hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282full.zip diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 4f674fee..ca344f72 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -950,8 +950,8 @@ modules: - ln -s "${FLATPAK_DEST}/duckstation/usr/bin/duckstation-qt" "${FLATPAK_DEST}/bin/duckstation-qt" sources: - type: file - url: https://github.com/stenzek/duckstation/releases/download/preview/DuckStation-x64.AppImage - sha256: DUCKSTATIONSHAPLACEHOLDER + url: https://github.com/stenzek/duckstation/releases/download/v0.1-6937/DuckStation-x64.AppImage + sha256: 01afc0c7c597d510455018d9ce902e4a3c06a51d35162ed8c025c3b65ae2218b # Duckstation-AppImage - END From 364738a5ffcf909350a40f6501a59b7ae8be114d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:44:23 +0900 Subject: [PATCH 122/171] CEMU: updated to v2.0-88 --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ca344f72..9b549dcd 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1061,8 +1061,8 @@ modules: x-checker-data: type: git tag-pattern: ^v([\d.]+-\d+)$ - tag: v2.0-86 - commit: 1672f969bbc4a683e4a852aa2e145c1e6f9f68e6 + tag: v2.0-88 + commit: aefbb918beb8718af8f190a73018ff63bf801d95 disable-submodules: true - type: git url: https://github.com/mozilla/cubeb From 8bea9be2641451bc47ce56c04d090e7f8c362bde Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:47:27 +0900 Subject: [PATCH 123/171] RYUJINX: updated to 1.1.1343 --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 9b549dcd..1eaa48d4 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1228,8 +1228,8 @@ modules: ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: file - url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1330/ryujinx-1.1.1330-linux_x64.tar.gz - sha256: 1e9158a3f55ff128e089ac3778dfb35127f2cab9d59bc52b5fe63c7b7ac2f6cb + url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1343/ryujinx-1.1.1343-linux_x64.tar.gz + sha256: 3cd2172d2f42a0fb93a83bffe6bd8fb2d1d81fb45afc80e0068a245c8f755ac1 # Ryujinx Appimage - END From f753cf177044966135236fd8c1203b4cf7eb7fe8 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 20:48:37 +0900 Subject: [PATCH 124/171] APPDATA: updated --- net.retrodeck.retrodeck.appdata.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 1856f694..9818c1e9 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -83,6 +83,7 @@
  • FRAMEWORK: fixed an issue where second level subfolders inside retrodeck folder were not correctly placed, this caused errors on ES-DE as themes and downloaded_media folder could not be found after a reset or first install
  • CEMU: now audio should work correctly when docking and undocking the Steam Deck
  • CEMU: added microphone blow input to R3
  • +
  • DUCKSTATION: now out of the rolling release
  • INFRASTRUCTURE: we now have a self-hosted Gitea repo in case fo disaster recovery

Known issues:

From b1571d9ed8e10ea69ff9833ea5be0ea729828588 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 8 Jul 2024 21:29:54 +0900 Subject: [PATCH 125/171] DUCKSTATION: fixed wrong sha --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 1eaa48d4..ac35d77a 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -951,7 +951,7 @@ modules: sources: - type: file url: https://github.com/stenzek/duckstation/releases/download/v0.1-6937/DuckStation-x64.AppImage - sha256: 01afc0c7c597d510455018d9ce902e4a3c06a51d35162ed8c025c3b65ae2218b + sha256: 8a16f034cc8b11341ed9ad382226549301736794582bdec46a5e19b3ca981e07 # Duckstation-AppImage - END From f59e197dae074b4ec92b23488d628b269f67e825 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 8 Jul 2024 14:03:53 -0400 Subject: [PATCH 126/171] Move USB Import tool back to Dev Tools in Configurator --- tools/configurator.sh | 256 +++++++++++++++++++++--------------------- 1 file changed, 128 insertions(+), 128 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 573dfef1..27514d6a 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -61,7 +61,6 @@ source /app/libexec/global.sh # - Compress Multiple Games - RVZ # - Compress Multiple Games - All Formats # - Compress All Games -# - Tool: USB Import # - Install: RetroDECK Controller Layouts # - Install: PS3 firmware # - Install: PS Vita firmware @@ -103,6 +102,7 @@ source /app/libexec/global.sh # - Change Update channel # - Browse the wiki # - Install: RetroDECK Starter Pack +# - Tool: USB Import # DIALOG TREE FUNCTIONS @@ -559,7 +559,6 @@ configurator_retrodeck_tools_dialog() { "Tool: Remove Empty ROM Folders" "Remove some or all of the empty ROM folders" "Tool: Rebuild All ROM Folders" "Rebuild any missing default ROM folders" "Tool: Compress Games" "Compress games for systems that support it" - "Tool: USB Import" "Prepare a USB device for ROMs or import an existing collection" "Install: RetroDECK Controller Layouts" "Install the custom RetroDECK controller layouts on Steam" "Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator" "Install: PS Vita Firmware" "Download and install PS Vita firmware for use with the Vita3K emulator" @@ -633,11 +632,6 @@ configurator_retrodeck_tools_dialog() { configurator_compression_tool_dialog ;; - "Tool: USB Import" ) - log i "Configurator: opening \"$choice\" menu" - configurator_usb_import_dialog - ;; - "Install: RetroDECK Controller Layouts" ) log i "Configurator: opening \"$choice\" menu" configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "We are now offering a new official RetroDECK controller profile!\nIt is an optional component that helps you get the most out of RetroDECK with a new in-game radial menu for unified hotkeys across emulators.\n\nThe files need to be installed outside of the normal ~/retrodeck folder, so we wanted your permission before proceeding.\n\nThe files will be installed at the following shared Steam locations:\n\n$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/\n$HOME/.steam/steam/controller_base/templates" @@ -931,126 +925,6 @@ configurator_compression_cleanup_dialog() { fi } -configurator_usb_import_dialog() { - choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ - --column="Choice" --column="Description" \ - "Prepare USB device" "Create ROM and BIOS folders on a selected USB device" \ - "Import from USB" "Import collection from a previously prepared device" ) - - case $choice in - - "Prepare USB device" ) - log i "Configurator: opening \"$choice\" menu" - configurator_generic_dialog "RetroDeck Configurator - USB Import" "If you have an SD card installed that is not currently configured in RetroDECK it may show up in this list, but not be suitable for USB import.\n\nPlease select your desired drive carefully." - - external_devices=() - - while read -r size device_path; do - device_name=$(basename "$device_path") - external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") - done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') - - if [[ "${#external_devices[@]}" -gt 0 ]]; then - choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ - --hide-column=3 --print-column=3 \ - --column "Device Name" \ - --column "Device Size" \ - --column "path" \ - "${external_devices[@]}") - - if [[ ! -z "$choice" ]]; then - es-de --home "$choice/RetroDECK Import" --create-system-dirs - rm -rf "$choice/RetroDECK Import/ES-DE" # Cleanup unnecessary folder - create_dir "$choice/RetroDECK Import/BIOS" - - # Prepare default BIOS folder subfolders - create_dir "$choice/RetroDECK Import/BIOS/np2kai" - create_dir "$choice/RetroDECK Import/BIOS/dc" - create_dir "$choice/RetroDECK Import/BIOS/Mupen64plus" - create_dir "$choice/RetroDECK Import/BIOS/quasi88" - create_dir "$choice/RetroDECK Import/BIOS/fbneo/samples" - create_dir "$choice/RetroDECK Import/BIOS/fbneo/cheats" - create_dir "$choice/RetroDECK Import/BIOS/fbneo/blend" - create_dir "$choice/RetroDECK Import/BIOS/fbneo/patched" - create_dir "$choice/RetroDECK Import/BIOS/citra/sysdata" - create_dir "$choice/RetroDECK Import/BIOS/cemu" - create_dir "$choice/RetroDECK Import/BIOS/pico-8/carts" - create_dir "$choice/RetroDECK Import/BIOS/pico-8/cdata" - create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_hdd0" - create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_hdd1" - create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash" - create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash2" - create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash3" - create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_bdvd" - create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_usb000" - create_dir "$choice/RetroDECK Import/BIOS/Vita3K/" - create_dir "$choice/RetroDECK Import/BIOS/mame-sa/samples" - create_dir "$choice/RetroDECK Import/BIOS/gzdoom" - fi - else - configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found." - fi - configurator_usb_import_dialog - ;; - - "Import from USB" ) - log i "Configurator: opening \"$choice\" menu" - external_devices=() - - while read -r size device_path; do - if [[ -d "$device_path/RetroDECK Import/ROMs" ]]; then - device_name=$(basename "$device_path") - external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") - fi - done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') - - if [[ "${#external_devices[@]}" -gt 0 ]]; then - choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ - --hide-column=3 --print-column=3 \ - --column "Device Name" \ - --column "Device Size" \ - --column "path" \ - "${external_devices[@]}") - - if [[ ! -z "$choice" ]]; then - if [[ $(verify_space "$choice/RetroDECK Import/ROMs" "$roms_folder") == "false" || $(verify_space "$choice/RetroDECK Import/BIOS" "$bios_folder") == "false" ]]; then - if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM/BIOS library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same files in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then - ( - rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" - rsync -a --mkpath "$choice/RetroDECK Import/BIOS/"* "$bios_folder" - ) | - rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator Utility - USB Import In Progress" - configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" - fi - else - ( - rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" - rsync -a --mkpath "$choice/RetroDECK Import/BIOS/"* "$bios_folder" - ) | - rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator Utility - USB Import In Progress" - configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" - fi - fi - else - configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found with an importable folder." - fi - configurator_usb_import_dialog - ;; - - "" ) # No selection made or Back button clicked - log i "Configurator: going back" - configurator_retrodeck_tools_dialog - ;; - esac -} - configurator_online_update_setting_dialog() { if [[ $(get_setting_value $rd_conf "update_check" retrodeck "options") == "true" ]]; then rd_zenity --question \ @@ -1415,7 +1289,8 @@ configurator_developer_dialog() { "Change Multi-user mode" "Enable or disable multi-user support" \ "Change Update Channel" "Change between normal and cooker builds" \ "Browse the Wiki" "Browse the RetroDECK wiki online" \ - "Install RetroDECK Starter Pack" "Install the optional RetroDECK starter pack" ) + "Install RetroDECK Starter Pack" "Install the optional RetroDECK starter pack" \ + "Tool: USB Import" "Prepare a USB device for ROMs or import an existing collection") case $choice in @@ -1443,6 +1318,11 @@ configurator_developer_dialog() { configurator_developer_dialog ;; + "Tool: USB Import" ) + log i "Configurator: opening \"$choice\" menu" + configurator_usb_import_dialog + ;; + "" ) # No selection made or Back button clicked log i "Configurator: going back" configurator_welcome_dialog @@ -1506,6 +1386,126 @@ configurator_online_update_channel_dialog() { fi } +configurator_usb_import_dialog() { + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ + --column="Choice" --column="Description" \ + "Prepare USB device" "Create ROM and BIOS folders on a selected USB device" \ + "Import from USB" "Import collection from a previously prepared device" ) + + case $choice in + + "Prepare USB device" ) + log i "Configurator: opening \"$choice\" menu" + configurator_generic_dialog "RetroDeck Configurator - USB Import" "If you have an SD card installed that is not currently configured in RetroDECK it may show up in this list, but not be suitable for USB import.\n\nPlease select your desired drive carefully." + + external_devices=() + + while read -r size device_path; do + device_name=$(basename "$device_path") + external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') + + if [[ "${#external_devices[@]}" -gt 0 ]]; then + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ + --hide-column=3 --print-column=3 \ + --column "Device Name" \ + --column "Device Size" \ + --column "path" \ + "${external_devices[@]}") + + if [[ ! -z "$choice" ]]; then + es-de --home "$choice/RetroDECK Import" --create-system-dirs + rm -rf "$choice/RetroDECK Import/ES-DE" # Cleanup unnecessary folder + create_dir "$choice/RetroDECK Import/BIOS" + + # Prepare default BIOS folder subfolders + create_dir "$choice/RetroDECK Import/BIOS/np2kai" + create_dir "$choice/RetroDECK Import/BIOS/dc" + create_dir "$choice/RetroDECK Import/BIOS/Mupen64plus" + create_dir "$choice/RetroDECK Import/BIOS/quasi88" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/samples" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/cheats" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/blend" + create_dir "$choice/RetroDECK Import/BIOS/fbneo/patched" + create_dir "$choice/RetroDECK Import/BIOS/citra/sysdata" + create_dir "$choice/RetroDECK Import/BIOS/cemu" + create_dir "$choice/RetroDECK Import/BIOS/pico-8/carts" + create_dir "$choice/RetroDECK Import/BIOS/pico-8/cdata" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_hdd0" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_hdd1" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash2" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_flash3" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_bdvd" + create_dir "$choice/RetroDECK Import/BIOS/rpcs3/dev_usb000" + create_dir "$choice/RetroDECK Import/BIOS/Vita3K/" + create_dir "$choice/RetroDECK Import/BIOS/mame-sa/samples" + create_dir "$choice/RetroDECK Import/BIOS/gzdoom" + fi + else + configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found." + fi + configurator_usb_import_dialog + ;; + + "Import from USB" ) + log i "Configurator: opening \"$choice\" menu" + external_devices=() + + while read -r size device_path; do + if [[ -d "$device_path/RetroDECK Import/ROMs" ]]; then + device_name=$(basename "$device_path") + external_devices=("${external_devices[@]}" "$device_name" "$size" "$device_path") + fi + done < <(df --output=size,target -h | grep "/run/media/" | grep -v "$sdcard" | awk '{$1=$1;print}') + + if [[ "${#external_devices[@]}" -gt 0 ]]; then + choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - USB Migration Tool" --cancel-label="Back" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ + --hide-column=3 --print-column=3 \ + --column "Device Name" \ + --column "Device Size" \ + --column "path" \ + "${external_devices[@]}") + + if [[ ! -z "$choice" ]]; then + if [[ $(verify_space "$choice/RetroDECK Import/ROMs" "$roms_folder") == "false" || $(verify_space "$choice/RetroDECK Import/BIOS" "$bios_folder") == "false" ]]; then + if [[ $(configurator_generic_question_dialog "RetroDECK Configurator Utility - USB Migration Tool" "You MAY not have enough free space to import this ROM/BIOS library.\n\nThis utility only imports new additions from the USB device, so if there are a lot of the same files in both locations you are likely going to be fine\nbut we are not able to verify how much data will be transferred before it happens.\n\nIf you are unsure, please verify your available free space before continuing.\n\nDo you want to continue now?") == "true" ]]; then + ( + rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK Import/BIOS/"* "$bios_folder" + ) | + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - USB Import In Progress" + configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" + fi + else + ( + rsync -a --mkpath "$choice/RetroDECK Import/ROMs/"* "$roms_folder" + rsync -a --mkpath "$choice/RetroDECK Import/BIOS/"* "$bios_folder" + ) | + rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - USB Import In Progress" + configurator_generic_dialog "RetroDECK Configurator - USB Migration Tool" "The import process is complete!" + fi + fi + else + configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found with an importable folder." + fi + configurator_usb_import_dialog + ;; + + "" ) # No selection made or Back button clicked + log i "Configurator: going back" + configurator_developer_dialog + ;; + esac +} + # START THE CONFIGURATOR configurator_welcome_dialog From 12cee8411ac09acc95eaabe09bb6317750be74d7 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 9 Jul 2024 09:41:26 +0900 Subject: [PATCH 127/171] RPCS: old config cleanup --- emu-configs/rpcs3/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/emu-configs/rpcs3/config.yml b/emu-configs/rpcs3/config.yml index 2660b26e..53bb6fc5 100644 --- a/emu-configs/rpcs3/config.yml +++ b/emu-configs/rpcs3/config.yml @@ -20,7 +20,6 @@ Core: SPU loop detection: false Max SPURS Threads: 6 SPU Block Size: Mega - Accurate GETLLAR: false Accurate SPU DMA: false Accurate SPU Reservations: true Accurate Cache Line Stores: false @@ -104,6 +103,7 @@ Video: Strict Texture Flushing: false Multithreaded RSX: false Relaxed ZCULL Sync: false + Force Hardware MSAA Resolve: false 3D Display Mode: Disabled Debug Program Analyser: false Accurate ZCULL stats: true @@ -165,6 +165,7 @@ Audio: Convert to 16 bit: false Audio Format: Stereo Audio Formats: 0 + Audio Channel Layout: Automatic Audio Device: "@@@default@@@" Master Volume: 100 Enable Buffering: true @@ -186,6 +187,7 @@ Input/Output: Buzz emulated controller: "Null" Turntable emulated controller: "Null" GHLtar emulated controller: "Null" + GameTablet emulated controller: Disabled Pad handler mode: Single-threaded Keep pads connected: false Pad handler sleep (microseconds): 1000 @@ -200,6 +202,7 @@ System: Keyboard Type: English keyboard (US standard) Enter button assignment: Enter with cross Console time offset (s): 0 + System Name: RPCS3-960 PSID high: 0 PSID low: 0 HDD Model Name: "" From 8ba1939418ba98992cf9cdd2e6d87afb85738e34 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 11 Jul 2024 10:42:42 +0900 Subject: [PATCH 128/171] RYUJINX: including a test build totry to fix the symlink issue --- net.retrodeck.retrodeck.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ac35d77a..af1a6d58 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1219,17 +1219,29 @@ modules: # Ryujinx Appimage - START # https://ryujinx.org/download - - name: Ryujinx + # Temporary disabled to test a symlink fix build + # - name: Ryujinx + # buildsystem: simple + # build-commands: + # - | + # tar -zxvf *.tar.gz + # mv -v publish ${FLATPAK_DEST}/ryujinx + # ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh + # sources: + # - type: file + # url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1343/ryujinx-1.1.1343-linux_x64.tar.gz + # sha256: 3cd2172d2f42a0fb93a83bffe6bd8fb2d1d81fb45afc80e0068a245c8f755ac1 + + - name: Ryujinx-with-symlink-fix buildsystem: simple build-commands: - | - tar -zxvf *.tar.gz - mv -v publish ${FLATPAK_DEST}/ryujinx + mv -v * ${FLATPAK_DEST}/ryujinx ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - - type: file - url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1343/ryujinx-1.1.1343-linux_x64.tar.gz - sha256: 3cd2172d2f42a0fb93a83bffe6bd8fb2d1d81fb45afc80e0068a245c8f755ac1 + - type: archive + url: https://nightly.link/Ryujinx/Ryujinx/actions/artifacts/1688764696.zip + sha256: c68dd357830abd8c5fe809cb591efecafe590ae8221ef0e590a8136b184816a1 # Ryujinx Appimage - END From bbbf0807f010cc259dca1eae4a70c8228a52edbb Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 11 Jul 2024 15:51:01 +0900 Subject: [PATCH 129/171] CEMU: uodated controller profiles --- .../controllerProfiles/SteamInput-P1-Gyro.xml | 110 +++++++++--------- .../cemu/controllerProfiles/SteamInput-P1.xml | 98 ++++++++-------- .../cemu/controllerProfiles/controller0.xml | 106 ++++++++--------- .../cemu/controllerProfiles/controller1.xml | 95 ++++++++------- .../cemu/controllerProfiles/controller2.xml | 52 ++++----- .../cemu/controllerProfiles/controller3.xml | 52 ++++----- 6 files changed, 256 insertions(+), 257 deletions(-) diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml index ed34dc53..209f6a5c 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1-Gyro.xml @@ -25,7 +25,7 @@ SDLController - 0_03000000de280000ff11000001000000 + 0_030079f6de280000ff11000001000000 Steam Virtual Gamepad 0 @@ -41,73 +41,25 @@ 1 - - 12 - - - - 13 - - - - 14 - - - - 15 - - - - 16 - - - - 17 - - - - 18 - - - - 19 - - - - 20 - - - - 21 - - - - 22 - - - - 23 - - 25 1 - - - - 2 + + 2 + + 3 - + 4 - + 5 @@ -141,6 +93,54 @@ 24 + + 23 + + + + 22 + + + + 21 + + + + 20 + + + + 19 + + + + 18 + + + + 17 + + + + 16 + + + + 15 + + + + 14 + + + + 13 + + + + 12 + + diff --git a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml index b2f05d47..98f98ede 100644 --- a/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml +++ b/emu-configs/cemu/controllerProfiles/SteamInput-P1.xml @@ -4,7 +4,7 @@ SteamInput-P1 SDLController - 0_03000000de280000ff11000001000000 + 0_030079f6de280000ff11000001000000 Steam Virtual Gamepad 0 @@ -21,72 +21,64 @@ - 1 - - - - 14 - - - - 2 - - - - 15 - - - - 16 + 25 - 17 - - - - 18 - - - - 19 - - - - 20 - - - - 21 - - - - 22 - + 24 + 23 - 25 + 22 + + + + 21 + + + + 20 + + + + 19 + + + + 18 + + + + 17 + + + + 16 - 12 - + 15 + + + + 14 + 13 - 11 - + 12 + - 24 - + 11 + 10 @@ -114,11 +106,19 @@ 4 - + 3 - + + + + 2 + + + + 1 + diff --git a/emu-configs/cemu/controllerProfiles/controller0.xml b/emu-configs/cemu/controllerProfiles/controller0.xml index 9517fa0f..4d0f6364 100644 --- a/emu-configs/cemu/controllerProfiles/controller0.xml +++ b/emu-configs/cemu/controllerProfiles/controller0.xml @@ -4,7 +4,7 @@ SteamInput-P1 SDLController - 0_03000000de280000ff11000001000000 + 0_030079f6de280000ff11000001000000 Steam Virtual Gamepad 0 @@ -20,10 +20,62 @@ 1 + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + 25 + + 24 + + 23 @@ -60,66 +112,14 @@ 15 - - 2 - - 14 - - 3 - - - - 4 - - - - 5 - - - - 6 - - - - 7 - - - - 8 - - - - 9 - - - - 10 - - - - 24 - - - - 11 - - 13 - - 12 - - - - 1 - - diff --git a/emu-configs/cemu/controllerProfiles/controller1.xml b/emu-configs/cemu/controllerProfiles/controller1.xml index 8cd44de7..7d94de0b 100644 --- a/emu-configs/cemu/controllerProfiles/controller1.xml +++ b/emu-configs/cemu/controllerProfiles/controller1.xml @@ -1,7 +1,6 @@ Wii U Pro Controller - SteamInput-P2 SDLController 1_03000000de280000ff11000001000000 @@ -19,65 +18,65 @@ 1 + + 12 + + 13 - - 14 - - - - 15 - - - - 16 - - - - 17 - - - - 18 - - - - 19 - - - - 20 - - - - 21 - - - - 22 - - 23 - 1 - + 22 + + + + 21 + + + + 20 + + + + 19 + + + + 18 + + + + 17 + + + + 16 + + + + 15 + + + + 24 + 2 - + 3 - + 4 - + 5 @@ -103,17 +102,17 @@ 10 - - 12 - - 25 - 24 - + 14 + + + + 1 + diff --git a/emu-configs/cemu/controllerProfiles/controller2.xml b/emu-configs/cemu/controllerProfiles/controller2.xml index ed9033cf..3a45edb9 100644 --- a/emu-configs/cemu/controllerProfiles/controller2.xml +++ b/emu-configs/cemu/controllerProfiles/controller2.xml @@ -20,25 +20,29 @@ - 24 - + 13 + - 25 - - - - 12 - + 23 + 10 + + 22 + + 9 + + 21 + + 8 @@ -60,21 +64,21 @@ - 3 - + 25 + - 13 - - - - 14 - + 12 + 1 + + 14 + + 15 @@ -87,6 +91,10 @@ 16 + + 3 + + 17 @@ -104,16 +112,8 @@ - 21 - - - - 22 - - - - 23 - + 24 + diff --git a/emu-configs/cemu/controllerProfiles/controller3.xml b/emu-configs/cemu/controllerProfiles/controller3.xml index c2c639ad..b3cc689f 100644 --- a/emu-configs/cemu/controllerProfiles/controller3.xml +++ b/emu-configs/cemu/controllerProfiles/controller3.xml @@ -20,25 +20,29 @@ - 24 - + 13 + - 25 - - - - 12 - + 23 + 10 + + 22 + + 9 + + 21 + + 8 @@ -60,21 +64,21 @@ - 3 - + 25 + - 13 - - - - 14 - + 12 + 1 + + 14 + + 15 @@ -87,6 +91,10 @@ 16 + + 3 + + 17 @@ -104,16 +112,8 @@ - 21 - - - - 22 - - - - 23 - + 24 + From 8798ba8bf892581daba0693f846106a2809c7047 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 11 Jul 2024 17:31:34 +0900 Subject: [PATCH 130/171] RYUJINX: including a test build totry to fix the symlink issue - fix 1 --- net.retrodeck.retrodeck.appdata.xml | 1 + net.retrodeck.retrodeck.yml | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 9818c1e9..12b231bf 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -84,6 +84,7 @@
  • CEMU: now audio should work correctly when docking and undocking the Steam Deck
  • CEMU: added microphone blow input to R3
  • DUCKSTATION: now out of the rolling release
  • +
  • RYUJINX: fixed an issue where firmware and keys were not correctly loaded due to a broken symlink upstream
  • INFRASTRUCTURE: we now have a self-hosted Gitea repo in case fo disaster recovery
  • Known issues:

    diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index af1a6d58..837cf172 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1236,11 +1236,13 @@ modules: buildsystem: simple build-commands: - | + mkdir -p ${FLATPAK_DEST}/ryujinx + mkdir -p ${FLATPAK_DEST}/bin mv -v * ${FLATPAK_DEST}/ryujinx - ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh + ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx.sh ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: archive - url: https://nightly.link/Ryujinx/Ryujinx/actions/artifacts/1688764696.zip + url: https://productionresultssa16.blob.core.windows.net/actions-results/ce0f0f41-48d9-4b8f-bead-e2246179dff1/workflow-job-run-53bad77f-70f5-5de0-58cd-6d1d3ebce659/artifacts/49fc825c955586ae7dcea975cda624177b98b9577ba4d98c46fd9449738279ab.zip?rscd=attachment%3B+filename%3D%22ryujinx-Release-1.1.0%2Ba51eb36-linux_x64.zip%22&se=2024-07-11T08%3A24%3A57Z&sig=SFOG0tSN6ydiFgBc%2B23YblX3D%2F10CQgKZp3vMDKGQ28%3D&ske=2024-07-11T19%3A55%3A26Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2024-07-11T07%3A55%3A26Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2023-11-03&sp=r&spr=https&sr=b&st=2024-07-11T08%3A14%3A52Z&sv=2023-11-03 sha256: c68dd357830abd8c5fe809cb591efecafe590ae8221ef0e590a8136b184816a1 # Ryujinx Appimage - END From 9d95a6bc21a04afb40f4406ee808b6aaf1e0be21 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 11 Jul 2024 09:39:29 -0400 Subject: [PATCH 131/171] Add supported emulators reference file --- .../reference_lists/supported_emulators.cfg | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 emu-configs/defaults/retrodeck/reference_lists/supported_emulators.cfg diff --git a/emu-configs/defaults/retrodeck/reference_lists/supported_emulators.cfg b/emu-configs/defaults/retrodeck/reference_lists/supported_emulators.cfg new file mode 100644 index 00000000..17f51083 --- /dev/null +++ b/emu-configs/defaults/retrodeck/reference_lists/supported_emulators.cfg @@ -0,0 +1,15 @@ +cemu^/app/bin/Cemu-wrapper +citra^/var/data/ponzu/Citra/bin/citra-qt +dolphin^/app/bin/dolphin-emu +duckstation^/app/bin/duckstation-qt +mame^/app/bin/mame +melonds^/app/bin/melonds +pcsx2^/app/bin/pcsx2-qt +ppsspp^/app/bin/PPSSPPSDL +primehack^/app/bin/primehack-wrapper +retroarch^/app/bin/retroarch +rpcs3^/app/bin/rpcs3 +ryujinx^/app/bin/Ryujinx.sh +vita3k^/app/bin/Vita3K +xemu^/app/bin/xemu +yuzu^/var/data/ponzu/Yuzu/bin/yuzu From 4b72e3cb21b5a9035e4552dd94e2c9bb4ae01fd7 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 11 Jul 2024 09:39:51 -0400 Subject: [PATCH 132/171] Add missing emulators to name prettification reference file. --- .../retrodeck/reference_lists/pretty_system_names.cfg | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg b/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg index 9eec0818..309b38fa 100644 --- a/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg +++ b/emu-configs/defaults/retrodeck/reference_lists/pretty_system_names.cfg @@ -1,11 +1,14 @@ +cemu^Cemu (Nintendo Wii U Standalone Emulator) citra^Citra (Nintendo 3DS Standalone Emulator, via Ponzu) -dolphin^Dolphin (GameCube / Wii Standalone Emulator) +dolphin^Dolphin (Nintendo GameCube / Wii Standalone Emulator) duckstation^Duckstation (Sony Playstation Standalone Emulator) gb^Nintendo GameBoy gba^Nintendo GameBoy Advance gbc^Nintendo GameBoy Color genesis^Sega Genesis/Master System gg^Sega GameGear +mame^MAME (Multi-Arcade Machine Standalone Emulator) +melonds^MelonDS (Nintendo DS Standalone Emulator) n64^Nintendo 64 pcsx2^PCSX2 (Sony Playstation 2 Standalone Emulator) ppsspp^PPSSPP (Sony PSP Standalone Emulator) @@ -15,4 +18,6 @@ retroarch^RetroArch (Multi-emulator Frontend) rpcs3^RPCS3 (Sony Playstation 3 Standalone Emulator) ryujinx^Ryujinx (Nintendo Switch Standalone Emulator) snes^Nintendo Super Nintendo +vita3k^Vita3K (Sony PSVita Standalone Emulator) +xemu^XEMU (Microsoft Xbox Standalone Emulator) yuzu^Yuzu (Nintendo Switch Standalone Emulator, via Ponzu) From 0daf7ce66f744b9fec41fb4bc41144db3d779df8 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 12 Jul 2024 00:26:52 +0900 Subject: [PATCH 133/171] RYUJINX: providing a new link for the temp release --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 837cf172..962cc841 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1242,7 +1242,7 @@ modules: ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx.sh ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: archive - url: https://productionresultssa16.blob.core.windows.net/actions-results/ce0f0f41-48d9-4b8f-bead-e2246179dff1/workflow-job-run-53bad77f-70f5-5de0-58cd-6d1d3ebce659/artifacts/49fc825c955586ae7dcea975cda624177b98b9577ba4d98c46fd9449738279ab.zip?rscd=attachment%3B+filename%3D%22ryujinx-Release-1.1.0%2Ba51eb36-linux_x64.zip%22&se=2024-07-11T08%3A24%3A57Z&sig=SFOG0tSN6ydiFgBc%2B23YblX3D%2F10CQgKZp3vMDKGQ28%3D&ske=2024-07-11T19%3A55%3A26Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2024-07-11T07%3A55%3A26Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2023-11-03&sp=r&spr=https&sr=b&st=2024-07-11T08%3A14%3A52Z&sv=2023-11-03 + url: https://github.com/XargonWan/cachetest/releases/download/1.2.4b/ryujinx-Release-1.1.0+a51eb36-linux_x64.zip sha256: c68dd357830abd8c5fe809cb591efecafe590ae8221ef0e590a8136b184816a1 # Ryujinx Appimage - END From 42381d0adc464c825c1fa0bc540c3631f3a493aa Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 12 Jul 2024 09:34:48 +0900 Subject: [PATCH 134/171] RYUJINX: providing a new link for the temp release - fix 1 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 962cc841..5e7cd5af 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1242,7 +1242,7 @@ modules: ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx.sh ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: archive - url: https://github.com/XargonWan/cachetest/releases/download/1.2.4b/ryujinx-Release-1.1.0+a51eb36-linux_x64.zip + url: https://gitlab.com/-/project/59825450/uploads/869e2327571b1f40b774a3159c74a4a3/ryujinx-Release-1.1.0-a51eb36-linux_x64.zip sha256: c68dd357830abd8c5fe809cb591efecafe590ae8221ef0e590a8136b184816a1 # Ryujinx Appimage - END From fc0998d35ef6d66635a822bff848affbf538a02e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 12 Jul 2024 14:15:17 +0900 Subject: [PATCH 135/171] RYUJINX: missing chmod --- net.retrodeck.retrodeck.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 5e7cd5af..7469b910 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1240,6 +1240,7 @@ modules: mkdir -p ${FLATPAK_DEST}/bin mv -v * ${FLATPAK_DEST}/ryujinx ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx.sh ${FLATPAK_DEST}/bin/Ryujinx.sh + chmod +x ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: archive url: https://gitlab.com/-/project/59825450/uploads/869e2327571b1f40b774a3159c74a4a3/ryujinx-Release-1.1.0-a51eb36-linux_x64.zip From 214e907ecc5167c6a987f881bb268e758569000c Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 12 Jul 2024 14:21:06 +0900 Subject: [PATCH 136/171] RYUJINX: missing chmod - fix --- net.retrodeck.retrodeck.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 7469b910..d3db2b8b 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1238,6 +1238,8 @@ modules: - | mkdir -p ${FLATPAK_DEST}/ryujinx mkdir -p ${FLATPAK_DEST}/bin + chmod +x Ryujinx.sh + chmod +x Ryujinx mv -v * ${FLATPAK_DEST}/ryujinx ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx.sh ${FLATPAK_DEST}/bin/Ryujinx.sh chmod +x ${FLATPAK_DEST}/bin/Ryujinx.sh From 21834feeadcc874e8dd452b2b9c7c1e8f846041f Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 12 Jul 2024 17:02:56 +0900 Subject: [PATCH 137/171] DEVELOPER_TOOLBOX: fixing local build --- .gitignore | 2 +- automation_tools/appdata_management.sh | 24 +++++++++---------- automation_tools/flatpak_build_bundle.sh | 4 ++-- .../flatpak_build_download_only.sh | 4 ++-- automation_tools/flatpak_build_only.sh | 5 ++-- developer_toolbox/build_retrodeck_locally.sh | 5 ++++ 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 05fda91c..393e53ca 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ backup tmp .godot rd-submodules/es-de/patches-tmp* -.local/ +retrodeck-repo buildid *.bak incconfigs/ diff --git a/automation_tools/appdata_management.sh b/automation_tools/appdata_management.sh index 9eb2ba4e..072dd8ee 100755 --- a/automation_tools/appdata_management.sh +++ b/automation_tools/appdata_management.sh @@ -40,19 +40,19 @@ release_snippet="\ xml_content=$(cat "$appdata_file") # Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes -# TODO -git clone https://github.com/XargonWan/RetroDECK.wiki.git /tmp/wiki +# # TODO +# git clone https://github.com/XargonWan/RetroDECK.wiki.git /tmp/wiki -# Path to the markdown file -wiki="/tmp/wiki/Version-history:-Patch-Notes.md" -# Read the markdown file until the first occurrence of "---" -latest_version_notes="" -while IFS= read -r line; do - if [ "$line" = "---" ]; then - break - fi - latest_version_notes+="$line\n" -done < "$wiki" +# # Path to the markdown file +# wiki="/tmp/wiki/Version-history:-Patch-Notes.md" +# # Read the markdown file until the first occurrence of "---" +# latest_version_notes="" +# while IFS= read -r line; do +# if [ "$line" = "---" ]; then +# break +# fi +# latest_version_notes+="$line\n" +# done < "$wiki" # Extract the version number version_number="${latest_version_notes#*# RetroDECK }" # Remove text before "# RetroDECK " diff --git a/automation_tools/flatpak_build_bundle.sh b/automation_tools/flatpak_build_bundle.sh index 8e79186f..b242820b 100755 --- a/automation_tools/flatpak_build_bundle.sh +++ b/automation_tools/flatpak_build_bundle.sh @@ -3,9 +3,9 @@ # This is building the bundle RetroDECK.flatpak after the download and build steps are done if [ "${GITHUB_REF##*/}" = "main" ]; then - flatpak build-bundle "${GITHUB_WORKSPACE}/.local" "$GITHUB_WORKSPACE/RetroDECK.flatpak" net.retrodeck.retrodeck + flatpak build-bundle "${GITHUB_WORKSPACE}/retrodeck-repo" "$GITHUB_WORKSPACE/RetroDECK.flatpak" net.retrodeck.retrodeck sha256sum RetroDECK.flatpak > RetroDECK.flatpak.sha else - flatpak build-bundle "${GITHUB_WORKSPACE}/.local" "$GITHUB_WORKSPACE/RetroDECK-cooker.flatpak" net.retrodeck.retrodeck + flatpak build-bundle "${GITHUB_WORKSPACE}/retrodeck-repo" "$GITHUB_WORKSPACE/RetroDECK-cooker.flatpak" net.retrodeck.retrodeck sha256sum RetroDECK-cooker.flatpak > RetroDECK-cooker.flatpak.sha fi \ No newline at end of file diff --git a/automation_tools/flatpak_build_download_only.sh b/automation_tools/flatpak_build_download_only.sh index 8c779fbb..e8fca807 100755 --- a/automation_tools/flatpak_build_download_only.sh +++ b/automation_tools/flatpak_build_download_only.sh @@ -12,12 +12,12 @@ else FOLDER=retrodeck-flatpak-cooker fi -mkdir -vp "${GITHUB_WORKSPACE}"/{.local,retrodeck-flatpak-cooker} +mkdir -vp "${GITHUB_WORKSPACE}"/{retrodeck-repo,retrodeck-flatpak-cooker} flatpak-builder --user --force-clean \ --install-deps-from=flathub \ --install-deps-from=flathub-beta \ - --repo="${GITHUB_WORKSPACE}/.local" \ + --repo="${GITHUB_WORKSPACE}/retrodeck-repo" \ --download-only \ "${GITHUB_WORKSPACE}/${FOLDER}" \ net.retrodeck.retrodeck.yml diff --git a/automation_tools/flatpak_build_only.sh b/automation_tools/flatpak_build_only.sh index c7f84d82..25eb459c 100755 --- a/automation_tools/flatpak_build_only.sh +++ b/automation_tools/flatpak_build_only.sh @@ -12,13 +12,14 @@ else FOLDER=retrodeck-flatpak-cooker fi -mkdir -vp ${GITHUB_WORKSPACE}/.local +mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-repo mkdir -vp ${GITHUB_WORKSPACE}/"$FOLDER" flatpak-builder --user --force-clean \ --install-deps-from=flathub \ --install-deps-from=flathub-beta \ - --repo=${GITHUB_WORKSPACE}/.local \ + --repo=${GITHUB_WORKSPACE}/retrodeck-repo \ --disable-download \ + $disable_rofiles_fuse \ "${GITHUB_WORKSPACE}/$FOLDER" \ net.retrodeck.retrodeck.yml \ No newline at end of file diff --git a/developer_toolbox/build_retrodeck_locally.sh b/developer_toolbox/build_retrodeck_locally.sh index 85b9e90e..027ee01e 100755 --- a/developer_toolbox/build_retrodeck_locally.sh +++ b/developer_toolbox/build_retrodeck_locally.sh @@ -5,6 +5,11 @@ git submodule update --init --recursive export GITHUB_WORKSPACE="." +export $disable_rofiles_fuse="--disable-rofiles-fuse" + +# Initialize the Flatpak repo +ostree init --mode=archive-z2 --repo=${GITHUB_WORKSPACE}/retrodeck-repo + cp net.retrodeck.retrodeck.appdata.xml net.retrodeck.retrodeck.appdata.xml.bak cp net.retrodeck.retrodeck.yml net.retrodeck.retrodeck.yml.bak From e47c9503fe4487f76b9b512a1a1eb24a0ca17962 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 12 Jul 2024 17:26:45 +0900 Subject: [PATCH 138/171] DEVELOPER_TOOLBOX: disabled appdata management in local build --- automation_tools/appdata_management.sh | 24 ++++++++++---------- developer_toolbox/build_retrodeck_locally.sh | 3 ++- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/automation_tools/appdata_management.sh b/automation_tools/appdata_management.sh index 072dd8ee..9eb2ba4e 100755 --- a/automation_tools/appdata_management.sh +++ b/automation_tools/appdata_management.sh @@ -40,19 +40,19 @@ release_snippet="\ xml_content=$(cat "$appdata_file") # Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes -# # TODO -# git clone https://github.com/XargonWan/RetroDECK.wiki.git /tmp/wiki +# TODO +git clone https://github.com/XargonWan/RetroDECK.wiki.git /tmp/wiki -# # Path to the markdown file -# wiki="/tmp/wiki/Version-history:-Patch-Notes.md" -# # Read the markdown file until the first occurrence of "---" -# latest_version_notes="" -# while IFS= read -r line; do -# if [ "$line" = "---" ]; then -# break -# fi -# latest_version_notes+="$line\n" -# done < "$wiki" +# Path to the markdown file +wiki="/tmp/wiki/Version-history:-Patch-Notes.md" +# Read the markdown file until the first occurrence of "---" +latest_version_notes="" +while IFS= read -r line; do + if [ "$line" = "---" ]; then + break + fi + latest_version_notes+="$line\n" +done < "$wiki" # Extract the version number version_number="${latest_version_notes#*# RetroDECK }" # Remove text before "# RetroDECK " diff --git a/developer_toolbox/build_retrodeck_locally.sh b/developer_toolbox/build_retrodeck_locally.sh index 027ee01e..a5bbe028 100755 --- a/developer_toolbox/build_retrodeck_locally.sh +++ b/developer_toolbox/build_retrodeck_locally.sh @@ -17,7 +17,8 @@ automation_tools/install_dependencies.sh automation_tools/cooker_build_id.sh automation_tools/pre_build_automation.sh automation_tools/cooker_flatpak_portal_add.sh -automation_tools/appdata_management.sh +# THIS SCRIPT IS BROKEN HENCE DISABLED FTM +# automation_tools/appdata_management.sh automation_tools/flatpak_build_download_only.sh automation_tools/flatpak_build_only.sh automation_tools/flatpak_build_bundle.sh From f5867e20cb883c14165d08e7e2fc30531311a02f Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 12 Jul 2024 20:47:05 +0900 Subject: [PATCH 139/171] RYUJINX: symlinked the config file until the situation is back to normal --- functions/post_update.sh | 7 ++++++- functions/prepare_component.sh | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 7d638ffd..39b18a27 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -345,6 +345,8 @@ post_update() { mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" && rm -rf "$rdhome/gamelists" + log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it." + ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json" fi # if [[ $(check_version_is_older_than "0.9.0b") == "true" ]]; then @@ -360,7 +362,10 @@ post_update() { # log AND ZENITY "Found Cemu keys.txt" in "/var/data/Cemu/keys.txt", for a better compatibility is better to move it into "$bios_folder/cemu/mlc/keys.txt, do you want to continue? # if yes: mv "/var/data/Cemu/keys.txt" "$bios_folder/cemu/mlc/keys.txt" # ln -s "$bios_folder/cemu/mlc/keys.txt" "/var/data/Cemu/keys.txt" <--- AND THIS SHOULD BE EVEN PUT IN THE PREPARATION SCRIPT - # fi + # fi + # TODO: is this true? + # log i "Since in this version we restored Ryujinx to a main buikd we don't need the symlink anymore." + # rm "$(dirname $ryujinxconf)/PRConfig.json" # fi # The following commands are run every time. diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 13922609..306389f2 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -628,6 +628,9 @@ prepare_component() { dir_prep "$saves_folder/switch/ryujinx/sdcard" "/var/config/Ryujinx/sdcard" dir_prep "$bios_folder/switch/firmware" "/var/config/Ryujinx/bis/system/Contents/registered" dir_prep "$bios_folder/switch/keys" "/var/config/Ryujinx/system" + # TODO: delete these two lines after Ryujinx is back to a proper build + log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it." # TODO: deleteme later + ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json" # TODO: deleteme later fi fi # if [[ "$action" == "reset" ]] || [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves From edb50b5df0d246bc89c6c0fd2720490f6fbc9479 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 13 Jul 2024 08:40:30 +0900 Subject: [PATCH 140/171] RYUJINX: PR build updated --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index d3db2b8b..f7c1d96d 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1245,8 +1245,8 @@ modules: chmod +x ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: archive - url: https://gitlab.com/-/project/59825450/uploads/869e2327571b1f40b774a3159c74a4a3/ryujinx-Release-1.1.0-a51eb36-linux_x64.zip - sha256: c68dd357830abd8c5fe809cb591efecafe590ae8221ef0e590a8136b184816a1 + url: https://gitlab.com/-/project/59825450/uploads/8519a04d7a3f5b5949f14b6ad25a4185/ryujinx-Release-1.1.0+81fd228-linux_x64.zip + sha256: 9e4a4393a3dcc44fda2aec40c2842492e30656c7369a9959d865a3351f12eeb9 # Ryujinx Appimage - END From 0ce190b75fc77ddf40f0a4d3620abffe5224deb6 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 13 Jul 2024 08:41:27 +0900 Subject: [PATCH 141/171] DEVELOPER_TOOLBOX: reverted rofiles edit --- automation_tools/flatpak_build_only.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/automation_tools/flatpak_build_only.sh b/automation_tools/flatpak_build_only.sh index 25eb459c..33276379 100755 --- a/automation_tools/flatpak_build_only.sh +++ b/automation_tools/flatpak_build_only.sh @@ -20,6 +20,5 @@ flatpak-builder --user --force-clean \ --install-deps-from=flathub-beta \ --repo=${GITHUB_WORKSPACE}/retrodeck-repo \ --disable-download \ - $disable_rofiles_fuse \ "${GITHUB_WORKSPACE}/$FOLDER" \ net.retrodeck.retrodeck.yml \ No newline at end of file From 9eacd5fab30cb3391730a11d2bfb1c64f15e9313 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 13 Jul 2024 08:46:52 +0900 Subject: [PATCH 142/171] APPDATA: updated patchnotes [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 12b231bf..510d0d91 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,7 +67,7 @@ GPL-3.0 CC0-1.0 - + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.2b

    Changes:

    @@ -78,7 +78,7 @@
  • CONFIGURATOR: fixed an issue in the multi-file compression tool that prevented some type of files to be converted
  • CONFIGURATOR: added headless state for some functions (this will help to migrate to the Godot Configurator)
  • CONFIGURATOR: added a new "Empty ROMs folder removal" tool helping the user to cleanup the roms folder by deleting the empty folders
  • -
  • CONFIGURATOR: edded a new "Rebuild removed ROMs folders" tool. This is complementary to the previous one:by recreating the whole roms folder structure
  • +
  • CONFIGURATOR: added a new "Rebuild removed ROMs folders" tool. This is complementary to the previous one:by recreating the whole roms folder structure
  • CONFIGURATOR: chd compression functionality restored
  • FRAMEWORK: fixed an issue where second level subfolders inside retrodeck folder were not correctly placed, this caused errors on ES-DE as themes and downloaded_media folder could not be found after a reset or first install
  • CEMU: now audio should work correctly when docking and undocking the Steam Deck
  • From 2ffe0298da68be299bde6cf8a0b1201c7fa1372e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 13 Jul 2024 08:47:29 +0900 Subject: [PATCH 143/171] DEVELOPER_TOOLBOX: added a check to warn the user about sudo [skip ci] --- developer_toolbox/build_retrodeck_locally.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/developer_toolbox/build_retrodeck_locally.sh b/developer_toolbox/build_retrodeck_locally.sh index a5bbe028..b7b53a63 100755 --- a/developer_toolbox/build_retrodeck_locally.sh +++ b/developer_toolbox/build_retrodeck_locally.sh @@ -2,10 +2,18 @@ # WARNING: run this script from the project root folder, not from here!! +# Check if script is running with elevated privileges +if [ "$EUID" -ne 0 ]; then + echo "The build might fail without some superuser permissions, please run me with sudo. Continue without sudo? [y/N,]" + read -r continue_without_sudo + if [[ "$continue_without_sudo" != "y" ]]; then + exit 1 + fi +fi + git submodule update --init --recursive export GITHUB_WORKSPACE="." -export $disable_rofiles_fuse="--disable-rofiles-fuse" # Initialize the Flatpak repo ostree init --mode=archive-z2 --repo=${GITHUB_WORKSPACE}/retrodeck-repo From 6e9c25d904561f5d1548638c42e3da360ef1457e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 14 Jul 2024 04:17:42 +0200 Subject: [PATCH 144/171] PCSX2: updated --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index f7c1d96d..60cb678a 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -680,8 +680,8 @@ modules: - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" sources: - type: file - url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.5967/pcsx2-v1.7.5967-linux-appimage-x64-Qt.AppImage - sha256: 7af0257204fac749efd1d6a309e287378f56bae54446902a5f34aafe17ce9915 + url: https://github.com/PCSX2/pcsx2/releases/download/v2.0.3/pcsx2-v2.0.3-linux-appimage-x64-Qt.AppImage + sha256: ce1a6240643a1c7b68d5ad21789bf9de218fcef6f61649a6503b7de7bfce186f # PCSX2 - END From 821865ef6432858f2a2713a0028faab335423bec Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 15 Jul 2024 12:37:42 +0900 Subject: [PATCH 145/171] APPDATA: updated [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 510d0d91..0821f746 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,7 +67,7 @@ GPL-3.0 CC0-1.0 - + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.2b

    Changes:

    @@ -84,7 +84,6 @@
  • CEMU: now audio should work correctly when docking and undocking the Steam Deck
  • CEMU: added microphone blow input to R3
  • DUCKSTATION: now out of the rolling release
  • -
  • RYUJINX: fixed an issue where firmware and keys were not correctly loaded due to a broken symlink upstream
  • INFRASTRUCTURE: we now have a self-hosted Gitea repo in case fo disaster recovery
  • Known issues:

    From a353f8469c43a1cf17e71db953dd6337c78665c8 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 15 Jul 2024 17:50:16 +0900 Subject: [PATCH 146/171] WORKFLOW: continue on error on GitTea artifacts uploads [skip ci] --- .github/workflows/main-selfhosted.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index f71c4446..c1932daf 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -176,3 +176,4 @@ jobs: "https://$UPLOAD_HOST/RetroDECK/RetroDECK/releases/${{ env.REL_VER }}/assets?name=RetroDECK.flatpak.sha" env: GITEA_TOKEN: ${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }} + continue-on-error: true # this will be in place until we reate an artifacts website that bypasses cloudflare limit From 24bc43eb51762af707cff2d15286379b571877ba Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 15 Jul 2024 17:51:40 +0900 Subject: [PATCH 147/171] WORKFLOW: disabled emulator update check on min push [skip ci] --- .github/workflows/emulator-updates.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/emulator-updates.yaml b/.github/workflows/emulator-updates.yaml index d55cd4a7..ef845cde 100644 --- a/.github/workflows/emulator-updates.yaml +++ b/.github/workflows/emulator-updates.yaml @@ -3,9 +3,9 @@ name: Check Emulator Updates on: # schedule: # - cron: '0 18 * * *' - push: - branches: - - main + # push: + # branches: + # - main workflow_dispatch: jobs: From 9045d1138bfbf00d23df5f371a1184d4cd0e96da Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 16 Jul 2024 10:23:16 +0900 Subject: [PATCH 148/171] DOLPHIN: updated to add cheevos support --- net.retrodeck.retrodeck.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 60cb678a..485ca13c 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -716,14 +716,14 @@ modules: # fatal: remote transport reported error # url: ssh://git@github.com/dolphin-emu/dolphin.git url: https://github.com/dolphin-emu/dolphin.git - commit: b92e354389bb7c0bd114a8631b8af110d3cb3a14 - x-checker-data: - type: json - url: https://dolphin-emu.org/update/latest/beta - commit-query: .hash - version-query: .shortrev - timestamp-query: .date - is-main-source: true + commit: 505fe5cc0e3123746e673ecca77c04ec72ff106f + # x-checker-data: + # type: json + # url: https://dolphin-emu.org/update/latest/beta + # commit-query: .hash + # version-query: .shortrev + # timestamp-query: .date + # is-main-source: true # detects whether dolphin is running in a flatpak sandbox # and makes it use xdg directories if it is. # prevents dolphin from attempting to write conf files From fd2f0085ca7b9b19259ed1f1da514b729e941814 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 16 Jul 2024 10:42:24 +0900 Subject: [PATCH 149/171] APPDATA: updated [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 0821f746..28f2c26a 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,7 +67,7 @@ GPL-3.0 CC0-1.0 - + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.2b

    Changes:

    @@ -83,6 +83,7 @@
  • FRAMEWORK: fixed an issue where second level subfolders inside retrodeck folder were not correctly placed, this caused errors on ES-DE as themes and downloaded_media folder could not be found after a reset or first install
  • CEMU: now audio should work correctly when docking and undocking the Steam Deck
  • CEMU: added microphone blow input to R3
  • +
  • DOLPHIN: now supports RetroAchivements but must be manually enabled from the emulator as the Configurator is not yet prepared for that
  • DUCKSTATION: now out of the rolling release
  • INFRASTRUCTURE: we now have a self-hosted Gitea repo in case fo disaster recovery
  • From 7811217ebebad2a44cbbd0ee20f925f4a4843559 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 16 Jul 2024 19:14:02 +0900 Subject: [PATCH 150/171] DOLPHIN: configuration update --- emu-configs/defaults/dolphin/Dolphin.ini | 19 +++++++++++++++++-- emu-configs/dolphin/Dolphin.ini | 9 +++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/emu-configs/defaults/dolphin/Dolphin.ini b/emu-configs/defaults/dolphin/Dolphin.ini index 5ac640b9..73f06aa0 100644 --- a/emu-configs/defaults/dolphin/Dolphin.ini +++ b/emu-configs/defaults/dolphin/Dolphin.ini @@ -51,10 +51,17 @@ Threads = True ISOPath0 = ISOPath1 = ISOPaths = 2 -WiiSDCardPath = WirelessMac = HotkeysRequireFocus = True RecursiveISOPaths = False +NANDRootPath = +DumpPath = /var/data/dolphin-emu/Dump/ +LoadPath = /var/data/dolphin-emu/Load/ +NANDRootPath = /var/data/dolphin-emu/Wii/ +ResourcePackPath = /var/data/dolphin-emu/ResourcePacks/ +WFSPath = +WiiSDCardPath = +WiiSDCardSyncFolder = /var/data/dolphin-emu/Load/WiiSDSync/ [Interface] ConfirmStop = True CursorVisibility = 0 @@ -63,6 +70,14 @@ PauseOnFocusLost = False ShowActiveTitle = True UseBuiltinTitleDatabase = True UsePanicHandlers = True +[NetPlay] +TraversalChoice = direct +[Core] +SelectedLanguage = 0 +SerialPort1 = 255 +SkipIPL = True +SlotA = 8 +SlotB = 255 [BluetoothPassthrough] Enabled = False [DSP] @@ -77,4 +92,4 @@ SavesInRomPath = False SavesPath = Threads = True [Input] -BackgroundInput = False +BackgroundInput = False \ No newline at end of file diff --git a/emu-configs/dolphin/Dolphin.ini b/emu-configs/dolphin/Dolphin.ini index fb00bed7..092c4b60 100644 --- a/emu-configs/dolphin/Dolphin.ini +++ b/emu-configs/dolphin/Dolphin.ini @@ -42,12 +42,17 @@ Threads = True [General] ISOPath0 = RETRODECKHOMEDIR/roms/wii ISOPath1 = RETRODECKHOMEDIR/roms/gc -ISOPaths = 3 +ISOPaths = 2 WiiSDCardPath = RETRODECKHOMEDIR/saves/wii/dolphin/sd.raw WirelessMac = 00:17:ab:83:9b:d4 HotkeysRequireFocus = True RecursiveISOPaths = True -ISOPath2 = RETRODECKHOMEDIR/roms/wii +DumpPath = /var/data/dolphin-emu/Dump/ +LoadPath = /var/data/dolphin-emu/Load/ +NANDRootPath = /var/data/dolphin-emu/Wii/ +ResourcePackPath = /var/data/dolphin-emu/ResourcePacks/ +WFSPath = +WiiSDCardSyncFolder = /var/data/dolphin-emu/Load/WiiSDSync/ [NetPlay] TraversalChoice = direct [BluetoothPassthrough] From dc1c4467888a252467d4498300d542bfe46ac779 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Tue, 16 Jul 2024 09:35:44 -0400 Subject: [PATCH 151/171] Move unused /emu-configs/defaults/ folders to /old --- .../emu-configs}/defaults/citra/citra-qt-config.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/Dolphin.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/FreeLook.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/GBA.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/GCPadNew.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/GFX.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/Hotkeys.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/Qt.ini | 0 {emu-configs => old/emu-configs}/defaults/dolphin/WiimoteNew.ini | 0 .../emu-configs}/defaults/duckstation/settings.ini | 0 {emu-configs => old/emu-configs}/defaults/melonds/melonDS.ini | 0 {emu-configs => old/emu-configs}/defaults/pcsx2-qt/PCSX2.ini | 0 {emu-configs => old/emu-configs}/defaults/ppsspp/controls.ini | 0 {emu-configs => old/emu-configs}/defaults/ppsspp/ppsspp.ini | 0 {emu-configs => old/emu-configs}/defaults/primehack/Dolphin.ini | 0 .../emu-configs}/defaults/primehack/FreeLookController.ini | 0 {emu-configs => old/emu-configs}/defaults/primehack/GBA.ini | 0 {emu-configs => old/emu-configs}/defaults/primehack/GCKeyNew.ini | 0 {emu-configs => old/emu-configs}/defaults/primehack/GCPadNew.ini | 0 {emu-configs => old/emu-configs}/defaults/primehack/Logger.ini | 0 {emu-configs => old/emu-configs}/defaults/primehack/Qt.ini | 0 .../emu-configs}/defaults/primehack/WiimoteNew.ini | 0 .../emu-configs}/defaults/retroarch/retroarch-core-options.cfg | 0 {emu-configs => old/emu-configs}/defaults/retroarch/retroarch.cfg | 0 {emu-configs => old/emu-configs}/defaults/rpcs3/config.yml | 0 {emu-configs => old/emu-configs}/defaults/rpcs3/vfs.yml | 0 {emu-configs => old/emu-configs}/defaults/xemu/xemu.toml | 0 {emu-configs => old/emu-configs}/defaults/yuzu/qt-config.ini | 0 28 files changed, 0 insertions(+), 0 deletions(-) rename {emu-configs => old/emu-configs}/defaults/citra/citra-qt-config.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/Dolphin.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/FreeLook.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/GBA.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/GCPadNew.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/GFX.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/Hotkeys.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/Qt.ini (100%) rename {emu-configs => old/emu-configs}/defaults/dolphin/WiimoteNew.ini (100%) rename {emu-configs => old/emu-configs}/defaults/duckstation/settings.ini (100%) rename {emu-configs => old/emu-configs}/defaults/melonds/melonDS.ini (100%) rename {emu-configs => old/emu-configs}/defaults/pcsx2-qt/PCSX2.ini (100%) rename {emu-configs => old/emu-configs}/defaults/ppsspp/controls.ini (100%) rename {emu-configs => old/emu-configs}/defaults/ppsspp/ppsspp.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/Dolphin.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/FreeLookController.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/GBA.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/GCKeyNew.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/GCPadNew.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/Logger.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/Qt.ini (100%) rename {emu-configs => old/emu-configs}/defaults/primehack/WiimoteNew.ini (100%) rename {emu-configs => old/emu-configs}/defaults/retroarch/retroarch-core-options.cfg (100%) rename {emu-configs => old/emu-configs}/defaults/retroarch/retroarch.cfg (100%) rename {emu-configs => old/emu-configs}/defaults/rpcs3/config.yml (100%) rename {emu-configs => old/emu-configs}/defaults/rpcs3/vfs.yml (100%) rename {emu-configs => old/emu-configs}/defaults/xemu/xemu.toml (100%) rename {emu-configs => old/emu-configs}/defaults/yuzu/qt-config.ini (100%) diff --git a/emu-configs/defaults/citra/citra-qt-config.ini b/old/emu-configs/defaults/citra/citra-qt-config.ini similarity index 100% rename from emu-configs/defaults/citra/citra-qt-config.ini rename to old/emu-configs/defaults/citra/citra-qt-config.ini diff --git a/emu-configs/defaults/dolphin/Dolphin.ini b/old/emu-configs/defaults/dolphin/Dolphin.ini similarity index 100% rename from emu-configs/defaults/dolphin/Dolphin.ini rename to old/emu-configs/defaults/dolphin/Dolphin.ini diff --git a/emu-configs/defaults/dolphin/FreeLook.ini b/old/emu-configs/defaults/dolphin/FreeLook.ini similarity index 100% rename from emu-configs/defaults/dolphin/FreeLook.ini rename to old/emu-configs/defaults/dolphin/FreeLook.ini diff --git a/emu-configs/defaults/dolphin/GBA.ini b/old/emu-configs/defaults/dolphin/GBA.ini similarity index 100% rename from emu-configs/defaults/dolphin/GBA.ini rename to old/emu-configs/defaults/dolphin/GBA.ini diff --git a/emu-configs/defaults/dolphin/GCPadNew.ini b/old/emu-configs/defaults/dolphin/GCPadNew.ini similarity index 100% rename from emu-configs/defaults/dolphin/GCPadNew.ini rename to old/emu-configs/defaults/dolphin/GCPadNew.ini diff --git a/emu-configs/defaults/dolphin/GFX.ini b/old/emu-configs/defaults/dolphin/GFX.ini similarity index 100% rename from emu-configs/defaults/dolphin/GFX.ini rename to old/emu-configs/defaults/dolphin/GFX.ini diff --git a/emu-configs/defaults/dolphin/Hotkeys.ini b/old/emu-configs/defaults/dolphin/Hotkeys.ini similarity index 100% rename from emu-configs/defaults/dolphin/Hotkeys.ini rename to old/emu-configs/defaults/dolphin/Hotkeys.ini diff --git a/emu-configs/defaults/dolphin/Qt.ini b/old/emu-configs/defaults/dolphin/Qt.ini similarity index 100% rename from emu-configs/defaults/dolphin/Qt.ini rename to old/emu-configs/defaults/dolphin/Qt.ini diff --git a/emu-configs/defaults/dolphin/WiimoteNew.ini b/old/emu-configs/defaults/dolphin/WiimoteNew.ini similarity index 100% rename from emu-configs/defaults/dolphin/WiimoteNew.ini rename to old/emu-configs/defaults/dolphin/WiimoteNew.ini diff --git a/emu-configs/defaults/duckstation/settings.ini b/old/emu-configs/defaults/duckstation/settings.ini similarity index 100% rename from emu-configs/defaults/duckstation/settings.ini rename to old/emu-configs/defaults/duckstation/settings.ini diff --git a/emu-configs/defaults/melonds/melonDS.ini b/old/emu-configs/defaults/melonds/melonDS.ini similarity index 100% rename from emu-configs/defaults/melonds/melonDS.ini rename to old/emu-configs/defaults/melonds/melonDS.ini diff --git a/emu-configs/defaults/pcsx2-qt/PCSX2.ini b/old/emu-configs/defaults/pcsx2-qt/PCSX2.ini similarity index 100% rename from emu-configs/defaults/pcsx2-qt/PCSX2.ini rename to old/emu-configs/defaults/pcsx2-qt/PCSX2.ini diff --git a/emu-configs/defaults/ppsspp/controls.ini b/old/emu-configs/defaults/ppsspp/controls.ini similarity index 100% rename from emu-configs/defaults/ppsspp/controls.ini rename to old/emu-configs/defaults/ppsspp/controls.ini diff --git a/emu-configs/defaults/ppsspp/ppsspp.ini b/old/emu-configs/defaults/ppsspp/ppsspp.ini similarity index 100% rename from emu-configs/defaults/ppsspp/ppsspp.ini rename to old/emu-configs/defaults/ppsspp/ppsspp.ini diff --git a/emu-configs/defaults/primehack/Dolphin.ini b/old/emu-configs/defaults/primehack/Dolphin.ini similarity index 100% rename from emu-configs/defaults/primehack/Dolphin.ini rename to old/emu-configs/defaults/primehack/Dolphin.ini diff --git a/emu-configs/defaults/primehack/FreeLookController.ini b/old/emu-configs/defaults/primehack/FreeLookController.ini similarity index 100% rename from emu-configs/defaults/primehack/FreeLookController.ini rename to old/emu-configs/defaults/primehack/FreeLookController.ini diff --git a/emu-configs/defaults/primehack/GBA.ini b/old/emu-configs/defaults/primehack/GBA.ini similarity index 100% rename from emu-configs/defaults/primehack/GBA.ini rename to old/emu-configs/defaults/primehack/GBA.ini diff --git a/emu-configs/defaults/primehack/GCKeyNew.ini b/old/emu-configs/defaults/primehack/GCKeyNew.ini similarity index 100% rename from emu-configs/defaults/primehack/GCKeyNew.ini rename to old/emu-configs/defaults/primehack/GCKeyNew.ini diff --git a/emu-configs/defaults/primehack/GCPadNew.ini b/old/emu-configs/defaults/primehack/GCPadNew.ini similarity index 100% rename from emu-configs/defaults/primehack/GCPadNew.ini rename to old/emu-configs/defaults/primehack/GCPadNew.ini diff --git a/emu-configs/defaults/primehack/Logger.ini b/old/emu-configs/defaults/primehack/Logger.ini similarity index 100% rename from emu-configs/defaults/primehack/Logger.ini rename to old/emu-configs/defaults/primehack/Logger.ini diff --git a/emu-configs/defaults/primehack/Qt.ini b/old/emu-configs/defaults/primehack/Qt.ini similarity index 100% rename from emu-configs/defaults/primehack/Qt.ini rename to old/emu-configs/defaults/primehack/Qt.ini diff --git a/emu-configs/defaults/primehack/WiimoteNew.ini b/old/emu-configs/defaults/primehack/WiimoteNew.ini similarity index 100% rename from emu-configs/defaults/primehack/WiimoteNew.ini rename to old/emu-configs/defaults/primehack/WiimoteNew.ini diff --git a/emu-configs/defaults/retroarch/retroarch-core-options.cfg b/old/emu-configs/defaults/retroarch/retroarch-core-options.cfg similarity index 100% rename from emu-configs/defaults/retroarch/retroarch-core-options.cfg rename to old/emu-configs/defaults/retroarch/retroarch-core-options.cfg diff --git a/emu-configs/defaults/retroarch/retroarch.cfg b/old/emu-configs/defaults/retroarch/retroarch.cfg similarity index 100% rename from emu-configs/defaults/retroarch/retroarch.cfg rename to old/emu-configs/defaults/retroarch/retroarch.cfg diff --git a/emu-configs/defaults/rpcs3/config.yml b/old/emu-configs/defaults/rpcs3/config.yml similarity index 100% rename from emu-configs/defaults/rpcs3/config.yml rename to old/emu-configs/defaults/rpcs3/config.yml diff --git a/emu-configs/defaults/rpcs3/vfs.yml b/old/emu-configs/defaults/rpcs3/vfs.yml similarity index 100% rename from emu-configs/defaults/rpcs3/vfs.yml rename to old/emu-configs/defaults/rpcs3/vfs.yml diff --git a/emu-configs/defaults/xemu/xemu.toml b/old/emu-configs/defaults/xemu/xemu.toml similarity index 100% rename from emu-configs/defaults/xemu/xemu.toml rename to old/emu-configs/defaults/xemu/xemu.toml diff --git a/emu-configs/defaults/yuzu/qt-config.ini b/old/emu-configs/defaults/yuzu/qt-config.ini similarity index 100% rename from emu-configs/defaults/yuzu/qt-config.ini rename to old/emu-configs/defaults/yuzu/qt-config.ini From 3583afcd178f37fe2405b34593331878764fd367 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 17 Jul 2024 09:11:01 +0900 Subject: [PATCH 152/171] APPDATA: updated [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 28f2c26a..00d10b25 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,7 +67,7 @@ GPL-3.0 CC0-1.0 - + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.2b

    Changes:

    From 018758d5b9d177edcb7fd22ce930ec889bedc170 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 17 Jul 2024 21:18:19 +0900 Subject: [PATCH 153/171] WORKFLOW: integrating new versioning flow with tags and single cooker branch --- .github/workflows/cooker-selfhosted.yml | 14 +++++++++++++- .github/workflows/main-selfhosted.yml | 10 ++++++++++ automation_tools/main_version_checker.sh | 4 ++-- net.retrodeck.retrodeck.yml | 4 ++-- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index cf831cf8..72998b32 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -64,6 +64,8 @@ jobs: # if the branch is coming from a PR the tag should be manually built - name: "Generate version tag" run: | + source automation_tools/version_extractor.sh + manifest_version=$(fetch_manifest_version) if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') @@ -71,7 +73,7 @@ jobs: echo "[DEBUG] source branch is: $source_branch" echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV else - echo "TAG=${{env.BRANCH_NAME}}-${{ env.buildid }}" >> $GITHUB_ENV + echo "TAG=${{$manifest_version}}-${{ env.buildid }}" >> $GITHUB_ENV fi echo "Version TAG: ${{ env.TAG }}" @@ -159,6 +161,16 @@ jobs: repo: RetroDECK-cooker continue-on-error: true + - name: Rewrite Tag + run: | + git fetch --tags + if git rev-parse --verify "${{ env.TAG }}" >/dev/null 2>&1; then # if the tag exists + git tag -d "${{ env.TAG }}" # remove it from local repo + git push --delete origin "${{ env.TAG }}" # and from remote + fi + git tag "${{ env.TAG }}" # Create the tag locally + git push origin "${{ env.TAG }}" # Push the new tag in the remote repo + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - name: Upload RetroDECK-cooker.flatpak uses: actions/upload-artifact@v3 diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index c1932daf..47215544 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -115,6 +115,16 @@ jobs: repo: RetroDECK continue-on-error: true + - name: Rewrite Tag + run: | + git fetch --tags + if git rev-parse --verify "${{ env.REL_VER }}" >/dev/null 2>&1; then # if the tag exists + git tag -d "${{ env.REL_VER }}" # remove it from local repo + git push --delete origin "${{ env.REL_VER }}" # and from remote + fi + git tag "${{ env.REL_VER }}" # Create the tag locally + git push origin "${{ env.REL_VER }}" # Push the new tag in the remote repo + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - name: Upload RetroDECK.flatpak uses: actions/upload-artifact@v3 diff --git a/automation_tools/main_version_checker.sh b/automation_tools/main_version_checker.sh index 87011bfd..d230b205 100755 --- a/automation_tools/main_version_checker.sh +++ b/automation_tools/main_version_checker.sh @@ -42,8 +42,8 @@ appdata_version=$(fetch_appdata_version) echo -e "Appdata:\t\t$appdata_version" # Additional checks -if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" ]]; then - echo "Manifest version cannot be 'main' or 'THISBRANCH'. Please fix it." +if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" || "$manifest_version" == *"cooker"* ]]; then + echo "Manifest version cannot be 'main', 'THISBRANCH', or contain 'cooker'. Please fix it." exit 1 fi diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 485ca13c..5d8073c0 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -77,8 +77,8 @@ modules: - | # on main please update this with the version variable, eg: VERSION=0.8.0b - # on cooker will be THISBRANCH - VERSION=THISBRANCH + # on cooker will be VERSION=cooker-0.9.0b for example + VERSION=cooker-0.9.0b git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ From b69992ccd18d568b922a59cd366907d714d34b3a Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 17 Jul 2024 23:14:28 +0900 Subject: [PATCH 154/171] WORKLFOW: comtinue on error for gitea [skip ci] --- .github/workflows/main-selfhosted.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index 47215544..3626ff93 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -176,6 +176,7 @@ jobs: -H "Content-Type: multipart/form-data" \ -F "attachment=@RetroDECK-Artifact.tar.gz" \ "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz" + continue-on-error: true # this will be in place until we reate an artifacts website that bypasses cloudflare limit - name: Upload RetroDECK.flatpak.sha to Gitea Release run: | From cdbb410de4a892828e7e66281d5c188aa0016687 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 09:09:31 +0900 Subject: [PATCH 155/171] DOLPHIN: bumped to 2407-68 to fix RA --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 5d8073c0..521de888 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -78,7 +78,7 @@ modules: # on main please update this with the version variable, eg: VERSION=0.8.0b # on cooker will be VERSION=cooker-0.9.0b for example - VERSION=cooker-0.9.0b + VERSION=cooker-0.8.2b git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ @@ -716,7 +716,7 @@ modules: # fatal: remote transport reported error # url: ssh://git@github.com/dolphin-emu/dolphin.git url: https://github.com/dolphin-emu/dolphin.git - commit: 505fe5cc0e3123746e673ecca77c04ec72ff106f + commit: cc3ff347b437fd80f3a2880d1bbc7ba2d5f191f4 # x-checker-data: # type: json # url: https://dolphin-emu.org/update/latest/beta From ef5ff4a8a4378b0885124012502b7b49beabb98c Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 09:18:50 +0900 Subject: [PATCH 156/171] WORKFLOW: integrating new versioning flow with tags and single cooker branch - fix --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 72998b32..a9c5b7f2 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -65,7 +65,7 @@ jobs: - name: "Generate version tag" run: | source automation_tools/version_extractor.sh - manifest_version=$(fetch_manifest_version) + manifest_version=${$fetch_manifest_version} if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') From 3adc2feba8558c1423a772688d6fd6d4ba0ea936 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 09:21:31 +0900 Subject: [PATCH 157/171] WORKFLOW: integrating new versioning flow with tags and single cooker branch - fix2 --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index a9c5b7f2..bf1ae8cd 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -65,7 +65,7 @@ jobs: - name: "Generate version tag" run: | source automation_tools/version_extractor.sh - manifest_version=${$fetch_manifest_version} + manifest_version="$($fetch_manifest_version)" if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') From a5f0ae5ce97723c8781e15b54f5af09c0dd94d92 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 09:25:48 +0900 Subject: [PATCH 158/171] WORKFLOW: integrating new versioning flow with tags and single cooker branch - fix3 --- .github/workflows/cooker-selfhosted.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index bf1ae8cd..84c8bf7d 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -65,7 +65,7 @@ jobs: - name: "Generate version tag" run: | source automation_tools/version_extractor.sh - manifest_version="$($fetch_manifest_version)" + echo "MANIFEST_VERSION=$($fetch_manifest_version)" >> $GITHUB_ENV if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') @@ -73,7 +73,7 @@ jobs: echo "[DEBUG] source branch is: $source_branch" echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV else - echo "TAG=${{$manifest_version}}-${{ env.buildid }}" >> $GITHUB_ENV + echo "TAG=${{ env.MANIFEST_VERSION }}-${{ env.buildid }}" >> $GITHUB_ENV fi echo "Version TAG: ${{ env.TAG }}" From 5d65c6e12af0247c515681d66400e8249124f492 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:23:28 +0900 Subject: [PATCH 159/171] WORKFLOW: fixing version extrator --- .github/workflows/cooker-selfhosted.yml | 3 ++- .github/workflows/main-selfhosted.yml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 84c8bf7d..64640af6 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -64,7 +64,7 @@ jobs: # if the branch is coming from a PR the tag should be manually built - name: "Generate version tag" run: | - source automation_tools/version_extractor.sh + /bin/bash automation_tools/version_extractor.sh echo "MANIFEST_VERSION=$($fetch_manifest_version)" >> $GITHUB_ENV if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') @@ -163,6 +163,7 @@ jobs: - name: Rewrite Tag run: | + git submodule deinit -f --all git fetch --tags if git rev-parse --verify "${{ env.TAG }}" >/dev/null 2>&1; then # if the tag exists git tag -d "${{ env.TAG }}" # remove it from local repo diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index 3626ff93..a98b3360 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -117,6 +117,7 @@ jobs: - name: Rewrite Tag run: | + git submodule deinit -f --all git fetch --tags if git rev-parse --verify "${{ env.REL_VER }}" >/dev/null 2>&1; then # if the tag exists git tag -d "${{ env.REL_VER }}" # remove it from local repo From 4e81b3b8ee4ab976a5451fdec19d906babb6d300 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:25:52 +0900 Subject: [PATCH 160/171] VERSION_EXTRACTOR: added debug output --- automation_tools/version_extractor.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/automation_tools/version_extractor.sh b/automation_tools/version_extractor.sh index b9f679ff..f4714575 100755 --- a/automation_tools/version_extractor.sh +++ b/automation_tools/version_extractor.sh @@ -32,3 +32,5 @@ fetch_manifest_version(){ manifest_version=$(echo "$manifest_version" | awk '{$1=$1;print}') echo "$manifest_version" } + +echo "Version extractor functions loaded" \ No newline at end of file From 20789a3afa52d778269ef10990e67aa9baf623a5 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:32:16 +0900 Subject: [PATCH 161/171] WORKFLOW: fixing version extrator - fix2 --- .github/workflows/cooker-selfhosted.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 64640af6..d068989a 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -64,8 +64,8 @@ jobs: # if the branch is coming from a PR the tag should be manually built - name: "Generate version tag" run: | - /bin/bash automation_tools/version_extractor.sh - echo "MANIFEST_VERSION=$($fetch_manifest_version)" >> $GITHUB_ENV + source automation_tools/version_extractor.sh + echo "MANIFEST_VERSION=$(fetch_manifest_version)" >> $GITHUB_ENV if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') From 16c70c824219aff7476e65da3bcb7e8ca5ecfb34 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:35:01 +0900 Subject: [PATCH 162/171] WORKFLOW: fixing version extrator - debug --- .github/workflows/cooker-selfhosted.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index d068989a..7a176d62 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -65,6 +65,8 @@ jobs: - name: "Generate version tag" run: | source automation_tools/version_extractor.sh + MANIFEST_VERSION="$(fetch_manifest_version)" + echo "$MANIFEST_VERSION" echo "MANIFEST_VERSION=$(fetch_manifest_version)" >> $GITHUB_ENV if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') From 8682761c6c5a0cc9f791631162d2f2de0579e57b Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:36:52 +0900 Subject: [PATCH 163/171] WORKFLOW: fixing version extrator - fix3 --- .github/workflows/cooker-selfhosted.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 7a176d62..43b4c11f 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -66,8 +66,7 @@ jobs: run: | source automation_tools/version_extractor.sh MANIFEST_VERSION="$(fetch_manifest_version)" - echo "$MANIFEST_VERSION" - echo "MANIFEST_VERSION=$(fetch_manifest_version)" >> $GITHUB_ENV + echo "MANIFEST_VERSION=$MANIFEST_VERSION" >> $GITHUB_ENV if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') From 46d1c144571866878f08a1e4b2ae84bd605ecb12 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:38:46 +0900 Subject: [PATCH 164/171] WORKFLOW: fixing version extrator - fix4 --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 43b4c11f..9e200b35 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -74,7 +74,7 @@ jobs: echo "[DEBUG] source branch is: $source_branch" echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV else - echo "TAG=${{ env.MANIFEST_VERSION }}-${{ env.buildid }}" >> $GITHUB_ENV + echo "TAG=$MANIFEST_VERSION-${{ env.buildid }}" >> $GITHUB_ENV fi echo "Version TAG: ${{ env.TAG }}" From 2bf6530c58f02122b8662ea778aedde5f671cc60 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:40:36 +0900 Subject: [PATCH 165/171] WORKFLOW: fixing version extrator - fix5 --- .github/workflows/cooker-selfhosted.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 9e200b35..d324dd8a 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -76,7 +76,8 @@ jobs: else echo "TAG=$MANIFEST_VERSION-${{ env.buildid }}" >> $GITHUB_ENV fi - echo "Version TAG: ${{ env.TAG }}" + echo "MANIFEST_VERSION: $MANIFEST_VERSION" + echo "Version TAG: $TAG" # backing up manifest in case download fails and hashes must be recalculated - name: Manifest backup From 90f25746a2e078ad15e5f747fdcc2a26cdfc7d57 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 18 Jul 2024 13:42:57 +0900 Subject: [PATCH 166/171] WORKFLOW: fixing version extrator - fix6 --- .github/workflows/cooker-selfhosted.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index d324dd8a..8dfc36fa 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -74,7 +74,8 @@ jobs: echo "[DEBUG] source branch is: $source_branch" echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV else - echo "TAG=$MANIFEST_VERSION-${{ env.buildid }}" >> $GITHUB_ENV + TAG="$MANIFEST_VERSION-${{ env.buildid }}" + echo "TAG=$TAG" >> $GITHUB_ENV fi echo "MANIFEST_VERSION: $MANIFEST_VERSION" echo "Version TAG: $TAG" From bc7978fe91aad0da272ea90c1df35264996085ca Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 19 Jul 2024 15:54:18 +0900 Subject: [PATCH 167/171] cooker-0.9.0b init [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 13 +++++++++++++ net.retrodeck.retrodeck.yml | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 00d10b25..617f0a4b 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,6 +67,19 @@ GPL-3.0 CC0-1.0 + + https://github.com/XargonWan/RetroDECK/releases/tag/0.9.0b + +

    Changes:

    +
      +
    • WELCOME TO cooker-0.9.0b!
    • +
    +

    Known issues:

    +
      +
    • Please check the know issues in the Wiki under General Information.
    • +
    +
    +
    https://github.com/XargonWan/RetroDECK/releases/tag/0.8.2b diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 521de888..f1993e16 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -78,7 +78,7 @@ modules: # on main please update this with the version variable, eg: VERSION=0.8.0b # on cooker will be VERSION=cooker-0.9.0b for example - VERSION=cooker-0.8.2b + VERSION=cooker-0.9.0b git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ From 622127b70b9bdb7eb3fdadec54716d732ff6f6d4 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 20 Jul 2024 23:39:10 +0900 Subject: [PATCH 168/171] SAVE_MIGRATION: quoted some paths [skip ci] --- functions/050_save_migration.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/functions/050_save_migration.sh b/functions/050_save_migration.sh index ccb22aef..4eaf7dc0 100644 --- a/functions/050_save_migration.sh +++ b/functions/050_save_migration.sh @@ -6,8 +6,8 @@ save_migration() { then # ROMs on SD card roms_folder="$default_sd/retrodeck/roms" - if [[ ! -L $rdhome && ! -L $rdhome/roms ]]; then # Add a roms folder symlink back to ~/retrodeck if missing, to fix things like PS2 autosaves until user migrates whole ~retrodeck directory - ln -s $roms_folder $rdhome/roms + if [[ ! -L "$rdhome" && ! -L "$rdhome/roms" ]]; then # Add a roms folder symlink back to ~/retrodeck if missing, to fix things like PS2 autosaves until user migrates whole ~retrodeck directory + ln -s $roms_folder "$rdhome/roms" fi else # ROMs on Internal @@ -30,7 +30,7 @@ save_migration() { # Doing the dir prep as we don't know from which version we came dir_prep "$media_folder" "/var/config/ES-DE/downloaded_media" dir_prep "$themes_folder" "/var/config/ES-DE/themes" - create_dir $rdhome/logs #this was added later, maybe safe to remove in a few versions + create_dir "$rdhome/logs" #this was added later, maybe safe to remove in a few versions # Resetting es_settings, now we need it but in the future I should think a better solution, maybe with sed cp -fv /app/retrodeck/es_settings.xml /var/config/ES-DE/settings/es_settings.xml @@ -39,13 +39,13 @@ save_migration() { # Perform save and state migration if needed # Moving PCSX2 Saves - mv -fv /var/config/PCSX2/sstates/* $rdhome/states/ps2/pcsx2 - mv -fv /var/config/PCSX2/memcards/* $rdhome/saves/ps2/memcards + mv -fv /var/config/PCSX2/sstates/* "$rdhome/states/ps2/pcsx2" + mv -fv /var/config/PCSX2/memcards/* "$rdhome/saves/ps2/memcards" # Moving Citra saves from legacy location to 0.5.0b structure - mv -fv $rdhome/saves/Citra/* $rdhome/saves/n3ds/citra - rmdir $rdhome/saves/Citra # Old folder cleanup + mv -fv "$rdhome/saves/Citra/"* "$rdhome/saves/n3ds/citra" + rmdir "$rdhome/saves/Citra" # Old folder cleanup versionwheresaveschanged="0.4.5b" # Hardcoded break point between unsorted and sorted saves @@ -71,9 +71,9 @@ save_migration() { current_dest_folder= gamestoskip= - tar -C $rdhome -czf $save_backup_file saves # Backup save directory for safety + tar -C "$rdhome" -czf $save_backup_file saves # Backup save directory for safety log i "Saves backed up to" $save_backup_file $migration_logfile - tar -C $rdhome -czf $state_backup_file states # Backup state directory for safety + tar -C "$rdhome" -czf $state_backup_file states # Backup state directory for safety log i "States backed up to" $state_backup_file $migration_logfile ( From 2821ce41066fb4d4a44df4410ff56e82fab19a87 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 21 Jul 2024 21:01:47 +0900 Subject: [PATCH 169/171] THEME: applied new RetroDECK Theme --- net.retrodeck.retrodeck.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index f1993e16..d8d976b3 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -423,15 +423,15 @@ modules: # ES-DE Themes - START - - name: art-book-next-es-de + - name: RetroDECK Theme buildsystem: simple build-commands: - - mkdir -p ${FLATPAK_DEST}/share/es-de/themes/art-book-next-es-de/ - - mv -f * ${FLATPAK_DEST}/share/es-de/themes/art-book-next-es-de/ + - mkdir -p ${FLATPAK_DEST}/share/es-de/themes/retrodeck/ + - mv -f * ${FLATPAK_DEST}/share/es-de/themes/retrodeck/ sources: - type: git - url: https://github.com/anthonycaccese/art-book-next-es-de.git - commit: 4fe896af7447404f6ea083335cd661c91b0f7860 + url: https://github.com/RetroDECK/RetroDECK-theme + commit: 975c41cac99d150b6ae86a1dfd19988058c69aad # ES-DE Themes - END @@ -1315,4 +1315,4 @@ modules: sources: - type: git url: https://github.com/XargonWan/RetroDECK.git - branch: THISBRANCH + branch: THISBRANCH \ No newline at end of file From 297f8fe32919ecb5a6d82dcf8c52a2bccc6ae5f5 Mon Sep 17 00:00:00 2001 From: icenine451 <59938822+icenine451@users.noreply.github.com> Date: Sun, 21 Jul 2024 18:33:24 -0400 Subject: [PATCH 170/171] Fix failed move commands in 0.8.2b post_update and add recovery for previous failed moves in 0.8.3b --- functions/post_update.sh | 43 +++++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 39b18a27..c543cefb 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -304,7 +304,7 @@ post_update() { log i "In version 0.8.1b, the following changes were made that required config file updates/reset or other changes to the filesystem:" log i "- ES-DE files were moved inside the retrodeck folder, migrating to the new structure" log i "- Give the user the option to reset Ryujinx, which was not properly initialized in 0.8.0b" - + log d "ES-DE files were moved inside the retrodeck folder, migrating to the new structure" dir_prep "$rdhome/ES-DE/collections" "/var/config/ES-DE/collections" dir_prep "$rdhome/ES-DE/gamelists" "/var/config/ES-DE/gamelists" @@ -339,14 +339,39 @@ post_update() { fi if [[ $(check_version_is_older_than "0.8.2b") == "true" ]]; then - log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\"" - mv -f "/var/data/Vita3K" "/var/config/Vita3K" - log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" - mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" - mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" - mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" && rm -rf "$rdhome/gamelists" - log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it." - ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json" + log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\"" + move "/var/data/Vita3K" "/var/config/Vita3K" + log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" + move "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" + move "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" + move "$rdhome/gamelists" "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" + log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it." + ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json" + fi + + if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then + # In version 0.8.3b, the following changes were made: + # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations. + if [[ !-d "$rdhome/ES-DE/themes" || ! -d "$rdhome/ES-DE/downloaded_media" || ! -d "$rdhome/ES-DE/gamelists" ]]; then + log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" + if [[ -d "$rdhome/themes" && ! -d "$rdhome/ES-DE/themes" ]]; then + move "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" + else + log i "ES-DE themes appears to already have been migrated." + fi + if [[ -d "$rdhome/downloaded_media" && ! -d "$rdhome/ES-DE/downloaded_media" ]]; then + move "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" + else + log i "ES-DE downloaded media appears to already have been migrated." + fi + if [[ -d "$rdhome/gamelists" && ! -d "$rdhome/ES-DE/gamelists" ]]; then + move "$rdhome/gamelists" "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" + else + log i "ES-DE gamelists appears to already have been migrated." + fi + else + log i "ES-DE dfolders appears to already have been migrated." + fi fi # if [[ $(check_version_is_older_than "0.9.0b") == "true" ]]; then From 82195a562c051f5cdcaf78dd6869a5ba99e6fdc6 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 25 Jul 2024 23:38:34 +0900 Subject: [PATCH 171/171] [skip ci]