This commit is contained in:
XargonWan 2024-09-25 08:26:39 +00:00 committed by GitHub
commit 17f37c13e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
938 changed files with 1479 additions and 15885 deletions

View file

@ -1,102 +0,0 @@
name: GoDot Configurator Build Debug
run-name: Build Godot Configurator(DEBUG) for RetroDECK
on:
workflow_dispatch:
inputs:
job_target:
description: 'Select the platform'
required: true
default: 'linux'
type: choice
options:
- linux
- windows
- mac
- all
env:
GODOT_VERSION: 4.3
GODOT_PROJECT_LOCATION: tools/configurator/project.godot
EXPORT_FOLDER_LINUX: bin/Linux
EXPORT_FOLDER_WINDOWS: bin/Windows
EXPORT_FOLDER_MAC: bin/macOS
APPLICATION_NAME: godot_configurator
jobs:
linux-build:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Set up variable
run: |
echo "DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
echo "MAIN_FOLDER=$(pwd)" >> $GITHUB_ENV
- name: Installing dependencies
run: pacman -Syu --noconfirm git bash yasm python python-pip scons gcc diffutils make wget unzip tar mingw-w64
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Prepare Godot
run: |
wget -q -O godot_linux.zip https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip
unzip godot_linux.zip
wget -q -O godot_export_templates.tpz https://github.com/godotengine/godot-builds/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_export_templates.tpz
mkdir -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
unzip godot_export_templates.tpz -d ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable
mv ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable/templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable/
sed -i 's/config\/version=\"[^"]\*"/config\/version=\"${{ env.DATE }}-debug\"/' ${{ env.GODOT_PROJECT_LOCATION }}
# DEBUG BUILDS
# LINUX
- name: Building debug Linux
if: ${{ github.event.inputs.job_target == 'linux' || github.event.inputs.job_target == 'all' }}
run: |
mkdir -p ${{ env.EXPORT_FOLDER_LINUX }}
./Godot_v${GODOT_VERSION}-stable_linux.x86_64 --import ${{ env.GODOT_PROJECT_LOCATION }} --quiet --headless --export-debug "Linux/X11 64-bit" ${{ env.MAIN_FOLDER }}/${{ env.EXPORT_FOLDER_LINUX }}/${{ env.APPLICATION_NAME}}.x86_64
chmod +x ${{ env.EXPORT_FOLDER_LINUX }}/${{ env.APPLICATION_NAME }}.sh
chmod +x ${{ env.EXPORT_FOLDER_LINUX }}/${{ env.APPLICATION_NAME }}.x86_64
# TAR to keep permissions set above
- name: Tar File
if: ${{ github.event.inputs.job_target == 'linux' || github.event.inputs.job_target == 'all' }}
run: tar cvf ${{ env.APPLICATION_NAME}}_linux_debug_${{ env.DATE}}.tar ${{ env.EXPORT_FOLDER_LINUX}}
- name: Uploading GDExtension artifact debug
if: ${{ github.event.inputs.job_target == 'linux' || github.event.inputs.job_target == 'all' }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.APPLICATION_NAME }}_linux_debug_${{ env.DATE }}.tar
path: ${{ env.APPLICATION_NAME }}_linux_debug_${{ env.DATE }}.tar
# WINDOWS
- name: Building debug Windows
if: ${{ github.event.inputs.job_target == 'windows' || github.event.inputs.job_target == 'all' }}
run: |
mkdir -p ${{ env.EXPORT_FOLDER_WINDOWS }}
./Godot_v${GODOT_VERSION}-stable_linux.x86_64 --import ${{ env.GODOT_PROJECT_LOCATION }} --quiet --headless --export-debug "windows" ${{ env.MAIN_FOLDER }}/${{ env.EXPORT_FOLDER_WINDOWS }}/${{ env.APPLICATION_NAME}}.exe
- name: Uploading GDExtension artifact debug
if: ${{ github.event.inputs.job_target == 'windows' || github.event.inputs.job_target == 'all' }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.APPLICATION_NAME }}_windows_debug_${{ env.DATE }}
path: ${{ env.EXPORT_FOLDER_WINDOWS }}/
#MAC
- name: Building debug macOS
if: ${{ github.event.inputs.job_target == 'mac' || github.event.inputs.job_target == 'all' }}
run: |
mkdir -p ${{ env.EXPORT_FOLDER_MAC }}
./Godot_v${GODOT_VERSION}-stable_linux.x86_64 --import ${{ env.GODOT_PROJECT_LOCATION }} --quiet --headless --export-debug "macOS" ${{ env.MAIN_FOLDER }}/${{ env.EXPORT_FOLDER_MAC}}/${{ env.APPLICATION_NAME}}.app
- name: Uploading GDExtension artifact debug
if: ${{ github.event.inputs.job_target == 'mac' || github.event.inputs.job_target == 'all' }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.APPLICATION_NAME }}_mac_debug_${{ env.DATE }}
path: ${{ env.EXPORT_FOLDER_MAC }}/

View file

@ -85,11 +85,6 @@ jobs:
# Use GITHUB_HEAD_REF to get the source branch # Use GITHUB_HEAD_REF to get the source branch
source_branch="${GITHUB_HEAD_REF}" source_branch="${GITHUB_HEAD_REF}"
# Replace '/' with '-' in the branch name
source_branch=${source_branch//\//-}
# Use GITHUB_HEAD_REF to get the source branch
source_branch="${GITHUB_HEAD_REF}"
# Replace '/' with '-' in the branch name # Replace '/' with '-' in the branch name
source_branch=${source_branch//\//-} source_branch=${source_branch//\//-}
echo "[DEBUG] source branch is: $source_branch" echo "[DEBUG] source branch is: $source_branch"
@ -98,7 +93,6 @@ jobs:
echo "TAG=PR-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV echo "TAG=PR-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV
echo "MAKE_LATEST=false" >> $GITHUB_ENV # Not marked as the latest cooker version if it's a feature branch echo "MAKE_LATEST=false" >> $GITHUB_ENV # Not marked as the latest cooker version if it's a feature branch
else else
# Generate the tag for non-pull request branches
# Generate the tag for non-pull request branches # Generate the tag for non-pull request branches
TAG="$MANIFEST_VERSION-${{ env.buildid }}" TAG="$MANIFEST_VERSION-${{ env.buildid }}"
echo "TAG=$TAG" >> $GITHUB_ENV echo "TAG=$TAG" >> $GITHUB_ENV

View file

@ -24,4 +24,11 @@ hash^RETRODECKMELONDSLATEST^https://github.com/RetroDECK/net.kuribo64.melonDS/re
hash^RETRODECKSOLARUSLATEST^https://github.com/RetroDECK/org.solarus_games.solarus.Launcher/releases/latest/download/RetroDECK-solarus-Artifact.tar.gz hash^RETRODECKSOLARUSLATEST^https://github.com/RetroDECK/org.solarus_games.solarus.Launcher/releases/latest/download/RetroDECK-solarus-Artifact.tar.gz
hash^RETRODECKGZDOOMLATEST^https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz hash^RETRODECKGZDOOMLATEST^https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz
hash^RETRODECKMAMELATEST^https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz hash^RETRODECKMAMELATEST^https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz
hash^PORTMASTERLATESTSHA^https://github.com/PortsMaster/PortMaster-GUI/releases/latest/download/retrodeck.portmaster.zip
#latestghrelease^SHADPS4LATESTGHREL^https://api.github.com/repos/shadps4-emu/shadPS4/releases/latest^shadps4-linux-qt-.*\.zip
#latestghreleasesha^SHADPS4LATESTSHA^https://api.github.com/repos/shadps4-emu/shadPS4/releases/latest^shadps4-linux-qt-.*\.zip
#This will replace RETRODECKSHADPS4LATESTURL with the URL of the latest artifact and RETRODECKSHADPS4LATESTSHA with its SHA256 hash.
#latestghaartifact^RETRODECKSHADPS4LATESTURL^RETRODECKSHADPS4LATESTSHA^https://github.com/shadps4-emu/shadPS4/actions/workflows/linux-qt.yml^shadps4-linux-qt
hash^XENIACANARYLATESTSHA^https://github.com/xenia-canary/xenia-canary/releases/download/experimental/xenia_canary.zip
hash^PORTMASTERLATESTSHA^https://github.com/PortsMaster/PortMaster-GUI/releases/latest/download/retrodeck.portmaster.zip

View file

@ -106,20 +106,25 @@ handle_latestghtag() {
handle_latestghrelease() { handle_latestghrelease() {
local placeholder="$1" local placeholder="$1"
local url="$2" local api_url="$2"
local suffix="$3" local pattern="$3"
echo "Fetching release data from: $url" echo "Fetching release data from: $api_url"
local release_data=$(curl -s "$url")
# Fetch the release data from GitHub API
local release_data=$(curl -s "$api_url")
echo "Release data fetched." echo "Release data fetched."
local ghreleaseurl=$(echo "$release_data" | jq -r ".assets[] | select(.name | endswith(\"$suffix\")).browser_download_url")
# Find the matching asset using the pattern
local ghreleaseurl=$(echo "$release_data" | jq -r ".assets[] | select(.name | test(\"$pattern\")).browser_download_url")
if [[ -z "$ghreleaseurl" ]]; then if [[ -z "$ghreleaseurl" ]]; then
echo "Error: No asset found with suffix $suffix" echo "Error: No asset found matching pattern $pattern"
exit 1 exit 1
fi fi
# Download the file and compute its hash
local ghreleasehash=$(curl -sL "$ghreleaseurl" | sha256sum | cut -d ' ' -f1) local ghreleasehash=$(curl -sL "$ghreleaseurl" | sha256sum | cut -d ' ' -f1)
echo "Replacing placeholder $placeholder with URL $ghreleaseurl and hash $ghreleasehash" echo "Replacing placeholder $placeholder with URL $ghreleaseurl and hash $ghreleasehash"
/bin/sed -i 's^'"$placeholder"'^'"$ghreleaseurl"'^g' "$rd_manifest" /bin/sed -i 's^'"$placeholder"'^'"$ghreleaseurl"'^g' "$rd_manifest"
/bin/sed -i 's^'"HASHFOR$placeholder"'^'"$ghreleasehash"'^g' "$rd_manifest" /bin/sed -i 's^'"HASHFOR$placeholder"'^'"$ghreleasehash"'^g' "$rd_manifest"
@ -127,20 +132,26 @@ handle_latestghrelease() {
handle_latestghreleasesha() { handle_latestghreleasesha() {
local placeholder="$1" local placeholder="$1"
local url="$2" local api_url="$2"
local suffix="$3" local pattern="$3"
echo "Fetching release data from: $url" echo "Fetching release data from: $api_url"
local release_data=$(curl -s "$url")
echo "Release data fetched."
local ghreleaseurl=$(echo "$release_data" | jq -r ".assets[] | select(.name | endswith(\"$suffix\")).browser_download_url")
# Fetch the release data from GitHub API
local release_data=$(curl -s "$api_url")
echo "Release data fetched."
# Find the matching asset using the pattern
local ghreleaseurl=$(echo "$release_data" | jq -r ".assets[] | select(.name | test(\"$pattern\")).browser_download_url")
if [[ -z "$ghreleaseurl" ]]; then if [[ -z "$ghreleaseurl" ]]; then
echo "Error: No asset found with suffix $suffix" echo "Error: No asset found matching pattern $pattern"
exit 1 exit 1
fi fi
# Download the file and compute its hash
echo "Downloading asset to compute hash: $ghreleaseurl"
local ghreleasehash=$(curl -sL "$ghreleaseurl" | sha256sum | cut -d ' ' -f1) local ghreleasehash=$(curl -sL "$ghreleaseurl" | sha256sum | cut -d ' ' -f1)
echo "Replacing placeholder $placeholder with hash $ghreleasehash" echo "Replacing placeholder $placeholder with hash $ghreleasehash"
/bin/sed -i 's^'"$placeholder"'^'"$ghreleasehash"'^g' "$rd_manifest" /bin/sed -i 's^'"$placeholder"'^'"$ghreleasehash"'^g' "$rd_manifest"
} }
@ -188,8 +199,44 @@ handle_thisrepo() {
/bin/sed -i 's^'"$placeholder"'^'"$current_repo_url"'^g' "$rd_manifest" /bin/sed -i 's^'"$placeholder"'^'"$current_repo_url"'^g' "$rd_manifest"
} }
# New function to handle the latest artifact from GitHub Actions
handle_latestghaartifact() {
local placeholder_url="$1"
local placeholder_hash="$2"
local workflow_url="$3"
local artifact_name="$4"
echo "Fetching workflow runs from: $workflow_url"
workflow_runs_url=$(echo "$workflow_url" | sed 's/github.com/api.github.com\/repos/' | sed 's/actions\/workflows\/[^\/]*$/actions\/runs/')
local runs_data=$(curl -s "$workflow_runs_url")
local latest_run_url=$(echo "$runs_data" | jq -r ".workflow_runs[0].artifacts_url")
if [[ -z "$latest_run_url" ]]; then
echo "Error: No workflow runs found"
exit 1
fi
echo "Fetching artifacts from the latest run: $latest_run_url"
local artifacts_data=$(curl -s "$latest_run_url")
local artifact_url=$(echo "$artifacts_data" | jq -r ".artifacts[] | select(.name == \"$artifact_name\").archive_download_url")
if [[ -z "$artifact_url" ]]; then
echo "Error: No artifact found with name $artifact_name"
exit 1
fi
echo "Downloading the artifact to calculate the hash..."
local artifact_hash=$(curl -sL "$artifact_url" | sha256sum | cut -d ' ' -f1)
echo "Replacing placeholder $placeholder_url with artifact URL $artifact_url"
echo "Replacing placeholder $placeholder_hash with artifact hash $artifact_hash"
/bin/sed -i 's^'"$placeholder_url"'^'"$artifact_url"'^g' "$rd_manifest"
/bin/sed -i 's^'"$placeholder_hash"'^'"$artifact_hash"'^g' "$rd_manifest"
}
# Process the task list # Process the task list
while IFS="^" read -r action placeholder url branch || [[ -n "$action" ]]; do while IFS="^" read -r action placeholder url branch artifact_name || [[ -n "$action" ]]; do
if [[ ! "$action" == "#"* ]] && [[ -n "$action" ]]; then if [[ ! "$action" == "#"* ]] && [[ -n "$action" ]]; then
case "$action" in case "$action" in
"branch" ) handle_branch "$placeholder" ;; "branch" ) handle_branch "$placeholder" ;;
@ -203,6 +250,7 @@ while IFS="^" read -r action placeholder url branch || [[ -n "$action" ]]; do
"custom_command" ) handle_custom_command "$url" ;; "custom_command" ) handle_custom_command "$url" ;;
"url" ) handle_url "$placeholder" "$url" ;; "url" ) handle_url "$placeholder" "$url" ;;
"THISREPO" ) handle_thisrepo "$placeholder" ;; "THISREPO" ) handle_thisrepo "$placeholder" ;;
"latestghaartifact" ) handle_latestghaartifact "$placeholder" "$branch" "$url" "$artifact_name" ;;
esac esac
fi fi
done < "$automation_task_list" done < "$automation_task_list"

View file

@ -632,6 +632,9 @@
"ps3": { "ps3": {
"name": "Sony PlayStation 3" "name": "Sony PlayStation 3"
}, },
"ps4": {
"name": "Sony PlayStation 4"
},
"psp": { "psp": {
"name": "Sony PlayStation Portable" "name": "Sony PlayStation Portable"
}, },
@ -776,6 +779,9 @@
"x68000": { "x68000": {
"name": "Sharp X68000" "name": "Sharp X68000"
}, },
"xbox360": {
"name": "Microsoft Xbox 360"
},
"xbox": { "xbox": {
"name": "Microsoft Xbox" "name": "Microsoft Xbox"
}, },
@ -1068,6 +1074,12 @@
"ponzu": true, "ponzu": true,
"abxy_button": true "abxy_button": true
}, },
"shadps4": {
"description": "PS4 Emulator for Linux",
"name": "shadps4",
"system": "ps4",
"launch": "shadps4-qt"
},
"dolphin": { "dolphin": {
"name": "Dolphin", "name": "Dolphin",
"description": "Dolphin Wii and GameCube Emulator", "description": "Dolphin Wii and GameCube Emulator",
@ -1128,12 +1140,23 @@
"url": "https://retrodeck.readthedocs.io/en/latest/wiki_es_de/esde-guide/.", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_es_de/esde-guide/.",
"launch": "es-de" "launch": "es-de"
}, },
"steam-rom-manager": {
"description": "Steam ROM Manager (used to sync RetroDECK favorites with Steam)",
"name": "Steam ROM Manager",
"launch": "steam-rom-manager"
},
"portmaster": { "portmaster": {
"description": "PortMaster", "description": "PortMaster",
"name": "PortMaster", "name": "PortMaster",
"url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/",
"system": "portmaster", "system": "portmaster",
"launch": "PortMaster" "launch": "PortMaster"
},
"xenia": {
"description": "Xenia Canary Xbox360 Emulator",
"name": "Xenia Canary",
"system": "xbox360",
"launch": "xenia-canary"
} }
} }
} }

View file

@ -31,6 +31,7 @@ default_user=
developer_options=false developer_options=false
kiroi_ponzu=false kiroi_ponzu=false
akai_ponzu=false akai_ponzu=false
steam_sync=false
sound_effects=true sound_effects=true
volume_effects=10 volume_effects=10
font=1 font=1

View file

@ -0,0 +1,111 @@
[
{
"parserType": "Glob",
"configTitle": "RetroDECK",
"steamDirectory": "${steamdirglobal}",
"steamCategory": "RetroDECK",
"romDirectory": "${romsdirglobal}",
"executableArgs": "",
"executableModifier": "\"${exePath}\"",
"startInDirectory": "",
"titleModifier": "${fuzzyTitle}",
"imageProviders": [
"SteamGridDB"
],
"onlineImageQueries": "${${fuzzyTitle}}",
"imagePool": "${fuzzyTitle}",
"userAccounts": {
"specifiedAccounts": ""
},
"executable": {
"path": "",
"shortcutPassthrough": false,
"appendArgsToExecutable": true
},
"parserInputs": {
"glob": "${title}.sh"
},
"titleFromVariable": {
"limitToGroups": "",
"caseInsensitiveVariables": false,
"skipFileIfVariableWasNotFound": false,
"tryToMatchTitle": false
},
"fuzzyMatch": {
"replaceDiacritics": true,
"removeCharacters": true,
"removeBrackets": true
},
"controllers": {
"ps4": {
"title": "RetroDECK Controller",
"mappingId": "RetroDECK_controller_ps4.vdf",
"profileType": "template"
},
"ps5": {
"title": "RetroDECK Controller",
"mappingId": "RetroDECK_controller_ps5.vdf",
"profileType": "template"
},
"xbox360": {
"title": "RetroDECK Controller",
"mappingId": "RetroDECK_controller_xbox360_simple.vdf",
"profileType": "template"
},
"xboxone": {
"title": "RetroDECK Controller",
"mappingId": "RetroDECK_controller_xboxone_simple.vdf",
"profileType": "template"
},
"switch_joycon_left": {
"title": "Controller",
"mappingId": "controller_switch_joycon_left_gamepad_joystick.vdf",
"profileType": "template"
},
"switch_joycon_right": {
"title": "Controller",
"mappingId": "controller_switch_joycon_right_gamepad_joystick.vdf",
"profileType": "template"
},
"switch_pro": {
"title": "RetroDECK Controller",
"mappingId": "RetroDECK_controller_switchpro.vdf",
"profileType": "template"
},
"neptune": {
"title": "RetroDECK Controller",
"mappingId": "RetroDECK_controller_steamdeck_neptune_full.vdf",
"profileType": "template"
}
},
"imageProviderAPIs": {
"SteamGridDB": {
"nsfw": false,
"humor": false,
"styles": [],
"stylesHero": [],
"stylesLogo": [],
"stylesIcon": [],
"imageMotionTypes": [
"static"
]
}
},
"defaultImage": {
"tall": null,
"long": null,
"hero": null,
"logo": null,
"icon": null
},
"localImages": {
"tall": null,
"long": null,
"hero": null,
"logo": null,
"icon": null
},
"parserId": "1725539138664815",
"version": 15
}
]

View file

@ -0,0 +1,30 @@
{
"fuzzyMatcher": {
"verbose": false,
"filterProviders": true
},
"environmentVariables": {
"steamDirectory": "",
"userAccounts": "${steamlogin}",
"romsDirectory": "",
"retroarchPath": "",
"raCoresDirectory": "",
"localImagesDirectory": ""
},
"previewSettings": {
"retrieveCurrentSteamImages": true,
"deleteDisabledShortcuts": false,
"imageZoomPercentage": 30,
"preload": false
},
"enabledProviders": [
"SteamGridDB"
],
"batchDownloadSize": 50,
"language": "en-US",
"theme": "Deck",
"offlineMode": false,
"navigationWidth": 0,
"clearLogOnTest": false,
"version": 6
}

View file

@ -4,8 +4,9 @@
branches=( branches=(
"cooker" "cooker"
"feat/shadps4" "feat/shadps4"
"feat/PortMaster"
"feat/steam-rom-manager" "feat/steam-rom-manager"
"feat/godot"
"feat/xenia"
) )
# Get the current branch name # Get the current branch name

View file

@ -5,31 +5,12 @@
# This script is used to inject framework and config files inside a RetroDECK cooker installation # This script is used to inject framework and config files inside a RetroDECK cooker installation
# To apply the injected config you have to reset the targeted component from the Configurator # To apply the injected config you have to reset the targeted component from the Configurator
# Please know what you're doing, if you need to undo this you need to completely uninstall and reinstall RetroDECK flatpak # Please know what you're doing, if you need to undo this you need to completely uninstall and reinstall RetroDECK flatpak
# Please note that this may create a dirty situation where older files are still in place as the action is add and overwrite # Please not that this may create a dirty situation where older files are still in place as the action is add and overwrite
flatpak_user_installation="$HOME/.local/share/flatpak/app/net.retrodeck.retrodeck/current/active/files" flatpak_user_installation="$HOME/.local/share/flatpak/app/net.retrodeck.retrodeck/current/active/files"
flatpak_system_installation="/var/lib/flatpak/app/net.retrodeck.retrodeck/current/active/files" flatpak_system_installation="/var/lib/flatpak/app/net.retrodeck.retrodeck/current/active/files"
force_user=false
force_system=false
# Parse arguments if [ -d "$flatpak_user_installation" ]; then
while [[ "$#" -gt 0 ]]; do
case $1 in
--force-user) force_user=true ;;
--force-system) force_system=true ;;
*) echo "Unknown parameter: $1"; exit 1 ;;
esac
shift
done
# Determine installation path
if [ "$force_user" = true ]; then
echo "Forcing user mode installation."
app="$flatpak_user_installation"
elif [ "$force_system" = true ]; then
echo "Forcing system mode installation."
app="$flatpak_system_installation"
elif [ -d "$flatpak_user_installation" ]; then
echo "RetroDECK is installed in user mode, proceeding." echo "RetroDECK is installed in user mode, proceeding."
app="$flatpak_user_installation" app="$flatpak_user_installation"
elif [ -d "$flatpak_system_installation" ]; then elif [ -d "$flatpak_system_installation" ]; then
@ -40,7 +21,6 @@ else
exit 1 exit 1
fi fi
# Copying files to the installation
sudo cp -vfr "res/binding_icons" "$app/retrodeck/binding_icons" sudo cp -vfr "res/binding_icons" "$app/retrodeck/binding_icons"
sudo cp -vfr "config/"** "$app/retrodeck/config/" sudo cp -vfr "config/"** "$app/retrodeck/config/"
sudo cp -vfr "tools" "$app" sudo cp -vfr "tools" "$app"

View file

@ -132,9 +132,8 @@ elif [[ "$new_version_major_rev" -eq "$current_version_major_rev" ]]; then
fi fi
fi fi
# Perform post_update commands for current version if it is a cooker or PR # Perform post_update commands for current version if it is a cooker
if grep -qF "cooker" <<< "$hard_version" || grep -qF "PR" <<< "$hard_version"; then if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build, always perform post_update commands for current version
# If newly-installed version is a "cooker" or "PR" build, always perform post_update commands for current version
if [[ "$(echo $hard_version | cut -d'-' -f2)" == "$new_version" ]]; then if [[ "$(echo $hard_version | cut -d'-' -f2)" == "$new_version" ]]; then
is_newer_version="true" is_newer_version="true"
fi fi

View file

@ -913,8 +913,25 @@ release_selector() {
quit_retrodeck() { quit_retrodeck() {
log i "Quitting ES-DE" log i "Quitting ES-DE"
pkill -f "es-de" pkill -f "es-de"
# if steam sync is on do the magic
if [[ $steam_sync == "true" ]]; then
(
source /app/libexec/steam_sync.sh
add_to_steam "$(ls "$rdhome/ES-DE/gamelists/")"
) |
zenity --progress \
--title="Syncing with Steam" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--text="Syncing favorite games with Steam, please wait." \
--percentage=25 \
--pulsate \
--auto-close \
--auto-kill
fi
log i "Shutting down RetroDECK's framework" log i "Shutting down RetroDECK's framework"
pkill -f "retrodeck" pkill -f "retrodeck"
log i "See you next time" log i "See you next time"
} }
@ -923,4 +940,4 @@ start_retrodeck() {
ponzu ponzu
log i "Starting RetroDECK v$version" log i "Starting RetroDECK v$version"
es-de es-de
} }

View file

@ -433,10 +433,12 @@ post_update() {
# Placeholder for version 0.9.0b # Placeholder for version 0.9.0b
set_setting_value "$raconf" "libretro_info_path" "/var/config/retroarch/cores" "retroarch" set_setting_value "$raconf" "libretro_info_path" "/var/config/retroarch/cores" "retroarch"
prepare_component "reset" "shadps4"
# TODO: Configurator dialog: Hey, we need to reset ES-DE! (because again ES-DE folders, new theme and such) # TODO: Configurator dialog: Hey, we need to reset ES-DE! (because again ES-DE folders, new theme and such)
prepare_component "reset" "es-de" prepare_component "reset" "es-de"
prepare_component "reset" "portmaster" prepare_component "reset" "portmaster"
prepare_component "reset" "ruffle" prepare_component "reset" "ruffle"
prepare_component "reset" "steam-rom-manager"
update_rd_conf update_rd_conf
# TODO: check this # TODO: check this

View file

@ -80,6 +80,22 @@ prepare_component() {
fi fi
fi fi
if [[ "$component" =~ ^(steam-rom-manager|all)$ ]]; then
component_found="true"
log i "-----------------------------"
log i "Prepearing Steam ROM Manager"
log i "-----------------------------"
local srm_userdata="/var/config/steam-rom-manager/userData"
create_dir -d "/var/config/steam-rom-manager"
create_dir -d "$srm_userdata"
cp -fv "$config/steam-rom-manager/"*.json $srm_userdata
log i "Updating steamDirectory and romDirectory lines in $srm_userdata/userSettings.json"
jq '.environmentVariables.steamDirectory = "'$HOME'/.steam/steam"' "$srm_userdata/userSettings.json" > "$srm_userdata/tmp.json" && mv -f "$srm_userdata/tmp.json" "$srm_userdata/userSettings.json"
jq '.environmentVariables.romsDirectory = "'$rdhome'/.sync"' "$srm_userdata/userSettings.json" > "$srm_userdata/tmp.json" && mv -f "$srm_userdata/tmp.json" "$srm_userdata/userSettings.json"
fi
if [[ "$component" =~ ^(retroarch|all)$ ]]; then if [[ "$component" =~ ^(retroarch|all)$ ]]; then
component_found="true" component_found="true"
log i "--------------------------------" log i "--------------------------------"
@ -857,6 +873,16 @@ prepare_component() {
sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON
fi fi
if [[ "$component" =~ ^(shadps4|all)$ ]]; then
component_found="true"
# This is just a placeholder script to test the emulator's flow
log i "----------------------"
log i "Prepearing SHADPS4"
log i "----------------------"
# TODO: plceholder
fi
if [[ "$component" =~ ^(portmaster|all)$ ]]; then if [[ "$component" =~ ^(portmaster|all)$ ]]; then
component_found="true" component_found="true"
# TODO: MultiUser # TODO: MultiUser
@ -887,6 +913,37 @@ prepare_component() {
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$saves_folder/flash" "/var/data/ruffle/SharedObjects/localhost/$roms_folder/flash" dir_prep "$saves_folder/flash" "/var/data/ruffle/SharedObjects/localhost/$roms_folder/flash"
fi fi
fi
if [[ "$component" =~ ^(gzdoom|all)$ ]]; then
component_found="true"
# This is just a placeholder script to test the emulator's flow
log i "----------------------"
log i "Prepearing SHADPS4"
log i "----------------------"
# TODO: plceholder
fi
if [[ "$component" =~ ^(xenia|all)$ ]]; then
component_found="true"
log i "----------------------"
log i "Prepearing Xenia"
log i "----------------------"
local xenia_prefix="/var/data/xenia-canary-pfx"
create_dir -d "$xenia_prefix"
# sandboxing prefix to avoid writing on real user home folder
# TODO: multi user needs to care about this as we're using the linux username
unlink "$xenia_prefix/drive_c/users/$(whoami)/Desktop" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Desktop"
unlink "$xenia_prefix/drive_c/users/$(whoami)/Documents" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Documents"
unlink "$xenia_prefix/drive_c/users/$(whoami)/Downloads" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Downloads"
unlink "$xenia_prefix/drive_c/users/$(whoami)/Music" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Music"
unlink "$xenia_prefix/drive_c/users/$(whoami)/Pictures" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Pictures"
unlink "$xenia_prefix/drive_c/users/$(whoami)/Videos" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Videos"
# TODO: fill this
fi fi

View file

@ -0,0 +1,404 @@
"""Sync RetroDECK favorites games with steam shortcuts"""
import binascii
import os
import re
import shlex
import shutil
import glob
import sys
import time
import hashlib
import xml.etree.ElementTree as ET
from resetsync import resetfun
command_list_default={
"3do": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/opera_libretro.so",
"amiga": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so",
"amiga1200": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so",
"amiga600": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so",
"amigacd32": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so",
"amstradcpc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cap32_libretro.so",
"arcade": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"arduboy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/arduous_libretro.so",
"astrocde": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"atari2600": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/stella_libretro.so",
"atari5200": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/a5200_libretro.so",
"atari7800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/prosystem_libretro.so",
"atari800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so",
"atarijaguar": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/virtualjaguar_libretro.so",
"atarijaguarcd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/virtualjaguar_libretro.so",
"atarilynx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/handy_libretro.so",
"atarist": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/hatari_libretro.so",
"atarixe": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so",
"atomiswave": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so",
"c64": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x64sc_libretro.so",
"cavestory": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/nxengine_libretro.so",
"cdimono1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/same_cdi_libretro.so",
"cdtv": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so",
"chailove": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/chailove_libretro.so",
"channelf": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/freechaf_libretro.so",
"colecovision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so",
"cps": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"cps1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"cps2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"cps3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"doom": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/prboom_libretro.so",
"dos": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_pure_libretro.so",
"dreamcast": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so",
"easyrpg": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/easyrpg_libretro.so",
"famicom": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so",
"flash": "TODO: I have to catch how it works", #TODO
"fba": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_libretro.so",
"fbneo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbneo_libretro.so",
"fds": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so",
"gameandwatch": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gw_libretro.so",
"gamegear": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"gb": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gambatte_libretro.so",
"gba": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mgba_libretro.so",
"gbc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gambatte_libretro.so",
"genesis": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"gx4000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cap32_libretro.so",
"intellivision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/freeintv_libretro.so",
"j2me": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/squirreljme_libretro.so",
"lcdgames": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gw_libretro.so",
"lutro": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/lutro_libretro.so",
"mame": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"mastersystem": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"megacd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"megacdjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"megadrive": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"megaduck": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/sameduck_libretro.so",
"mess": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mess2015_libretro.so",
"model2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"moto": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/theodore_libretro.so",
"msx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so",
"msx1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so",
"msx2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so",
"msxturbor": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so",
"multivision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearsystem_libretro.so",
"n64": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mupen64plus_next_libretro.so",
"n64dd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/parallel_n64_libretro.so",
"naomi": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so",
"naomigd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so",
"nds": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/desmume_libretro.so",
"neogeo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbneo_libretro.so",
"neogeocd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/neocd_libretro.so",
"neogeocdjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/neocd_libretro.so",
"nes": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so",
"ngp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_ngp_libretro.so",
"ngpc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_ngp_libretro.so",
"odyssey2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/o2em_libretro.so",
"palm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mu_libretro.so",
"pc88": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/quasi88_libretro.so",
"pc98": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/np2kai_libretro.so",
"pcengine": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so",
"pcenginecd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so",
"pcfx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pcfx_libretro.so",
"pokemini": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pokemini_libretro.so",
"psx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/swanstation_libretro.so",
"quake": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tyrquake_libretro.so",
"satellaview": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so",
"saturn": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_saturn_libretro.so",
"saturnjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_saturn_libretro.so",
"scummvm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/scummvm_libretro.so",
"sega32x": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so",
"sega32xjp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so",
"sega32xna": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so",
"segacd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"sfc": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so",
"sg-1000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"sgb": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen-s_libretro.so",
"snes": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so",
"snesna": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so",
"spectravideo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so",
"sufami": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so",
"supergrafx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_supergrafx_libretro.so",
"supervision": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/potator_libretro.so",
"tg16": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so",
"tg-cd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so",
"tic80": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tic80_libretro.so",
"to8": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/theodore_libretro.so",
"uzebox": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/uzem_libretro.so",
"vectrex": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vecx_libretro.so",
"vic20": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_xvic_libretro.so",
"videopac": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/o2em_libretro.so",
"virtualboy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_vb_libretro.so",
"wasm4": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/wasm4_libretro.so",
"wonderswan": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_wswan_libretro.so",
"wonderswancolor": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_wswan_libretro.so",
"x1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/x1_libretro.so",
"x68000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/px68k_libretro.so",
"zx81": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/81_libretro.so",
"zxspectrum": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fuse_libretro.so",
"switch": "flatpak run --command=/var/data/ponzu/Yuzu/bin/yuzu net.retrodeck.retrodeck -f -g",
"n3ds": "flatpak run --command=/var/data/ponzu/Citra/bin/citra-qt net.retrodeck.retrodeck",
"ps2": "flatpak run --command=pcsx2-qt net.retrodeck.retrodeck -batch",
"wiiu": "flatpak run --command=Cemu-wrapper net.retrodeck.retrodeck -g",
"gc": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e",
"wii": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e",
"xbox": "flatpak run --command=xemu net.retrodeck.retrodeck -dvd_path",
"ps3": "flatpak run --command=pcsx3 net.retrodeck.retrodeck --no-gui",
"psp": "flatpak run --command=PPSSPPSDL net.retrodeck.retrodeck",
"pico8": "flatpak run --command=pico8 net.retrodeck.retrodeck -desktop_path ~/retrodeck/screenshots -root_path {GAMEDIR} -run"
}
alt_command_list={
"PUAE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae_libretro.so",
"Caprice32": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cap32_libretro.so",
"MAME - CURRENT": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"Stella": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/stella_libretro.so",
"a5200": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/a5200_libretro.so",
"Atari800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so",
"Handy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/handy_libretro.so",
"VICE x64sc Accurate": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x64sc_libretro.so",
"SAME CDi": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/same_cdi_libretro.so",
"blueMSX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bluemsx_libretro.so",
"MAME - CURRENT": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame_libretro.so",
"PrBoom": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/prboom_libretro.so",
"DOSBox-Pure": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_pure_libretro.so",
"Mesen": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen_libretro.so",
"Genesis Plus GX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_libretro.so",
"Gamebatte": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gambatte_libretro.so",
"mGBA": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mgba_libretro.so",
"ParaLLEI N64": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/parallel_n64_libretro.so",
"DeSmuME": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/desmume_libretro.so",
"NeoCD": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/neocd_libretro.so",
"Beetle NeoPop": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_ngp_libretro.so",
"Neko Project II Kai": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/np2kai_libretro.so",
"Beetle PCE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so",
"Swanstation": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/swanstation_libretro.so",
"TyrQuake": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tyrquake_libretro.so",
"Beetle Saturn": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_saturn_libretro.so",
"Snes 9x - Current": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x_libretro.so",
"Beetle SuperGrafx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_supergrafx_libretro.so",
"Yuzu (Standalone)": "flatpak run --command=yuzu net.retrodeck.retrodeck -f -g",
"Citra (Standalone)": "flatpak run --command=citra net.retrodeck.retrodeck",
"PCSX2 (Standalone)": "flatpak run --command=pcsx2-qt net.retrodeck.retrodeck -batch",
"Dolphin (Standalone)": "flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -b -e",
"RPCS3 Directory (Standalone)": "flatpak run --command=pcsx3 net.retrodeck.retrodeck --no-gui",
"PPSSPP (Standalone)": "flatpak run --command=PPSSPPSDL net.retrodeck.retrodeck",
"PICO-8 (Standalone)": "flatpak run --command=pico8 net.retrodeck.retrodeck -desktop_path ~/retrodeck/screenshots -root_path {GAMEDIR} -run",
"PUAE 2021": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/puae2021_libretro.so",
"CrocoDS": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/crocods_libretro.so",
"CPCemu (Standalone)": "NYI", #NYI
"MAME 2010": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame2010_libretro.so",
"MAME 2003-Plus": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame2003_plus_libretro.so",
"MAME 2000": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mame2000_libretro.so",
"MAME (Standalone)": "NYI", #NYI
"FinalBurn Neo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbneo_libretro.so",
"FinalBurn Neo (Standalone)": "NYI", #NYI
"FB Alpha 2012": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_libretro.so",
"Flycast": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/flycast_libretro.so",
"Flycast (Standalone)": "NYI", #NYI
"Kronos": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/kronos_libretro.so",
"Supermodel (Standalone)": "NYI", #NYI
"Supermodel [Fullscreen] (Standalone)": "NYI", #NYI
"Shortcut or script": "TODO: I have to catch how it works", #TODO
"Atari800 (Standalone)": "NYI", #NYI
"Stella 2014": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/stella2014_libretro.so",
"Atari800": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/atari800_libretro.so",
"Beetle Lynx": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_lynx_libretro.so",
"VICE x64 Fast": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x64_libretro.so",
"VICE x64 SuperCPU": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_xscpu64_libretro.so",
"VICE x128": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vice_x128_libretro.so",
"Frodo": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/frodo_libretro.so",
"CDi 2015": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/cdi2015_libretro.so",
"Gearcoleco": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearcoleco_libretro.so",
"FB Alpha 2012 CPS-1": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_cps1_libretro.so",
"FB Alpha 2012 CPS-2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_cps2_libretro.so",
"FB Alpha 2012 CPS-3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fbalpha2012_cps3_libretro.so",
"Boom 3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/boom3_libretro.so",
"Boom 3 xp": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/boom3_libretro_xp.so",
"DOSBox-Core": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_core_libretro.so",
"DOSBox-SVN": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dosbox_svn_libretro.so",
"Keep ES-DE running": "TODO: I have to catch how it works", #TODO
"AppImage (Suspend ES-DE)": "TODO: I have to catch how it works", #TODO
"AppImage (Keep ES-DE running)": "TODO: I have to catch how it works", #TODO
"Nestopia UE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/nestopia_libretro.so",
"FCEUmm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fceumm_libretro.so",
"QuickNES": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/quicknes_libretro.so",
"Genesis Plus GX Wide": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/genesis_plus_gx_wide_libretro.so",
"Gearsystem": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearsystem_libretro.so",
"SMS Plus GX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/smsplus_libretro.so",
"SameBoy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/sameboy_libretro.so",
"Gearboy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gearboy_libretro.so",
"TGB Dual": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/tgbdual_libretro.so",
"Mesen-S": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mesen-s_libretro.so",
"VBA-M": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vbam_libretro.so",
"bsnes": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bsnes_libretro.so",
"mGBA": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mgba_libretro.so",
"VBA Next": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vba_next_libretro.so",
"gpSP": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/gpsp_libretro.so",
"Dolphin": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/dolphin_libretro.so",
"PrimeHack (Standalone)": "flatpak run --command=primehack-wrapper net.retrodeck.retrodeck -b -e",
"PicoDrive": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/picodrive_libretro.so",
"BlastEm": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/blastem_libretro.so",
"CrocoDS": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/crocods_libretro.so",
"fMSX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/fmsx_libretro.so",
"Citra": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/citra_libretro.so",
"Citra 2018": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/citra2018_libretro.so",
"Mupen64Plus-Next": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mupen64plus_next_libretro.so",
"DeSmuME 2015": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/desmume2015_libretro.so",
"melonDS": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/melonds_libretro.so",
"melonDS (Standalone)": "flatpak run --command=melonDS net.retrodeck.retrodeck",
"FinalBurn Neo neogeocd": "flatpak run --command=retroarch net.retrodeck.retrodeck --subsystem neocd -L /var/config/retroarch/cores/fbneo_libretro.so",
"RACE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/race_libretro.so",
"Neko Project II": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/nekop2_libretro.so",
"Beetle PCE FAST": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_fast_libretro.so",
"PICO-8 Splore (Standalone)": "flatpak run --command=pico8 net.retrodeck.retrodeck -desktop_path ~/retrodeck/screenshots -root_path {GAMEDIR} -splore",
"AppImage": "TODO: I have to catch how it works", #TODO
"LRPS2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pcsx2_libretro.so",
"PCSX2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pcsx2_libretro.so",
"RPCS3 Shortcut (Standalone)": "TODO: I have to catch how it works", #TODO
"PPSSPP": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/ppsspp_libretro.so",
"Beetle PSX": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_psx_libretro.so",
"Beetle PSX HW": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_psx_hw_libretro.so",
"PCSX ReARMed": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/pcsx_rearmed_libretro.so",
"DuckStation (Standalone)": "flatpak run --command=duckstation-qt net.retrodeck.retrodeck -batch",
"vitaQuake 2": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2_libretro.so",
"vitaQuake 2 [Rogue]": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2-rogue_libretro.so",
"vitaQuake 2 [Xatrix]": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2-xatrix_libretro.so",
"vitaQuake 2 [Zaero]": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake2-zaero_libretro.so",
"vitaQuake 3": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/vitaquake3_libretro.so",
"YabaSanshiro": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/yabasanshiro_libretro.so",
"Yabause": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/yabause_libretro.so",
"Snes9x 2010": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/snes9x2010_libretro.so",
"bsnes-hd": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bsnes_hd_beta_libretro.so",
"bsnes-mercury Accuracy": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/bsnes_mercury_accuracy_libretro.so",
"Beetle Supafaust": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_supafaust_libretro.so",
"Beetle PCE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so"
}
exit_file="/tmp/retrodeck_steam_sync_exit"
rdhome=""
roms_folder=""
def create_shortcut_new_new(games):
ignore_game=rdhome+"/.sync/IGNORE.sh"
old_games=os.listdir(rdhome+"/.sync/").copy()
for game in games:
try:
i=old_games.index(game[0]+".sh")
old_games[i]=0
except ValueError:
print(game[0]+" is a new game!")
path=rdhome+"/.sync/"+game[0]+".sh"
print("Go to path: "+path)
fl=open(path,"w")
fl.write("#!/bin/bash\n\n")
fl.write('if test "$(whereis flatpak)" = "flatpak:"\n')
fl.write("then\n")
fl.write("flatpak-spawn --host "+game[1]+"\n")
fl.write("else\n")
fl.write(game[1]+"\n")
fl.write("fi\n")
fl.close()
st=os.stat(path)
os.chmod(path, st.st_mode | 0o0111)
print("Start removing")
print(old_games)
for game in old_games:
if game:
os.remove(rdhome+"/.sync/"+game)
dir=os.listdir(rdhome+"/.sync/")
if len(dir)==0:
print("No game found, removing all")
fl=open(ignore_game,"w")
fl.close()
os.system("/app/bin/zypak-wrapper /app/srm/steam-rom-manager remove")
os.remove(ignore_game)
else:
print("Adding the games")
os.system("/app/bin/zypak-wrapper /app/srm/steam-rom-manager add")
def addToSteam(systems):
games=[]
for system in systems:
print("Start parsing system: {}".format(system))
f=open(rdhome+"/ES-DE/gamelists/"+system+"/gamelist.xml","r")
f.readline()
parser=ET.XMLParser()
parser.feed(b'<root>')
parser.feed(f.read())
parser.feed(b'</root>')
root=parser.close()
f.close()
globalAltEmu=""
for subroot in root:
if subroot.tag=="alternativeEmulator":
for alt in subroot:
globalAltEmu=alt.text
else:
for game in subroot:
path=""
name=""
favorite=""
altemulator=globalAltEmu
for tag in game:
if tag.tag=="path":
path=tag.text
elif tag.tag=="name":
name=tag.text
elif tag.tag=="favorite":
favorite=tag.text
elif tag.tag=="altemulator":
altemulator=tag.text
if favorite=="true" and altemulator=="":
print("Find favorite game: {}".format(name))
games.append([name,command_list_default[system]+" '"+roms_folder+"/"+system+path[1:]+"'"])
elif favorite=="true":
print("Find favorite game with alternative emulator: {}, {}".format(name,altemulator))
if ("neogeocd" in system) and altemulator=="FinalBurn Neo":
games.append([name,alt_command_list[altemulator+" neogeocd"]+" '"+roms_folder+"/"+system+path[1:]+"'"])
print(alt_command_list[altemulator+" neogeocd"]+" '"+roms_folder+"/"+system+path[1:]+"'")
elif system=="pico8" and altemulator=="PICO-8 Splore (Standalone)":
games.append([name,alt_command_list[altemulator]])
print(alt_command_list[altemulator])
else:
games.append([name,alt_command_list[altemulator]+" '"+roms_folder+"/"+system+path[1:]+"'"])
print(alt_command_list[altemulator]+" '"+roms_folder+"/"+system+path[1:]+"'")
create_shortcut_new_new(games)
def start_config():
global rdhome
global roms_folder
global command_list_default
global alt_command_list
print("Open RetroDECK config file: {}".format(os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/retrodeck/retrodeck.cfg")))
fl=open(os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/retrodeck/retrodeck.cfg"),"r")
lines=fl.readlines()
for line in lines:
if "rdhome" in line:
rdhome=line[7:-1]
elif "roms_folder" in line:
roms_folder=line[12:-1]
fl.close()
command_list_default["pico8"]=command_list_default["pico8"].replace("{GAMEDIR}",roms_folder+"/pico8")
alt_command_list["PICO-8 Splore (Standalone)"]=alt_command_list["PICO-8 Splore (Standalone)"].replace("{GAMEDIR}",roms_folder+"/pico8")
srm_path=os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/steam-rom-manager/userData/userConfigurations.json")
if not os.path.isfile(srm_path):
print("Steam ROM Manager configuration not initialized! Initializing now.")
resetfun(rdhome)
if not os.path.exists(rdhome+"/.sync/"):
os.makedirs(rdhome+"/.sync/")
if __name__=="__main__":
start_config()
addToSteam(os.listdir(rdhome+"/ES-DE/gamelists/"))
print("Finished!")

147
functions/steam_sync.sh Normal file
View file

@ -0,0 +1,147 @@
#!/bin/bash
# Add games to Steam function
add_to_steam() {
log "i" "Starting Steam Sync"
steamsync_folder="$rdhome/.sync"
steamsync_folder_tmp="$rdhome/.sync-tmp"
create_dir $steamsync_folder
mv $steamsync_folder $steamsync_folder_tmp
create_dir $steamsync_folder
local srm_path="/var/config/steam-rom-manager/userData/userConfigurations.json"
if [ ! -f "$srm_path" ]; then
log "e" "Steam ROM Manager configuration not initialized! Initializing now."
prepare_component "reset" "steam-rom-manager"
fi
# Build the systems array from space-separated systems
local systems_string=$(jq -r '.system | keys[]' "$features" | paste -sd' ')
IFS=' ' read -r -a systems <<< "$systems_string" # TODO: do we need this line?
local games=()
for system in "${systems[@]}"; do
local gamelist="$rdhome/ES-DE/gamelists/$system/gamelist.xml"
if [ -f "$gamelist" ]; then
# Extract all <game> elements that are marked as favorite="true"
game_blocks=$(xmllint --recover --xpath '//game[favorite="true"]' "$gamelist" 2>/dev/null)
log d "Extracted favorite game blocks:\n\n$game_blocks\n\n"
# Split the game_blocks into an array, where each element is a full <game> block
IFS=$'\n' read -r -d '' -a game_array <<< "$(echo "$game_blocks" | xmllint --recover --format - | sed -n '/<game>/,/<\/game>/p' | tr '\n' ' ')"
# Iterate over each full <game> block in the array
for game_block in "${game_array[@]}"; do
log "d" "Processing game block:\n$game_block"
# Extract the game's name and path from the full game block
local name=$(echo "$game_block" | xmllint --xpath 'string(//game/name)' - 2>/dev/null)
local path=$(echo "$game_block" | xmllint --xpath 'string(//game/path)' - 2>/dev/null | sed 's|^\./||') # removing the ./
log "d" "Game name: $name"
log "d" "Game path: $path"
# Ensure the extracted name and path are valid
if [ -n "$name" ] && [ -n "$path" ]; then
# Check for an alternative emulator if it exists
# local emulator=$(echo "$game_block" | xmllint --xpath 'string(//game/altemulator)' - 2>/dev/null)
# if [ -z "$emulator" ]; then
# games+=("$name ${command_list_default[$system]} '$roms_folder/$system/$path'")
# else
# games+=("$name ${alt_command_list[$emulator]} '$roms_folder/$system/$path'")
# fi
log "d" "Steam Sync: found favorite game: $name"
else
log "w" "Steam Sync: failed to find valid name or path for favorite game"
fi
# Sanitize the game name for the filename: replace special characters with underscores
local sanitized_name=$(echo "$name" | sed -e 's/^A-Za-z0-9._-/ /g')
local sanitized_name=$(echo "$sanitized_name" | sed -e 's/:/ -/g')
local sanitized_name=$(echo "$sanitized_name" | sed -e 's/&/and/g')
local sanitized_name=$(echo "$sanitized_name" | sed -e 's%/%and%g')
local sanitized_name=$(echo "$sanitized_name" | sed -e 's/ / - /g')
local sanitized_name=$(echo "$sanitized_name" | sed -e 's/ / /g')
log d "File Path: $path"
log d "Game Name: $name"
# If the filename is too long, shorten it
if [ ${#sanitized_name} -gt 100 ]; then
sanitized_name=$(echo "$sanitized_name" | cut -c 1-100)
fi
log d "Sanitized Name: $sanitized_name"
local launcher="$steamsync_folder/${sanitized_name}.sh"
local launcher_tmp="$steamsync_folder_tmp/${sanitized_name}.sh"
if [ ! -e "$launcher_tmp" ]; then
log d "Creating desktop file: $launcher"
# if [[ -v command_list_default[$system] ]]; then
# command="${command_list_default[$system]}"
# else
# log e "$system is not included in the commands array."
# continue
# fi
# Populate the .sync script with the correct command
# TODO: if there is any emulator defined in the xml we use that, else... how we can know which is the default one?
# TODO: if steam is flatpak the command wrapping will change in .desktop
local command="flatpak run net.retrodeck.retrodeck start '$roms_folder/$system/$path'"
# Create the launcher file using a heredoc - if you enable .desktp this remember to edit .desktop in SRM userConfigurations.json and the above launcher variable (and vice versa)
# cat <<EOF > "$launcher"
# [Desktop Entry]
# Version=1.0
# Name=$name
# Comment=$name via RetroDECK
# Exec=$command
# Icon=net.retrodeck.retrodeck
# Terminal=false
# Type=Application
# Categories=Game;Emulator;
# EOF
cat <<EOF > "$launcher"
#!/bin/bash
if [ test "\$(whereis flatpak)" = "flatpak:" ]; then
flatpak-spawn --host $command
else
$command
fi
EOF
else
log d "$launcher desktop file already exists"
mv "$launcher_tmp" "$launcher"
fi
done
fi
done
rm -r $steamsync_folder_tmp
if [ -z "$( ls -A $steamsync_folder )" ]; then
log d "No games found, cleaning shortcut"
remove_from_steam
else
log d "Updating game list"
#steam-rom-manager add
fi
log i "Steam Sync: completed"
}
remove_from_steam() {
log d "Creating fake game"
cat "" > "$steamsync_folder/CUL0.sh"
log d "Cleaning the shortcut"
steam-rom-manager remove
log d "Removing fake game"
rm "$steamsync_folder/CUL0.sh"
}

View file

@ -2,8 +2,25 @@ app-id: net.retrodeck.retrodeck
runtime: org.kde.Platform runtime: org.kde.Platform
runtime-version: "6.7" runtime-version: "6.7"
sdk: org.kde.Sdk sdk: org.kde.Sdk
base: org.electronjs.Electron2.BaseApp # Needed for Steam ROM Manager
base-version: "22.08"
sdk-extensions:
- org.freedesktop.Sdk.Extension.llvm18 # Needed for RPCS3
command: retrodeck.sh command: retrodeck.sh
base: org.winehq.Wine
base-version: stable-23.08
inherit-extensions:
- org.freedesktop.Platform.Compat.i386
- org.freedesktop.Platform.ffmpeg_full.i386
- org.freedesktop.Platform.ffmpeg-full
- org.freedesktop.Platform.GL32
- org.freedesktop.Platform.VAAPI.Intel.i386
- org.winehq.Wine.DLLs
- org.winehq.Wine.gecko
- org.winehq.Wine.mono
finish-args: finish-args:
- --socket=wayland - --socket=wayland
- --socket=x11 - --socket=x11
@ -27,12 +44,14 @@ finish-args:
- --env=SDL_VIDEO_WAYLAND_WMCLASS=net.retrodeck.retrodeck - --env=SDL_VIDEO_WAYLAND_WMCLASS=net.retrodeck.retrodeck
# XEMU - Fixes issues with openSUSE systems, QEMU_AUDIO_DRV is defined as "pa" causing xemu to not launch # XEMU - Fixes issues with openSUSE systems, QEMU_AUDIO_DRV is defined as "pa" causing xemu to not launch
- --unset-env=QEMU_AUDIO_DRV - --unset-env=QEMU_AUDIO_DRV
# BoilR # Steam ROM Manager
- --filesystem=xdg-data/Steam:rw #Steam (flatpak) - --filesystem=xdg-data/Steam:rw #Steam (flatpak)
- --filesystem=~/.steam:rw # Steam (Non-flatpak) - --filesystem=~/.steam:rw # Steam (Non-flatpak)
- --filesystem=~/.var/app/com.valvesoftware.Steam:rw # Steam (Flatpak) - --filesystem=~/.var/app/com.valvesoftware.Steam:rw # Steam (Flatpak)
# PPSSPP, DOLPHIN # PPSSPP, DOLPHIN
- --filesystem=xdg-run/gamescope-0:ro - --filesystem=xdg-run/gamescope-0:ro
# Xenia / Wine
- --env=WINEDLLPATH=/app/dlls/lib32:/app/dlls/lib:/app/lib32/wine/wined3d:/app/lib/wine/wined3d
cleanup: cleanup:
# ES-DE # ES-DE
@ -46,6 +65,7 @@ cleanup:
- /bin/zstd* - /bin/zstd*
- /lib/pkg-config - /lib/pkg-config
- /share/doc - /share/doc
- /share/gtk-doc # Steam ROM Manager
- /share/man - /share/man
- /src - /src
- '*.a' - '*.a'
@ -143,6 +163,48 @@ modules:
- type: file - type: file
url: https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 url: https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
sha256: af986793a515d500ab2d35f8d2aecd656e764504b789b66d7e1a0b727a124c44 sha256: af986793a515d500ab2d35f8d2aecd656e764504b789b66d7e1a0b727a124c44
# Steam ROM Manager - START
- name: zypak
sources:
- type: git
url: https://github.com/refi64/zypak
tag: v2022.03
commit: 8424c6bcf909ca2031ebc6537d324bb64772266e
- name: steam-rom-manager
buildsystem: simple
env:
IN_FLATPAK: 1
build-commands:
- install -D run.sh ${FLATPAK_DEST}/bin/steam-rom-manager
- cp /usr/bin/ar ${FLATPAK_DEST}/bin
- ar x srm.deb
- tar xf data.tar.xz
- mv "opt/Steam ROM Manager" "${FLATPAK_DEST}/srm"
- rm -rf "usr/share/icons/hicolor/1024x1024"
- cd usr; find share/icons/hicolor -type f -exec install -Dm644 "{}"
"${FLATPAK_DEST}/{}" \;
- rm -r srm.deb control.tar.* data.tar.xz debian-binary usr opt
sources:
- type: script
dest-filename: run.sh
commands:
- /app/bin/zypak-wrapper.sh /app/srm/steam-rom-manager "${@}"
- type: file
dest-filename: srm.deb
url: https://github.com/SteamGridDB/steam-rom-manager/releases/download/v2.4.19/steam-rom-manager_2.4.19_amd64.deb
sha256: aa4f121d50612801c30b9365e05cb92a3b4a9c402974fee2b88652de8d731b0e
x-checker-data:
type: json
url: https://api.github.com/repos/SteamGridDB/steam-rom-manager/releases/latest
url-query: >-
.assets[] | select(.name=="steam-rom-manager_" + $version +
"_amd64.deb") | .browser_download_url
version-query: .tag_name | sub("^v"; "")
# Steam ROM Manager - END
- name: yq - name: yq
buildsystem: simple buildsystem: simple
@ -542,6 +604,23 @@ modules:
url: https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz url: https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz
sha256: RETRODECKMAMELATEST sha256: RETRODECKMAMELATEST
# SHADPS4
- name: shadps4
buildsystem: simple
build-commands:
- chmod +x *.AppImage
- ./*.AppImage --appimage-extract
- mkdir -p "${FLATPAK_DEST}/retrodeck/tmplib" "${FLATPAK_DEST}/retrodeck/tmplib/debug"
- mv "squashfs-root/usr/lib/"* "${FLATPAK_DEST}/retrodeck/tmplib"
- cp -r squashfs-root/usr/* "${FLATPAK_DEST}/"
sources:
- type: archive
# TODO: fix this
# url: SHADPS4LATESTGHREL
# sha256: SHADPS4LATESTSHA
url: https://github.com/shadps4-emu/shadPS4/releases/download/v.0.3.0/shadps4-linux-qt-0.3.0.zip
sha256: 19a8c0796c36255ad8201715392fa57c0d370c1c3514ae56fe0200300c5163fd
# PortMaster # PortMaster
- name: PortMaster - name: PortMaster
@ -580,10 +659,11 @@ modules:
- cp -r files/* "${FLATPAK_DEST}" - cp -r files/* "${FLATPAK_DEST}"
- chmod +x "${FLATPAK_DEST}/bin/"* - chmod +x "${FLATPAK_DEST}/bin/"*
sources: sources:
# Testing the new feat/update-3.1.0
- type: archive - type: archive
url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz url: https://github.com/RetroDECK/ES-DE/releases/download/feat%2Fxenia-190924.46/RetroDECK-ES-DE-Artifact.tar.gz
sha256: RETRODECKESDELATEST sha256: 6ea55f59613a066ae36f04b61b3e9810d45fa2ca0924d876b5ada2ca28f5f36f
# url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz
# sha256: RETRODECKESDELATEST
- name: retrodeck-theme - name: retrodeck-theme
buildsystem: simple buildsystem: simple
@ -609,6 +689,22 @@ modules:
url: https://github.com/ruffle-rs/ruffle/releases/download/nightly-2024-08-09/ruffle-nightly-2024_08_09-linux-x86_64.tar.gz url: https://github.com/ruffle-rs/ruffle/releases/download/nightly-2024-08-09/ruffle-nightly-2024_08_09-linux-x86_64.tar.gz
sha256: d2c4c77d8426da6df8dc8b2a57565c151146464a8eec605d5faa68a297d8cad6 sha256: d2c4c77d8426da6df8dc8b2a57565c151146464a8eec605d5faa68a297d8cad6
# XENIA CANARY
- name: xenia-canary
buildsystem: simple
build-commands:
- install -Dm755 xenia_canary.exe "${FLATPAK_DEST}/xenia-canary/xenia_canary.exe"
- install -Dm755 xenia-canary "${FLATPAK_DEST}/bin/xenia-canary"
sources:
- type: archive
url: https://github.com/xenia-canary/xenia-canary/releases/download/experimental/xenia_canary.zip
sha256: XENIACANARYLATESTSHA
- type: script
commands:
- |
WINEPREFIX="/var/data/xenia-canary-pfx" wine64 "/app/xenia-canary/xenia_canary.exe"
dest-filename: xenia-canary
- name: fetch-missing-libs - name: fetch-missing-libs
buildsystem: simple buildsystem: simple
build-commands: build-commands:

View file

@ -18,7 +18,7 @@ for i in "$@"; do
case $i in case $i in
-h*|--help*) -h*|--help*)
echo "RetroDECK v""$version" echo "RetroDECK v""$version"
echo -e " echo "
Usage: Usage:
flatpak run [FLATPAK-RUN-OPTION] net.retrodeck-retrodeck [ARGUMENTS] flatpak run [FLATPAK-RUN-OPTION] net.retrodeck-retrodeck [ARGUMENTS]
@ -210,4 +210,5 @@ fi
# Normal Startup # Normal Startup
start_retrodeck start_retrodeck
# After everything is closed we run the quit function
quit_retrodeck quit_retrodeck

View file

@ -156,6 +156,10 @@ configurator_welcome_dialog() {
configurator_about_retrodeck_dialog configurator_about_retrodeck_dialog
;; ;;
"Sync with Steam" )
configurator_add_steam
;;
"Developer Options" ) "Developer Options" )
log i "Configurator: opening \"$choice\" menu" log i "Configurator: opening \"$choice\" menu"
configurator_generic_dialog "RetroDECK Configurator - Developer Options" "The following features and options are potentially VERY DANGEROUS for your RetroDECK install!\n\nThey should be considered the bleeding-edge of upcoming RetroDECK features, and never used when you have important saves/states/roms that are not backed up!\n\nYOU HAVE BEEN WARNED!" configurator_generic_dialog "RetroDECK Configurator - Developer Options" "The following features and options are potentially VERY DANGEROUS for your RetroDECK install!\n\nThey should be considered the bleeding-edge of upcoming RetroDECK features, and never used when you have important saves/states/roms that are not backed up!\n\nYOU HAVE BEEN WARNED!"
@ -1152,12 +1156,13 @@ configurator_reset_dialog() {
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
--text="Which component do you want to reset to default settings?" \ --text="Which component do you want to reset to default settings?" \
--column="Component" --column="Action" \ --column="Component" --column="Action" \
"Steam ROM Manager" "Reset SRM that manages the sync and scraping toward Steam library" \
"ES-DE" "Reset the ES-DE frontend" \ ) "ES-DE" "Reset the ES-DE frontend" \ )
# TODO: "GyroDSU" "Reset the gyroscope manager GyroDSU" # TODO: "GyroDSU" "Reset the gyroscope manager GyroDSU"
case $component_to_reset in case $component_to_reset in
"ES-DE" ) # TODO: GyroDSU "Steam ROM Manager" | "ES-DE" ) # TODO: GyroDSU
if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset $component_to_reset to default settings?\n\nThis process cannot be undone.") == "true" ]]; then if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset $component_to_reset to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
prepare_component "reset" "$component_to_reset" "configurator" prepare_component "reset" "$component_to_reset" "configurator"
configurator_process_complete_dialog "resetting $component_to_reset" configurator_process_complete_dialog "resetting $component_to_reset"
@ -1250,6 +1255,48 @@ configurator_about_retrodeck_dialog() {
esac esac
} }
configurator_add_steam() {
if [[ $(get_setting_value $rd_conf "steam_sync" retrodeck "options") == "true" ]]; then
zenity --question \
--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK Configurator - RetroDECK Steam Syncronization" \
--text="Steam syncronization is currently enabled. Do you want to disable it?\n\nThe already added shortcut will not be removed.\n"
if [ $? == 0 ] # User clicked "Yes"
then
disable_steam_sync
else # User clicked "Cancel"
configurator_welcome_dialog
fi
else
zenity --question \
--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK Configurator - RetroDECK Steam Syncronization" \
--text="Steam syncronization is currently disabled. Do you want to enable it?\n\nAll the games marked as favorites will be syncronized with Steam ROM Manager.\nRemember to restart Steam each time to see the changes.\n"
if [ $? == 0 ]
then
enable_steam_sync
else
configurator_welcome_dialog
fi
fi
}
enable_steam_sync() {
set_setting_value $rd_conf "steam_sync" "true" retrodeck "options"
zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK Configurator - RetroDECK Steam Syncronization" \
--text="Steam syncronization enabled."
configurator_welcome_dialog
}
disable_steam_sync() {
set_setting_value $rd_conf "steam_sync" "false" retrodeck "options"
configurator_welcome_dialog
}
configurator_version_history_dialog() { configurator_version_history_dialog() {
local version_array=($(xml sel -t -v '//component/releases/release/@version' -n $rd_appdata)) local version_array=($(xml sel -t -v '//component/releases/release/@version' -n $rd_appdata))
local all_versions_list=() local all_versions_list=()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://l3bredurb11m"
path="res://.godot/imported/rekku_base.png-ba655e0b7ca5167750e3c33bad52b118.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_base.png"
dest_files=["res://.godot/imported/rekku_base.png-ba655e0b7ca5167750e3c33bad52b118.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cvlncuql8igrm"
path="res://.godot/imported/rekku_eye_1.png-bdb05770012bbf8805a308be308f2f11.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_eye_1.png"
dest_files=["res://.godot/imported/rekku_eye_1.png-bdb05770012bbf8805a308be308f2f11.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bdrdu4nddkqjn"
path="res://.godot/imported/rekku_eye_2.png-470f058d31522c2d3d622d57668ea739.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_eye_2.png"
dest_files=["res://.godot/imported/rekku_eye_2.png-470f058d31522c2d3d622d57668ea739.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cb2hwhaq036mu"
path="res://.godot/imported/rekku_mouth_a.png-279dcb9a384b18dcc5f0e9b1fce89965.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_mouth_a.png"
dest_files=["res://.godot/imported/rekku_mouth_a.png-279dcb9a384b18dcc5f0e9b1fce89965.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dl2fd66fvn1an"
path="res://.godot/imported/rekku_mouth_i.png-66f20d9dcec19841a364e26d8f38c17a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_mouth_i.png"
dest_files=["res://.godot/imported/rekku_mouth_i.png-66f20d9dcec19841a364e26d8f38c17a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3ktnkmuecxea"
path="res://.godot/imported/rekku_mouth_m.png-f85c73bab4824d3102d50150c4e5375e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_mouth_m.png"
dest_files=["res://.godot/imported/rekku_mouth_m.png-f85c73bab4824d3102d50150c4e5375e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d08ngewjvxkmn"
path="res://.godot/imported/rekku_mouth_o.png-72bff84aecbb9047648fb98563492453.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_mouth_o.png"
dest_files=["res://.godot/imported/rekku_mouth_o.png-72bff84aecbb9047648fb98563492453.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dieva7tuxjrvy"
path="res://.godot/imported/rekku_nomouth.png-6aea5248544dd97243fc5c179e0e2d58.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/rekku2/rekku_nomouth.png"
dest_files=["res://.godot/imported/rekku_nomouth.png-6aea5248544dd97243fc5c179e0e2d58.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhf620jyq75t1"
path="res://.godot/imported/es-de.png-7133c76b0fc370d6d2c311241df36cf6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/es-de.png"
dest_files=["res://.godot/imported/es-de.png-7133c76b0fc370d6d2c311241df36cf6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ctm3f56t7jhiw"
path="res://.godot/imported/flycast.png-454d63296971d85691881883d8c379e3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/flycast.png"
dest_files=["res://.godot/imported/flycast.png-454d63296971d85691881883d8c379e3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 580 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://t4bq3t2l0rja"
path="res://.godot/imported/fuse.png-798b47a8862532036e29b84ce0746e43.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/fuse.png"
dest_files=["res://.godot/imported/fuse.png-798b47a8862532036e29b84ce0746e43.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjxqyxpxb8h8q"
path="res://.godot/imported/lime3ds.png-46636e55aca4b1efb87cc2bb6ef805bd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/lime3ds.png"
dest_files=["res://.godot/imported/lime3ds.png-46636e55aca4b1efb87cc2bb6ef805bd.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://de3s3tkxffqk0"
path="res://.godot/imported/nestopia.png-e3a5ed0832cb977733e851f186fe9167.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/nestopia.png"
dest_files=["res://.godot/imported/nestopia.png-e3a5ed0832cb977733e851f186fe9167.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://f8c6tobon13p"
path="res://.godot/imported/portal2.png-8c359b0df7fa9dc3dad992debc6f16c3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/portal2.png"
dest_files=["res://.godot/imported/portal2.png-8c359b0df7fa9dc3dad992debc6f16c3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -1 +0,0 @@
portal2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cyqdlugy5lts5"
path="res://.godot/imported/snes9x.png-985444d2225cee74be2bbfe4fd683dbe.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/snes9x.png"
dest_files=["res://.godot/imported/snes9x.png-985444d2225cee74be2bbfe4fd683dbe.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ck226cpy48rw"
path="res://.godot/imported/steam_icon_620.png-7a9e73f3c8c9a5c04b15bb9b88f1fab3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/steam_icon_620.png"
dest_files=["res://.godot/imported/steam_icon_620.png-7a9e73f3c8c9a5c04b15bb9b88f1fab3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2fp4cq1l0843"
path="res://.godot/imported/stella.png-e81484435d2c9330faaeb6dd19649c74.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/stella.png"
dest_files=["res://.godot/imported/stella.png-e81484435d2c9330faaeb6dd19649c74.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 737 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsctvdrl5okkn"
path="res://.godot/imported/zsnes.png-8880495aee27e317a73877d10d9f27e8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/128/zsnes.png"
dest_files=["res://.godot/imported/zsnes.png-8880495aee27e317a73877d10d9f27e8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cp7mte1plxnns"
path="res://.godot/imported/Alacritty.png-4f73319016fc7fff22cd6bbb95727a2c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/Alacritty.png"
dest_files=["res://.godot/imported/Alacritty.png-4f73319016fc7fff22cd6bbb95727a2c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://4m876fp86l7u"
path="res://.godot/imported/CMakeSetup.png-ca2e7d534d3754abdc6584a0e12d00a8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/CMakeSetup.png"
dest_files=["res://.godot/imported/CMakeSetup.png-ca2e7d534d3754abdc6584a0e12d00a8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dal18xkn0kplp"
path="res://.godot/imported/QtProject-qtcreator.png-23c831a40c505fde0c349b15be55ea27.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/QtProject-qtcreator.png"
dest_files=["res://.godot/imported/QtProject-qtcreator.png-23c831a40c505fde0c349b15be55ea27.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://df4bk3fa337ig"
path="res://.godot/imported/accesories-screenshoot.png-374d457bc7561a8d6e5b662034b15730.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accesories-screenshoot.png"
dest_files=["res://.godot/imported/accesories-screenshoot.png-374d457bc7561a8d6e5b662034b15730.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cqkexg5kkpehj"
path="res://.godot/imported/accesories-screenshot.png-380a941577ff6c26d913fdd7f78ed615.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accesories-screenshot.png"
dest_files=["res://.godot/imported/accesories-screenshot.png-380a941577ff6c26d913fdd7f78ed615.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 268 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://qg2fv36wcd2c"
path="res://.godot/imported/accessories-calculator.png-d15cdc6a8c179b53a6ef9124dd0b9a8f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-calculator.png"
dest_files=["res://.godot/imported/accessories-calculator.png-d15cdc6a8c179b53a6ef9124dd0b9a8f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhgc5m5hjjpge"
path="res://.godot/imported/accessories-clock.png-0b1e8af43b710d232fb1a15556ef19eb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-clock.png"
dest_files=["res://.godot/imported/accessories-clock.png-0b1e8af43b710d232fb1a15556ef19eb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dy4i0deapmyn8"
path="res://.godot/imported/accessories-dictionary.png-25017c298efba7f0e304eab6bd3fe71e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-dictionary.png"
dest_files=["res://.godot/imported/accessories-dictionary.png-25017c298efba7f0e304eab6bd3fe71e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c70ppuy4beltg"
path="res://.godot/imported/accessories-ebook-reader.png-0f54fc49eec6426cbf1120611040fb32.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-ebook-reader.png"
dest_files=["res://.godot/imported/accessories-ebook-reader.png-0f54fc49eec6426cbf1120611040fb32.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://taq6pykvnl76"
path="res://.godot/imported/accessories-notes.png-f233036a4c836cc7dc186338310e9fae.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-notes.png"
dest_files=["res://.godot/imported/accessories-notes.png-f233036a4c836cc7dc186338310e9fae.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://crc1a37v678n5"
path="res://.godot/imported/accessories-safe.png-be007724da9b72adae416ad27a714815.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-safe.png"
dest_files=["res://.godot/imported/accessories-safe.png-be007724da9b72adae416ad27a714815.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c7owhb6jau2r7"
path="res://.godot/imported/accessories-screenshoot.png-9c31584745a04aa11537232e52d0fd4a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-screenshoot.png"
dest_files=["res://.godot/imported/accessories-screenshoot.png-9c31584745a04aa11537232e52d0fd4a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lklv1mtf0axh"
path="res://.godot/imported/accessories-text-editor.png-9d8479e48f94dc82089f933acd74fa99.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/accessories-text-editor.png"
dest_files=["res://.godot/imported/accessories-text-editor.png-9d8479e48f94dc82089f933acd74fa99.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dq62f0iqbvfct"
path="res://.godot/imported/alacarte.png-1f1500dfc98c6beb4514f5a95f95a9ef.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/alacarte.png"
dest_files=["res://.godot/imported/alacarte.png-1f1500dfc98c6beb4514f5a95f95a9ef.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dqk2qqxx4340h"
path="res://.godot/imported/anatine.png-a45209bb5a56a70dfe74ec0c6321ab8a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/anatine.png"
dest_files=["res://.godot/imported/anatine.png-a45209bb5a56a70dfe74ec0c6321ab8a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cah8bhye14opr"
path="res://.godot/imported/app.xemu.xemu.png-13fcfb6536a11564d69d3e35a4541282.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/app.xemu.xemu.png"
dest_files=["res://.godot/imported/app.xemu.xemu.png-13fcfb6536a11564d69d3e35a4541282.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 289 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://7wxfcyjnrjj"
path="res://.godot/imported/apple.png-268063cc94bfb7e198f59173c4edfcd0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/apple.png"
dest_files=["res://.godot/imported/apple.png-268063cc94bfb7e198f59173c4edfcd0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://fk4h3jnjjlv6"
path="res://.godot/imported/applets-screenshooter.png-b31d48502f03856dc8298a6c10b438c4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/applets-screenshooter.png"
dest_files=["res://.godot/imported/applets-screenshooter.png-b31d48502f03856dc8298a6c10b438c4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dxd7ka0qiyqen"
path="res://.godot/imported/application-vnd.affinity-designer.png-608cf9e7df43d44f5707c7dcfcdfaa42.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/application-vnd.affinity-designer.png"
dest_files=["res://.godot/imported/application-vnd.affinity-designer.png-608cf9e7df43d44f5707c7dcfcdfaa42.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://kbu42vp5e6yf"
path="res://.godot/imported/applications-accessories.png-e423b33993821ebfe2d5501dfae6b714.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/applications-accessories.png"
dest_files=["res://.godot/imported/applications-accessories.png-e423b33993821ebfe2d5501dfae6b714.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ndsdoqjs7m7w"
path="res://.godot/imported/applications-all.png-ab84c72eef4f625c339e15bbcb7fa88f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/applications-all.png"
dest_files=["res://.godot/imported/applications-all.png-ab84c72eef4f625c339e15bbcb7fa88f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfeloulb2wvvn"
path="res://.godot/imported/applications-development.png-9b0fdf3eb2d9033678e74d99f3073b76.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/icons/pixelitos/16/applications-development.png"
dest_files=["res://.godot/imported/applications-development.png-9b0fdf3eb2d9033678e74d99f3073b76.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Some files were not shown because too many files have changed in this diff Show more