mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-26 15:55:38 +00:00
Merge branch 'cooker' of https://github.com/monkeyx-net/RetroDECK_UK
This commit is contained in:
commit
3a1cbd74ac
62
.github/workflows/cooker-selfhosted.yml
vendored
62
.github/workflows/cooker-selfhosted.yml
vendored
|
@ -8,8 +8,8 @@ on:
|
||||||
paths:
|
paths:
|
||||||
- '.github/workflows/**'
|
- '.github/workflows/**'
|
||||||
- 'automation_tools/**'
|
- 'automation_tools/**'
|
||||||
- 'emu-configs/**'
|
- 'config/**'
|
||||||
- 'es-configs/**'
|
- 'config/es-de/**'
|
||||||
- 'functions/**'
|
- 'functions/**'
|
||||||
- 'rd-submodules/**'
|
- 'rd-submodules/**'
|
||||||
- '*.sh'
|
- '*.sh'
|
||||||
|
@ -29,7 +29,7 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
Building_RetroDECK:
|
Building_RetroDECK:
|
||||||
runs-on: self-hosted
|
runs-on: retrodeck
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
||||||
|
@ -38,7 +38,7 @@ jobs:
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Clone RetroDECK repo
|
- name: Clone RetroDECK repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: 'true'
|
submodules: 'true'
|
||||||
|
|
||||||
|
@ -64,16 +64,21 @@ jobs:
|
||||||
# if the branch is coming from a PR the tag should be manually built
|
# if the branch is coming from a PR the tag should be manually built
|
||||||
- name: "Generate version tag"
|
- name: "Generate version tag"
|
||||||
run: |
|
run: |
|
||||||
|
source automation_tools/version_extractor.sh
|
||||||
|
MANIFEST_VERSION="$(fetch_manifest_version)"
|
||||||
|
echo "MANIFEST_VERSION=$MANIFEST_VERSION" >> $GITHUB_ENV
|
||||||
if [[ "$BRANCH_NAME" == 'refs/'* ]]; then
|
if [[ "$BRANCH_NAME" == 'refs/'* ]]; then
|
||||||
pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}')
|
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=$(curl -s "https://api.github.com/repos/RetroDECK/RetroDECK/pulls/$pr_number" | jq -r '.head.ref')
|
||||||
source_branch=${source_branch//\//-}
|
source_branch=${source_branch//\//-}
|
||||||
echo "[DEBUG] source branch is: $source_branch"
|
echo "[DEBUG] source branch is: $source_branch"
|
||||||
echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV
|
echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV
|
||||||
else
|
else
|
||||||
echo "TAG=${{env.BRANCH_NAME}}-${{ env.buildid }}" >> $GITHUB_ENV
|
TAG="$MANIFEST_VERSION-${{ env.buildid }}"
|
||||||
|
echo "TAG=$TAG" >> $GITHUB_ENV
|
||||||
fi
|
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
|
# backing up manifest in case download fails and hashes must be recalculated
|
||||||
- name: Manifest backup
|
- name: Manifest backup
|
||||||
|
@ -110,14 +115,6 @@ jobs:
|
||||||
- name: Build flatpak
|
- name: Build flatpak
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
|
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
|
||||||
|
|
||||||
- name: Create Artifact for flathub
|
|
||||||
run: |
|
|
||||||
tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker .
|
|
||||||
hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz))
|
|
||||||
echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha
|
|
||||||
mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
- name: Create Bundle
|
- name: Create Bundle
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
|
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
|
||||||
|
|
||||||
|
@ -142,7 +139,7 @@ jobs:
|
||||||
body: |
|
body: |
|
||||||
# Release Notes (Cooker)
|
# Release Notes (Cooker)
|
||||||
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||||
On branch [${{env.BRANCH_NAME}}](https://github.com/XargonWan/RetroDECK/tree/${{env.BRANCH_NAME}}).
|
On branch [${{env.BRANCH_NAME}}](https://github.com/RetroDECK/RetroDECK/tree/${{env.BRANCH_NAME}}).
|
||||||
|
|
||||||
## Commits since last release
|
## Commits since last release
|
||||||
${{ steps.commits.outputs.commits }}
|
${{ steps.commits.outputs.commits }}
|
||||||
|
@ -156,21 +153,41 @@ jobs:
|
||||||
allowUpdates: true
|
allowUpdates: true
|
||||||
makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
|
makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
|
||||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||||
repo: RetroDECK-cooker
|
repo: Cooker
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
|
- 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
|
||||||
|
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
|
# 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
|
- name: Upload RetroDECK-cooker.flatpak
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: retrodeck-flatpak
|
name: retrodeck-flatpak
|
||||||
path: RetroDECK-cooker.flatpak
|
path: RetroDECK-cooker.flatpak
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Create Artifact for flathub
|
||||||
|
run: |
|
||||||
|
tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker .
|
||||||
|
hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz))
|
||||||
|
echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha
|
||||||
|
mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
# - name: Upload RetroDECK-cooker.flatpak to Gitea Release
|
# - name: Upload RetroDECK-cooker.flatpak to Gitea Release
|
||||||
# run: |
|
# run: |
|
||||||
# # Set variables for Gitea host, organization, repository, access token, and release details
|
# # Set variables for Gitea host, organization, repository, access token, and release details
|
||||||
# GITEA_HOST="repo.retrodeck.net"
|
# GITEA_HOST="repo.retrodeck.net"
|
||||||
|
# UPLOAD_HOST="upload.retrodeck.net"
|
||||||
# ORGANIZATION="RetroDECK"
|
# ORGANIZATION="RetroDECK"
|
||||||
# REPO="RetroDECK-cooker"
|
# REPO="RetroDECK-cooker"
|
||||||
# GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}"
|
# GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}"
|
||||||
|
@ -201,19 +218,22 @@ jobs:
|
||||||
# # Upload artifacts
|
# # Upload artifacts
|
||||||
# curl -X POST \
|
# curl -X POST \
|
||||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
# -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
|
||||||
# -H "Content-Type: multipart/form-data" \
|
# -H "Content-Type: multipart/form-data" \
|
||||||
# -F "attachment=@RetroDECK-cooker.flatpak" \
|
# -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
|
# # Upload artifacts sha
|
||||||
# curl -X POST \
|
# curl -X POST \
|
||||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
# -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
|
||||||
# -H "Content-Type: multipart/form-data" \
|
# -H "Content-Type: multipart/form-data" \
|
||||||
# -F "attachment=@RetroDECK-cooker.flatpak.sha" \
|
# -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 \
|
# curl -X POST \
|
||||||
# -H "Authorization: token ${GITEA_TOKEN}" \
|
# -H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
# -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
|
||||||
# -H "Content-Type: multipart/form-data" \
|
# -H "Content-Type: multipart/form-data" \
|
||||||
# -F "attachment=@RetroDECK-Artifact.tar.gz" \
|
# -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"
|
||||||
|
|
56
.github/workflows/emulator-updates.yaml
vendored
Normal file
56
.github/workflows/emulator-updates.yaml
vendored
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
name: Check Emulator Updates
|
||||||
|
|
||||||
|
on:
|
||||||
|
# schedule:
|
||||||
|
# - cron: '0 18 * * *'
|
||||||
|
# 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.'
|
4
.github/workflows/flathub_push_main.yml
vendored
4
.github/workflows/flathub_push_main.yml
vendored
|
@ -26,7 +26,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub
|
git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub
|
||||||
cd $gits_folder
|
cd $gits_folder
|
||||||
git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK
|
git clone --recursive https://github.com/RetroDECK/RetroDECK RetroDECK
|
||||||
cd $gits_folder/RetroDECK
|
cd $gits_folder/RetroDECK
|
||||||
|
|
||||||
relname="main-"$(git rev-parse --short HEAD)
|
relname="main-"$(git rev-parse --short HEAD)
|
||||||
|
@ -83,7 +83,7 @@ jobs:
|
||||||
# curl -sL \
|
# curl -sL \
|
||||||
# -H "Accept: application/vnd.github+json" \
|
# -H "Accept: application/vnd.github+json" \
|
||||||
# -H "Authorization: Bearer ${{ secrets.TRIGGER_BUILD_TOKEN }}" \
|
# -H "Authorization: Bearer ${{ secrets.TRIGGER_BUILD_TOKEN }}" \
|
||||||
# https://api.github.com/repos/XargonWan/RetroDECK-cooker/releases \
|
# https://api.github.com/repos/RetroDECK/Cooker/releases \
|
||||||
# | jq .[0].tag_name \
|
# | jq .[0].tag_name \
|
||||||
# | tr -d \" \
|
# | tr -d \" \
|
||||||
# )
|
# )
|
||||||
|
|
35
.github/workflows/main-selfhosted.yml
vendored
35
.github/workflows/main-selfhosted.yml
vendored
|
@ -7,8 +7,8 @@ on:
|
||||||
paths:
|
paths:
|
||||||
- '.github/workflows/**'
|
- '.github/workflows/**'
|
||||||
- 'automation_tools/**'
|
- 'automation_tools/**'
|
||||||
- 'emu-configs/**'
|
- 'config/**'
|
||||||
- 'es-configs/**'
|
- 'config/es-de/**'
|
||||||
- 'functions/**'
|
- 'functions/**'
|
||||||
- 'rd-submodules/**'
|
- 'rd-submodules/**'
|
||||||
- '*.sh'
|
- '*.sh'
|
||||||
|
@ -24,7 +24,7 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
Building_RetroDECK:
|
Building_RetroDECK:
|
||||||
runs-on: self-hosted
|
runs-on: retrodeck
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
||||||
|
@ -33,7 +33,7 @@ jobs:
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Clone RetroDECK repo
|
- name: Clone RetroDECK repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: 'true'
|
submodules: 'true'
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ jobs:
|
||||||
- name: Getting version info
|
- name: Getting version info
|
||||||
id: version
|
id: version
|
||||||
run: |
|
run: |
|
||||||
appdata="https://raw.githubusercontent.com/XargonWan/RetroDECK/main/net.retrodeck.retrodeck.appdata.xml"
|
appdata="https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/net.retrodeck.retrodeck.appdata.xml"
|
||||||
REL_VER=$(curl -s $appdata | xmlstarlet sel -t -v "//release/@version" | head -1)
|
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')"
|
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 "REL_VER=$REL_VER" >> $GITHUB_ENV
|
||||||
|
@ -115,9 +115,20 @@ jobs:
|
||||||
repo: RetroDECK
|
repo: RetroDECK
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
|
- 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
|
||||||
|
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
|
# In case it cannot publish the release at least it's providing the flatpak file for creating a manual release
|
||||||
- name: Upload RetroDECK.flatpak
|
- name: Upload RetroDECK.flatpak
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: retrodeck-flatpak
|
name: retrodeck-flatpak
|
||||||
path: RetroDECK.flatpak
|
path: RetroDECK.flatpak
|
||||||
|
@ -127,6 +138,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
# Set variables for Gitea host, organization, repository, access token, and release details
|
# Set variables for Gitea host, organization, repository, access token, and release details
|
||||||
GITEA_HOST="repo.retrodeck.net"
|
GITEA_HOST="repo.retrodeck.net"
|
||||||
|
UPLOAD_HOST="upload.retrodeck.net"
|
||||||
ORGANIZATION="RetroDECK"
|
ORGANIZATION="RetroDECK"
|
||||||
REPO="RetroDECK"
|
REPO="RetroDECK"
|
||||||
GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}"
|
GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}"
|
||||||
|
@ -154,21 +166,26 @@ jobs:
|
||||||
# Upload artifacts
|
# Upload artifacts
|
||||||
curl -X POST \
|
curl -X POST \
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
-H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
|
||||||
-H "Content-Type: multipart/form-data" \
|
-H "Content-Type: multipart/form-data" \
|
||||||
-F "attachment=@RetroDECK.flatpak" \
|
-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 \
|
curl -X POST \
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
-H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
|
||||||
-H "Content-Type: multipart/form-data" \
|
-H "Content-Type: multipart/form-data" \
|
||||||
-F "attachment=@RetroDECK-Artifact.tar.gz" \
|
-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"
|
||||||
|
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
|
- name: Upload RetroDECK.flatpak.sha to Gitea Release
|
||||||
run: |
|
run: |
|
||||||
curl -X POST \
|
curl -X POST \
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
-H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
|
||||||
-F "file=@RetroDECK.flatpak.sha" \
|
-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:
|
env:
|
||||||
GITEA_TOKEN: ${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}
|
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
|
||||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -18,7 +18,7 @@ backup
|
||||||
tmp
|
tmp
|
||||||
.godot
|
.godot
|
||||||
rd-submodules/es-de/patches-tmp*
|
rd-submodules/es-de/patches-tmp*
|
||||||
.local/
|
retrodeck-repo
|
||||||
buildid
|
buildid
|
||||||
*.bak
|
*.bak
|
||||||
incconfigs/
|
incconfigs/
|
||||||
|
|
9
.gitmodules
vendored
9
.gitmodules
vendored
|
@ -1,9 +0,0 @@
|
||||||
[submodule "rd-submodules/shared-modules"]
|
|
||||||
path = rd-submodules/shared-modules
|
|
||||||
url = https://github.com/flathub/shared-modules.git
|
|
||||||
[submodule "rd-submodules/retroarch"]
|
|
||||||
path = rd-submodules/retroarch
|
|
||||||
url = https://github.com/flathub/org.libretro.RetroArch.git
|
|
||||||
[submodule "rd-submodules/ryujinx"]
|
|
||||||
path = rd-submodules/ryujinx
|
|
||||||
url = https://github.com/flathub/org.ryujinx.Ryujinx
|
|
27
README.md
27
README.md
|
@ -1,13 +1,13 @@
|
||||||
<p float="center">
|
<p float="center">
|
||||||
<img src="https://github.com/XargonWan/RetroDECK/blob/main/res/logo.png?raw=true" alt="RetroDECK logo" width="600"/>
|
<img src="https://github.com/RetroDECK/RetroDECK/blob/main/res/logo.png?raw=true" alt="RetroDECK logo" width="600"/>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
# RetroDECK on your device!
|
# RetroDECK on your device!
|
||||||
|
|
||||||
|
|
||||||
<p float="center">
|
<p float="center">
|
||||||
<img src="https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen05.jpeg?raw=true" alt="screenshot" width="300"/>
|
<img src="https://github.com/RetroDECK/RetroDECK/blob/main/res/screenshots/screen05.jpeg?raw=true" alt="screenshot" width="300"/>
|
||||||
<img src="https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen06.jpeg?raw=true" alt="screenshot" width="300"/>
|
<img src="https://github.com/RetroDECK/RetroDECK/blob/main/res/screenshots/screen06.jpeg?raw=true" alt="screenshot" width="300"/>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Instead of having several different emulators, engines and frontends on your Linux/SteamOS system you only need one: RetroDECK.
|
Instead of having several different emulators, engines and frontends on your Linux/SteamOS system you only need one: RetroDECK.
|
||||||
|
@ -15,7 +15,7 @@ Instead of having several different emulators, engines and frontends on your Lin
|
||||||
![Flathub](https://img.shields.io/flathub/downloads/net.retrodeck.retrodeck)
|
![Flathub](https://img.shields.io/flathub/downloads/net.retrodeck.retrodeck)
|
||||||
![Flathub](https://img.shields.io/flathub/v/net.retrodeck.retrodeck)
|
![Flathub](https://img.shields.io/flathub/v/net.retrodeck.retrodeck)
|
||||||
![Discord](https://img.shields.io/discord/951662718102962256?label=discord)
|
![Discord](https://img.shields.io/discord/951662718102962256?label=discord)
|
||||||
![GitHub](https://img.shields.io/github/license/XargonWan/RetroDECK)
|
![GitHub](https://img.shields.io/github/license/RetroDECK/RetroDECK)
|
||||||
[![Documentation Status](https://readthedocs.org/projects/retrodeck/badge/?version=latest)](https://retrodeck.readthedocs.io/en/latest/?badge=latest)
|
[![Documentation Status](https://readthedocs.org/projects/retrodeck/badge/?version=latest)](https://retrodeck.readthedocs.io/en/latest/?badge=latest)
|
||||||
|
|
||||||
**The RetroDECK Wiki & FAQ**
|
**The RetroDECK Wiki & FAQ**
|
||||||
|
@ -77,7 +77,7 @@ For our long term vision you can check out the following wiki page:
|
||||||
Use the supports channels on [Discord](https://discord.gg/WDc5C9YWMx) `🤝-community-support` and `🆘-support`.
|
Use the supports channels on [Discord](https://discord.gg/WDc5C9YWMx) `🤝-community-support` and `🆘-support`.
|
||||||
### The RetroDECK community:
|
### The RetroDECK community:
|
||||||
[Website](https://retrodeck.net) <br/>
|
[Website](https://retrodeck.net) <br/>
|
||||||
[Wiki](https://github.com/XargonWan/RetroDECK/wiki) <br/>
|
[Wiki](https://github.com/RetroDECK/RetroDECK/wiki) <br/>
|
||||||
[Discord](https://discord.gg/WDc5C9YWMx)<br/>
|
[Discord](https://discord.gg/WDc5C9YWMx)<br/>
|
||||||
[Lemmy](https://lemmy.zip/c/retrodeck)<br/>
|
[Lemmy](https://lemmy.zip/c/retrodeck)<br/>
|
||||||
[Subreddit](https://www.reddit.com/r/retrodeck)
|
[Subreddit](https://www.reddit.com/r/retrodeck)
|
||||||
|
@ -96,21 +96,22 @@ Read up here on how to help out, there is something for everyone:
|
||||||
## Our repositories:
|
## Our repositories:
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
|-------------------------------------------------------------|-----------------------------------------------------------|
|
|-------------------------------------------------------------|-----------------------------------------------------------|
|
||||||
| [RetroDECK](https://github.com/XargonWan/RetroDECK) | This one, our main repo where the core of the project is |
|
| [RetroDECK](https://github.com/RetroDECK/RetroDECK) | This one, our main repo where the core of the project is |
|
||||||
| [RetroDECK-cooker](https://github.com/XargonWan/RetroDECK-cooker) | Where we publish our test build, no code is hosted here |
|
| [Cooker](https://github.com/RetroDECK/Cooker) | Where we publish our test build, no code is hosted here |
|
||||||
| [RetroDECK-Wiki](https://github.com/XargonWan/RetroDECK-Wiki) | Where our wiki source code is |
|
| [RetroDECK/Wiki](https://github.com/RetroDECK/Wiki) | Where our wiki source code is |
|
||||||
| [RetroDECK-website](https://github.com/XargonWan/RetroDECK-website) | Where our website source code is |
|
| [RetroDECK-website](https://github.com/RetroDECK/RetroDECK-website) | Where our website source code is |
|
||||||
| [RetroDECK on Flathub](https://github.com/flathub/net.retrodeck.retrodeck) | Our little space in Flathub's organization |
|
| [RetroDECK on Flathub](https://github.com/flathub/net.retrodeck.retrodeck) | Our little space in Flathub's organization |
|
||||||
| [RetroDECK-MAME](https://github.com/XargonWan/RetroDECK-MAME) | MAME is big to build, so it's pre-built here and then imported in the build |
|
| [RetroDECK/MAME](https://github.com/RetroDECK/MAME) | MAME is big to build, so it's pre-built here and then imported in the build |
|
||||||
| [RetroDECK-ES-DE](https://github.com/XargonWan/RetroDECK-ES-DE) | This is where we store our patched fork of ES-DE |
|
| [RetroDECK/ES-DE](https://github.com/RetroDECK/ES-DE) | This is where we store our patched fork of ES-DE |
|
||||||
|
|
||||||
|
And many more, for the full list please check our [repositories page on GitHub](https://github.com/orgs/RetroDECK/repositories).
|
||||||
|
|
||||||
# The RetroDECK Wiki
|
# The RetroDECK Wiki
|
||||||
|
|
||||||
Please check out the [Wiki](https://github.com/XargonWan/RetroDECK/wiki) for even more information.
|
Please check out the [Wiki](https://github.com/RetroDECK/RetroDECK/wiki) for even more information.
|
||||||
|
|
||||||
## The FAQ
|
## The FAQ
|
||||||
The RetroDECK [FAQ](https://github.com/XargonWan/RetroDECK/wiki/FAQs%3A-Frequently-asked-questions) on the wiki has a vast variety of questions and answers.
|
The RetroDECK [FAQ](https://github.com/RetroDECK/RetroDECK/wiki/FAQs%3A-Frequently-asked-questions) on the wiki has a vast variety of questions and answers.
|
||||||
|
|
||||||
# How to get support?
|
# How to get support?
|
||||||
Use the supports channels on [Discord](https://discord.gg/WDc5C9YWMx).
|
Use the supports channels on [Discord](https://discord.gg/WDc5C9YWMx).
|
||||||
|
|
|
@ -30,7 +30,7 @@ log i "Today is $today_date"
|
||||||
release_snippet="\
|
release_snippet="\
|
||||||
<releases>
|
<releases>
|
||||||
<release version=\"$appdata_version\" date=\"$today_date\">
|
<release version=\"$appdata_version\" date=\"$today_date\">
|
||||||
<url>https://github.com/XargonWan/RetroDECK/releases/tag/$appdata_version</url>
|
<url>https://github.com/RetroDECK/RetroDECK/releases/tag/$appdata_version</url>
|
||||||
<description>
|
<description>
|
||||||
RELEASE_NOTES_PLACEHOLDER
|
RELEASE_NOTES_PLACEHOLDER
|
||||||
</description>
|
</description>
|
||||||
|
@ -41,7 +41,7 @@ xml_content=$(cat "$appdata_file")
|
||||||
|
|
||||||
# Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes
|
# Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes
|
||||||
# TODO
|
# TODO
|
||||||
git clone https://github.com/XargonWan/RetroDECK.wiki.git /tmp/wiki
|
git clone https://github.com/RetroDECK/RetroDECK.wiki.git /tmp/wiki
|
||||||
|
|
||||||
# Path to the markdown file
|
# Path to the markdown file
|
||||||
wiki="/tmp/wiki/Version-history:-Patch-Notes.md"
|
wiki="/tmp/wiki/Version-history:-Patch-Notes.md"
|
||||||
|
|
|
@ -1,15 +1,25 @@
|
||||||
# The proper format for this file is
|
# The proper format for this file is
|
||||||
# ACTION^PLACEHOLDERTEXT^URL^REPO(Optional)
|
# ACTION^PLACEHOLDERTEXT^URL^REPO(Optional)
|
||||||
# hash^DOOMSHAPLACEHOLDER^https://buildbot.libretro.com/assets/cores/DOOM/Doom%20%28Shareware%29.zip
|
# 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
|
# Please leave some newlines in the end of this file or it will break
|
||||||
|
|
||||||
|
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
|
||||||
|
outside_file^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid
|
||||||
|
branch^THISBRANCH
|
||||||
|
|
||||||
|
hash^RASHAPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch.7z
|
||||||
hash^SAMEDUCKSHAPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip
|
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^PPSSPPBIOSHASHPLACEHOLDER^https://github.com/hrydgard/ppsspp/archive/refs/heads/master.zip
|
||||||
hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282full.zip
|
hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282full.zip
|
||||||
hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
|
hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
|
||||||
hash^VITA3KSHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
hash^VITA3KSHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
||||||
hash^RANIGHTLYCORESPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch_cores.7z
|
hash^RANIGHTLYCORESPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch_cores.7z
|
||||||
hash^RETRODECKMAMEPLACEHOLDER^"https://github.com/XargonWan/RetroDECK-MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz"
|
|
||||||
url^RETRODECKMAMEURLPLACEHOLDER^"https://github.com/XargonWan/RetroDECK-MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz"
|
hash^RETRODECKESDELATEST^https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz
|
||||||
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
|
hash^RETRODECKPPSSPPLATEST^https://github.com/RetroDECK/org.ppsspp.PPSSPP/releases/latest/download/RetroDECK-PPSSPP-Artifact.tar.gz
|
||||||
outside_file^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid
|
hash^RETRODECKDOLPHINLATEST^https://github.com/RetroDECK/org.DolphinEmu.dolphin-emu/releases/latest/download/RetroDECK-dolphin-Artifact.tar.gz
|
||||||
branch^THISBRANCH
|
hash^RETRODECKPRIMEHACKLATEST^https://github.com/RetroDECK/io.github.shiiion.primehack/releases/latest/download/RetroDECK-primehack-Artifact.tar.gz
|
||||||
|
hash^RETRODECKMELONDSLATEST^https://github.com/RetroDECK/net.kuribo64.melonDS/releases/latest/download/RetroDECK-melonds-Artifact.tar.gz
|
||||||
|
hash^RETRODECKSOLARUSLATEST^https://github.com/RetroDECK/org.solarus_games.solarus.Launcher/releases/latest/download/RetroDECK-solarus-Artifact.tar.gz
|
||||||
|
hash^RETRODECKGZDOOMLATEST^https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz
|
||||||
|
hash^RETRODECKMAMELATEST^https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz
|
File diff suppressed because it is too large
Load diff
|
@ -3,9 +3,9 @@
|
||||||
# This is building the bundle RetroDECK.flatpak after the download and build steps are done
|
# This is building the bundle RetroDECK.flatpak after the download and build steps are done
|
||||||
|
|
||||||
if [ "${GITHUB_REF##*/}" = "main" ]; then
|
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
|
sha256sum RetroDECK.flatpak > RetroDECK.flatpak.sha
|
||||||
else
|
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
|
sha256sum RetroDECK-cooker.flatpak > RetroDECK-cooker.flatpak.sha
|
||||||
fi
|
fi
|
|
@ -12,12 +12,12 @@ else
|
||||||
FOLDER=retrodeck-flatpak-cooker
|
FOLDER=retrodeck-flatpak-cooker
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -vp "${GITHUB_WORKSPACE}"/{.local,retrodeck-flatpak-cooker}
|
mkdir -vp "${GITHUB_WORKSPACE}"/{retrodeck-repo,retrodeck-flatpak-cooker}
|
||||||
|
|
||||||
flatpak-builder --user --force-clean \
|
flatpak-builder --user --force-clean \
|
||||||
--install-deps-from=flathub \
|
--install-deps-from=flathub \
|
||||||
--install-deps-from=flathub-beta \
|
--install-deps-from=flathub-beta \
|
||||||
--repo="${GITHUB_WORKSPACE}/.local" \
|
--repo="${GITHUB_WORKSPACE}/retrodeck-repo" \
|
||||||
--download-only \
|
--download-only \
|
||||||
"${GITHUB_WORKSPACE}/${FOLDER}" \
|
"${GITHUB_WORKSPACE}/${FOLDER}" \
|
||||||
net.retrodeck.retrodeck.yml
|
net.retrodeck.retrodeck.yml
|
||||||
|
|
|
@ -12,13 +12,13 @@ else
|
||||||
FOLDER=retrodeck-flatpak-cooker
|
FOLDER=retrodeck-flatpak-cooker
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -vp ${GITHUB_WORKSPACE}/.local
|
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-repo
|
||||||
mkdir -vp ${GITHUB_WORKSPACE}/"$FOLDER"
|
mkdir -vp ${GITHUB_WORKSPACE}/"$FOLDER"
|
||||||
|
|
||||||
flatpak-builder --user --force-clean \
|
flatpak-builder --user --force-clean \
|
||||||
--install-deps-from=flathub \
|
--install-deps-from=flathub \
|
||||||
--install-deps-from=flathub-beta \
|
--install-deps-from=flathub-beta \
|
||||||
--repo=${GITHUB_WORKSPACE}/.local \
|
--repo=${GITHUB_WORKSPACE}/retrodeck-repo \
|
||||||
--disable-download \
|
--disable-download \
|
||||||
"${GITHUB_WORKSPACE}/$FOLDER" \
|
"${GITHUB_WORKSPACE}/$FOLDER" \
|
||||||
net.retrodeck.retrodeck.yml
|
net.retrodeck.retrodeck.yml
|
|
@ -42,8 +42,8 @@ appdata_version=$(fetch_appdata_version)
|
||||||
echo -e "Appdata:\t\t$appdata_version"
|
echo -e "Appdata:\t\t$appdata_version"
|
||||||
|
|
||||||
# Additional checks
|
# Additional checks
|
||||||
if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" ]]; then
|
if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" || "$manifest_version" == *"cooker"* ]]; then
|
||||||
echo "Manifest version cannot be 'main' or 'THISBRANCH'. Please fix it."
|
echo "Manifest version cannot be 'main', 'THISBRANCH', or contain 'cooker'. Please fix it."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,23 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set script to exit immediately on any error
|
||||||
|
set -e
|
||||||
|
|
||||||
# For the file paths to work correctly, call this script with this command from the cloned repo folder root:
|
# For the file paths to work correctly, call this script with this command from the cloned repo folder root:
|
||||||
# sh automation_tools/pre_build_automation.sh
|
# sh automation_tools/pre_build_automation.sh
|
||||||
# Different actions need different information in the task list file
|
# Different actions need different information in the task list file
|
||||||
# branch: This changes the placeholder text to the currently-detected GIT branch if an automated build was started from a PR environment.
|
# branch: This changes the placeholder text to the currently-detected GIT branch if an automated build was started from a PR environment.
|
||||||
# hash: Finds the SHA256 hash of a file online and updates the placeholder in the manifest.
|
# hash: Finds the SHA256 hash of a file online and updates the placeholder in the manifest.
|
||||||
# Needs the URL of the file, in this line format: hash^PLACEHOLDERTEXT^url
|
# 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.
|
# latestcommit: Finds the most recent commit of a git repo and updates 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
|
# 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.
|
# 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/<owner-name>/<repo-name>/releases/latest^<file suffix>
|
# Needs the API URL of the repo, in this line format: latestghrelease^PLACEHOLDERTEXT^https://api.github.com/repos/<owner-name>/<repo-name>/releases/latest^<file suffix>
|
||||||
# As this command updates two different placeholders (one for the URL, one for the file hash) in the manifest,
|
# As this command updates two different placeholders (one for the URL, one for the file hash) in the manifest,
|
||||||
# the URL that would be used in the above example is "PLACEHOLDERTEXT" and the hash placeholder text would be "HASHPLACEHOLDERTEXT"
|
# the URL that would be used in the above example is "PLACEHOLDERTEXT" and the hash placeholder text would be "HASHPLACEHOLDERTEXT"
|
||||||
# The "HASH" prefix of the placeholder text is hardcoded in the script
|
# The "HASH" prefix of the hash placeholder text is hardcoded in the script.
|
||||||
# The <file_suffix> will be the file extension or other identifying suffix at the end of the file name that can be used to select from multiple releases.
|
# The <file_suffix> will be the file extension or other identifying suffix at the end of the file name that can be used to select from multiple releases.
|
||||||
# Example: If there are these file options for a given release:
|
# Example: If there are these file options for a given release:
|
||||||
# yuzu-mainline-20240205-149629642.AppImage
|
# yuzu-mainline-20240205-149629642.AppImage
|
||||||
|
@ -21,24 +26,32 @@
|
||||||
# Entering "AppImage" (without quotes) for the <file_suffix> will identify yuzu-mainline-20240205-149629642.AppImage
|
# Entering "AppImage" (without quotes) for the <file_suffix> will identify yuzu-mainline-20240205-149629642.AppImage
|
||||||
# Entering "source-.tar.xz" (without quotes) for the <file_suffix> will identify yuzu-linux-20240205-149629642-source.tar.xz
|
# Entering "source-.tar.xz" (without quotes) for the <file_suffix> will identify yuzu-linux-20240205-149629642-source.tar.xz
|
||||||
# Entering "debug-tar.xz" (without quotes) for the <file_suffix> will identify yuzu-linux-20240205-149629642-debug.tar.xz
|
# Entering "debug-tar.xz" (without quotes) for the <file_suffix> will identify yuzu-linux-20240205-149629642-debug.tar.xz
|
||||||
# As a file extension like ".tar.zx" can apply to multiple file options, the entire part that is appended to each release name should be included.
|
# As a file extension like ".tar.xz" can apply to multiple file options, the entire part that is appended to each release name should be included.
|
||||||
# The <file_suffix> will also only consider entries where the given suffix is at the end of the file name. So "AppImage" will identify "file.AppImage" but not "file.AppImage.zsync"
|
# The <file_suffix> will also only consider entries where the given suffix is at the end of the file name. So "AppImage" will identify "file.AppImage" but not "file.AppImage.zsync"
|
||||||
|
# latestghreleasesha: Finds the SHA256 hash of a specific asset in the latest release from a git repo.
|
||||||
|
# Needs the API URL of the repo, in this line format: latestghreleasesha^PLACEHOLDERTEXT^https://api.github.com/repos/<owner-name>/<repo-name>/releases/latest^<file suffix>
|
||||||
|
# This command updates the placeholder in the manifest with the SHA256 hash of the specified asset.
|
||||||
# outside_file: Prints the contents of a file from the build environment (such as the buildid file) and replaces the placeholder text with those contents.
|
# outside_file: Prints the contents of a file from the build environment (such as the buildid file) and replaces the placeholder text with those contents.
|
||||||
# outside_env_var: Gets the value of an environmental variable from the build environment (the output of "echo $var" from the terminal) and replaces the placeholder text with that value.
|
# outside_env_var: Gets the value of an environmental variable from the build environment (the output of "echo $var" from the terminal) and replaces the placeholder text with that value.
|
||||||
# custom_command: Runs a single command explicitly as written in the $URL field of the task list, including variable and command expansion. This should work the same as if you were runnig the command directly from the terminal.
|
# custom_command: Runs a single command explicitly as written in the $URL field of the task list, including variable and command expansion. This should work the same as if you were running the command directly from the terminal.
|
||||||
# This command does not need a PLACEHOLDERTEXT field in the task list, so needs to be in this syntax: custom_command^^$COMMAND
|
# This command does not need a PLACEHOLDERTEXT field in the task list, so needs to be in this syntax: custom_command^^$COMMAND
|
||||||
# url: This is used to calculate a dynamic URL and the value to the $caluculated_url environmental variable, for use in other subsequent commands.
|
# url: This is used to calculate a dynamic URL and the value to the $calculated_url environmental variable, for use in other subsequent commands.
|
||||||
|
|
||||||
rd_manifest=${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml
|
# Define paths
|
||||||
automation_task_list=${GITHUB_WORKSPACE}/automation_tools/automation_task_list.cfg
|
rd_manifest="${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
||||||
current_branch=$(git rev-parse --abbrev-ref HEAD)
|
automation_task_list="${GITHUB_WORKSPACE}/automation_tools/automation_task_list.cfg"
|
||||||
|
|
||||||
# During the PR automated tests instead of the branch name is returned "HEAD", fixing it
|
# Retrieve current git branch
|
||||||
if [ $current_branch == "HEAD" ]; then
|
get_current_branch() {
|
||||||
echo "Looks like we are on a PR environment, retrieving the branch name from which the PR is raised."
|
local branch=$(git rev-parse --abbrev-ref HEAD)
|
||||||
current_branch=$(echo $GITHUB_REF | sed 's@refs/heads/@@')
|
if [ "$branch" == "HEAD" ]; then
|
||||||
echo "The branch name from which the PR is raised is \"$current_branch\"."
|
echo "$GITHUB_REF" | sed 's@refs/heads/@@'
|
||||||
fi
|
else
|
||||||
|
echo "$branch"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
current_branch=$(get_current_branch)
|
||||||
|
|
||||||
echo "Manifest location: $rd_manifest"
|
echo "Manifest location: $rd_manifest"
|
||||||
echo "Automation task list location: $automation_task_list"
|
echo "Automation task list location: $automation_task_list"
|
||||||
|
@ -47,93 +60,130 @@ echo "Task list contents:"
|
||||||
cat "$automation_task_list"
|
cat "$automation_task_list"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# Update all collected information
|
# Functions to handle different actions
|
||||||
while IFS="^" read -r action placeholder url branch
|
handle_branch() {
|
||||||
do
|
local placeholder="$1"
|
||||||
if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then
|
echo "Replacing placeholder $placeholder with branch $current_branch"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$current_branch"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_hash() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local url="$2"
|
||||||
|
local calculated_url=$(eval echo "$url")
|
||||||
|
local hash=$(curl -sL "$calculated_url" | sha256sum | cut -d ' ' -f1)
|
||||||
|
echo "Replacing placeholder $placeholder with hash $hash"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$hash"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_latestcommit() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local url="$2"
|
||||||
|
local branch="$3"
|
||||||
|
local commit=$(git ls-remote "$url" "$branch" | cut -f1)
|
||||||
|
echo "Replacing placeholder $placeholder with latest commit $commit"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$commit"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_latestghtag() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local url="$2"
|
||||||
|
local tag=$(git ls-remote --tags "$url" | tail -n 1 | cut -f2 | sed 's|refs/tags/||')
|
||||||
|
echo "Replacing placeholder $placeholder with latest tag $tag"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$tag"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_latestghrelease() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local url="$2"
|
||||||
|
local suffix="$3"
|
||||||
|
echo "Fetching release data from: $url"
|
||||||
|
local release_data=$(curl -s "$url")
|
||||||
|
echo "Release data fetched."
|
||||||
|
local ghreleaseurl=$(echo "$release_data" | jq -r ".assets[] | select(.name | endswith(\"$suffix\")).browser_download_url")
|
||||||
|
|
||||||
|
if [[ -z "$ghreleaseurl" ]]; then
|
||||||
|
echo "Error: No asset found with suffix $suffix"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local ghreleasehash=$(curl -sL "$ghreleaseurl" | sha256sum | cut -d ' ' -f1)
|
||||||
|
|
||||||
|
echo "Replacing placeholder $placeholder with URL $ghreleaseurl and hash $ghreleasehash"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$ghreleaseurl"'^g' "$rd_manifest"
|
||||||
|
/bin/sed -i 's^'"HASHFOR$placeholder"'^'"$ghreleasehash"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_latestghreleasesha() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local url="$2"
|
||||||
|
local suffix="$3"
|
||||||
|
echo "Fetching release data from: $url"
|
||||||
|
local release_data=$(curl -s "$url")
|
||||||
|
echo "Release data fetched."
|
||||||
|
local ghreleaseurl=$(echo "$release_data" | jq -r ".assets[] | select(.name | endswith(\"$suffix\")).browser_download_url")
|
||||||
|
|
||||||
|
if [[ -z "$ghreleaseurl" ]]; then
|
||||||
|
echo "Error: No asset found with suffix $suffix"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local ghreleasehash=$(curl -sL "$ghreleaseurl" | sha256sum | cut -d ' ' -f1)
|
||||||
|
|
||||||
|
echo "Replacing placeholder $placeholder with hash $ghreleasehash"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$ghreleasehash"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_outside_file() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local file_path="$2"
|
||||||
|
if [[ "$file_path" == \$* ]]; then
|
||||||
|
eval file_path="$file_path"
|
||||||
|
fi
|
||||||
|
local content=$(cat "$file_path")
|
||||||
|
echo "Replacing placeholder $placeholder with content of file $file_path"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$content"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_outside_env_var() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local var_name="$2"
|
||||||
|
if [[ "$var_name" == \$* ]]; then
|
||||||
|
eval var_name="$var_name"
|
||||||
|
fi
|
||||||
|
local value=$(echo "$var_name")
|
||||||
|
echo "Replacing placeholder $placeholder with environment variable $value"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$value"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_custom_command() {
|
||||||
|
local command="$1"
|
||||||
|
echo "Executing custom command: $command"
|
||||||
|
eval "$command"
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_url() {
|
||||||
|
local placeholder="$1"
|
||||||
|
local url="$2"
|
||||||
|
local calculated_url=$(eval echo "$url")
|
||||||
|
echo "Replacing placeholder $placeholder with calculated URL $calculated_url"
|
||||||
|
/bin/sed -i 's^'"$placeholder"'^'"$calculated_url"'^g' "$rd_manifest"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Process the task list
|
||||||
|
while IFS="^" read -r action placeholder url branch || [[ -n "$action" ]]; do
|
||||||
|
if [[ ! "$action" == "#"* ]] && [[ -n "$action" ]]; then
|
||||||
case "$action" in
|
case "$action" in
|
||||||
|
"branch" ) handle_branch "$placeholder" ;;
|
||||||
"branch" )
|
"hash" ) handle_hash "$placeholder" "$url" ;;
|
||||||
echo
|
"latestcommit" ) handle_latestcommit "$placeholder" "$url" "$branch" ;;
|
||||||
echo "Placeholder text: $placeholder"
|
"latestghtag" ) handle_latestghtag "$placeholder" "$url" ;;
|
||||||
echo "Current branch:" "$current_branch"
|
"latestghrelease" ) handle_latestghrelease "$placeholder" "$url" "$branch" ;;
|
||||||
echo
|
"latestghreleasesha" ) handle_latestghreleasesha "$placeholder" "$url" "$branch" ;;
|
||||||
/bin/sed -i 's^'"$placeholder"'^'"$current_branch"'^g' $rd_manifest
|
"outside_file" ) handle_outside_file "$placeholder" "$url" ;;
|
||||||
;;
|
"outside_env_var" ) handle_outside_env_var "$placeholder" "$url" ;;
|
||||||
|
"custom_command" ) handle_custom_command "$url" ;;
|
||||||
"hash" )
|
"url" ) handle_url "$placeholder" "$url" ;;
|
||||||
echo
|
|
||||||
echo "Placeholder text: $placeholder"
|
|
||||||
calculated_url=$(eval echo "$url") # in case the url has to be calculated from an expression
|
|
||||||
echo "URL to hash: $calculated_url"
|
|
||||||
echo
|
|
||||||
hash=$(curl -sL "$calculated_url" | sha256sum | cut -d ' ' -f1)
|
|
||||||
echo "Hash found: $hash"
|
|
||||||
/bin/sed -i 's^'"$placeholder"'^'"$hash"'^' $rd_manifest
|
|
||||||
;;
|
|
||||||
|
|
||||||
"latestcommit" )
|
|
||||||
echo
|
|
||||||
echo "Placeholder text: $placeholder"
|
|
||||||
echo "Repo to get latest commit from: $url branch: $branch"
|
|
||||||
echo
|
|
||||||
commit=$(git ls-remote "$url" "$branch" | cut -f1)
|
|
||||||
echo "Commit found: $commit"
|
|
||||||
/bin/sed -i 's^'"$placeholder"'^'"$commit"'^' $rd_manifest
|
|
||||||
;;
|
|
||||||
|
|
||||||
"latestghrelease" )
|
|
||||||
echo
|
|
||||||
echo "Placeholder text: $placeholder"
|
|
||||||
echo "Repo to look for AppImage 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"
|
|
||||||
/bin/sed -i 's^'"$placeholder"'^'"$ghreleaseurl"'^' $rd_manifest
|
|
||||||
ghreleasehash=$(curl -sL "$ghreleaseurl" | sha256sum | cut -d ' ' -f1)
|
|
||||||
echo "GitHub release hash found: $ghreleasehash"
|
|
||||||
/bin/sed -i 's^'"HASHFOR$placeholder"'^'"$ghreleasehash"'^' $rd_manifest
|
|
||||||
;;
|
|
||||||
|
|
||||||
"outside_file" )
|
|
||||||
if [[ "$url" = \$* ]]; then # If value is a reference to a variable name
|
|
||||||
eval url="$url"
|
|
||||||
fi
|
|
||||||
echo
|
|
||||||
echo "Placeholder text: $placeholder"
|
|
||||||
echo "Information being injected: $(cat $url)"
|
|
||||||
echo
|
|
||||||
/bin/sed -i 's^'"$placeholder"'^'"$(cat $url)"'^' $rd_manifest
|
|
||||||
;;
|
|
||||||
|
|
||||||
"outside_env_var" )
|
|
||||||
if [[ "$url" = \$* ]]; then # If value is a reference to a variable name
|
|
||||||
eval url="$url"
|
|
||||||
fi
|
|
||||||
echo
|
|
||||||
echo "Placeholder text: $placeholder"
|
|
||||||
echo "Information being injected: $(echo $url)"
|
|
||||||
echo
|
|
||||||
/bin/sed -i 's^'"$placeholder"'^'"$(echo $url)"'^' $rd_manifest
|
|
||||||
;;
|
|
||||||
|
|
||||||
"custom_command" )
|
|
||||||
echo
|
|
||||||
echo "Command to run: $url"
|
|
||||||
echo
|
|
||||||
eval "$url"
|
|
||||||
;;
|
|
||||||
|
|
||||||
"url" )
|
|
||||||
# this is used to calculate a dynamic url
|
|
||||||
echo
|
|
||||||
echo "Placeholder text: $placeholder"
|
|
||||||
calculated_url=$(eval echo "$url")
|
|
||||||
echo "Information being injected: $calculated_url"
|
|
||||||
echo
|
|
||||||
/bin/sed -i 's^'"$placeholder"'^'"$calculated_url"'^' $rd_manifest
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
done < "$automation_task_list"
|
done < "$automation_task_list"
|
||||||
|
|
|
@ -12,7 +12,7 @@ manifest_content=$(cat "$manifest")
|
||||||
|
|
||||||
fetch_repo_version(){
|
fetch_repo_version(){
|
||||||
# Getting latest RetroDECK release info
|
# Getting latest RetroDECK release info
|
||||||
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/releases/latest")
|
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/RetroDECK/RetroDECK/releases/latest")
|
||||||
# Extracting tag name from the latest release
|
# Extracting tag name from the latest release
|
||||||
repo_version=$(echo "$LATEST_RELEASE" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
repo_version=$(echo "$LATEST_RELEASE" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
# Printing results
|
# Printing results
|
||||||
|
@ -32,3 +32,5 @@ fetch_manifest_version(){
|
||||||
manifest_version=$(echo "$manifest_version" | awk '{$1=$1;print}')
|
manifest_version=$(echo "$manifest_version" | awk '{$1=$1;print}')
|
||||||
echo "$manifest_version"
|
echo "$manifest_version"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo "Version extractor functions loaded"
|
|
@ -25,7 +25,7 @@
|
||||||
</controller>
|
</controller>
|
||||||
<controller>
|
<controller>
|
||||||
<api>SDLController</api>
|
<api>SDLController</api>
|
||||||
<uuid>0_03000000de280000ff11000001000000</uuid>
|
<uuid>0_030079f6de280000ff11000001000000</uuid>
|
||||||
<display_name>Steam Virtual Gamepad</display_name>
|
<display_name>Steam Virtual Gamepad</display_name>
|
||||||
<rumble>0</rumble>
|
<rumble>0</rumble>
|
||||||
<axis>
|
<axis>
|
||||||
|
@ -41,6 +41,54 @@
|
||||||
<range>1</range>
|
<range>1</range>
|
||||||
</trigger>
|
</trigger>
|
||||||
<mappings>
|
<mappings>
|
||||||
|
<entry>
|
||||||
|
<mapping>25</mapping>
|
||||||
|
<button>8</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>1</mapping>
|
||||||
|
<button>1</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>2</mapping>
|
||||||
|
<button>0</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>3</mapping>
|
||||||
|
<button>3</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>4</mapping>
|
||||||
|
<button>2</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>5</mapping>
|
||||||
|
<button>9</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>6</mapping>
|
||||||
|
<button>10</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>7</mapping>
|
||||||
|
<button>42</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>8</mapping>
|
||||||
|
<button>43</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>9</mapping>
|
||||||
|
<button>6</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>10</mapping>
|
||||||
|
<button>4</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>11</mapping>
|
||||||
|
<button>11</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>24</mapping>
|
<mapping>24</mapping>
|
||||||
<button>40</button>
|
<button>40</button>
|
||||||
|
@ -93,50 +141,6 @@
|
||||||
<mapping>12</mapping>
|
<mapping>12</mapping>
|
||||||
<button>12</button>
|
<button>12</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
|
||||||
<mapping>11</mapping>
|
|
||||||
<button>11</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>10</mapping>
|
|
||||||
<button>4</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>9</mapping>
|
|
||||||
<button>6</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>8</mapping>
|
|
||||||
<button>43</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>7</mapping>
|
|
||||||
<button>42</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>6</mapping>
|
|
||||||
<button>10</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>5</mapping>
|
|
||||||
<button>9</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>4</mapping>
|
|
||||||
<button>3</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>3</mapping>
|
|
||||||
<button>2</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>2</mapping>
|
|
||||||
<button>1</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>1</mapping>
|
|
||||||
<button>0</button>
|
|
||||||
</entry>
|
|
||||||
</mappings>
|
</mappings>
|
||||||
</controller>
|
</controller>
|
||||||
</emulated_controller>
|
</emulated_controller>
|
|
@ -4,7 +4,7 @@
|
||||||
<profile>SteamInput-P1</profile>
|
<profile>SteamInput-P1</profile>
|
||||||
<controller>
|
<controller>
|
||||||
<api>SDLController</api>
|
<api>SDLController</api>
|
||||||
<uuid>0_03000000de280000ff11000001000000</uuid>
|
<uuid>0_030079f6de280000ff11000001000000</uuid>
|
||||||
<display_name>Steam Virtual Gamepad</display_name>
|
<display_name>Steam Virtual Gamepad</display_name>
|
||||||
<rumble>0</rumble>
|
<rumble>0</rumble>
|
||||||
<axis>
|
<axis>
|
||||||
|
@ -20,6 +20,10 @@
|
||||||
<range>1</range>
|
<range>1</range>
|
||||||
</trigger>
|
</trigger>
|
||||||
<mappings>
|
<mappings>
|
||||||
|
<entry>
|
||||||
|
<mapping>25</mapping>
|
||||||
|
<button>8</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>24</mapping>
|
<mapping>24</mapping>
|
||||||
<button>40</button>
|
<button>40</button>
|
||||||
|
@ -65,56 +69,56 @@
|
||||||
<button>14</button>
|
<button>14</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>1</mapping>
|
<mapping>13</mapping>
|
||||||
<button>0</button>
|
<button>13</button>
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>2</mapping>
|
|
||||||
<button>1</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>3</mapping>
|
|
||||||
<button>2</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>4</mapping>
|
|
||||||
<button>3</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>5</mapping>
|
|
||||||
<button>9</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>6</mapping>
|
|
||||||
<button>10</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>7</mapping>
|
|
||||||
<button>42</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>8</mapping>
|
|
||||||
<button>43</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>9</mapping>
|
|
||||||
<button>6</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>10</mapping>
|
|
||||||
<button>4</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>11</mapping>
|
|
||||||
<button>11</button>
|
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>12</mapping>
|
<mapping>12</mapping>
|
||||||
<button>12</button>
|
<button>12</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>13</mapping>
|
<mapping>11</mapping>
|
||||||
<button>13</button>
|
<button>11</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>10</mapping>
|
||||||
|
<button>4</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>9</mapping>
|
||||||
|
<button>6</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>8</mapping>
|
||||||
|
<button>43</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>7</mapping>
|
||||||
|
<button>42</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>6</mapping>
|
||||||
|
<button>10</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>5</mapping>
|
||||||
|
<button>9</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>4</mapping>
|
||||||
|
<button>2</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>3</mapping>
|
||||||
|
<button>3</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>2</mapping>
|
||||||
|
<button>0</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>1</mapping>
|
||||||
|
<button>1</button>
|
||||||
</entry>
|
</entry>
|
||||||
</mappings>
|
</mappings>
|
||||||
</controller>
|
</controller>
|
|
@ -4,7 +4,7 @@
|
||||||
<profile>SteamInput-P1</profile>
|
<profile>SteamInput-P1</profile>
|
||||||
<controller>
|
<controller>
|
||||||
<api>SDLController</api>
|
<api>SDLController</api>
|
||||||
<uuid>0_03000000de280000ff11000001000000</uuid>
|
<uuid>0_030079f6de280000ff11000001000000</uuid>
|
||||||
<display_name>Steam Virtual Gamepad</display_name>
|
<display_name>Steam Virtual Gamepad</display_name>
|
||||||
<rumble>0</rumble>
|
<rumble>0</rumble>
|
||||||
<axis>
|
<axis>
|
||||||
|
@ -20,6 +20,58 @@
|
||||||
<range>1</range>
|
<range>1</range>
|
||||||
</trigger>
|
</trigger>
|
||||||
<mappings>
|
<mappings>
|
||||||
|
<entry>
|
||||||
|
<mapping>1</mapping>
|
||||||
|
<button>1</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>2</mapping>
|
||||||
|
<button>0</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>3</mapping>
|
||||||
|
<button>3</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>4</mapping>
|
||||||
|
<button>2</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>5</mapping>
|
||||||
|
<button>9</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>6</mapping>
|
||||||
|
<button>10</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>7</mapping>
|
||||||
|
<button>42</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>8</mapping>
|
||||||
|
<button>43</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>9</mapping>
|
||||||
|
<button>6</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>10</mapping>
|
||||||
|
<button>4</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>11</mapping>
|
||||||
|
<button>11</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>12</mapping>
|
||||||
|
<button>12</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>25</mapping>
|
||||||
|
<button>8</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>24</mapping>
|
<mapping>24</mapping>
|
||||||
<button>40</button>
|
<button>40</button>
|
||||||
|
@ -64,54 +116,6 @@
|
||||||
<mapping>14</mapping>
|
<mapping>14</mapping>
|
||||||
<button>14</button>
|
<button>14</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
|
||||||
<mapping>1</mapping>
|
|
||||||
<button>0</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>2</mapping>
|
|
||||||
<button>1</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>3</mapping>
|
|
||||||
<button>2</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>4</mapping>
|
|
||||||
<button>3</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>5</mapping>
|
|
||||||
<button>9</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>6</mapping>
|
|
||||||
<button>10</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>7</mapping>
|
|
||||||
<button>42</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>8</mapping>
|
|
||||||
<button>43</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>9</mapping>
|
|
||||||
<button>6</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>10</mapping>
|
|
||||||
<button>4</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>11</mapping>
|
|
||||||
<button>11</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>12</mapping>
|
|
||||||
<button>12</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>13</mapping>
|
<mapping>13</mapping>
|
||||||
<button>13</button>
|
<button>13</button>
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<emulated_controller>
|
<emulated_controller>
|
||||||
<type>Wii U Pro Controller</type>
|
<type>Wii U Pro Controller</type>
|
||||||
<profile>SteamInput-P2</profile>
|
|
||||||
<controller>
|
<controller>
|
||||||
<api>SDLController</api>
|
<api>SDLController</api>
|
||||||
<uuid>1_03000000de280000ff11000001000000</uuid>
|
<uuid>1_03000000de280000ff11000001000000</uuid>
|
||||||
|
@ -19,65 +18,65 @@
|
||||||
<range>1</range>
|
<range>1</range>
|
||||||
</trigger>
|
</trigger>
|
||||||
<mappings>
|
<mappings>
|
||||||
|
<entry>
|
||||||
|
<mapping>12</mapping>
|
||||||
|
<button>11</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>13</mapping>
|
<mapping>13</mapping>
|
||||||
<button>12</button>
|
<button>12</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
|
||||||
<mapping>14</mapping>
|
|
||||||
<button>13</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>15</mapping>
|
|
||||||
<button>14</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>16</mapping>
|
|
||||||
<button>7</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>17</mapping>
|
|
||||||
<button>8</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>18</mapping>
|
|
||||||
<button>45</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>19</mapping>
|
|
||||||
<button>39</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>20</mapping>
|
|
||||||
<button>44</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>21</mapping>
|
|
||||||
<button>38</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>22</mapping>
|
|
||||||
<button>47</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>23</mapping>
|
<mapping>23</mapping>
|
||||||
<button>41</button>
|
<button>41</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>1</mapping>
|
<mapping>22</mapping>
|
||||||
<button>0</button>
|
<button>47</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>21</mapping>
|
||||||
|
<button>38</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>20</mapping>
|
||||||
|
<button>44</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>19</mapping>
|
||||||
|
<button>39</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>18</mapping>
|
||||||
|
<button>45</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>17</mapping>
|
||||||
|
<button>8</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>16</mapping>
|
||||||
|
<button>7</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>15</mapping>
|
||||||
|
<button>14</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>24</mapping>
|
||||||
|
<button>46</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>2</mapping>
|
<mapping>2</mapping>
|
||||||
<button>1</button>
|
<button>0</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>3</mapping>
|
<mapping>3</mapping>
|
||||||
<button>2</button>
|
<button>3</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>4</mapping>
|
<mapping>4</mapping>
|
||||||
<button>3</button>
|
<button>2</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>5</mapping>
|
<mapping>5</mapping>
|
||||||
|
@ -103,17 +102,17 @@
|
||||||
<mapping>10</mapping>
|
<mapping>10</mapping>
|
||||||
<button>4</button>
|
<button>4</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
|
||||||
<mapping>12</mapping>
|
|
||||||
<button>11</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>25</mapping>
|
<mapping>25</mapping>
|
||||||
<button>40</button>
|
<button>40</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>24</mapping>
|
<mapping>14</mapping>
|
||||||
<button>46</button>
|
<button>13</button>
|
||||||
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>1</mapping>
|
||||||
|
<button>1</button>
|
||||||
</entry>
|
</entry>
|
||||||
</mappings>
|
</mappings>
|
||||||
</controller>
|
</controller>
|
|
@ -20,25 +20,29 @@
|
||||||
</trigger>
|
</trigger>
|
||||||
<mappings>
|
<mappings>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>24</mapping>
|
<mapping>13</mapping>
|
||||||
<button>46</button>
|
<button>12</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>25</mapping>
|
<mapping>23</mapping>
|
||||||
<button>40</button>
|
<button>41</button>
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>12</mapping>
|
|
||||||
<button>11</button>
|
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>10</mapping>
|
<mapping>10</mapping>
|
||||||
<button>4</button>
|
<button>4</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>22</mapping>
|
||||||
|
<button>47</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>9</mapping>
|
<mapping>9</mapping>
|
||||||
<button>6</button>
|
<button>6</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>21</mapping>
|
||||||
|
<button>38</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>8</mapping>
|
<mapping>8</mapping>
|
||||||
<button>43</button>
|
<button>43</button>
|
||||||
|
@ -60,21 +64,21 @@
|
||||||
<button>3</button>
|
<button>3</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>3</mapping>
|
<mapping>25</mapping>
|
||||||
<button>2</button>
|
<button>40</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>13</mapping>
|
<mapping>12</mapping>
|
||||||
<button>12</button>
|
<button>11</button>
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>14</mapping>
|
|
||||||
<button>13</button>
|
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>1</mapping>
|
<mapping>1</mapping>
|
||||||
<button>0</button>
|
<button>0</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>14</mapping>
|
||||||
|
<button>13</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>15</mapping>
|
<mapping>15</mapping>
|
||||||
<button>14</button>
|
<button>14</button>
|
||||||
|
@ -87,6 +91,10 @@
|
||||||
<mapping>16</mapping>
|
<mapping>16</mapping>
|
||||||
<button>7</button>
|
<button>7</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>3</mapping>
|
||||||
|
<button>2</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>17</mapping>
|
<mapping>17</mapping>
|
||||||
<button>8</button>
|
<button>8</button>
|
||||||
|
@ -104,16 +112,8 @@
|
||||||
<button>44</button>
|
<button>44</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>21</mapping>
|
<mapping>24</mapping>
|
||||||
<button>38</button>
|
<button>46</button>
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>22</mapping>
|
|
||||||
<button>47</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>23</mapping>
|
|
||||||
<button>41</button>
|
|
||||||
</entry>
|
</entry>
|
||||||
</mappings>
|
</mappings>
|
||||||
</controller>
|
</controller>
|
|
@ -20,25 +20,29 @@
|
||||||
</trigger>
|
</trigger>
|
||||||
<mappings>
|
<mappings>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>24</mapping>
|
<mapping>13</mapping>
|
||||||
<button>46</button>
|
<button>12</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>25</mapping>
|
<mapping>23</mapping>
|
||||||
<button>40</button>
|
<button>41</button>
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>12</mapping>
|
|
||||||
<button>11</button>
|
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>10</mapping>
|
<mapping>10</mapping>
|
||||||
<button>4</button>
|
<button>4</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>22</mapping>
|
||||||
|
<button>47</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>9</mapping>
|
<mapping>9</mapping>
|
||||||
<button>6</button>
|
<button>6</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>21</mapping>
|
||||||
|
<button>38</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>8</mapping>
|
<mapping>8</mapping>
|
||||||
<button>43</button>
|
<button>43</button>
|
||||||
|
@ -60,21 +64,21 @@
|
||||||
<button>3</button>
|
<button>3</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>3</mapping>
|
<mapping>25</mapping>
|
||||||
<button>2</button>
|
<button>40</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>13</mapping>
|
<mapping>12</mapping>
|
||||||
<button>12</button>
|
<button>11</button>
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>14</mapping>
|
|
||||||
<button>13</button>
|
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>1</mapping>
|
<mapping>1</mapping>
|
||||||
<button>0</button>
|
<button>0</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>14</mapping>
|
||||||
|
<button>13</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>15</mapping>
|
<mapping>15</mapping>
|
||||||
<button>14</button>
|
<button>14</button>
|
||||||
|
@ -87,6 +91,10 @@
|
||||||
<mapping>16</mapping>
|
<mapping>16</mapping>
|
||||||
<button>7</button>
|
<button>7</button>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry>
|
||||||
|
<mapping>3</mapping>
|
||||||
|
<button>2</button>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>17</mapping>
|
<mapping>17</mapping>
|
||||||
<button>8</button>
|
<button>8</button>
|
||||||
|
@ -104,16 +112,8 @@
|
||||||
<button>44</button>
|
<button>44</button>
|
||||||
</entry>
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<mapping>21</mapping>
|
<mapping>24</mapping>
|
||||||
<button>38</button>
|
<button>46</button>
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>22</mapping>
|
|
||||||
<button>47</button>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<mapping>23</mapping>
|
|
||||||
<button>41</button>
|
|
||||||
</entry>
|
</entry>
|
||||||
</mappings>
|
</mappings>
|
||||||
</controller>
|
</controller>
|
|
@ -94,9 +94,9 @@
|
||||||
<TVVolume>100</TVVolume>
|
<TVVolume>100</TVVolume>
|
||||||
<PadVolume>100</PadVolume>
|
<PadVolume>100</PadVolume>
|
||||||
<InputVolume>100</InputVolume>
|
<InputVolume>100</InputVolume>
|
||||||
<TVDevice>alsa_output.pci-0000_04_00.5-platform-acp5x_mach.0.HiFi__hw_acp5x_1__sink</TVDevice>
|
<TVDevice>default</TVDevice>
|
||||||
<PadDevice>alsa_output.pci-0000_04_00.5-platform-acp5x_mach.0.HiFi__hw_acp5x_1__sink</PadDevice>
|
<PadDevice>default</PadDevice>
|
||||||
<InputDevice>filter-chain-source</InputDevice>
|
<InputDevice>default</InputDevice>
|
||||||
</Audio>
|
</Audio>
|
||||||
<Account>
|
<Account>
|
||||||
<PersistentId>2147483649</PersistentId>
|
<PersistentId>2147483649</PersistentId>
|
|
@ -42,12 +42,17 @@ Threads = True
|
||||||
[General]
|
[General]
|
||||||
ISOPath0 = RETRODECKHOMEDIR/roms/wii
|
ISOPath0 = RETRODECKHOMEDIR/roms/wii
|
||||||
ISOPath1 = RETRODECKHOMEDIR/roms/gc
|
ISOPath1 = RETRODECKHOMEDIR/roms/gc
|
||||||
ISOPaths = 3
|
ISOPaths = 2
|
||||||
WiiSDCardPath = RETRODECKHOMEDIR/saves/wii/dolphin/sd.raw
|
WiiSDCardPath = RETRODECKHOMEDIR/saves/wii/dolphin/sd.raw
|
||||||
WirelessMac = 00:17:ab:83:9b:d4
|
WirelessMac = 00:17:ab:83:9b:d4
|
||||||
HotkeysRequireFocus = True
|
HotkeysRequireFocus = True
|
||||||
RecursiveISOPaths = 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]
|
[NetPlay]
|
||||||
TraversalChoice = direct
|
TraversalChoice = direct
|
||||||
[BluetoothPassthrough]
|
[BluetoothPassthrough]
|
|
@ -7,7 +7,7 @@ SyncToHostRefreshRate = false
|
||||||
IncreaseTimerResolution = true
|
IncreaseTimerResolution = true
|
||||||
InhibitScreensaver = true
|
InhibitScreensaver = true
|
||||||
StartPaused = false
|
StartPaused = false
|
||||||
StartFullscreen = false
|
StartFullscreen = true
|
||||||
PauseOnFocusLoss = true
|
PauseOnFocusLoss = true
|
||||||
PauseOnMenu = true
|
PauseOnMenu = true
|
||||||
SaveStateOnExit = false
|
SaveStateOnExit = false
|
|
@ -68,7 +68,7 @@ else
|
||||||
# Check if the .doom file exists
|
# Check if the .doom file exists
|
||||||
if [[ ! -e "$doom_file" ]]; then
|
if [[ ! -e "$doom_file" ]]; then
|
||||||
log e "doom file not found in \"$doom_file\""
|
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" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
--title "RetroDECK" \
|
--title "RetroDECK" \
|
||||||
--text="File \"$doom_file\" not found. Quitting."
|
--text="File \"$doom_file\" not found. Quitting."
|
||||||
|
@ -85,7 +85,7 @@ else
|
||||||
# If the file is not found, exit with an error
|
# If the file is not found, exit with an error
|
||||||
if [[ -z "$found_file" ]]; then
|
if [[ -z "$found_file" ]]; then
|
||||||
log "[ERROR] File not found in \"$line\""
|
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" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
--title "RetroDECK" \
|
--title "RetroDECK" \
|
||||||
--text="File \"$doom_file\" not found. Quitting."
|
--text="File \"$doom_file\" not found. Quitting."
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue