RetroDECK v0.7.2b

This commit is contained in:
XargonWan 2023-09-27 20:58:50 +02:00
commit c8ced66674
60 changed files with 1958 additions and 354 deletions

View file

@ -1,4 +1,4 @@
name: cooker-selfhosted name: "Build cooker"
on: on:
push: push:
@ -6,8 +6,10 @@ on:
- cooker* - cooker*
paths: paths:
- '.github/workflows/**' - '.github/workflows/**'
- 'automation_tools/**'
- 'emu-configs/**' - 'emu-configs/**'
- 'es-configs/**' - 'es-configs/**'
- 'functions/**'
- 'rd-submodules/**' - 'rd-submodules/**'
- '*.sh' - '*.sh'
- 'net.retrodeck.retrodeck.yml' - 'net.retrodeck.retrodeck.yml'
@ -30,9 +32,15 @@ jobs:
run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
continue-on-error: true continue-on-error: true
- uses: actions/checkout@v3 - name: Clone RetroDECK repo
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Generate build ID - name: "Install dependencies"
run: "automation_tools/install_dependencies.sh"
- name: Generate cooker build ID
run: | run: |
word1=$(shuf -n 1 ${GITHUB_WORKSPACE}/automation_tools/codename_wordlist.txt) word1=$(shuf -n 1 ${GITHUB_WORKSPACE}/automation_tools/codename_wordlist.txt)
capitalized_word1="$(tr '[:lower:]' '[:upper:]' <<< ${word1:0:1})${word1:1}" capitalized_word1="$(tr '[:lower:]' '[:upper:]' <<< ${word1:0:1})${word1:1}"
@ -40,34 +48,33 @@ jobs:
capitalized_word2="$(tr '[:lower:]' '[:upper:]' <<< ${word2:0:1})${word2:1}" capitalized_word2="$(tr '[:lower:]' '[:upper:]' <<< ${word2:0:1})${word2:1}"
result=$capitalized_word1$capitalized_word2 result=$capitalized_word1$capitalized_word2
echo $result > ${GITHUB_WORKSPACE}/buildid echo $result > ${GITHUB_WORKSPACE}/buildid
ls -lah ${GITHUB_WORKSPACE} # DEBUG
cat ${GITHUB_WORKSPACE}/buildid # DEBUG
echo "buildid=$result" >> $GITHUB_ENV echo "buildid=$result" >> $GITHUB_ENV
echo "VersionID is $result" echo "VersionID is $result"
- name: Initialize environment - name: Run pre-build automation tasks
run: | run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
git pull
git submodule init - name: "Adding flatpak portal for automated updates (cooker only)"
git submodule update run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh"
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet bzip2
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # - name: "Updating release notes in appdata"
flatpak install --user -y --noninteractive \ # run: "automation_tools/appdata_management.sh"
org.kde.Sdk//6.3 \
org.kde.Platform//6.3 \ - name: "[DEBUG] Outputting manifest"
org.freedesktop.Platform.ffmpeg-full/x86_64/22.08 \ run: cat net.retrodeck.retrodeck.yml
io.qt.qtwebengine.BaseApp/x86_64/6.3 \
org.freedesktop.Sdk.Extension.llvm13 \ - name: "Build flatpak: download only"
org.freedesktop.Sdk.Extension.dotnet6/x86_64/22.08 \ id: "flatpak-download"
runtime/org.freedesktop.Platform.ffmpeg-full/x86_64/22.08 run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh # Run pre-build automation tasks 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: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
- name: Build flatpak - name: Build flatpak
run: | run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean --install-deps-from=flathub --install-deps-from=flathub-beta --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml
- name: Create Artifact for flathub - name: Create Artifact for flathub
run: | run: |
@ -78,12 +85,22 @@ jobs:
continue-on-error: true continue-on-error: true
- name: Create Bundle - name: Create Bundle
run: | run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
flatpak build-bundle ${GITHUB_WORKSPACE}/local RetroDECK.flatpak net.retrodeck.retrodeck
- name: Set environment variable with current branch name - name: Set environment variable with current branch name
run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
- name: Get commits since last release
run: |
# Get the latest release tag
LATEST_TAG=$(git describe --tags --abbrev=0)
# Get all commits since the latest release tag
COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s")
# Set the output variable
echo "::set-output name=commits::$COMMITS"
id: commits
continue-on-error: true
- name: Publish the flatpak in a new cooker release - name: Publish the flatpak in a new cooker release
uses: ncipollo/release-action@v1 uses: ncipollo/release-action@v1
with: with:
@ -92,24 +109,25 @@ jobs:
# 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}}.
## 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/qQcrFvaA2C) on our Discord server.
Cooker channel is provided for the community to test fixes and explore new functionality. 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. Please DO NOT open issues or ask support on this build.
artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" artifacts: "RetroDECK-cooker.flatpak,RetroDECK-Artifact.tar.gz"
allowUpdates: true allowUpdates: true
#prerelease: true
makeLatest: true makeLatest: true
#draft: true
token: ${{ secrets.TRIGGER_BUILD_TOKEN }} token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
repo: RetroDECK-cooker repo: RetroDECK-cooker
continue-on-error: true continue-on-error: true
# 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-cooker.flatpak
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: retrodeck-flatpak name: retrodeck-flatpak
path: RetroDECK.flatpak path: RetroDECK-cooker.flatpak
continue-on-error: true continue-on-error: true

View file

@ -1,5 +1,5 @@
name: PUSH-main-flathub name: "Push main on Flathub"
on: on:
workflow_dispatch: workflow_dispatch:
@ -9,6 +9,7 @@ jobs:
Pushing_main_into_flathub: Pushing_main_into_flathub:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Pushing - name: Pushing
shell: bash shell: bash
run: | run: |
@ -47,17 +48,35 @@ jobs:
# Copying only a few files as the others are cloned by git in retrodeck.sh # Copying only a few files as the others are cloned by git in retrodeck.sh
cd $gits_folder/RetroDECK cd $gits_folder/RetroDECK
cp -rf \ cp -rf \
'flathub.json' \
'LICENSE' \ 'LICENSE' \
'flathub.yml' \
'README.md' \ 'README.md' \
$gits_folder/flathub/ $gits_folder/flathub/
cd $gits_folder/flathub cd $gits_folder/flathub
ls -lah ls -lah
# manipulating manifest # Creating the manifest for flathub
mv flathub.yml net.retrodeck.retrodeck.yml manifest='net.retrodeck.retrodeck.yml'
sed -n '/cleanup/q;p' $gits_folder/RetroDECK/net.retrodeck.retrodeck.yml > $manifest
sed -i '/^[[:space:]]*#/d' $manifest
sed -i 's/[[:space:]]*#.*$//' $manifest
cat << EOF >> $manifest
modules:
- name: retrodeck
buildsystem: simple
build-commands:
- cp -rn files/* /app
sources:
- type: archive
url: https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.tar.gz
sha256: __SHA__
EOF
cat << EOF >> flathub.json
{
"only-arches": ["x86_64"]
}
EOF
# Getting latest release name # Getting latest release name
# version=$(\ # version=$(\

View file

@ -1,4 +1,4 @@
name: main-selfhosted name: "Build main"
on: on:
push: push:
@ -6,8 +6,10 @@ on:
- main - main
paths: paths:
- '.github/workflows/**' - '.github/workflows/**'
- 'automation_tools/**'
- 'emu-configs/**' - 'emu-configs/**'
- 'es-configs/**' - 'es-configs/**'
- 'functions/**'
- 'rd-submodules/**' - 'rd-submodules/**'
- '*.sh' - '*.sh'
- 'net.retrodeck.retrodeck.yml' - 'net.retrodeck.retrodeck.yml'
@ -30,35 +32,43 @@ jobs:
run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
continue-on-error: true continue-on-error: true
- name: Generate build ID - name: Clone RetroDECK repo
id: generating_buildid uses: actions/checkout@v3
run: echo "##[set-output name=build-id;]$(echo "$( git rev-parse --short HEAD )")" with:
submodules: 'true'
- uses: actions/checkout@v3 - name: "Install dependencies"
run: "automation_tools/install_dependencies.sh"
- name: Initialize enviornment - name: Run pre-build automation tasks
run: | run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
git pull
git submodule init - name: Read manifest content
git submodule update id: read_manifest
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet bzip2 run: echo "::set-output name=file_content::$(cat net.retrodeck.retrodeck.yml)"
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user -y --noninteractive \ # - name: "Updating release notes in appdata"
org.kde.Sdk//6.3 \ # run: "automation_tools/appdata_management.sh"
org.kde.Platform//6.3 \
org.freedesktop.Platform.ffmpeg-full/x86_64/22.08 \ - name: Check versions (main only)
io.qt.qtwebengine.BaseApp/x86_64/6.3 \ id: check_version_string
org.freedesktop.Sdk.Extension.llvm13 \ run: "automation_tools/main_version_checker.sh"
org.freedesktop.Sdk.Extension.dotnet6/x86_64/22.08 \
runtime/org.freedesktop.Platform.ffmpeg-full/x86_64/22.08 - name: "[DEBUG] Outputting manifest"
/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh # Run pre-build automation tasks 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: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
- name: Build flatpak - name: Build flatpak
run: | run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean --install-deps-from=flathub --install-deps-from=flathub-beta --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-main net.retrodeck.retrodeck.yml
- name: Create Artifact for flathub - name: Create Artifact for flathub
run: | run: |
@ -69,8 +79,7 @@ jobs:
continue-on-error: true continue-on-error: true
- name: Create Bundle - name: Create Bundle
run: | run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
flatpak build-bundle ${GITHUB_WORKSPACE}/local RetroDECK.flatpak net.retrodeck.retrodeck
- name: Getting version info - name: Getting version info
id: version id: version
@ -92,7 +101,6 @@ jobs:
bodyFile: "body.md" bodyFile: "body.md"
artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz"
allowUpdates: true allowUpdates: true
#prerelease: true
makeLatest: true makeLatest: true
token: ${{ secrets.TRIGGER_BUILD_TOKEN }} token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
repo: RetroDECK repo: RetroDECK

57
.github/workflows/submodule-update.yml vendored Normal file
View file

@ -0,0 +1,57 @@
name: Sunday Submodule Update
on:
# At 4:00 (CET)
schedule:
- cron: '0 2 * * 0'
workflow_dispatch:
jobs:
update_submodules:
name: Update submodules and create PR
runs-on: ubuntu-latest
steps:
- name: Checkout repo with submodules
uses: actions/checkout@v2
with:
token: ${{ secrets.REPO_TOKEN }}
submodules: recursive
- name: Fetch all remote branches
run: git fetch --all
- name: List cooker branches by date
id: list_branches
run: |
BRANCHES=$(git for-each-ref --sort=-committerdate refs/remotes/origin/cooker* --format='%(refname)') echo “::set-output name=branches::$BRANCHES”
- name: Select target branch
id: select_branch
run: |
TARGET_BRANCH=(echo{{ steps.list_branches.outputs.branches }} | head -n 1)
echo “::set-output name=target_branch::$TARGET_BRANCH”
git checkout $TARGET_BRANCH
echo "Working on $TARGET_BRANCH"
- name: Update submodules with command
run: git submodule update --remote --merge --recursive
- name: Configure Git credentials
run: |
git config --global user.name 'GitHub bot'
git config --global user.email 'bot@noreply.github.com'
- name: Commit and push changes
run: |
git commit -am "Sunday submodule update"
git push origin HEAD:submodule-update
- name: Create PR
uses: repo-sync/pull-request@v2
with:
github_token: ${{ secrets.REPO_TOKEN }}
pr_title: "Sunday submodule update"
pr_body: "This PR updates the submodules to the latest commit on their remote repositories."
source_branch: "submodule-update"
destination_branch: "cooker*"

3
.gitignore vendored
View file

@ -13,6 +13,7 @@ Thumbs.db
.flatpak-builder/ .flatpak-builder/
retrodeck-flatpak-cooker/ retrodeck-flatpak-cooker/
retrodeck-flatpak/ retrodeck-flatpak/
bakcup backup
.old .old
tmp tmp
.godot

View file

@ -0,0 +1,94 @@
#!/bin/bash
# THIS SCRIPT IS BROKEN HENCE DISABLED FTM
# This script is getting the latest release notes from the wiki and add them to the appdata
source automation_tools/version_extractor.sh
# Fetch appdata version
appdata_version=$(fetch_appdata_version)
echo -e "Appdata:\t\t$appdata_version"
# Defining manifest file location
appdata_file="net.retrodeck.retrodeck.appdata.xml"
# Check if release with appdata_version already exists
if grep -q "version=\"$appdata_version\"" "$appdata_file"; then
echo "Deleting existing release version $appdata_version..."
# Remove the existing release entry
sed -i "/<release version=\"$appdata_version\"/,/<\/release>/d" "$appdata_file"
fi
echo "Adding new release version $appdata_version..."
# Get today's date in the required format (YYYY-MM-DD)
today_date=$(date +"%Y-%m-%d")
echo "Today is $today_date"
# Construct the release snippet
release_snippet="\
<releases>
<release version=\"$appdata_version\" date=\"$today_date\">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/$appdata_version</url>
<description>
RELEASE_NOTES_PLACEHOLDER
</description>
</release>"
# Read the entire content of the XML file
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
# 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 "
version_number="${version_number%% -*}" # Remove text after " - "
# Extract sections from the latest version notes
sections=$(echo "$latest_version_notes" | awk '/##/ { print; }')
# Create a formatted section list
section_list=""
current_section=""
while IFS= read -r line; do
if [[ "$line" == "##"* ]]; then
if [ -n "$current_section" ]; then
section_list+="</ul>"
fi
section_name="${line##*# }"
section_list+="<p>${section_name}</p><ul>"
elif [[ "$line" == "- "* ]]; then
entry="${line#*- }"
section_list+="<li>${entry}</li>"
fi
done <<< "$sections"
if [ -n "$current_section" ]; then
section_list+="</ul>"
fi
# Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes
release_description="${release_snippet/RELEASE_NOTES_PLACEHOLDER/$section_list}"
# Append the new release snippet to the content
modified_xml_content="${xml_content/<releases>/$release_description}"
# Overwrite the original XML file with the modified content
echo "$modified_xml_content" > "$appdata_file"
# Format the XML file
#xmlstarlet fo --omit-decl "$appdata_file"

View file

@ -9,3 +9,4 @@ hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282f
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
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
outside_info^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid outside_info^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid
branch^THISBRANCH

View file

@ -0,0 +1,7 @@
#!/bin/bash
# COOKER ONLY
# This script is adding the update portal (permission) to the ooker flatpak.
# This is ran by the cooker pipeline.
sed -i '/finish-args:/a \ \ - --talk-name=org.freedesktop.Flatpak' net.retrodeck.retrodeck.yml

View file

@ -0,0 +1,5 @@
#!/bin/bash
# This is building the bundle RetroDECK.flatpak after the download and build steps are done
flatpak build-bundle ${GITHUB_WORKSPACE}/local RetroDECK-cooker.flatpak net.retrodeck.retrodeck

View file

@ -0,0 +1,14 @@
#!/bin/bash
# This script is downloading the needed files to prepare the manifest build
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--download-only \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml

View file

@ -0,0 +1,14 @@
#!/bin/bash
# This script is building the flatpak is the needed files are already downloaded
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--disable-download \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml

View file

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
# WARNING: DANGEROUS! Don't use this script lightly
git submodule deinit --all git submodule deinit --all
rm rd-submodules/retroarch rm rd-submodules/retroarch
git rm -rf --cached rd-submodules/retroarch git rm -rf --cached rd-submodules/retroarch

View file

@ -0,0 +1,5 @@
#!/bin/bash
# This scritp is installing the required dependencies to correctly run the pipeline and buold the flatpak
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet bzip2 curl
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

View file

@ -0,0 +1,63 @@
#!/bin/bash
# This script is used to check that the versions are correct and stopping the pipeline if something is wrong.
# This is designed to be run on the main pipeline to check that everything is in order before building RetroDECK.
source automation_tools/version_extractor.sh
# Set the file paths
appdata="net.retrodeck.retrodeck.appdata.xml"
manifest="net.retrodeck.retrodeck.yml"
manifest_content=$(cat "$manifest")
compare_versions() {
local manifest_version_cleaned=$(echo "$1" | sed 's/[a-zA-Z]//g')
local appdata_version_cleaned=$(echo "$2" | sed 's/[a-zA-Z]//g')
if [[ "$manifest_version_cleaned" == "$appdata_version_cleaned" ]]; then
return 0 # Versions are equal
fi
local IFS=.
local manifest_parts=($manifest_version_cleaned)
local appdata_parts=($appdata_version_cleaned)
for ((i=0; i<${#manifest_parts[@]}; i++)); do
if ((manifest_parts[i] > appdata_parts[i])); then
return 1 # Manifest version is greater
elif ((manifest_parts[i] < appdata_parts[i])); then
return 2 # Appdata version is greater
fi
done
return 0 # Versions are equal
}
repo_version=$(fetch_repo_version)
echo -e "Online repository:\t$repo_version"
manifest_version=$(fetch_manifest_version)
echo -e "Manifest:\t\t$manifest_version"
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."
exit 1
fi
if [[ "$appdata_version" != "$manifest_version" ]]; then
echo "Appdata version is not equal to manifest version. Please fix it."
exit 1
fi
compare_versions "$repo_version" "$manifest_version"
result=$?
if [ "$result" -eq 1 ]; then
echo "Repository version is less than manifest version. Please fix it."
exit 1
fi
echo "All checks passed. Well done!"

10
automation_tools/pre_build_automation.sh Normal file → Executable file
View file

@ -15,6 +15,7 @@
rd_manifest=${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml rd_manifest=${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml
automation_task_list=${GITHUB_WORKSPACE}/automation_tools/automation_task_list.cfg automation_task_list=${GITHUB_WORKSPACE}/automation_tools/automation_task_list.cfg
current_branch=$(git rev-parse --abbrev-ref HEAD)
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"
@ -23,10 +24,17 @@ echo "Task list contents:"
cat "$automation_task_list" cat "$automation_task_list"
echo echo
# Update all collected information
while IFS="^" read -r action placeholder url branch while IFS="^" read -r action placeholder url branch
do do
if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then
if [[ "$action" == "hash" ]]; then if [[ "$action" == "branch" ]]; then
echo
echo "Placeholder text: $placeholder"
echo "Current branch:" "$current_branch"
echo
/bin/sed -i 's^'"$placeholder"'^'"$current_branch"'^g' $rd_manifest
elif [[ "$action" == "hash" ]]; then
echo echo
echo "Placeholder text: $placeholder" echo "Placeholder text: $placeholder"
echo "URL to hash: $url" echo "URL to hash: $url"

View file

@ -0,0 +1,34 @@
#!/bin/bash
# This script is intended to gather version information from various sources:
# RetroDECK repository
# Appdata.xml file
# Manifest YAML file
# It consists of three functions, each responsible for retrieving a specific version-related data.
appdata="net.retrodeck.retrodeck.appdata.xml"
manifest="net.retrodeck.retrodeck.yml"
manifest_content=$(cat "$manifest")
fetch_repo_version(){
# Getting latest RetroDECK release info
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/releases/latest")
# Extracting tag name from the latest release
repo_version=$(echo "$LATEST_RELEASE" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
# Printing results
echo "$repo_version"
}
fetch_appdata_version(){
# Extract the version from the net.retrodeck.retrodeck.appdata.xml file
appdata_version=$(grep -oPm1 "(?<=<release version=\")[^\"]+" "$appdata")
echo "$appdata_version"
}
fetch_manifest_version(){
# Use awk to extract the value of the first iteration of VERSION variable
manifest_version=$(echo "$manifest_content" | awk '/VERSION=/ && !/#/ { sub(/.*VERSION=/, ""); sub(/#.*/, ""); print; exit }')
# Trim leading and trailing whitespace
manifest_version=$(echo "$manifest_version" | awk '{$1=$1;print}')
echo "$manifest_version"
}

View file

@ -286,6 +286,10 @@ gambatte_gb_link_network_server_ip_9 = "0"
gambatte_gb_palette_pixelshift_1 = "PixelShift 01 - Arctic Green" gambatte_gb_palette_pixelshift_1 = "PixelShift 01 - Arctic Green"
gambatte_gb_palette_twb64_1 = "TWB64 001 - Aqours Blue" gambatte_gb_palette_twb64_1 = "TWB64 001 - Aqours Blue"
gambatte_gb_palette_twb64_2 = "TWB64 101 - 765PRO Pink" gambatte_gb_palette_twb64_2 = "TWB64 101 - 765PRO Pink"
gambatte_gb_input_player1_l = "nul"
gambatte_gb_input_player1_l_btn = "nul"
gambatte_gb_input_player1_r = "nul"
gambatte_gb_input_player1_r_btn = "nul"
gambatte_gbc_color_correction = "GBC only" gambatte_gbc_color_correction = "GBC only"
gambatte_gbc_color_correction_mode = "accurate" gambatte_gbc_color_correction_mode = "accurate"
gambatte_gbc_frontlight_position = "central" gambatte_gbc_frontlight_position = "central"

View file

@ -0,0 +1,28 @@
The ~/retrodeck/texture_packs/duckstaiton/ represents the /duckstation/textures/ folder in Duckstation.
Note:
Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
Note:
TITLEID is different for every game.
Enable Custom Textures
- Open up Duckstation inside RetroDECK Configurator by pressing Open Emulator - Duckstation.
- Go to Settings -> Advanced -> Tweaks/Hacks
- Enable VRAM Write Texture Replacement and set it to On.
- Preload Texture Replacements and set it to On.
How do I add texture packs?
Requirements: Texture pack files
NOTE: On the Steam Deck this could be easier to do in Desktop Mode.
Texture folder directly
- Extract any texture pack files from compressed .zip or any other format into folders.
- Go into ~/retrodeck/texture_packs/duckstation/. The folders are all named by TITLEID.
- Move textures into the right ~/retrodeck/texture_packs/duckstation/<TITLEID> folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Duckstation%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,32 @@
RetroArch - NES - Mesen
The texture_packs/RetroArch-Mesen/ represents /retroarch/system/HdPacks/ folder.
Note:
Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
Enable Texture Packs in the Mesen core for certain games
From the RetroArch Quick Menu
- Go to Core Options -> Enable HD Packs set to On
- Then save the current configuration for that game under Core Options -> Manage Core Options -> Save Game Options
How do I add texture packs that can be used by the Mesen Core?
NOTE: On the Steam Deck this could be easier to do in Desktop Mode.
- All texture packs go into the texture_packs/RetroArch-Mesen/ folder.
- The texture pack have to be extracted from .zip or other compressed format into a folder.
- The name of the folder must be the same name as that of the rom file the texture pack is for.
Example:
You want apply a texture pack to a game called ScaryCastle USA.nes and you have downloaded the ScaryCastle TexturePACK HD.zip.
- Extract the ScaryCastle TexturePACK HD.zip
- Move the extracted ScaryCastle TexturePACK HD folder into texture_packs/RetroArch-Mesen/
- Rename the ScaryCastle TexturePACK HD folder so it has the same name as the rom ScaryCastle USA without the .nes file extension.
- Start up RetroDECK and select the ScaryCastle nes games.
NOTE: On the Steam Deck go into GameMode first, then launch RetroDECK.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/RetroArch-Mesen%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,30 @@
RetroArch - N64 - Mupen64Plus-Next
The directory 'texture_packs/RetroArch-Mupen64Plus/' corresponds to the '/retroarch/system/Mupen64plus/' folder.
Please note that some texture packs may be designed for a specific version or region of the game. Ensure you have the correct ROM and textures for it.
To enable Texture Packs in the Mupen64Plus-Next core for certain games, follow these steps:
1. Open the RetroArch Quick Menu.
2. Navigate to Core Options -> GLideN64.
3. Set 'Use High-Res Textures', 'Cache Textures', 'Use High-Res Full Alpha Channel', and 'Use Hi-Res Storage' to On.
4. Save the current configuration for that game under Core Options -> Manage Core Options -> Save Game Options.
Optionally, you can set 'Use High-Res Texture Cache Compression' to On to compress uncompressed HD Textures into .hts files.
To add texture packs that can be used by the Mupen64Plus-Next Core:
Note: On the Steam Deck, this could be easier to do in Desktop Mode.
1. All texture packs go into the 'texture_packs//RetroArch-Mupen64Plus/hires_texture/' or 'texture_packs/RetroArch-Mupen64Plus/cache/' folder.
2. The texture pack must be extracted from .zip or other compressed format into a folder.
For compressed textures stored in .hts files, place them in the 'texture_packs/RetroArch-Mupen64Plus/cache/' folder.
For uncompressed textures stored in loose folders or files, place them in the 'texture_packs/RetroArch-Mupen64Plus/hires_texture/' folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/RetroArch-Mupen64Plus-Next%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,26 @@
PCSX2 - Playstation 2
The directory '~/retrodeck/texture_packs/PCSX2/' corresponds to the '/PCSX2/textures/' folder in PCSX2.
Please note that some texture packs may be designed for a specific version or region of a game. Ensure you have the correct game and textures for it.
Also, keep in mind that 'TITLEID' is different for every game.
To enable Custom Textures, follow these steps:
1. Open up PCSX2 inside RetroDECK Configurator by pressing 'Open Emulator' - 'PCSX2'.
2. Press 'Settings' -> 'Graphics'.
3. Set 'Load Textures' and 'Async Texture Loading' to On.
To add texture packs, you'll need the texture pack files. On the Steam Deck, this could be easier to do in Desktop Mode.
For direct texture folder:
1. Extract any texture pack files from compressed .zip or any other format into folders.
2. Go into '~/retrodeck/texture_packs/PCSX2/'. The folders are all named by 'TITLEID'.
3. Move textures into the correct '~/retrodeck/texture_packs/PCSX2/<TITLEID>' folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/PCSX2%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,26 @@
PPSSPP - PSP
The directory '~/retrodeck/texture_packs/ppsspp/' corresponds to the '/PSP/TEXTURES/' folder in PPSSPP.
Please note that some texture packs may be designed for a specific version or region of the game. Ensure you have the correct ROM and textures for it.
Also, keep in mind that 'TITLEID' is different for every game.
To enable Custom Textures, follow these steps:
1. Open up PPSSPP inside RetroDECK Configurator by pressing 'Open Emulator' - 'PPSSPP'.
2. Press 'Settings' -> 'Tools' -> 'Developer Tools'.
3. Set 'Replace Textures' to On.
To add texture packs, you'll need the texture pack files. On the Steam Deck, this could be easier to do in Desktop Mode.
For adding textures:
1. Extract any texture pack files from compressed .zip or any other format into folders.
2. Go into '~/retrodeck/texture_packs/ppsspp/'. The folders are all named by 'TITLEID'.
3. Paste the textures into the correct '~/retrodeck/texture_packs/ppsspp/<TITLEID>' folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/PPSSPP%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,19 @@
There are two ways of adding mods into Citra
From Citra
- Extract any mod from compressed .zip or any other format to folders.
- Open up Citra inside RetroDECK Configurator by pressing Open Emulator - Citra.
- Right click on the game you want to add mods into.
- Click on Open Mods Location.
- Paste the mod files inside that directory, each folder is stored by the TITLLEID of the game.
- Quit Citra
From the mod folder directly
- Extract any mod files from compressed .zip or any other format into folders.
- Go into ~/retrodeck/mods/citra/. The folders are all named by TITLEID.
- Past the mods into the right ~/retrodeck/mods/yuzu/<TITLEID> folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Citra%3A-Mods#citra---3ds
The RetroDECK Team

View file

@ -0,0 +1,19 @@
Prerequisites
- Open up Dolphin inside RetroDECK Configurator by pressing Open Emulator - Dolphin.
- Press Options -> Graphic Settings
- Enable Graphics Mods and set it to On.
Installation
- Extract any mod files from compressed .zip or any other format into folders.
- Go into mods folders, they contain folders that are all named by GAME_ID. ~/retrodeck/mods/dolphin/.
- Move the mods into the right folder: ~/retrodeck/mods/dolphin/<GAME_ID>
Notes:
- The ~/retrodeck/mods/dolphin/ that represents the /load/GraphicMods folder.
- Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
- GAME_ID is different for every game.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Dolphin-and-Primehack%3A-Mods
The RetroDECK Team

View file

@ -0,0 +1,19 @@
Prerequisites
- Open up Primehack inside RetroDECK Configurator by pressing Open Emulator - Primehack.
- Press Options -> Graphic Settings
- Enable Graphics Mods and set it to On.
Installation
- Extract any mod files from compressed .zip or any other format into folders.
- Go into mods folders, they contain folders that are all named by GAME_ID. ~/retrodeck/mods/primehack/.
- Move the mods into the right folder: ~/retrodeck/mods/primehack/<GAME_ID>
Notes:
- The ~/retrodeck/mods/primehack/ that represents the /load/GraphicMods folder.
- Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
- GAME_ID is different for every game.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Dolphin-and-Primehack%3A-Mods
The RetroDECK Team

View file

@ -0,0 +1,25 @@
There are two ways of adding mods into Yuzu
From Yuzu directly
- Extract any mod files from compressed .zip or any other format to folders.
- Open up Yuzu inside RetroDECK Configurator by pressing Open Emulator - Yuzu.
- Right click on the game you want to add mods into.
- Click on Open Mod Data Destination.
- Paste the mod folders inside that directory.
- Right clicking on the game and selecting Properties.
- Enable the mods you want to enable by pressing the checkboxes in the Add-Ons tab and press OK.
- Quit Yuzu
From the mods/yuzu folder
- Extract any mod files from compressed .zip or any other format into folders.
- Go into ~/retrodeck/mods/yuzu/ and file the right folder for the game you want to add mods to. The folders are all named by TITLEID.
- Move those folders into ~/retrodeck/mods/yuzu/<TITLEID>
- Open up Yuzu inside RetroDECK Configurator by pressing Open Emulator - Yuzu.
- Right clicking on the game and selecting Properties.
- Enable the mods you want to enable by pressing the checkboxes in the Add-Ons tab and press OK.
- Quit Yuzu
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Yuzu%3A-Mods
The RetroDECK Team

View file

@ -2,12 +2,13 @@ config_file_format^retroarch
target_file^/var/config/retroarch/config/mGBA/gba.cfg target_file^/var/config/retroarch/config/mGBA/gba.cfg
defaults_file^$emuconfigs/retroarch/retroarch.cfg defaults_file^$emuconfigs/retroarch/retroarch.cfg
change^borders^aspect_ratio_index^23 change^borders^aspect_ratio_index^23
change^borders^custom_viewport_height^600 change^borders^custom_viewport_height^640
change^borders^custom_viewport_width^900 change^borders^custom_viewport_width^960
change^borders^custom_viewport_x^190 change^borders^custom_viewport_x^160
change^borders^custom_viewport_y^37 change^borders^custom_viewport_y^0
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gba.cfg
change^borders^input_overlay_aspect_adjust_landscape^0.105000
change^borders^input_overlay_enable^true change^borders^input_overlay_enable^true
change^borders^input_overlay_scale_landscape^1.140000 change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gba.cfg
change^borders^input_overlay_aspect_adjust_landscape^0.110000
change^borders^input_overlay_scale_landscape^1.2150000
change^borders^input_overlay_y_offset_landscape^0.020000
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp

View file

@ -10,5 +10,5 @@ change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gbc.
change^borders^input_overlay_aspect_adjust_landscape^0.110000 change^borders^input_overlay_aspect_adjust_landscape^0.110000
change^borders^input_overlay_enable^true change^borders^input_overlay_enable^true
change^borders^input_overlay_scale_landscape^1.205000 change^borders^input_overlay_scale_landscape^1.205000
change^borders^input_overlay_y_offset_landscape^0.005000 change^borders^input_overlay_y_offset_landscape^-0.040000
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp

View file

@ -2,10 +2,12 @@ config_file_format^retroarch
target_file^/var/config/retroarch/config/Genesis Plus GX/gg.cfg target_file^/var/config/retroarch/config/Genesis Plus GX/gg.cfg
defaults_file^$emuconfigs/retroarch/retroarch.cfg defaults_file^$emuconfigs/retroarch/retroarch.cfg
change^borders^aspect_ratio_index^23 change^borders^aspect_ratio_index^23
change^borders^custom_viewport_width^800 change^borders^custom_viewport_width^960
change^borders^custom_viewport_x^240 change^borders^custom_viewport_height^720
change^borders^custom_viewport_y^43 change^borders^custom_viewport_x^160
change^borders^custom_viewport_y^24
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gg.cfg change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gg.cfg
change^borders^input_overlay_aspect_adjust_landscape^-0.080000 change^borders^input_overlay_aspect_adjust_landscape^0.110000
change^borders^input_overlay_enable^true change^borders^input_overlay_enable^true
change^borders^input_overlay_scale_landscape^1.345000 change^borders^input_overlay_scale_landscape^1.350000
change^borders^input_overlay_y_offset_landscape^0.020000

View file

@ -2,4 +2,17 @@
# FILE NAME^DESTINATION # FILE NAME^DESTINATION
# The destination can be an internal variable name like $roms_folder if needed # The destination can be an internal variable name like $roms_folder if needed
# The FILE name can have spaces in it, but the DESTINATION cannot, even in variable form # The FILE name can have spaces in it, but the DESTINATION cannot, even in variable form
RetroDECK Example Readme.txt^$rdhome
# mods
how-to-install-citra-mods.txt^$mods_folder/Citra
how-to-install-dolphin-mods.txt^$mods_folder/Dolphin
how-to-install-primehack-mods.txt^$mods_folder/Primehack
how-to-install-yuzu-mods.txt^$mods_folder/Yuzu
# textures
how-to-install-Mesen-textures.txt^$texture_packs_folder/RetroArch-Mesen
how-to-install-PPSSPP-textures.txt^$texture_packs_folder/PPSSPP
how-to-install-PCSX2-textures.txt^$texture_packs_folder/PCSX2
how-to-install-Mupen64Plus-textures.txt^$texture_packs_folder/RetroArch-Mupen64Plus/cache
how-to-install-Mupen64Plus-textures.txt^$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture
how-to-install-Duckstation-textures.txt^$texture_packs_folder/Duckstation

View file

@ -13,11 +13,14 @@ Creator of the RetroDECK configurator and various awesome features.
Lazorne Lazorne
Community management/outreach, testing, documentation, feature suggestions and some design. Community management/outreach, testing, documentation, feature suggestions and some design.
dottormac
Beta Tester
LX32
Junior code contributor, Beta Tester
Collaborators Collaborators
Niroku / Atari
Helps with community management, is also part of Batocera
Leon Styhre Leon Styhre
Maker of EmulationStation Desktop Edition Maker of EmulationStation Desktop Edition
@ -27,7 +30,7 @@ Theme creator for ES-DE and AmberELEC
Additional credits Additional credits
RavenKilit RavenKilit
Did some code and testning, contributed to AmberELEC Former Beta Tester and AmberELEC contributor
MorGuux MorGuux
Made the RetroDECK steamdb graphics for the old logo Made the RetroDECK steamdb graphics for the old logo
@ -38,11 +41,14 @@ Made the new logo and steamdb graphics
teotwaki teotwaki
Generous cloud hosting sponsor Generous cloud hosting sponsor
Niroku / Atari
Helps with community management, is also part of Batocera
Gabeboii Gabeboii
Webmaster Webmaster
Draco Draco
Server Administration Former server admiistrator and code consultant
ItzSelenux ItzSelenux
Maker of pixelitos Maker of pixelitos
@ -56,7 +62,7 @@ Special Thanks
We want give special thanks to: We want give special thanks to:
Our Patreons that keeps the build servers running and provide feedback. Our Patreons that keeps the build servers running and provide feedback.
All related emulation projects. 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 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 others with support, guidance and good spirit.
All the users who help with testing and reporting issues. All the users who help with testing and reporting issues.

View file

@ -516,3 +516,19 @@ VRCameraPitch = 0
VRHeadRotationScale = 5.000000 VRHeadRotationScale = 5.000000
VRHeadRotationEnabled = False VRHeadRotationEnabled = False
VRHeadRotationSmoothing = False VRHeadRotationSmoothing = False
[Achievements]
AchievementsEnable = False
AchievementsChallengeMode = False
AchievementsEncoreMode = False
AchievementsUnofficial = False
AchievementsLogBadMemReads = False
AchievementsUserName =
AchievementsSoundEffects = True
AchievementsUnlockAudioFile =
AchievementsLeaderboardSubmitAudioFile =
AchievementsLeaderboardTrackerPos = 3
AchievementsLeaderboardStartedOrFailedPos = 3
AchievementsLeaderboardSubmittedPos = 3
AchievementsProgressPos = 3
AchievementsChallengePos = 3
AchievementsUnlockedPos = 4

View file

@ -80,7 +80,7 @@ cheevos_visibility_account = "true"
cheevos_visibility_mastery = "true" cheevos_visibility_mastery = "true"
cheevos_visibility_summary = "1" cheevos_visibility_summary = "1"
cheevos_visibility_unlock = "true" cheevos_visibility_unlock = "true"
config_save_on_exit = "false" config_save_on_exit = "true"
content_database_path = "/app/share/libretro/database/rdb" content_database_path = "/app/share/libretro/database/rdb"
content_favorites_directory = "default" content_favorites_directory = "default"
content_favorites_path = "/var/config/retroarch/content_favorites.lpl" content_favorites_path = "/var/config/retroarch/content_favorites.lpl"

View file

@ -15,16 +15,17 @@
<entry>RetroArch-Linux-x86_64.AppImage</entry> <entry>RetroArch-Linux-x86_64.AppImage</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
<entry>~/.local/share/flatpak/exports/bin/org.libretro.RetroArch</entry>
<entry>~/Applications/RetroArch-Linux*.AppImage</entry> <entry>~/Applications/RetroArch-Linux*.AppImage</entry>
<entry>~/.local/share/applications/RetroArch-Linux*.AppImage</entry>
<entry>~/.local/bin/RetroArch-Linux*.AppImage</entry> <entry>~/.local/bin/RetroArch-Linux*.AppImage</entry>
<entry>~/bin/RetroArch-Linux*.AppImage</entry> <entry>~/bin/RetroArch-Linux*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
<entry>~/.local/share/flatpak/exports/bin/org.libretro.RetroArch</entry>
</rule> </rule>
</emulator> </emulator>
<core name="RETROARCH"> <core name="RETROARCH">
<rule type="corepath"> <rule type="corepath">
<!-- FlatPak RetroDECK --> <!-- Flatpak RetroDECK -->
<entry>/app/share/libretro/cores</entry> <entry>/app/share/libretro/cores</entry>
<!-- Snap package --> <!-- Snap package -->
<entry>~/snap/retroarch/current/.config/retroarch/cores</entry> <entry>~/snap/retroarch/current/.config/retroarch/cores</entry>
@ -69,11 +70,12 @@
<entry>net.cebix.basilisk</entry> <entry>net.cebix.basilisk</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/net.cebix.basilisk</entry>
<entry>~/.local/share/flatpak/exports/bin/net.cebix.basilisk</entry>
<entry>~/Applications/BasiliskII*.AppImage</entry> <entry>~/Applications/BasiliskII*.AppImage</entry>
<entry>~/.local/share/applications/BasiliskII*.AppImage</entry>
<entry>~/.local/bin/BasiliskII*.AppImage</entry> <entry>~/.local/bin/BasiliskII*.AppImage</entry>
<entry>~/bin/BasiliskII*.AppImage</entry> <entry>~/bin/BasiliskII*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/net.cebix.basilisk</entry>
<entry>~/.local/share/flatpak/exports/bin/net.cebix.basilisk</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="BLASTEM"> <emulator name="BLASTEM">
@ -106,9 +108,11 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/Cemu*.AppImage</entry> <entry>~/Applications/Cemu*.AppImage</entry>
<entry>~/.local/share/applications/Cemu*.AppImage</entry>
<entry>~/.local/bin/Cemu*.AppImage</entry> <entry>~/.local/bin/Cemu*.AppImage</entry>
<entry>~/bin/Cemu*.AppImage</entry> <entry>~/bin/Cemu*.AppImage</entry>
<entry>~/Applications/Cemu/Cemu</entry> <entry>~/Applications/Cemu/Cemu</entry>
<entry>~/.local/share/applications/Cemu/Cemu</entry>
<entry>~/.local/bin/Cemu/Cemu</entry> <entry>~/.local/bin/Cemu/Cemu</entry>
<entry>~/bin/Cemu/Cemu</entry> <entry>~/bin/Cemu/Cemu</entry>
</rule> </rule>
@ -122,6 +126,10 @@
<entry>org.citra_emu.citra</entry> <entry>org.citra_emu.citra</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/citra*.AppImage</entry>
<entry>~/.local/share/applications/citra*.AppImage</entry>
<entry>~/.local/bin/citra*.AppImage</entry>
<entry>~/bin/citra*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.citra_emu.citra</entry> <entry>/var/lib/flatpak/exports/bin/org.citra_emu.citra</entry>
<entry>~/.local/share/flatpak/exports/bin/org.citra_emu.citra</entry> <entry>~/.local/share/flatpak/exports/bin/org.citra_emu.citra</entry>
</rule> </rule>
@ -133,6 +141,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/cpcemu/cpcemu</entry> <entry>~/Applications/cpcemu/cpcemu</entry>
<entry>~/.local/share/applications/cpcemu/cpcemu</entry>
<entry>~/.local/bin/cpcemu/cpcemu</entry> <entry>~/.local/bin/cpcemu/cpcemu</entry>
<entry>~/bin/cpcemu/cpcemu</entry> <entry>~/bin/cpcemu/cpcemu</entry>
</rule> </rule>
@ -141,6 +150,7 @@
<!-- Sinclair ZX Spectrum Next emulator #CSpect --> <!-- Sinclair ZX Spectrum Next emulator #CSpect -->
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/CSpect/CSpect.exe</entry> <entry>~/Applications/CSpect/CSpect.exe</entry>
<entry>~/.local/share/applications/CSpect/CSpect.exe</entry>
<entry>~/.local/bin/CSpect/CSpect.exe</entry> <entry>~/.local/bin/CSpect/CSpect.exe</entry>
<entry>~/bin/CSpect/CSpect.exe</entry> <entry>~/bin/CSpect/CSpect.exe</entry>
</rule> </rule>
@ -163,11 +173,12 @@
<entry>org.DolphinEmu.dolphin-emu</entry> <entry>org.DolphinEmu.dolphin-emu</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
<entry>~/Applications/Dolphin_Emulator*.AppImage</entry> <entry>~/Applications/Dolphin_Emulator*.AppImage</entry>
<entry>~/.local/share/applications/Dolphin_Emulator*.AppImage</entry>
<entry>~/.local/bin/Dolphin_Emulator*.AppImage</entry> <entry>~/.local/bin/Dolphin_Emulator*.AppImage</entry>
<entry>~/bin/Dolphin_Emulator*.AppImage</entry> <entry>~/bin/Dolphin_Emulator*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="DOSBOX-STAGING"> <emulator name="DOSBOX-STAGING">
@ -200,14 +211,16 @@
<entry>org.duckstation.DuckStation</entry> <entry>org.duckstation.DuckStation</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.duckstation.DuckStation</entry>
<entry>~/.local/share/flatpak/exports/bin/org.duckstation.DuckStation</entry>
<entry>~/Applications/duckstation-nogui*.AppImage</entry> <entry>~/Applications/duckstation-nogui*.AppImage</entry>
<entry>~/.local/share/applications/duckstation-nogui*.AppImage</entry>
<entry>~/.local/bin/duckstation-nogui*.AppImage</entry> <entry>~/.local/bin/duckstation-nogui*.AppImage</entry>
<entry>~/bin/duckstation-nogui*.AppImage</entry> <entry>~/bin/duckstation-nogui*.AppImage</entry>
<entry>~/Applications/duckstation-qt*.AppImage</entry> <entry>~/Applications/duckstation-qt*.AppImage</entry>
<entry>~/.local/share/applications/duckstation-qt*.AppImage</entry>
<entry>~/.local/bin/duckstation-qt*.AppImage</entry> <entry>~/.local/bin/duckstation-qt*.AppImage</entry>
<entry>~/bin/duckstation-qt*.AppImage</entry> <entry>~/bin/duckstation-qt*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.duckstation.DuckStation</entry>
<entry>~/.local/share/flatpak/exports/bin/org.duckstation.DuckStation</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="EASYRPG"> <emulator name="EASYRPG">
@ -217,6 +230,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/easyrpg/easyrpg-player</entry> <entry>~/Applications/easyrpg/easyrpg-player</entry>
<entry>~/.local/share/applications/easyrpg/easyrpg-player</entry>
<entry>~/.local/bin/easyrpg/easyrpg-player</entry> <entry>~/.local/bin/easyrpg/easyrpg-player</entry>
<entry>~/bin/easyrpg/easyrpg-player</entry> <entry>~/bin/easyrpg/easyrpg-player</entry>
</rule> </rule>
@ -228,6 +242,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/fbneo/fbneo</entry> <entry>~/Applications/fbneo/fbneo</entry>
<entry>~/.local/share/applications/fbneo/fbneo</entry>
<entry>~/.local/bin/fbneo/fbneo</entry> <entry>~/.local/bin/fbneo/fbneo</entry>
<entry>~/bin/fbneo/fbneo</entry> <entry>~/bin/fbneo/fbneo</entry>
</rule> </rule>
@ -239,11 +254,12 @@
<entry>org.flycast.Flycast</entry> <entry>org.flycast.Flycast</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.flycast.Flycast</entry>
<entry>~/.local/share/flatpak/exports/bin/org.flycast.Flycast</entry>
<entry>~/Applications/flycast*.AppImage</entry> <entry>~/Applications/flycast*.AppImage</entry>
<entry>~/.local/share/applications/flycast*.AppImage</entry>
<entry>~/.local/bin/flycast*.AppImage</entry> <entry>~/.local/bin/flycast*.AppImage</entry>
<entry>~/bin/flycast*.AppImage</entry> <entry>~/bin/flycast*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.flycast.Flycast</entry>
<entry>~/.local/share/flatpak/exports/bin/org.flycast.Flycast</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="FS-UAE"> <emulator name="FS-UAE">
@ -275,11 +291,12 @@
<entry>gargoyle</entry> <entry>gargoyle</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
<entry>~/.local/share/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
<entry>~/Applications/Gargoyle*.AppImage</entry> <entry>~/Applications/Gargoyle*.AppImage</entry>
<entry>~/.local/share/applications/Gargoyle*.AppImage</entry>
<entry>~/.local/bin/Gargoyle*.AppImage</entry> <entry>~/.local/bin/Gargoyle*.AppImage</entry>
<entry>~/bin/Gargoyle*.AppImage</entry> <entry>~/bin/Gargoyle*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
<entry>~/.local/share/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="GEARBOY"> <emulator name="GEARBOY">
@ -289,6 +306,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/gearboy/gearboy</entry> <entry>~/Applications/gearboy/gearboy</entry>
<entry>~/.local/share/applications/gearboy/gearboy</entry>
<entry>~/.local/bin/gearboy/gearboy</entry> <entry>~/.local/bin/gearboy/gearboy</entry>
<entry>~/bin/gearboy/gearboy</entry> <entry>~/bin/gearboy/gearboy</entry>
</rule> </rule>
@ -297,6 +315,7 @@
<!-- Atari 2600 emulator Gopher2600 --> <!-- Atari 2600 emulator Gopher2600 -->
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/gopher2600/gopher2600_linux_amd64</entry> <entry>~/Applications/gopher2600/gopher2600_linux_amd64</entry>
<entry>~/.local/share/applications/gopher2600/gopher2600_linux_amd64</entry>
<entry>~/.local/bin/gopher2600/gopher2600_linux_amd64</entry> <entry>~/.local/bin/gopher2600/gopher2600_linux_amd64</entry>
<entry>~/bin/gopher2600/gopher2600_linux_amd64</entry> <entry>~/bin/gopher2600/gopher2600_linux_amd64</entry>
</rule> </rule>
@ -318,6 +337,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/hypseus-singe/hypseus.bin</entry> <entry>~/Applications/hypseus-singe/hypseus.bin</entry>
<entry>~/.local/share/applications/hypseus-singe/hypseus.bin</entry>
<entry>~/.local/bin/hypseus-singe/hypseus.bin</entry> <entry>~/.local/bin/hypseus-singe/hypseus.bin</entry>
<entry>~/bin/hypseus-singe/hypseus.bin</entry> <entry>~/bin/hypseus-singe/hypseus.bin</entry>
</rule> </rule>
@ -329,6 +349,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/lightspark/lightspark</entry> <entry>~/Applications/lightspark/lightspark</entry>
<entry>~/.local/share/applications/lightspark/lightspark</entry>
<entry>~/.local/bin/lightspark/lightspark</entry> <entry>~/.local/bin/lightspark/lightspark</entry>
<entry>~/bin/lightspark/lightspark</entry> <entry>~/bin/lightspark/lightspark</entry>
</rule> </rule>
@ -340,6 +361,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/linapple/linapple</entry> <entry>~/Applications/linapple/linapple</entry>
<entry>~/.local/share/applications/linapple/linapple</entry>
<entry>~/.local/bin/linapple/linapple</entry> <entry>~/.local/bin/linapple/linapple</entry>
<entry>~/bin/linapple/linapple</entry> <entry>~/bin/linapple/linapple</entry>
</rule> </rule>
@ -385,11 +407,12 @@
<entry>io.mgba.mGBA</entry> <entry>io.mgba.mGBA</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/io.mgba.mGBA</entry>
<entry>~/.local/share/flatpak/exports/bin/io.mgba.mGBA</entry>
<entry>~/Applications/mGBA*.AppImage</entry> <entry>~/Applications/mGBA*.AppImage</entry>
<entry>~/.local/share/applications/mGBA*.AppImage</entry>
<entry>~/.local/bin/mGBA*.AppImage</entry> <entry>~/.local/bin/mGBA*.AppImage</entry>
<entry>~/bin/mGBA*.AppImage</entry> <entry>~/bin/mGBA*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/io.mgba.mGBA</entry>
<entry>~/.local/share/flatpak/exports/bin/io.mgba.mGBA</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="MUPEN64PLUS"> <emulator name="MUPEN64PLUS">
@ -430,6 +453,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/oricutron/Oricutron</entry> <entry>~/Applications/oricutron/Oricutron</entry>
<entry>~/.local/share/applications/oricutron/Oricutron</entry>
<entry>~/.local/bin/oricutron/Oricutron</entry> <entry>~/.local/bin/oricutron/Oricutron</entry>
<entry>~/bin/oricutron/Oricutron</entry> <entry>~/bin/oricutron/Oricutron</entry>
</rule> </rule>
@ -463,8 +487,8 @@
<entry>pico8</entry> <entry>pico8</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/retrodeck/bios/pico-8/pico8</entry>
<entry>~/Applications/pico-8/pico8</entry> <entry>~/Applications/pico-8/pico8</entry>
<entry>~/.local/share/applications/pico-8/pico8</entry>
<entry>~/.local/bin/pico-8/pico8</entry> <entry>~/.local/bin/pico-8/pico8</entry>
<entry>~/bin/pico-8/pico8</entry> <entry>~/bin/pico-8/pico8</entry>
</rule> </rule>
@ -472,11 +496,12 @@
<emulator name="PLAY!"> <emulator name="PLAY!">
<!-- Sony PlayStation 2 emulator Play! --> <!-- Sony PlayStation 2 emulator Play! -->
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.purei.Play</entry>
<entry>~/.local/share/flatpak/exports/bin/org.purei.Play</entry>
<entry>~/Applications/Play!*.AppImage</entry> <entry>~/Applications/Play!*.AppImage</entry>
<entry>~/.local/share/applications/Play!*.AppImage</entry>
<entry>~/.local/bin/Play!*.AppImage</entry> <entry>~/.local/bin/Play!*.AppImage</entry>
<entry>~/bin/Play!*.AppImage</entry> <entry>~/bin/Play!*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.purei.Play</entry>
<entry>~/.local/share/flatpak/exports/bin/org.purei.Play</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="PPSSPP"> <emulator name="PPSSPP">
@ -516,6 +541,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/punes/punes</entry> <entry>~/Applications/punes/punes</entry>
<entry>~/.local/share/applications/punes/punes</entry>
<entry>~/.local/bin/punes/punes</entry> <entry>~/.local/bin/punes/punes</entry>
<entry>~/bin/punes/punes</entry> <entry>~/bin/punes/punes</entry>
</rule> </rule>
@ -527,6 +553,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/redream/redream</entry> <entry>~/Applications/redream/redream</entry>
<entry>~/.local/share/applications/redream/redream</entry>
<entry>~/.local/bin/redream/redream</entry> <entry>~/.local/bin/redream/redream</entry>
<entry>~/bin/redream/redream</entry> <entry>~/bin/redream/redream</entry>
</rule> </rule>
@ -538,11 +565,12 @@
<entry>com.github.Rosalie241.RMG</entry> <entry>com.github.Rosalie241.RMG</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
<entry>~/.local/share/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
<entry>~/Applications/RMG*.AppImage</entry> <entry>~/Applications/RMG*.AppImage</entry>
<entry>~/.local/share/applications/RMG*.AppImage</entry>
<entry>~/.local/bin/RMG*.AppImage</entry> <entry>~/.local/bin/RMG*.AppImage</entry>
<entry>~/bin/RMG*.AppImage</entry> <entry>~/bin/RMG*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
<entry>~/.local/share/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="RPCS3"> <emulator name="RPCS3">
@ -553,11 +581,12 @@
<entry>net.rpcs3.RPCS3</entry> <entry>net.rpcs3.RPCS3</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
<entry>~/.local/share/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
<entry>~/Applications/rpcs3*.AppImage</entry> <entry>~/Applications/rpcs3*.AppImage</entry>
<entry>~/.local/share/applications/rpcs3*.AppImage</entry>
<entry>~/.local/bin/rpcs3*.AppImage</entry> <entry>~/.local/bin/rpcs3*.AppImage</entry>
<entry>~/bin/rpcs3*.AppImage</entry> <entry>~/bin/rpcs3*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
<entry>~/.local/share/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="RUFFLE"> <emulator name="RUFFLE">
@ -567,6 +596,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/ruffle/ruffle</entry> <entry>~/Applications/ruffle/ruffle</entry>
<entry>~/.local/share/applications/ruffle/ruffle</entry>
<entry>~/.local/bin/ruffle/ruffle</entry> <entry>~/.local/bin/ruffle/ruffle</entry>
<entry>~/bin/ruffle/ruffle</entry> <entry>~/bin/ruffle/ruffle</entry>
</rule> </rule>
@ -582,9 +612,11 @@
<entry>/var/lib/flatpak/exports/bin/org.ryujinx.Ryujinx</entry> <entry>/var/lib/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
<entry>~/.local/share/flatpak/exports/bin/org.ryujinx.Ryujinx</entry> <entry>~/.local/share/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
<entry>~/Applications/publish/Ryujinx</entry> <entry>~/Applications/publish/Ryujinx</entry>
<entry>~/.local/share/applications/publish/Ryujinx</entry>
<entry>~/.local/bin/publish/Ryujinx</entry> <entry>~/.local/bin/publish/Ryujinx</entry>
<entry>~/bin/publish/Ryujinx</entry> <entry>~/bin/publish/Ryujinx</entry>
<entry>~/Applications/publish/Ryujinx.Ava</entry> <entry>~/Applications/publish/Ryujinx.Ava</entry>
<entry>~/.local/share/applications/publish/Ryujinx.Ava</entry>
<entry>~/.local/bin/publish/Ryujinx.Ava</entry> <entry>~/.local/bin/publish/Ryujinx.Ava</entry>
<entry>~/bin/publish/Ryujinx.Ava</entry> <entry>~/bin/publish/Ryujinx.Ava</entry>
</rule> </rule>
@ -618,6 +650,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/sdl2trs/sdl2trs</entry> <entry>~/Applications/sdl2trs/sdl2trs</entry>
<entry>~/.local/share/applications/sdl2trs/sdl2trs</entry>
<entry>~/.local/bin/sdl2trs/sdl2trs</entry> <entry>~/.local/bin/sdl2trs/sdl2trs</entry>
<entry>~/bin/sdl2trs/sdl2trs</entry> <entry>~/bin/sdl2trs/sdl2trs</entry>
</rule> </rule>
@ -629,6 +662,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/SheepShaver*.AppImage</entry> <entry>~/Applications/SheepShaver*.AppImage</entry>
<entry>~/.local/share/applications/SheepShaver*.AppImage</entry>
<entry>~/.local/bin/SheepShaver*.AppImage</entry> <entry>~/.local/bin/SheepShaver*.AppImage</entry>
<entry>~/bin/SheepShaver*.AppImage</entry> <entry>~/bin/SheepShaver*.AppImage</entry>
</rule> </rule>
@ -640,6 +674,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/simcoupe/simcoupe</entry> <entry>~/Applications/simcoupe/simcoupe</entry>
<entry>~/.local/share/applications/simcoupe/simcoupe</entry>
<entry>~/.local/bin/simcoupe/simcoupe</entry> <entry>~/.local/bin/simcoupe/simcoupe</entry>
<entry>~/bin/simcoupe/simcoupe</entry> <entry>~/bin/simcoupe/simcoupe</entry>
</rule> </rule>
@ -701,6 +736,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/Supermodel/supermodel</entry> <entry>~/Applications/Supermodel/supermodel</entry>
<entry>~/.local/share/applications/Supermodel/supermodel</entry>
<entry>~/.local/bin/Supermodel/supermodel</entry> <entry>~/.local/bin/Supermodel/supermodel</entry>
<entry>~/bin/Supermodel/supermodel</entry> <entry>~/bin/Supermodel/supermodel</entry>
</rule> </rule>
@ -712,6 +748,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/dolphin-emu-triforce*.AppImage</entry> <entry>~/Applications/dolphin-emu-triforce*.AppImage</entry>
<entry>~/.local/share/applications/dolphin-emu-triforce*.AppImage</entry>
<entry>~/.local/bin/dolphin-emu-triforce*.AppImage</entry> <entry>~/.local/bin/dolphin-emu-triforce*.AppImage</entry>
<entry>~/bin/dolphin-emu-triforce*.AppImage</entry> <entry>~/bin/dolphin-emu-triforce*.AppImage</entry>
</rule> </rule>
@ -720,6 +757,7 @@
<!-- Fujitsu FM Towns emulator Tsugaru --> <!-- Fujitsu FM Towns emulator Tsugaru -->
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/tsugaru/Tsugaru_CUI</entry> <entry>~/Applications/tsugaru/Tsugaru_CUI</entry>
<entry>~/.local/share/applications/tsugaru/Tsugaru_CUI</entry>
<entry>~/.local/bin/tsugaru/Tsugaru_CUI</entry> <entry>~/.local/bin/tsugaru/Tsugaru_CUI</entry>
<entry>~/bin/tsugaru/Tsugaru_CUI</entry> <entry>~/bin/tsugaru/Tsugaru_CUI</entry>
</rule> </rule>
@ -761,6 +799,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/Vita3K/Vita3K</entry> <entry>~/Applications/Vita3K/Vita3K</entry>
<entry>~/.local/share/applications/Vita3K/Vita3K</entry>
<entry>~/.local/bin/Vita3K/Vita3K</entry> <entry>~/.local/bin/Vita3K/Vita3K</entry>
<entry>~/bin/Vita3K/Vita3K</entry> <entry>~/bin/Vita3K/Vita3K</entry>
</rule> </rule>
@ -772,11 +811,12 @@
<entry>app.xemu.xemu</entry> <entry>app.xemu.xemu</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/app.xemu.xemu</entry>
<entry>~/.local/share/flatpak/exports/bin/app.xemu.xemu</entry>
<entry>~/Applications/xemu*.AppImage</entry> <entry>~/Applications/xemu*.AppImage</entry>
<entry>~/.local/share/applications/xemu*.AppImage</entry>
<entry>~/.local/bin/xemu*.AppImage</entry> <entry>~/.local/bin/xemu*.AppImage</entry>
<entry>~/bin/xemu*.AppImage</entry> <entry>~/bin/xemu*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/app.xemu.xemu</entry>
<entry>~/.local/share/flatpak/exports/bin/app.xemu.xemu</entry>
</rule> </rule>
</emulator> </emulator>
<emulator name="XROAR"> <emulator name="XROAR">
@ -786,6 +826,7 @@
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>~/Applications/xroar/xroar</entry> <entry>~/Applications/xroar/xroar</entry>
<entry>~/.local/share/applications/xroar/xroar</entry>
<entry>~/.local/bin/xroar/xroar</entry> <entry>~/.local/bin/xroar/xroar</entry>
<entry>~/bin/xroar/xroar</entry> <entry>~/bin/xroar/xroar</entry>
</rule> </rule>
@ -797,11 +838,24 @@
<entry>org.yuzu_emu.yuzu</entry> <entry>org.yuzu_emu.yuzu</entry>
</rule> </rule>
<rule type="staticpath"> <rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
<entry>~/Applications/yuzu*.AppImage</entry> <entry>~/Applications/yuzu*.AppImage</entry>
<entry>~/.local/share/applications/yuzu*.AppImage</entry>
<entry>~/.local/bin/yuzu*.AppImage</entry> <entry>~/.local/bin/yuzu*.AppImage</entry>
<entry>~/bin/yuzu*.AppImage</entry> <entry>~/bin/yuzu*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
</rule>
</emulator>
<emulator name="ZESARUX">
<!-- Sinclair ZX Spectrum emulator ZEsarUX -->
<rule type="systempath">
<entry>zesarux</entry>
</rule>
<rule type="staticpath">
<entry>~/Applications/ZEsarUX/zesarux</entry>
<entry>~/.local/share/applications/ZEsarUX/zesarux</entry>
<entry>~/.local/bin/ZEsarUX/zesarux</entry>
<entry>~/bin/ZEsarUX/zesarux</entry>
</rule> </rule>
</emulator> </emulator>
</ruleList> </ruleList>

View file

@ -25,6 +25,7 @@
<bool name="MAMENameStripExtraInfo" value="true" /> <bool name="MAMENameStripExtraInfo" value="true" />
<bool name="MediaViewerKeepVideoRunning" value="true" /> <bool name="MediaViewerKeepVideoRunning" value="true" />
<bool name="MediaViewerScreenshotScanlines" value="true" /> <bool name="MediaViewerScreenshotScanlines" value="true" />
<bool name="MediaViewerShowTypes" value="false" />
<bool name="MediaViewerStretchVideos" value="false" /> <bool name="MediaViewerStretchVideos" value="false" />
<bool name="MediaViewerVideoAudio" value="true" /> <bool name="MediaViewerVideoAudio" value="true" />
<bool name="MediaViewerVideoBlur" value="false" /> <bool name="MediaViewerVideoBlur" value="false" />
@ -51,6 +52,7 @@
<bool name="ScrapeCovers" value="true" /> <bool name="ScrapeCovers" value="true" />
<bool name="ScrapeFanArt" value="false" /> <bool name="ScrapeFanArt" value="false" />
<bool name="ScrapeGameNames" value="true" /> <bool name="ScrapeGameNames" value="true" />
<bool name="ScrapeManuals" value="true" />
<bool name="ScrapeMarquees" value="true" /> <bool name="ScrapeMarquees" value="true" />
<bool name="ScrapeMetadata" value="true" /> <bool name="ScrapeMetadata" value="true" />
<bool name="ScrapePhysicalMedia" value="true" /> <bool name="ScrapePhysicalMedia" value="true" />
@ -73,6 +75,7 @@
<bool name="ScreensaverControls" value="true" /> <bool name="ScreensaverControls" value="true" />
<bool name="ScreensaverSlideshowCustomImages" value="false" /> <bool name="ScreensaverSlideshowCustomImages" value="false" />
<bool name="ScreensaverSlideshowGameInfo" value="true" /> <bool name="ScreensaverSlideshowGameInfo" value="true" />
<bool name="ScreensaverSlideshowOnlyFavorites" value="false" />
<bool name="ScreensaverSlideshowRecurse" value="false" /> <bool name="ScreensaverSlideshowRecurse" value="false" />
<bool name="ScreensaverSlideshowScanlines" value="true" /> <bool name="ScreensaverSlideshowScanlines" value="true" />
<bool name="ScreensaverStretchImages" value="false" /> <bool name="ScreensaverStretchImages" value="false" />
@ -80,6 +83,7 @@
<bool name="ScreensaverVideoAudio" value="true" /> <bool name="ScreensaverVideoAudio" value="true" />
<bool name="ScreensaverVideoBlur" value="false" /> <bool name="ScreensaverVideoBlur" value="false" />
<bool name="ScreensaverVideoGameInfo" value="true" /> <bool name="ScreensaverVideoGameInfo" value="true" />
<bool name="ScreensaverVideoOnlyFavorites" value="false" />
<bool name="ScreensaverVideoScanlines" value="true" /> <bool name="ScreensaverVideoScanlines" value="true" />
<bool name="ShowHelpPrompts" value="true" /> <bool name="ShowHelpPrompts" value="true" />
<bool name="ShowHiddenFiles" value="true" /> <bool name="ShowHiddenFiles" value="true" />
@ -106,9 +110,8 @@
<int name="SoundVolumeVideos" value="80" /> <int name="SoundVolumeVideos" value="80" />
<string name="ApplicationUpdaterFrequency" value="never" /> <string name="ApplicationUpdaterFrequency" value="never" />
<string name="ApplicationUpdaterLastCheck" value="20230331T153206" /> <string name="ApplicationUpdaterLastCheck" value="20230331T153206" />
<string name="ApplicationVersion" value="2.0.1" />
<string name="CollectionCustomGrouping" value="unthemed" /> <string name="CollectionCustomGrouping" value="unthemed" />
<string name="CollectionSystemsAuto" value="" /> <string name="CollectionSystemsAuto" value="recent" />
<string name="CollectionSystemsCustom" value="" /> <string name="CollectionSystemsCustom" value="" />
<string name="DefaultSortOrder" value="filename, ascending" /> <string name="DefaultSortOrder" value="filename, ascending" />
<string name="GamelistViewStyle" value="automatic" /> <string name="GamelistViewStyle" value="automatic" />
@ -117,14 +120,20 @@
<string name="LaunchScreenDuration" value="normal" /> <string name="LaunchScreenDuration" value="normal" />
<string name="LegacyThemeTransitions" value="builtin-instant" /> <string name="LegacyThemeTransitions" value="builtin-instant" />
<string name="MediaDirectory" value="" /> <string name="MediaDirectory" value="" />
<string name="MediaViewerHelpPrompts" value="top" />
<string name="MenuColorScheme" value="dark" />
<string name="MenuOpeningEffect" value="scale-up" /> <string name="MenuOpeningEffect" value="scale-up" />
<string name="MiximageBoxSize" value="medium" /> <string name="MiximageBoxSize" value="medium" />
<string name="MiximagePhysicalMediaSize" value="medium" /> <string name="MiximagePhysicalMediaSize" value="medium" />
<string name="MiximageResolution" value="1280x800" /> <string name="MiximageResolution" value="1280x800" />
<string name="MiximageScreenshotAspectThreshold" value="high" />
<string name="MiximageScreenshotBlankAreasColor" value="black" />
<string name="MiximageScreenshotHorizontalFit" value="crop" />
<string name="MiximageScreenshotScaling" value="sharp" /> <string name="MiximageScreenshotScaling" value="sharp" />
<string name="MiximageScreenshotVerticalFit" value="contain" />
<string name="OpenGLVersion" value="" /> <string name="OpenGLVersion" value="" />
<string name="QuickSystemSelect" value="leftrightshoulders" /> <string name="QuickSystemSelect" value="leftrightshoulders" />
<string name="ROMDirectory" value="~/ROMs" /> <string name="ROMDirectory" value="" />
<string name="RandomEntryButton" value="games" /> <string name="RandomEntryButton" value="games" />
<string name="SaveGamelistsMode" value="always" /> <string name="SaveGamelistsMode" value="always" />
<string name="Scraper" value="screenscraper" /> <string name="Scraper" value="screenscraper" />
@ -135,11 +144,11 @@
<string name="ScreensaverSlideshowImageDir" value="~/.emulationstation/slideshow/custom_images" /> <string name="ScreensaverSlideshowImageDir" value="~/.emulationstation/slideshow/custom_images" />
<string name="ScreensaverType" value="video" /> <string name="ScreensaverType" value="video" />
<string name="StartupSystem" value="" /> <string name="StartupSystem" value="" />
<string name="ThemeAspectRatio" value="" /> <string name="ThemeAspectRatio" value="automatic" />
<string name="ThemeColorScheme" value="" /> <string name="ThemeColorScheme" value="art-book-next" />
<string name="ThemeSet" value="art-book-next-es-de" /> <string name="ThemeSet" value="art-book-next-es-de" />
<string name="ThemeTransitions" value="automatic" /> <string name="ThemeTransitions" value="automatic" />
<string name="ThemeVariant" value="" /> <string name="ThemeVariant" value="" />
<string name="UIMode" value="full" /> <string name="UIMode" value="full" />
<string name="UIMode_passkey" value="uuddlrlrba" /> <string name="UIMode_passkey" value="uuddlrlrba" />
<string name="UserThemeDirectory" value="/home/deck/retrodeck/themes" /> <string name="UserThemeDirectory" value="" />

View file

@ -506,6 +506,18 @@
<platform>easyrpg</platform> <platform>easyrpg</platform>
<theme>easyrpg</theme> <theme>easyrpg</theme>
</system> </system>
<system>
<name>emulators</name>
<fullname>Emulators</fullname>
<path>%ROMPATH%/emulators</path>
<extension>.AppImage .desktop .sh</extension>
<command label="Suspend ES-DE">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command>
<command label="Keep ES-DE running">%RUNINBACKGROUND% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command>
<command label="AppImage (Suspend ES-DE)">%EMULATOR_OS-SHELL% -c "%ROM%"</command>
<command label="AppImage (Keep ES-DE running)">%RUNINBACKGROUND% %EMULATOR_OS-SHELL% -c "%ROM%"</command>
<platform>pcwindows</platform>
<theme>emulators</theme>
</system>
<system> <system>
<name>famicom</name> <name>famicom</name>
<fullname>Nintendo Family Computer</fullname> <fullname>Nintendo Family Computer</fullname>
@ -582,6 +594,17 @@
<platform>fmtowns</platform> <platform>fmtowns</platform>
<theme>fmtowns</theme> <theme>fmtowns</theme>
</system> </system>
-->
<!--
<system>
<name>fpinball</name>
<fullname>Future Pinball</fullname>
<path>%ROMPATH%/fpinball</path>
<extension>.fpt .FPT</extension>
<command label="Future Pinball (Standalone)">PLACEHOLDER %ROM%</command>
<platform>fpinball</platform>
<theme>fpinball</theme>
</system>
--> -->
<system> <system>
<name>gameandwatch</name> <name>gameandwatch</name>
@ -614,6 +637,7 @@
<command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.so %ROM%</command> <command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.so %ROM%</command>
<command label="Gearsystem">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM%</command> <command label="Gearsystem">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM%</command>
<command label="SMS Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/smsplus_libretro.so %ROM%</command> <command label="SMS Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/smsplus_libretro.so %ROM%</command>
<!-- <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command> -->
<!-- <command label="Mednafen (Standalone)">%EMULATOR_MEDNAFEN% -force_module gg %ROM%</command> --> <!-- <command label="Mednafen (Standalone)">%EMULATOR_MEDNAFEN% -force_module gg %ROM%</command> -->
<platform>gamegear</platform> <platform>gamegear</platform>
<theme>gamegear</theme> <theme>gamegear</theme>
@ -699,6 +723,17 @@
<platform>genesis</platform> <platform>genesis</platform>
<theme>genesis</theme> <theme>genesis</theme>
</system> </system>
<!--
<system>
<name>gmaster</name>
<fullname>Hartung Game Master</fullname>
<path>%ROMPATH%/gmaster</path>
<extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
<command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gmaster gmaster -cart %ROM%</command>
<platform>gmaster</platform>
<theme>gmaster</theme>
</system>
-->
<system> <system>
<name>gx4000</name> <name>gx4000</name>
<fullname>Amstrad GX4000</fullname> <fullname>Amstrad GX4000</fullname>
@ -750,6 +785,17 @@
<platform>lcdgames, gameandwatch</platform> <platform>lcdgames, gameandwatch</platform>
<theme>lcdgames</theme> <theme>lcdgames</theme>
</system> </system>
<!--
<system>
<name>lowresnx</name>
<fullname>LowRes NX Fantasy Console</fullname>
<path>%ROMPATH%/lowresnx</path>
<extension>.nx .NX</extension>
<command label="LowRes NX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/lowresnx_libretro.so %ROM%</command>
<platform>lowresnx</platform>
<theme>lowresnx</theme>
</system>
-->
<system> <system>
<name>lutro</name> <name>lutro</name>
<fullname>Lutro Game Engine</fullname> <fullname>Lutro Game Engine</fullname>
@ -1242,8 +1288,9 @@
<name>ports</name> <name>ports</name>
<fullname>Ports</fullname> <fullname>Ports</fullname>
<path>%ROMPATH%/ports</path> <path>%ROMPATH%/ports</path>
<extension>.desktop .sh</extension> <extension>.AppImage .desktop .sh</extension>
<command label="Various">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command> <command label="Shortcut or script">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command>
<command label="AppImage">%EMULATOR_OS-SHELL% -c "%ROM%"</command>
<platform>pc, pcwindows</platform> <platform>pc, pcwindows</platform>
<theme>ports</theme> <theme>ports</theme>
</system> </system>
@ -1269,7 +1316,8 @@
<platform>ps3</platform> <platform>ps3</platform>
<theme>ps3</theme> <theme>ps3</theme>
</system> </system>
<!-- <system> <!--
<system>
<name>ps4</name> <name>ps4</name>
<fullname>Sony PlayStation 4</fullname> <fullname>Sony PlayStation 4</fullname>
<path>%ROMPATH%/ps4</path> <path>%ROMPATH%/ps4</path>
@ -1277,7 +1325,8 @@
<command>PLACEHOLDER %ROM%</command> <command>PLACEHOLDER %ROM%</command>
<platform>ps4</platform> <platform>ps4</platform>
<theme>ps4</theme> <theme>ps4</theme>
</system> --> </system>
-->
<system> <system>
<name>psp</name> <name>psp</name>
<fullname>Sony PlayStation Portable</fullname> <fullname>Sony PlayStation Portable</fullname>
@ -1402,6 +1451,17 @@
<platform>scummvm</platform> <platform>scummvm</platform>
<theme>scummvm</theme> <theme>scummvm</theme>
</system> </system>
<!--
<system>
<name>scv</name>
<fullname>Epoch Super Cassette Vision</fullname>
<path>%ROMPATH%/scv</path>
<extension>.0 .bin .BIN .7z .7Z .zip .ZIP</extension>
<command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/scv scv -cart %ROM%</command>
<platform>scv</platform>
<theme>scv</theme>
</system>
-->
<system> <system>
<name>sega32x</name> <name>sega32x</name>
<fullname>Sega Mega Drive 32X</fullname> <fullname>Sega Mega Drive 32X</fullname>
@ -1733,6 +1793,17 @@
<platform>virtualboy</platform> <platform>virtualboy</platform>
<theme>virtualboy</theme> <theme>virtualboy</theme>
</system> </system>
<!--
<system>
<name>vpinball</name>
<fullname>Visual Pinball</fullname>
<path>%ROMPATH%/vpinball</path>
<extension>.vpt .VPT .vpx .VPX</extension>
<command label="Visual Pinball (Standalone)">PLACEHOLDER %ROM%</command>
<platform>vpinball</platform>
<theme>vpinball</theme>
</system>
-->
<!-- <!--
<system> <system>
<name>vsmile</name> <name>vsmile</name>
@ -1810,6 +1881,7 @@
<path>%ROMPATH%/x68000</path> <path>%ROMPATH%/x68000</path>
<extension>.dim .DIM .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD .m3u .M3U .7z .7Z .zip .ZIP</extension> <extension>.dim .DIM .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command label="PX68k">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.so %ROM%</command> <command label="PX68k">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.so %ROM%</command>
<!-- <command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/x68000 x68000 -flop1 %ROM%</command> -->
<platform>x68000</platform> <platform>x68000</platform>
<theme>x68000</theme> <theme>x68000</theme>
</system> </system>
@ -1853,6 +1925,18 @@
<platform>zx81</platform> <platform>zx81</platform>
<theme>zx81</theme> <theme>zx81</theme>
</system> </system>
<!--
<system>
<name>zxnext</name>
<fullname>Sinclair ZX Spectrum Next</fullname>
<path>%ROMPATH%/zxnext</path>
<extension>.nex .NEX .sna .SNA</extension>
<command label="#CSpect (Standalone)">%STARTDIR%=%GAMEDIR% MONO_IOMAP=all mono %EMULATOR_CSPECT% -fullscreen -s28 -vsync -60 -analytics -tv -zxnext -mmc=./ %ROM%</command>
<command label="ZEsarUX (Standalone)">%STARTDIR%=%EMUDIR% %EMULATOR_ZESARUX% &ndash;&ndash;machine tbblue &ndash;&ndash;realvideo &ndash;&ndash;enabletimexvideo &ndash;&ndash;tbblue-fast-boot-mode &ndash;&ndash;enable-esxdos-handler &ndash;&ndash;esxdos-root-dir %GAMEDIR% %ROM%</command>
<platform>zxnext</platform>
<theme>zxnext</theme>
</system>
-->
<system> <system>
<name>zxspectrum</name> <name>zxspectrum</name>
<fullname>Sinclair ZX Spectrum</fullname> <fullname>Sinclair ZX Spectrum</fullname>
@ -1863,13 +1947,4 @@
<platform>zxspectrum</platform> <platform>zxspectrum</platform>
<theme>zxspectrum</theme> <theme>zxspectrum</theme>
</system> </system>
<!-- <system>
<name>tools</name>
<fullname>RetroDECK Tools</fullname>
<path>/app/tools</path>
<extension>.sh .SH</extension>
<command>bash %ROM%</command>
<platform>tools</platform>
<theme>tools</theme>
</system> -->
</systemList> </systemList>

View file

@ -1,10 +0,0 @@
<?xml version="1.0"?>
<gameList>
<game>
<path>./configurator.sh</path>
<name>RetroDECK Configurator</name>
<desc>Change settings, move folders and more!</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
</gameList>

View file

@ -1,3 +0,0 @@
{
"only-arches": ["x86_64"]
}

View file

@ -1,43 +0,0 @@
app-id: net.retrodeck.retrodeck
runtime: org.kde.Platform
runtime-version: 5.15-22.08
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3
base: io.qt.qtwebengine.BaseApp # Needed for Yuzu
base-version: 5.15-22.08 # Needed for Yuzu
command: retrodeck.sh
finish-args:
- --socket=fallback-x11
- --socket=wayland
- --socket=pulseaudio
- --share=ipc
- --share=network
- --device=all
- --filesystem=home # Needed to be able to relocate / remove / create symlink at ~/retrodeck
- --filesystem=/run/media
- --filesystem=/media
- --allow=multiarch
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.PowerManagement.Inhibit
- --talk-name=org.freedesktop.login1.Manager
- --talk-name=org.freedesktop.portal.Flatpak.UpdateMonitor
- --filesystem=xdg-run/app/com.discordapp.Discord:create
- --filesystem=xdg-config/gtk-3.0:ro
# Dolphin
- --allow=bluetooth
# PPSSPP
# It allows an SDL application to specify its window class, which can be useful for window managers and desktop environments to identify and group similar windows
- --env=SDL_VIDEO_X11_WMCLASS=net.retrodeck.retrodeck
- --env=SDL_VIDEO_WAYLAND_WMCLASS=net.retrodeck.retrodeck
modules:
- name: retrodeck
buildsystem: simple
build-commands:
- cp -rn files/* /app
sources:
- type: archive
url: https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.tar.gz
sha256: __SHA__

View file

@ -83,7 +83,8 @@ check_for_version_update() {
local latest_cooker_download=$(curl --silent https://api.github.com/repos/XargonWan/$update_repo/releases/latest | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/') local latest_cooker_download=$(curl --silent https://api.github.com/repos/XargonWan/$update_repo/releases/latest | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/')
mkdir -p "$rdhome/RetroDECK_Updates" mkdir -p "$rdhome/RetroDECK_Updates"
wget -P "$rdhome/RetroDECK_Updates" $latest_cooker_download wget -P "$rdhome/RetroDECK_Updates" $latest_cooker_download
flatpak-spawn --host flatpak install --user --bundle --noninteractive -y "$rdhome/RetroDECK_Updates/RetroDECK.flatpak" flatpak-spawn --host flatpak remove --noninteractive -y net.retrodeck.retrodeck # Remove current version before installing new one, to avoid duplicates
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 rm -rf "$rdhome/RetroDECK_Updates" # Cleanup old bundles to save space
) | ) |
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \

View file

@ -169,10 +169,13 @@ changelog_dialog() {
else else
local version_changelog=$(xml sel -t -m "//release[@version='$1']/description" -v . -n $rd_appdata | tr -s '\n' | sed 's/^\s*//') local version_changelog=$(xml sel -t -m "//release[@version='$1']/description" -v . -n $rd_appdata | tr -s '\n' | sed 's/^\s*//')
zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ echo -e "In RetroDECK version $1, the following changes were made:\n$version_changelog" > "/var/config/retrodeck/changelog-partial.txt"
"$version_changelog" >> "/var/config/retrodeck/changelog-partial.txt"
zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \
--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 Changelogs" \ --title "RetroDECK Changelogs" \
--text="In RetroDECK version $1, the following changes were made:\n$version_changelog" --filename="/var/config/retrodeck/changelog-partial.txt"
fi fi
} }

View file

@ -422,6 +422,7 @@ finit() {
( (
prepare_emulator "reset" "all" prepare_emulator "reset" "all"
build_retrodeck_current_presets build_retrodeck_current_presets
deploy_helper_files
# Optional actions based on user choices # Optional actions based on user choices
if [[ "$finit_options_choices" =~ (rpcs3_firmware|Enable All) ]]; then if [[ "$finit_options_choices" =~ (rpcs3_firmware|Enable All) ]]; then

View file

@ -244,6 +244,7 @@ post_update() {
fi fi
update_splashscreens update_splashscreens
deploy_helper_files
build_retrodeck_current_presets build_retrodeck_current_presets
) | ) |
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \

View file

@ -15,14 +15,14 @@ prepare_emulator() {
if [[ "$emulator" == "retrodeck" ]]; then if [[ "$emulator" == "retrodeck" ]]; then
if [[ "$action" == "reset" ]]; then # Update the paths of all folders in retrodeck.cfg and create them if [[ "$action" == "reset" ]]; then # Update the paths of all folders in retrodeck.cfg and create them
while read -r config_line; do while read -r config_line; do
local current_setting_name=$(get_setting_name "$config_line" "retrodeck") local current_setting_name=$(get_setting_name "$config_line" "retrodeck")
if [[ ! $current_setting_name =~ (rdhome|sdcard) ]]; then # Ignore these locations if [[ ! $current_setting_name =~ (rdhome|sdcard) ]]; then # Ignore these locations
local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "paths") local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "paths")
eval "$current_setting_name=$rdhome/$(basename $current_setting_value)" eval "$current_setting_name=$rdhome/$(basename $current_setting_value)"
mkdir -p "$rdhome/$(basename $current_setting_value)" mkdir -p "$rdhome/$(basename $current_setting_value)"
fi fi
done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f') done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f')
fi fi
if [[ "$action" == "postmove" ]]; then # Update the paths of any folders that came with the retrodeck folder during a move 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 while read -r config_line; do
@ -116,6 +116,29 @@ prepare_emulator() {
dir_prep "$texture_packs_folder/RetroArch-Mesen" "/var/config/retroarch/system/HdPacks" 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/cache" "/var/config/retroarch/system/Mupen64plus/cache"
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture" "/var/config/retroarch/system/Mupen64plus/hires_texture" 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"
set_setting_value "$rd_conf" "gb" "$(get_setting_value "$rd_defaults" "gb" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "gba" "$(get_setting_value "$rd_defaults" "gba" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "gbc" "$(get_setting_value "$rd_defaults" "gbc" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "genesis" "$(get_setting_value "$rd_defaults" "genesis" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "gg" "$(get_setting_value "$rd_defaults" "gg" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "n64" "$(get_setting_value "$rd_defaults" "n64" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "psx_ra" "$(get_setting_value "$rd_defaults" "psx_ra" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "snes" "$(get_setting_value "$rd_defaults" "snes" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "genesis" "$(get_setting_value "$rd_defaults" "genesis" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "n64" "$(get_setting_value "$rd_defaults" "n64" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "psx_ra" "$(get_setting_value "$rd_defaults" "psx_ra" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "snes" "$(get_setting_value "$rd_defaults" "snes" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "gb" "$(get_setting_value "$rd_defaults" "gb" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "gba" "$(get_setting_value "$rd_defaults" "gba" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "gbc" "$(get_setting_value "$rd_defaults" "gbc" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "n64" "$(get_setting_value "$rd_defaults" "gb" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "snes" "$(get_setting_value "$rd_defaults" "gba" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "savestate_auto_load")" "retrodeck" "savestate_auto_load"
set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "savestate_auto_save")" "retrodeck" "savestate_auto_save"
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$bios_folder" "/var/config/retroarch/system" dir_prep "$bios_folder" "/var/config/retroarch/system"
@ -190,6 +213,10 @@ prepare_emulator() {
dir_prep "$logs_folder/citra" "/var/data/citra-emu/log" dir_prep "$logs_folder/citra" "/var/data/citra-emu/log"
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods" dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures" dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
# Reset default preset settings
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$rdhome/bios/citra/sysdata" "/var/data/citra-emu/sysdata" dir_prep "$rdhome/bios/citra/sysdata" "/var/data/citra-emu/sysdata"
@ -237,6 +264,9 @@ prepare_emulator() {
dir_prep "$saves_folder/wii/dolphin" "/var/data/dolphin-emu/Wii" dir_prep "$saves_folder/wii/dolphin" "/var/data/dolphin-emu/Wii"
dir_prep "$mods_folder/Dolphin" "/var/data/dolphin-emu/Load/GraphicMods" dir_prep "$mods_folder/Dolphin" "/var/data/dolphin-emu/Load/GraphicMods"
dir_prep "$texture_packs_folder/Dolphin" "/var/data/dolphin-emu/Load/Textures" dir_prep "$texture_packs_folder/Dolphin" "/var/data/dolphin-emu/Load/Textures"
# Reset default preset settings
set_setting_value "$rd_conf" "dolphin" "$(get_setting_value "$rd_defaults" "dolphin" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$saves_folder/gc/dolphin/EU" "/var/data/dolphin-emu/GC/EUR" dir_prep "$saves_folder/gc/dolphin/EU" "/var/data/dolphin-emu/GC/EUR"
@ -283,6 +313,12 @@ prepare_emulator() {
# Shared actions # Shared actions
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
dir_prep "$texture_packs_folder/Duckstation" "/var/config/duckstation/textures" dir_prep "$texture_packs_folder/Duckstation" "/var/config/duckstation/textures"
# Reset default preset settings
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "cheevos")" "retrodeck" "cheevos"
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "cheevos_hardcore")" "retrodeck" "cheevos_hardcore"
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "savestate_auto_save")" "retrodeck" "savestate_auto_save"
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
set_setting_value "$duckstationconf" "SearchDirectory" "$bios_folder" "duckstation" "BIOS" set_setting_value "$duckstationconf" "SearchDirectory" "$bios_folder" "duckstation" "BIOS"
@ -364,6 +400,12 @@ prepare_emulator() {
mkdir -pv "$saves_folder/ps2/pcsx2/memcards" mkdir -pv "$saves_folder/ps2/pcsx2/memcards"
mkdir -pv "$states_folder/ps2/pcsx2" mkdir -pv "$states_folder/ps2/pcsx2"
dir_prep "$texture_packs_folder/PCSX2" "/var/config/PCSX2/textures" dir_prep "$texture_packs_folder/PCSX2" "/var/config/PCSX2/textures"
# Reset default preset settings
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "cheevos")" "retrodeck" "cheevos"
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "cheevos_hardcore")" "retrodeck" "cheevos_hardcore"
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "savestate_auto_save")" "retrodeck" "savestate_auto_save"
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
set_setting_value "$pcsx2conf" "Bios" "$bios_folder" "pcsx2" "Folders" set_setting_value "$pcsx2conf" "Bios" "$bios_folder" "pcsx2" "Folders"
@ -442,6 +484,9 @@ prepare_emulator() {
dir_prep "$saves_folder/wii/primehack" "/var/data/primehack/Wii" dir_prep "$saves_folder/wii/primehack" "/var/data/primehack/Wii"
dir_prep "$mods_folder/Primehack" "/var/data/primehack/Load/GraphicMods" dir_prep "$mods_folder/Primehack" "/var/data/primehack/Load/GraphicMods"
dir_prep "$texture_packs_folder/Primehack" "/var/data/primehack/Load/Textures" dir_prep "$texture_packs_folder/Primehack" "/var/data/primehack/Load/Textures"
# Reset default preset settings
set_setting_value "$rd_conf" "primehack" "$(get_setting_value "$rd_defaults" "primehack" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$saves_folder/gc/primehack/EU" "/var/data/primehack/GC/EUR" dir_prep "$saves_folder/gc/primehack/EU" "/var/data/primehack/GC/EUR"
@ -601,6 +646,10 @@ prepare_emulator() {
if [ -d $bios_folder/switch ]; then if [ -d $bios_folder/switch ]; then
find $bios_folder/switch -xtype l -exec rm {} \; find $bios_folder/switch -xtype l -exec rm {} \;
fi fi
# Reset default preset settings
set_setting_value "$rd_conf" "yuzu" "$(get_setting_value "$rd_defaults" "yuzu" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "yuzu" "$(get_setting_value "$rd_defaults" "yuzu" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$bios_folder/switch/keys" "/var/data/yuzu/keys" dir_prep "$bios_folder/switch/keys" "/var/data/yuzu/keys"
@ -616,4 +665,9 @@ prepare_emulator() {
set_setting_value "$yuzuconf" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI" set_setting_value "$yuzuconf" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI"
fi fi
fi fi
# Update presets for all emulators after any reset or move
if [[ ! "$emulator" == "retrodeck" ]]; then
build_retrodeck_current_presets
fi
} }

View file

@ -65,44 +65,71 @@
<project_license>GPL-3.0</project_license> <project_license>GPL-3.0</project_license>
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<releases> <releases>
<release version="0.7.1b" date="2023-08-21"> <release version="0.7.2b" date="2023-09-27">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.7.2b</url>
<description>
<p>Updates:</p>
<ul>
<li>All Emulators, ES-DE and the included theme have been updated.</li>
</ul>
<p>Bugfixes and other changes:</p>
<ul>
<li>Added helper .txt files to the mod and texture pack folders.</li>
<li>The builtin changelog is now scrollable.</li>
<li>The loading bar color is after much debate once again red.</li>
<li>Gameboy Advanced and Game Gear integer scaling changes based on feedback.</li>
<li>Optimized and retooled the patching process for ES-DE.</li>
<li>Various fixes and optimizations to the RetroDECK build process.</li>
</ul>
<p>Known issues:</p>
<ul>
<li>PPSSPP now have Retroachievements, but it is right now not configurable in the configurator (as it works a bit different the other emulators), we hope to have a solution for it at a later date. You can still login / logout / enable hardcore mode normally from the PPSSPP interface.</li>
<li>Quitting the RetroArch GB core with the radial function makes the core swap the palette.</li>
<li>Borders sometimes are disappearing, a possible workaround is to reset RetroArch from the configurator.</li>
</ul>
</description>
</release>
<release version="0.7.1b" date="2023-08-16">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.7.1b</url> <url>https://github.com/XargonWan/RetroDECK/releases/tag/0.7.1b</url>
<description> <description>
<p>Information:</p> <p>Information:</p>
<ul> <ul>
<li>Steam Deck users update RetroDECK from Discover in Desktop Mode.</li> <li>Steam Deck users update RetroDECK from <i>Discover</i> in Desktop Mode.</li>
<li>Don't forget to reapply the latest controller layout: Go into the Templates tab and reapply the new profile ending with 0.7.1b (there is no need to reinstall the entire layout from the Configurator).</li> <li>Don't forget to reapply the latest controller layout: Go into the <i>Templates</i> tab and reapply the new profile ending with 0.7.1b (there is no need to reinstall the entire layout from the Configurator).</li>
</ul> </ul>
<p>Bug fixes:</p> <p>Bug fixes and other changes:</p>
<ul> <ul>
<li>Fixed an issue to make sure the RD controller layout file at update with each RD update.</li> <li>Fixed an issue to make sure the RD controller layout file at update with each RD update.</li>
<li>Fixed an issue with PPSSPP that made "L" and "R" incorrectly bound.</li> <li>Fixed an issue with PPSSPP that made <i>L</i> and <i>R</i> incorrectly bound.</li>
<li>Fixed an issue in the Configurator that prevented the Yuzu preset for swapping A/B X/Y from working.</li> <li>Fixed an issue in the Configurator that prevented the Yuzu preset for swapping A/B X/Y from working.</li>
<li>Fixed an notification issues on the latest SteamOS Beta releases.</li> <li>Fixed a notification issue on the latest SteamOS Beta releases.</li>
<li>Fixed an rsync permissions issue in the RetroDECK Framework.</li> <li>Fixed an rsync permissions issue in the RetroDECK Framework.</li>
<li>Updated Yuzu presets to handle new config syntax in the RetroDECK Framework.</li> <li>Updated Yuzu presets to handle new config syntax in the RetroDECK Framework.</li>
<li>Changed auto-update to notification only, until permissions error can be worked out.</li> <li>Changed auto-update to notification only, until permissions error can be worked out.</li>
<li>Added some new pixelart icons by ItzSelenux (pixelitos-icon-theme)</li> <li>Added some new pixelart icons by ItzSelenux (pixelitos-icon-theme)</li>
</ul> </ul>
<p>Steam Deck - Global Controller Layout Changes:</p> <p>Updates:</p>
<p>All Emulators and ES-DE have been updated</p>
<p>Steam Deck - Global Controller Layout:</p>
<p>We have done some changes based on community feedback</p>
<ul> <ul>
<li>Select is now a hotkey trigger while pressing it down, L4 and R4 are still triggers as well.</li> <li><i>Select</i> is now a hotkey trigger while pressing it down, <i>L4</i> and <i>R4</i> are still triggers as well.</li>
<li>The RetroArch combo of Select + Start = Quit now works on many SA-Emulators.</li> <li>The RetroArch combo of <i>Select</i> + <i>Start</i> = <i>Quit</i> now works on many SA-Emulators.</li>
<li>Open Menu is removed from Select.</li> <li><i>Open Menu</i> is removed from <i>Select</i>.</li>
<li>R5 = A button (this allows for great Wii controls on the right touchpad and pressing down the R5 for A).</li> <li><i>R5</i> = <i>A</i> button (this allows for great Wii controls on the right touchpad and pressing down the <i>R5</i> for A).</li>
<li>L5 = B button.</li> <li><i>L5</i> = <i>B</i> button.</li>
</ul> </ul>
<p>Steam Deck - Global Hotkey Changes:</p> <p>Global hotkey changes:</p>
<ul> <ul>
<li>Open Menu is on Y.</li> <li><i>Open Menu</i> is on <i>Y</i>.</li>
<li>Increase Emulation Speed is on Dpad-UP.</li> <li><i>Increase Emulation Speed</i> is on <i>Dpad-UP</i>.</li>
<li>Decrease Emulation Speed is on Dpad-Down.</li> <li><i>Decrease Emulation Speed</i> is on <i>Dpad-Down</i>.</li>
<li>Fullscreen OFF command is removed (as emulators have migrated to toggle).</li> <li><i>Fullscreen OFF</i> command is removed (as emulators have migrated to toggle).</li>
</ul> </ul>
<p>Known issues:</p> <p>Known issues:</p>
<ul> <ul>
<li>The built in auto-updater is not working (we are working on it). Discover is ok.</li> <li>The built-in auto-updater is not working (we are working on it). Discover is ok.</li>
<li>Some emulators don't have hotkey support or have bugs affecting their hotkeys.</li> <li>Some emulators don't have hotkey support or have bugs affecting their hotkeys.</li>
</ul> </ul>
</description> </description>
</release> </release>

View file

@ -8,6 +8,15 @@ base: io.qt.qtwebengine.BaseApp # Needed for Yuzu
base-version: 5.15-22.08 # Needed for Yuzu base-version: 5.15-22.08 # Needed for Yuzu
command: retrodeck.sh command: retrodeck.sh
add-extensions:
org.ppsspp.PPSSPP.Locale:
directory: share/locale
bundle: true
no-autodownload: false
subdirectories: false
autodelete: true
locale-subset: true
finish-args: finish-args:
- --socket=fallback-x11 - --socket=fallback-x11
- --socket=wayland - --socket=wayland
@ -15,7 +24,7 @@ finish-args:
- --share=ipc - --share=ipc
- --share=network - --share=network
- --device=all - --device=all
- --filesystem=home # Needed to be able to relocate / remove / create symlink at ~/retrodeck - --filesystem=home
- --filesystem=/run/media - --filesystem=/run/media
- --filesystem=/media - --filesystem=/media
- --allow=multiarch - --allow=multiarch
@ -58,6 +67,7 @@ cleanup-commands:
modules: modules:
# dependency of: CEMU
- rd-submodules/shared-modules/libusb/libusb.json - rd-submodules/shared-modules/libusb/libusb.json
# This module is used to define the RetroDECK version # This module is used to define the RetroDECK version
@ -66,18 +76,16 @@ modules:
# The version number is hardcoded in /app/retrodeck/version # The version number is hardcoded in /app/retrodeck/version
# #
# UPDATE STEPS FOR MAIN: # UPDATE STEPS FOR MAIN:
# [X] Update the VERSION variable # [X] Update the VERSION variable on line containing "VERSION=THISBRANCH"
# [X] Update the appdata.xml with the version number and notes # [X] Update the appdata.xml with the version number and notes
# [X] change branch into main in version-initialization (first one)
# [X] change branch into main in retrodeck module (last one)
# [X] if header (before modules) was edited, edit it even in flathub.yml
# #
- name: version-initialization - name: version-initialization
buildsystem: simple buildsystem: simple
build-commands: build-commands:
- | - |
VERSION=0.7.1b # on main please update this with the version variable, eg: VERSION='0.7.0b'
VERSION=0.7.2b
git checkout ${GITHUB_REF_NAME} git checkout ${GITHUB_REF_NAME}
mkdir -p ${FLATPAK_DEST}/retrodeck/ mkdir -p ${FLATPAK_DEST}/retrodeck/
@ -91,7 +99,7 @@ modules:
sources: sources:
- type: git - type: git
url: https://github.com/XargonWan/RetroDECK.git url: https://github.com/XargonWan/RetroDECK.git
branch: main branch: THISBRANCH
- name: xmlstarlet - name: xmlstarlet
config-opts: config-opts:
@ -112,6 +120,7 @@ modules:
# mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails, # mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails,
# this affects even the shared-modules's glu so I have to replace it temporarly # this affects even the shared-modules's glu so I have to replace it temporarly
# more info there: https://gitlab.com/gnutls/gnutls/-/issues/1335 # more info there: https://gitlab.com/gnutls/gnutls/-/issues/1335
# dependency of: CEMU
- name: glu - name: glu
buildsystem: meson buildsystem: meson
cleanup: cleanup:
@ -210,6 +219,7 @@ modules:
url: https://github.com/mikefarah/yq/releases/download/v4.33.3/yq_linux_amd64 url: https://github.com/mikefarah/yq/releases/download/v4.33.3/yq_linux_amd64
sha256: 4ee662847c588c3ef2fec8bfb304e8739e3dbaba87ccb9a608d691c88f5b64dc sha256: 4ee662847c588c3ef2fec8bfb304e8739e3dbaba87ccb9a608d691c88f5b64dc
# dependency of: CEMU (13.0.0)
- name: glslang - name: glslang
buildsystem: cmake-ninja buildsystem: cmake-ninja
config-opts: config-opts:
@ -220,8 +230,8 @@ modules:
- /lib/cmake - /lib/cmake
sources: sources:
- type: archive - type: archive
url: https://github.com/KhronosGroup/glslang/archive/12.3.1.tar.gz url: https://github.com/KhronosGroup/glslang/archive/13.0.0.tar.gz
sha256: a57836a583b3044087ac51bb0d5d2d803ff84591d55f89087fc29ace42a8b9a8 sha256: bcda732434f829aa74414ea0e06d329ec8ac28637c38a0de45e17c8fd25a4715
x-checker-data: x-checker-data:
type: anitya type: anitya
stable-only: true stable-only: true
@ -263,6 +273,7 @@ modules:
- sed -i 's|-o root -g root ||' ./Makefile.gnu - sed -i 's|-o root -g root ||' ./Makefile.gnu
- sed -i 's|/usr|/app|' ./Makefile.gnu - sed -i 's|/usr|/app|' ./Makefile.gnu
# dependency of: CEMU
- name: pugixml - name: pugixml
buildsystem: cmake-ninja buildsystem: cmake-ninja
config-opts: config-opts:
@ -326,7 +337,13 @@ modules:
v'$(cat ${FLATPAK_DEST}/retrodeck/version)', ES-DE v" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#g' v'$(cat ${FLATPAK_DEST}/retrodeck/version)', ES-DE v" + Utils::String::toUpper(PROGRAM_VERSION_STRING)#g'
es-app/src/guis/GuiMenu.cpp es-app/src/guis/GuiMenu.cpp
- type: patch - type: patch
path: rd-submodules/es-de/es-de-retrodeck-mods.patch path: rd-submodules/es-de/GuiMenu.cpp.patch
- type: patch
path: rd-submodules/es-de/GuiMenu.h.patch
- type: patch
path: rd-submodules/es-de/ViewController.cpp.patch
- type: patch
path: rd-submodules/es-de/Window.cpp.patch
# ES-DE - END # ES-DE - END
@ -340,7 +357,7 @@ modules:
sources: sources:
- type: git - type: git
url: https://github.com/anthonycaccese/art-book-next-es-de.git url: https://github.com/anthonycaccese/art-book-next-es-de.git
commit: a0dc0cccaa3f1475feb58e551fe732d982e161c0 commit: 4fe896af7447404f6ea083335cd661c91b0f7860
# ES-DE Themes - END # ES-DE Themes - END
@ -353,11 +370,13 @@ modules:
config-opts: config-opts:
- '--enable-dbus' - '--enable-dbus'
make-args: make-args:
- GLOBAL_CONFIG_DIR=${FLATPAK_DEST}/etc - 'GLOBAL_CONFIG_DIR=${FLATPAK_DEST}/etc'
- HAVE_TRANSLATE=1
- HAVE_ACCESSIBILITY=1
sources: sources:
- type: git - type: git
url: https://github.com/libretro/RetroArch.git url: 'https://github.com/libretro/RetroArch.git'
commit: 6616b807edea5b56683e9fbca8b003b436c22b13 commit: 712b9350a5c2b1b9129d939a2ae622093dfabd04
- type: file - type: file
path: rd-submodules/retroarch/retroarch.cfg path: rd-submodules/retroarch/retroarch.cfg
post-install: post-install:
@ -370,7 +389,6 @@ modules:
- >- - >-
sed s:@prefix@:${FLATPAK_DEST}:g retroarch.cfg > sed s:@prefix@:${FLATPAK_DEST}:g retroarch.cfg >
${FLATPAK_DEST}/etc/retroarch.cfg ${FLATPAK_DEST}/etc/retroarch.cfg
- mkdir -p ${FLATPAK_DEST}/share/appdata
modules: modules:
- rd-submodules/retroarch/modules/libpng/libpng-1.6.35.json - rd-submodules/retroarch/modules/libpng/libpng-1.6.35.json
- rd-submodules/retroarch/modules/nvidia-cg-toolkit/nvidia-cg-toolkit-3.1.0013.json - rd-submodules/retroarch/modules/nvidia-cg-toolkit/nvidia-cg-toolkit-3.1.0013.json
@ -385,7 +403,7 @@ modules:
- rd-submodules/retroarch/modules/libbz2/libbz2-1.0.8.json - rd-submodules/retroarch/modules/libbz2/libbz2-1.0.8.json
- rd-submodules/retroarch/modules/xrandr/xrandr-1.5.1.json - rd-submodules/retroarch/modules/xrandr/xrandr-1.5.1.json
- rd-submodules/retroarch/modules/libaio/libaio-0.3.112.json - rd-submodules/retroarch/modules/libaio/libaio-0.3.112.json
# certificate issue, check libglu module for more info # certificate issue, check glu module for more info
#- rd-submodules/shared-modules/glu/glu-9.json #- rd-submodules/shared-modules/glu/glu-9.json
- rd-submodules/shared-modules/libdecor/libdecor-0.1.1.json - rd-submodules/shared-modules/libdecor/libdecor-0.1.1.json
- name: retroarch-filers-video - name: retroarch-filers-video
@ -394,44 +412,44 @@ modules:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/RetroArch.git url: 'https://github.com/libretro/RetroArch.git'
commit: 6616b807edea5b56683e9fbca8b003b436c22b13 commit: 712b9350a5c2b1b9129d939a2ae622093dfabd04
- name: retroarch-filers-audio - name: retroarch-filers-audio
subdir: libretro-common/audio/dsp_filters subdir: libretro-common/audio/dsp_filters
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/RetroArch.git url: 'https://github.com/libretro/RetroArch.git'
commit: 6616b807edea5b56683e9fbca8b003b436c22b13 commit: 712b9350a5c2b1b9129d939a2ae622093dfabd04
- name: retroarch-assets - name: retroarch-assets
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/retroarch-assets.git url: 'https://github.com/libretro/retroarch-assets.git'
commit: 4ec80faf1b5439d1654f407805bb66141b880826 commit: 7b735ef18bcc6508b1c9a626eb237779ff787179
- name: libretro-database - name: libretro-database
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/libretro-database.git url: 'https://github.com/libretro/libretro-database.git'
commit: 6a8d65d2bc1b7ffa7accb882e80c0a77b931bcc6 commit: e3b5cb00da4f3ab99491bf67c19630ffa7ee19f2
- name: libretro-core-info - name: libretro-core-info
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/libretro-core-info.git url: 'https://github.com/libretro/libretro-core-info.git'
commit: eb7e3ff064c3fdaae46b89c9da9f49e15a8e9c2b commit: dacae85b406131feb12395a415fdf57fc4745201
- name: retroarch-joypad-autoconfig - name: retroarch-joypad-autoconfig
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/retroarch-joypad-autoconfig.git url: 'https://github.com/libretro/retroarch-joypad-autoconfig.git'
commit: 8ec6304a14bd37cf927ebe7555a274ac4fefeb69 commit: 5666e46bb89caf4e9af358fdb97a2b384cb62f36
- name: common-shaders - name: common-shaders
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
@ -444,22 +462,22 @@ modules:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/slang-shaders.git url: 'https://github.com/libretro/slang-shaders.git'
commit: 8b35477a934739b1db193f22e7057754e7a87381 commit: 9266fa24b64b274fd429b73469ded3561de7b8f4
- name: glsl-shaders - name: glsl-shaders
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/glsl-shaders.git url: 'https://github.com/libretro/glsl-shaders.git'
commit: 799aa9e4d567db0874111d2aed9c9b9058a19641 commit: c26b9e1913eda8c25d6cd218818745a3b451f982
- name: common-overlays - name: common-overlays
make-install-args: make-install-args:
- PREFIX=${FLATPAK_DEST} - PREFIX=${FLATPAK_DEST}
sources: sources:
- type: git - type: git
url: https://github.com/libretro/common-overlays.git url: 'https://github.com/libretro/common-overlays.git'
commit: b3827a2c63834ed9e1902acc7cf9019f64771ed3 commit: 115d8670c2e032e4a41ba45f766f5cfd9dae28b8
# RetroArch - END # RetroArch - END
@ -471,8 +489,8 @@ modules:
- mv ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/share/libretro/cores/ - mv ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/share/libretro/cores/
sources: sources:
- type: archive - type: archive
url: https://buildbot.libretro.com/stable/1.15.0/linux/x86_64/RetroArch_cores.7z url: https://buildbot.libretro.com/stable/1.16.0/linux/x86_64/RetroArch_cores.7z
sha256: 2230bc38eaf87406efd0c2b7bdd1cf9e813ba113505600f14a7ef9eb06f8c7c0 sha256: e4f7c9843ba827812088b3d1c7d745e802d7691180eb789ba5a37732461f2a06
- name: retroarch-sameduck-core - name: retroarch-sameduck-core
buildsystem: simple buildsystem: simple
@ -544,13 +562,14 @@ modules:
sources: sources:
- type: git - type: git
url: &ppsspp-url https://github.com/hrydgard/ppsspp.git url: &ppsspp-url https://github.com/hrydgard/ppsspp.git
tag: v1.15.4 tag: v1.16.3
commit: 9a80120dc09997e40c0a73fda05c3e07a347259f commit: a9b6421dfde68be9d065b51e9d519699ce2e9053
x-checker-data: x-checker-data:
type: anitya type: json
project-id: 12295 url: https://api.github.com/repos/hrydgard/ppsspp/releases/latest
tag-template: v$version version-query: .tag_name | sub("^v"; "")
is-main-source: true tag-query: .tag_name
timestamp-query: .published_at
- name: ppsspp-localization - name: ppsspp-localization
buildsystem: simple buildsystem: simple
@ -583,8 +602,8 @@ modules:
- ln -s "${FLATPAK_DEST}/yuzu/usr/bin/yuzu" "${FLATPAK_DEST}/bin/yuzu" - ln -s "${FLATPAK_DEST}/yuzu/usr/bin/yuzu" "${FLATPAK_DEST}/bin/yuzu"
sources: sources:
- type: file - type: file
url: https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1522/yuzu-mainline-20230813-3ea669b08.AppImage url: https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1567/yuzu-mainline-20230923-ace91dd0c.AppImage
sha256: d1c5217f96c7ce66b6ebc8db835daad801de7e8ca7df1c35ae62920aa55c04da sha256: 965bdfa63e713a0672fb5a037ecb527b4860600c6a2526f7c053bfe082b5a9d8
# Yuzu - END # Yuzu - END
@ -649,8 +668,8 @@ modules:
- ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt"
sources: sources:
- type: file - type: file
url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.4916/pcsx2-v1.7.4916-linux-appimage-x64-Qt.AppImage url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.5059/pcsx2-v1.7.5059-linux-appimage-x64-Qt.AppImage
sha256: 870a9d198d5f05a1ecf3e98110fe24beacf72eb45077ee31d1200c36930b3d9c sha256: a51addc9bd15b77e842160acecb1f18486f8a024e5e73e8aea5de71de2b164c7
# PCSX2 - END # PCSX2 - END
@ -879,9 +898,11 @@ modules:
# DO NOT UPDATE! WENT ON QT6 # DO NOT UPDATE! WENT ON QT6
# https://github.com/flathub/net.rpcs3.RPCS3 # https://github.com/flathub/net.rpcs3.RPCS3
# glu issue, check libglu module for more info # glu issue, check glu module for more info
#- rd-submodules/shared-modules/glu/glu-9.json #- rd-submodules/shared-modules/glu/glu-9.json
- rd-submodules/shared-modules/glew/glew.json # RPCS3 is not using this anymore, what about the other emu? Can we remove it?
# dependency of: CEMU
- rd-submodules/shared-modules/glew/glew.json
- name: rpcs3 - name: rpcs3
buildsystem: cmake-ninja buildsystem: cmake-ninja
@ -930,9 +951,8 @@ modules:
# RPCS3 - END # RPCS3 - END
# # PRIMEHACK - START # PRIMEHACK - START
# # https://github.com/flathub/io.github.shiiion.primehack # https://github.com/flathub/io.github.shiiion.primehack
# # Disabled because it's overwriting Dolphin
- name: primehack - name: primehack
buildsystem: cmake-ninja buildsystem: cmake-ninja
@ -989,9 +1009,22 @@ modules:
# Duckstation-AppImage - END # Duckstation-AppImage - END
# Cemu - START # Cemu - START
# LATEST BUILD BEFORE RUNTIME 23.08
# https://github.com/cemu-project/Cemu/releases # https://github.com/cemu-project/Cemu/releases
# https://github.com/flathub/info.cemu.Cemu # https://github.com/flathub/info.cemu.Cemu
- name: hidapi
buildsystem: cmake-ninja
sources:
- type: archive
url: https://github.com/libusb/hidapi/archive/refs/tags/hidapi-0.14.0.tar.gz
sha256: a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
x-checker-data:
type: anitya
project-id: 5594
stable-only: true
url-template: https://github.com/libusb/hidapi/archive/refs/tags/hidapi-$version.tar.gz
- name: boost - name: boost
buildsystem: simple buildsystem: simple
build-commands: build-commands:
@ -1003,8 +1036,8 @@ modules:
- /lib/cmake - /lib/cmake
sources: sources:
- type: archive - type: archive
url: https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.bz2 url: https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2
sha256: a6e1ab9b0860e6a2881dd7b21fe9f737a095e5f33a3a874afc6a345228597ee6 sha256: 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e
x-checker-data: x-checker-data:
type: anitya type: anitya
project-id: 6845 project-id: 6845
@ -1025,8 +1058,10 @@ modules:
- /lib/pkgconfig - /lib/pkgconfig
sources: sources:
- type: archive - type: archive
url: https://libzip.org/download/libzip-1.10.0.tar.xz url: https://libzip.org/download/libzip-1.10.1.tar.xz
sha256: cd2a7ac9f1fb5bfa6218272d9929955dc7237515bba6e14b5ad0e1d1e2212b43 mirror-urls:
- https://github.com/nih-at/libzip/releases/download/v1.10.1/libzip-1.10.1.tar.xz
sha256: dc3c8d5b4c8bbd09626864f6bcf93de701540f761d76b85d7c7d710f4bd90318
x-checker-data: x-checker-data:
type: anitya type: anitya
project-id: 10649 project-id: 10649
@ -1115,8 +1150,8 @@ modules:
x-checker-data: x-checker-data:
type: git type: git
tag-pattern: ^v([\d.]+-\d+)$ tag-pattern: ^v([\d.]+-\d+)$
tag: v2.0-46 tag: v2.0-47
commit: a17111e6b0e4802044c90f4bedd66478de689070 commit: 85aa4f095b119e98620451a0c19c80f656d944a6
- type: shell - type: shell
commands: commands:
- sed "s/set(EXPERIMENTAL_VERSION.*/set(EXPERIMENTAL_VERSION \"$(git describe - sed "s/set(EXPERIMENTAL_VERSION.*/set(EXPERIMENTAL_VERSION \"$(git describe
@ -1198,7 +1233,6 @@ modules:
- mkdir -p /app/tools - mkdir -p /app/tools
- cp tools/configurator.sh /app/tools/configurator.sh - cp tools/configurator.sh /app/tools/configurator.sh
- chmod +x /app/tools/configurator.sh - chmod +x /app/tools/configurator.sh
#- cp es-configs/tools-gamelist.xml /app/retrodeck/tools-gamelist.xml
- cp tools/retrodeck_function_wrapper.sh /app/tools/retrodeck_function_wrapper.sh - cp tools/retrodeck_function_wrapper.sh /app/tools/retrodeck_function_wrapper.sh
- chmod +x /app/tools/retrodeck_function_wrapper.sh - chmod +x /app/tools/retrodeck_function_wrapper.sh
@ -1210,8 +1244,6 @@ modules:
- cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop - cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop
- cp net.retrodeck.retrodeck.Configurator.desktop /app/share/applications/net.retrodeck.retrodeck.Configurator.desktop - cp net.retrodeck.retrodeck.Configurator.desktop /app/share/applications/net.retrodeck.retrodeck.Configurator.desktop
# TODO: group the configs per-emu and optimize the following cps, like already done with Dolphin. Please not that some files may be renamed, check retrodeck.sh to know how (and fix it after the edit)
# Initializing default emulator configs # Initializing default emulator configs
- cp -r emu-configs ${FLATPAK_DEST}/retrodeck/emu-configs/ - cp -r emu-configs ${FLATPAK_DEST}/retrodeck/emu-configs/
@ -1229,4 +1261,8 @@ modules:
sources: sources:
- type: git - type: git
url: https://github.com/XargonWan/RetroDECK.git url: https://github.com/XargonWan/RetroDECK.git
<<<<<<< HEAD
branch: main branch: main
=======
branch: THISBRANCH
>>>>>>> cooker-0.7.2b

View file

@ -0,0 +1,62 @@
name: TEST_release_info
on:
push:
branches:
- main
paths:
- .github/workflows/TEST_release_info.yml
pull_request:
branches:
- main
workflow_dispatch:
jobs:
Building_RetroDECK:
runs-on: ubuntu-latest
steps:
- name: Generate build ID
id: generating_buildid
run: echo "##[set-output name=build-id;]$(echo "$( git rev-parse --short HEAD )")"
- uses: actions/checkout@v3
- name: Initialize enviornment
run: |
git pull
git submodule init
git submodule update
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet appstream-util
- name: Validating the appdata
run: appstream-util validate "net.retrodeck.retrodeck.appdata.xml"
continue-on-error: true
- 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
draft: true
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
repo: RetroDECK
#continue-on-error: true

205
old/workflows/cooker.yml Normal file
View file

@ -0,0 +1,205 @@
name: cooker
on:
# push:
# branches:
# - cooker*
# pull_request:
# branches:
# - cooker*
workflow_dispatch:
jobs:
Job1_-_Building_P1:
runs-on: ubuntu-latest
steps:
- name: Get date for artifacts
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')"
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch
- name: Generate build ID
id: generating_buildid
run: echo "##[set-output name=build-id;]$(echo "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}")"
- uses: actions/checkout@v3
- name: Download global cache
uses: dawidd6/action-download-artifact@v2
with:
workflow: cooker.yml
name: global-cache
search_artifacts: true
skip_unpack: true
continue-on-error: true
- name: Extract global cache
run: |
tar --skip-old-files -xzvf retrodeck-cooker.tar.gz
rm -f retrodeck-cooker.tar.gz
continue-on-error: true
- name: DEBUG
run: |
echo "Listing folder $PWD contents"
ls -lna
echo "Checking for version file"
find ~ -iname version
cat $(find ~ -iname version)
- name: Initialize enviornment
run: |
git pull
git submodule init
git submodule update
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt-get update
sudo apt install flatpak flatpak-builder p7zip-full
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13
- name: Buld part 1 - Until melonds
run: |
sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml
- name: Compress cache
run: |
touch retrodeck-cooker.tar.gz
rm -rf .flatpak-builder/build/*-{2,3,4,5,6}
find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks
tar --ignore-failed-read -czvf retrodeck-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
- name: Upload build specific cache
uses: actions/upload-artifact@v3
with:
name: "${{ steps.generating_buildid.outputs.build-id }}"
path: retrodeck-cooker.tar.gz
# this is done to speed up the things now, it may be removed later
- name: Compress global cache
run: |
touch retrodeck-cooker.tar.gz
rm -rf .flatpak-builder/build/*-{2,3,4,5,6}
find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks
tar --ignore-failed-read -czvf retrodeck-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
continue-on-error: true
- name: Upload global cache
uses: actions/upload-artifact@v3
with:
name: global-cache
path: retrodeck-cooker.tar.gz RetroDECK.flatpak
continue-on-error: true
outputs:
buildID: "${{ steps.generating_buildid.outputs.build-id }}"
Job2_-_Build_P2_and_publish:
runs-on: ubuntu-latest
needs: [Job1_-_Building_P1]
steps:
- uses: actions/checkout@v3
- name: Download build specific cache
uses: actions/download-artifact@v2
with:
name: ${{ needs.Job1_-_Building_P1.outputs.buildID }}
- name: Extract cache
run: |
tar --skip-old-files -xzvf retrodeck-cooker.tar.gz
rm -f retrodeck-cooker.tar.gz
- name: DEBUG
run: |
echo "Listing folder $PWD contents"
ls -lna
echo "Checking for version file"
find ~ -iname version
cat $(find ~ -iname version)
- name: Initialize enviornment
run: |
git pull
git submodule init
git submodule update
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt-get update
sudo apt install flatpak flatpak-builder p7zip-full
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13
- name: Create Bundle
run: |
sudo flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml
sudo flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck
- name: Get date for artifacts
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M')"
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch
- name: Read version from version file
id: version
run: echo "##[set-output name=version;]$(cat $(find . -name version))"
- name: DEBUG - Print version name
shell: bash
run: |
echo "DEBUG: printing version from version file"
echo "${{ steps.version.outputs.version }}"
- name: Publish the flatpak in a new cooker release
uses: ncipollo/release-action@v1
with:
#tag: "${{ steps.version.outputs.version }}"
tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}"
body: |
# Release Notes (Cooker)
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
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.flatpak"
allowUpdates: true
prerelease: true
draft: false
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
repo: RetroDECK-cooker
continue-on-error: true
- name: Compress global cache
run: |
touch retrodeck-cooker.tar.gz
rm -rf .flatpak-builder/build/*-{2,3,4,5,6}
find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks
tar --ignore-failed-read -czvf retrodeck-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build
continue-on-error: true
- name: Upload global cache
uses: actions/upload-artifact@v3
with:
name: global-cache
path: retrodeck-cooker.tar.gz RetroDECK.flatpak
continue-on-error: true
- name: Upload RetroDECK.flatpak
uses: actions/upload-artifact@v3
with:
name: retrodeck-flatpak
path: RetroDECK.flatpak
continue-on-error: true

View file

@ -0,0 +1,88 @@
name: PUSH-cooker-flathub
on:
workflow_dispatch:
jobs:
Pushing_cooker_into_flathub:
runs-on: ubuntu-latest
steps:
- name: Pushing
shell: bash
run: |
# EDITABLES:
rd_branch=${GITHUB_REF_NAME}
echo $rd_branch
gits_folder="${GITHUB_WORKSPACE}/gits" # without last /
mkdir -vp $gits_folder
cd $gits_folder
if [ -d flathub ]; then
rm -rf flathub
fi
git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub
cd $gits_folder
git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK
cd $gits_folder/RetroDECK
# NON-EDITABLES
#relname="$rd_branch-"$(date +%d%m%y.%H%M)
relname="cooker-"$(git rev-parse --short HEAD)
git checkout $rd_branch
git submodule init
git submodule update
# NOTE: the only linked submodules are: rd-submodules/retroarch
# these must be included in the exclusion list as they must be redownloaded
#sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/
cd $gits_folder/flathub
git checkout -b $relname
git rm -rf *
git clean -fxd # restroing git index
# Copying only a few files as the others are cloned by git in retrodeck.sh
cd $gits_folder/RetroDECK
cp -rf \
'flathub.json' \
'LICENSE' \
'flathub.yml' \
'README.md' \
$gits_folder/flathub/
cd $gits_folder/flathub
ls -lah
# manipulating manifest
mv flathub.yml net.retrodeck.retrodeck.yml
# Getting latest release name
# version=$(\
# curl -sL \
# -H "Accept: application/vnd.github+json" \
# -H "Authorization: Bearer ${{ secrets.TRIGGER_BUILD_TOKEN }}" \
# https://api.github.com/repos/XargonWan/RetroDECK-cooker/releases \
# | jq .[0].tag_name \
# | tr -d \" \
# )
sha=$(curl -sL https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.sha)
sed -i "s#__SHA__#$sha#g" net.retrodeck.retrodeck.yml
echo -e "Resulting manifest:\n"
cat net.retrodeck.retrodeck.yml
git config --global user.name "${{ secrets.GITNAME }}"
git config --global user.email "${{ secrets.GITMAIL }}"
git add *
git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch"
git remote -v
git push --force https://${{ secrets.TRIGGER_BUILD_TOKEN }}@github.com/flathub/net.retrodeck.retrodeck.git $relname

188
old/workflows/main.yml Normal file
View file

@ -0,0 +1,188 @@
name: main
on:
# Triggers the workflow on push or pull request events but only for the main branch
# push:
# branches:
# - main
# pull_request:
# branches:
# - main
workflow_dispatch:
jobs:
Job1_-_Building_P1:
runs-on: ubuntu-latest
steps:
- name: Get date for artifacts
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')"
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch
- name: Generate build ID
id: generating_buildid
run: echo "##[set-output name=build-id;]$(echo "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}")"
- uses: actions/checkout@v3
- name: Download global cache
uses: dawidd6/action-download-artifact@v2
with:
workflow: main.yml
name: global-cache
search_artifacts: true
skip_unpack: true
continue-on-error: true
- name: Extract global cache
run: |
tar --skip-old-files -xzvf retrodeck-main.tar.gz
rm -f retrodeck-main.tar.gz
continue-on-error: true
- name: DEBUG
run: |
echo "Listing folder $PWD contents"
ls -lna
echo "Checking for version file"
find ~ -iname version
cat $(find ~ -iname version)
- name: Initialize enviornment
run: |
git pull
git submodule init
git submodule update
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt-get update
sudo apt install flatpak flatpak-builder p7zip-full
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13
- name: Buld part 1 - Until melonds
run: |
sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml
- name: Compress cache
run: |
touch retrodeck-main.tar.gz
rm -rf .flatpak-builder/build/*-{2,3,4,5,6}
find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks
tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build
- name: Upload build specific cache
uses: actions/upload-artifact@v3
with:
name: "${{ steps.generating_buildid.outputs.build-id }}"
path: retrodeck-main.tar.gz
# this is done to speed up the things now, it may be removed later
- name: Compress global cache
run: |
touch retrodeck-main.tar.gz
rm -rf .flatpak-builder/build/*-{2,3,4,5,6}
find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks
tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build
continue-on-error: true
- name: Upload global cache
uses: actions/upload-artifact@v3
with:
name: global-cache
path: retrodeck-main.tar.gz RetroDECK.flatpak
continue-on-error: true
outputs:
buildID: "${{ steps.generating_buildid.outputs.build-id }}"
Job2_-_Build_P2_and_publish:
runs-on: ubuntu-latest
needs: [Job1_-_Building_P1]
steps:
- uses: actions/checkout@v3
- name: Download build specific cache
uses: actions/download-artifact@v2
with:
name: ${{ needs.Job1_-_Building_P1.outputs.buildID }}
- name: Extract cache
run: |
tar --skip-old-files -xzvf retrodeck-main.tar.gz
rm -f retrodeck-main.tar.gz
- name: DEBUG
run: |
echo "Listing folder $PWD contents"
ls -lna
echo "Checking for version file"
find ~ -iname version
cat $(find ~ -iname version)
- name: Initialize enviornment
run: |
git pull
git submodule init
git submodule update
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt-get update
sudo apt install flatpak flatpak-builder p7zip-full
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13
- name: Create Bundle
run: |
sudo flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml
sudo flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck
- name: Read version from version file
id: version
run: echo "##[set-output name=version;]$(cat $(find . -name version))"
- name: Publish the flatpak in a new main release
uses: ncipollo/release-action@v1
with:
#tag: "${{ steps.version.outputs.version }}"
#tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}"
tag: "0.4.0b"
body: |
# Release Notes (main)
artifacts: "RetroDECK.flatpak"
allowUpdates: true
prerelease: true
draft: true
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
repo: RetroDECK-main
continue-on-error: true
- name: Compress global cache
run: |
touch retrodeck-main.tar.gz
rm -rf .flatpak-builder/build/*-{2,3,4,5,6}
find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks
tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build
continue-on-error: true
- name: Upload global cache
uses: actions/upload-artifact@v3
with:
name: global-cache
path: retrodeck-main.tar.gz RetroDECK.flatpak
continue-on-error: true
- name: Upload RetroDECK.flatpak
uses: actions/upload-artifact@v3
with:
name: retrodeck-flatpak
path: RetroDECK.flatpak
continue-on-error: true

View file

@ -0,0 +1,22 @@
name: Remove-artifacts
on:
#schedule:
# Every day at 1am
# - cron: '0 1 * * *'
workflow_dispatch:
jobs:
remove-old-artifacts:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Remove old artifacts
uses: c-hive/gha-remove-artifacts@v1
with:
age: '2 seconds' # '<number> <unit>', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js
# Optional inputs
# skip-tags: true
# skip-recent: 5

View file

@ -0,0 +1,38 @@
diff -au1r emulationstation-de/es-app/src/guis/GuiMenu.cpp emulationstation-de/es-app/src/guis/GuiMenu.cpp
--- emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-08-23 13:12:15.617292576 +0200
+++ emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-08-23 13:44:10.736412006 +0200
@@ -67,2 +67,4 @@
+ addEntry("RETRODECK CONFIGURATOR", mMenuColorPrimary, false, [this] { openRetroDeckConfigurator(); });
+
if (!Settings::getInstance()->getBool("ForceKiosk") &&
@@ -70,3 +72,3 @@
#if defined(__APPLE__)
- addEntry("QUIT EMULATIONSTATION", mMenuColorPrimary, false, [this] { openQuitMenu(); });
+ addEntry("QUIT RETRODECK", mMenuColorPrimary, false, [this] { openQuitMenu(); });
#else
@@ -75,3 +77,3 @@
else
- addEntry("QUIT EMULATIONSTATION", mMenuColorPrimary, false, [this] { openQuitMenu(); });
+ addEntry("QUIT RETRODECK", mMenuColorPrimary, false, [this] { openQuitMenu(); });
#endif
@@ -1758,3 +1760,3 @@
auto quitText = std::make_shared<TextComponent>(
- "QUIT EMULATIONSTATION", Font::get(FONT_SIZE_MEDIUM), mMenuColorPrimary);
+ "QUIT RETRODECK", Font::get(FONT_SIZE_MEDIUM), mMenuColorPrimary);
quitText->setSelectable(true);
@@ -1910 +1912,14 @@
}
+
+void GuiMenu::openRetroDeckConfigurator()
+{
+ // Launch the configurator.sh script
+ std::string command;
+ std::string startDirectory;
+ bool runInBackground;
+ command = "bash /app/tools/configurator.sh";
+ startDirectory = "/app/tools";
+ runInBackground = false;
+ int result = Utils::Platform::launchGameUnix(command, startDirectory, runInBackground);
+ // You can add any checks for the script's outcome here.
+}

View file

@ -0,0 +1,10 @@
diff -au1r emulationstation-de/es-app/src/guis/GuiMenu.h emulationstation-de/es-app/src/guis/GuiMenu.h
--- emulationstation-de/es-app/src/guis/GuiMenu.h 2023-08-23 13:12:15.617292576 +0200
+++ emulationstation-de/es-app/src/guis/GuiMenu.h 2023-08-23 13:50:20.978700234 +0200
@@ -46,2 +46,3 @@
void openOtherOptions();
+ void openRetroDeckConfigurator();
void openQuitMenu();
@@ -54 +55,2 @@
#endif // ES_APP_GUIS_GUI_MENU_H
+

View file

@ -1,56 +1,6 @@
diff -au1r emulationstation-de/es-app/src/guis/GuiMenu.cpp emulationstation-de/es-app/src/guis/GuiMenu.cpp
--- emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-07-14 08:44:25.788696841 -0400
+++ emulationstation-de/es-app/src/guis/GuiMenu.cpp 2023-07-14 08:48:23.574196859 -0400
@@ -10,2 +10,3 @@
#include "guis/GuiMenu.h"
+#include "utils/PlatformUtil.h"
@@ -67,2 +68,4 @@
+ addEntry("RETRODECK CONFIGURATOR", mMenuColorPrimary, false, [this] { openRetroDeckConfigurator(); });
+
if (!Settings::getInstance()->getBool("ForceKiosk") &&
@@ -70,3 +73,3 @@
#if defined(__APPLE__)
- addEntry("QUIT EMULATIONSTATION", mMenuColorPrimary, false, [this] { openQuitMenu(); });
+ addEntry("QUIT RETRODECK", mMenuColorPrimary, false, [this] { openQuitMenu(); });
#else
@@ -75,3 +78,3 @@
else
- addEntry("QUIT EMULATIONSTATION", mMenuColorPrimary, false, [this] { openQuitMenu(); });
+ addEntry("QUIT RETRODECK", mMenuColorPrimary, false, [this] { openQuitMenu(); });
#endif
@@ -1729,2 +1732,15 @@
+void GuiMenu::openRetroDeckConfigurator()
+{
+ // Launch the configurator.sh script
+ std::string command;
+ std::string startDirectory;
+ bool runInBackground;
+ command = "bash /app/tools/configurator.sh";
+ startDirectory = "/app/tools";
+ runInBackground = false;
+ int result = Utils::Platform::launchGameUnix(command, startDirectory, runInBackground);
+ // You can add any checks for the script's outcome here.
+}
+
void GuiMenu::openQuitMenu()
@@ -1758,3 +1774,3 @@
auto quitText = std::make_shared<TextComponent>(
- "QUIT EMULATIONSTATION", Font::get(FONT_SIZE_MEDIUM), mMenuColorPrimary);
+ "QUIT RETRODECK", Font::get(FONT_SIZE_MEDIUM), mMenuColorPrimary);
quitText->setSelectable(true);
diff -au1r emulationstation-de/es-app/src/guis/GuiMenu.h emulationstation-de/es-app/src/guis/GuiMenu.h
--- emulationstation-de/es-app/src/guis/GuiMenu.h 2023-07-14 08:44:25.788696841 -0400
+++ emulationstation-de/es-app/src/guis/GuiMenu.h 2023-07-14 08:49:05.851991859 -0400
@@ -46,2 +46,3 @@
void openOtherOptions();
+ void openRetroDeckConfigurator();
void openQuitMenu();
diff -au1r emulationstation-de/es-app/src/views/ViewController.cpp emulationstation-de/es-app/src/views/ViewController.cpp diff -au1r emulationstation-de/es-app/src/views/ViewController.cpp emulationstation-de/es-app/src/views/ViewController.cpp
--- emulationstation-de/es-app/src/views/ViewController.cpp 2023-07-14 08:44:25.788696841 -0400 --- emulationstation-de/es-app/src/views/ViewController.cpp 2023-08-23 13:12:15.625292630 +0200
+++ emulationstation-de/es-app/src/views/ViewController.cpp 2023-07-17 09:58:26.862373622 -0400 +++ emulationstation-de/es-app/src/views/ViewController.cpp 2023-08-23 14:29:23.547223951 +0200
@@ -164,9 +164,7 @@ @@ -164,9 +164,7 @@
{ {
- mNoGamesErrorMessage = "NO GAME FILES WERE FOUND. EITHER PLACE YOUR GAMES IN " - mNoGamesErrorMessage = "NO GAME FILES WERE FOUND. EITHER PLACE YOUR GAMES IN "
@ -163,11 +113,6 @@ diff -au1r emulationstation-de/es-app/src/views/ViewController.cpp emulationstat
- true, false, - true, false,
+ "", nullptr, "", nullptr, true, false, + "", nullptr, "", nullptr, true, false,
(mRenderer->getIsVerticalOrientation() ? (mRenderer->getIsVerticalOrientation() ?
diff -au1r emulationstation-de/es-core/src/Window.cpp emulationstation-de/es-core/src/Window.cpp @@ -1446 +1357,2 @@
--- emulationstation-de/es-core/src/Window.cpp 2023-07-14 08:44:25.805371841 -0400 }
+++ emulationstation-de/es-core/src/Window.cpp 2023-07-14 08:52:32.335181878 -0400 +
@@ -165,3 +165,3 @@
progressBarRect.barPosY = mSplashTextPositions.y + (progressBarRect.barHeight * 2.0f);
- progressBarRect.color = 0x777777FF;
+ progressBarRect.color = 0xC858E6FF;
mProgressBarRectangles.emplace_back(progressBarRect);

View file

@ -0,0 +1,9 @@
diff -au1r emulationstation-de/es-core/src/Window.cpp emulationstation-de/es-core/src/Window.cpp
--- emulationstation-de/es-core/src/Window.cpp 2023-08-29 14:14:17.208301836 +0200
+++ emulationstation-de/es-core/src/Window.cpp 2023-08-29 14:12:37.307334069 +0200
@@ -181,3 +181,3 @@
progressBarRect.barPosY += borderThickness;
- progressBarRect.color = 0x79010FFF;
+ progressBarRect.color = 0xC858E6FF;
mProgressBarRectangles.emplace_back(progressBarRect);

@ -1 +1 @@
Subproject commit fbfdda61b3da092a71cc53999dd3e7b909f244e2 Subproject commit 9dc439300e92338d5b2bc3fc680eedd4fe1d3b0c

@ -1 +1 @@
Subproject commit 50314360ded6fa3b9f0b602513b1164b7a6636ed Subproject commit 2a35fe7d41b991a59992a55f09d4cdd69fdf983d

BIN
res/DREAMS.ttf Executable file

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 22 KiB