Compare commits

...

18 commits

Author SHA1 Message Date
icenine451 78dff2d028 Add dialog to manual Steam Sync clarifying what is happening, as if no changes are needed it looks like you just get returned to the main Steam Tools menu.
Some checks failed
Build RetroDECK / Build_RetroDECK (push) Has been cancelled
Build RetroDECK / GitHub-publish (push) Has been cancelled
Build RetroDECK / Automated_Tests (push) Has been cancelled
2025-04-10 11:09:40 -04:00
icenine451 b223ceecef Merge branch 'cooker' of https://github.com/XargonWan/RetroDECK into cooker 2025-04-10 09:46:07 -04:00
icenine451 13d74e8d06 Improve Steam Sync shortcut names, pull from <name> field of gamelist rather than adapt game path. This is so games in subfolders are handled correctly. 2025-04-10 09:45:43 -04:00
XargonWan bd62eecf89 feat(features): add logging paths for RetroDECK, RetroArch, PrimeHack, Ruffle, Vita3K, RPCS3 and Dolphin [skip ci] 2025-04-10 22:43:58 +09:00
XargonWan 5457950780 fix(configurator): wrong meny call after add RetroDECK to Steam
Some checks are pending
Build RetroDECK / Build_RetroDECK (push) Waiting to run
Build RetroDECK / GitHub-publish (push) Blocked by required conditions
Build RetroDECK / Automated_Tests (push) Blocked by required conditions
2025-04-10 14:02:50 +09:00
icenine451 fa6dc9c960 Rebrand Steam Sync to Steam Tools, update Zenity Configurator sync dialog text for clarity
Some checks are pending
Build RetroDECK / Build_RetroDECK (push) Waiting to run
Build RetroDECK / GitHub-publish (push) Blocked by required conditions
Build RetroDECK / Automated_Tests (push) Blocked by required conditions
2025-04-09 14:18:01 -04:00
icenine451 fc9b0b846a Ensure Steam Sync progress dialogs are shown when appropriate 2025-04-09 14:14:52 -04:00
icenine451 c8c84c3043 Remove Steam Sync manifest when purging SRM Steam data, for when Sync is run again. 2025-04-09 14:03:31 -04:00
icenine451 cb86324fe6 Fix missing ) in steam_sync.sh 2025-04-09 13:58:42 -04:00
icenine451 eabd37fa1b Pinning Dolphin and Primehack artifacts to ones built in a Qt 6.7 platform. 2025-04-09 13:40:59 -04:00
icenine451 b531b3638f Don't run RetroDECK again immediately after doing factory reset, user must exit first and start it again. 2025-04-09 10:31:34 -04:00
icenine451 6b6bc710cf Add steam username to SRM config if SRM userdata folder is found, not if not found. 2025-04-09 10:17:32 -04:00
icenine451 a53cf917a3 Replace xmlstarlet with AWK for finding faves in gamelists to avoid broken XML syntax when system-level altemu is set. 2025-04-09 10:06:01 -04:00
icenine451 6030fa57b8 Remove unneeded SRM userdata dir from prepare_component.sh 2025-04-09 10:05:03 -04:00
icenine451 bef5b4ecb8 Populate Steam user information regardless if auto Steam Sync is enabled or not, so it can be used manually. 2025-04-09 10:04:45 -04:00
icenine451 34b9b927fa Fix incorrect directory check for SRM userdata and add SRM dir to global.sh 2025-04-09 10:04:13 -04:00
XargonWan 9d27347817 fix(configurator.sh): correct recursive calls in emulator and data management dialogs 2025-04-09 11:14:32 +09:00
XargonWan 20a61c1d3f update(metainfo.xml): revise release notes for version 0.9.2b with new features, improvements, and bug fixes 2025-04-09 11:14:19 +09:00
11 changed files with 67 additions and 38 deletions

View file

@ -842,7 +842,8 @@
"description": "RetroDECK Framework", "description": "RetroDECK Framework",
"name": "RetroDECK", "name": "RetroDECK",
"url": "https://retrodeck.net/", "url": "https://retrodeck.net/",
"cli-arg": "--version" "cli-arg": "--version",
"logs": "$XDG_CONFIG_HOME/retrodeck/logs/retrodeck.log"
}, },
"retroarch": { "retroarch": {
"description": "Libretro Multi-emulator Frontend", "description": "Libretro Multi-emulator Frontend",
@ -851,6 +852,7 @@
"launch": "retroarch", "launch": "retroarch",
"cli-arg": "--version", "cli-arg": "--version",
"system": "retroarch", "system": "retroarch",
"logs": "$logs_folder/retroarch/retroarch.log",
"properties": [ "properties": [
{ {
"cheevos": true, "cheevos": true,
@ -1045,6 +1047,7 @@
"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": "flash", "system": "flash",
"launch": "ruffle-rdwrapper.sh", "launch": "ruffle-rdwrapper.sh",
"logs": "$XDG_CACHE_HOME/ruffle/ruffle.log",
"cli-arg": "" "cli-arg": ""
}, },
"melonds": { "melonds": {
@ -1103,6 +1106,7 @@
"url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/vita3k/vita3k-guide/", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/vita3k/vita3k-guide/",
"system": "psvita", "system": "psvita",
"launch": "Vita3K", "launch": "Vita3K",
"logs": "$XDG_CACHE_HOME/Vita3K/vita3k.log",
"cli-arg": "" "cli-arg": ""
}, },
"rpcs3": { "rpcs3": {
@ -1113,6 +1117,7 @@
"launch": "rpcs3", "launch": "rpcs3",
"cli-arg": "--version", "cli-arg": "--version",
"launch-override": "cd $(dirname $game) && rpcs3 $game", "launch-override": "cd $(dirname $game) && rpcs3 $game",
"logs": "$XDG_CACHE_HOME/rpcs3/RPCS3.log",
"properties": [ "properties": [
{ {
"ask_to_exit": true "ask_to_exit": true
@ -1143,6 +1148,7 @@
"url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/dolphin-primehack/dolphin-primehack-guide/", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/dolphin-primehack/dolphin-primehack-guide/",
"launch": "dolphin-emu-wrapper", "launch": "dolphin-emu-wrapper",
"cli-arg": "--version", "cli-arg": "--version",
"logs": "$XDG_DATA_HOME/dolphin-emu/dolphin.log",
"system": [ "system": [
"gc", "gc",
"wii" "wii"
@ -1163,6 +1169,7 @@
"url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/dolphin-primehack/dolphin-primehack-guide/", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/dolphin-primehack/dolphin-primehack-guide/",
"launch": "primehack-wrapper", "launch": "primehack-wrapper",
"cli-arg": "--version", "cli-arg": "--version",
"logs": "$XDG_DATA_HOME/primehack/Logs/dolphin.log",
"system": [ "system": [
"wii" "wii"
], ],

View file

@ -539,7 +539,7 @@ get_steam_user() {
log i "Username: $steam_username" log i "Username: $steam_username"
log i "Name: $steam_prettyname" log i "Name: $steam_prettyname"
if [[ $steam_sync == "true" ]]; then if [[ -d "$srm_userdata" ]]; then
populate_steamuser_srm populate_steamuser_srm
fi fi

View file

@ -273,6 +273,7 @@ fi
# Steam ROM Manager user files and paths # Steam ROM Manager user files and paths
steamsync_folder="$rdhome/.sync" # Folder containing favorites manifest for SRM steamsync_folder="$rdhome/.sync" # Folder containing favorites manifest for SRM
srm_userdata="$XDG_CONFIG_HOME/steam-rom-manager/userData" # SRM userdata folder, holding
retrodeck_favorites_file="$steamsync_folder/retrodeck_favorites.json" # The current SRM manifest of all games that have been favorited in ES-DE retrodeck_favorites_file="$steamsync_folder/retrodeck_favorites.json" # The current SRM manifest of all games that have been favorited in ES-DE
srm_log="$logs_folder/srm_log.log" # Log file for capturing the output of the most recent SRM run, for debugging purposes srm_log="$logs_folder/srm_log.log" # Log file for capturing the output of the most recent SRM run, for debugging purposes
retrodeck_added_favorites="$steamsync_folder/retrodeck_added_favorites.json" # Temporary manifest of any games that were newly added to the ES-DE favorites and should be added to Steam retrodeck_added_favorites="$steamsync_folder/retrodeck_added_favorites.json" # Temporary manifest of any games that were newly added to the ES-DE favorites and should be added to Steam

View file

@ -1243,6 +1243,7 @@ quit_retrodeck() {
# if steam sync is on do the magic # if steam sync is on do the magic
if [[ $(get_setting_value "$rd_conf" "steam_sync" "retrodeck" "options") == "true" ]]; then if [[ $(get_setting_value "$rd_conf" "steam_sync" "retrodeck" "options") == "true" ]]; then
export CONFIGURATOR_GUI="zenity"
steam_sync steam_sync
fi fi
log i "Shutting down RetroDECK's framework" log i "Shutting down RetroDECK's framework"

View file

@ -817,6 +817,7 @@ post_update() {
if [[ "$execute_all" == "true" || " ${selected_choices[@]} " =~ " Refresh Steam Sync " ]]; then if [[ "$execute_all" == "true" || " ${selected_choices[@]} " =~ " Refresh Steam Sync " ]]; then
log i "User agreed to refresh Steam Sync" log i "User agreed to refresh Steam Sync"
steam-rom-manager nuke steam-rom-manager nuke
export CONFIGURATOR_GUI="zenity"
steam_sync steam_sync
fi fi
@ -846,6 +847,7 @@ post_update() {
if [[ "$execute_all" == "true" || " ${selected_choices[@]} " =~ " Refresh Steam Sync " ]]; then if [[ "$execute_all" == "true" || " ${selected_choices[@]} " =~ " Refresh Steam Sync " ]]; then
log i "User agreed to refresh Steam Sync" log i "User agreed to refresh Steam Sync"
steam-rom-manager nuke steam-rom-manager nuke
export CONFIGURATOR_GUI="zenity"
steam_sync steam_sync
fi fi

View file

@ -34,7 +34,6 @@ prepare_component() {
if [[ "$1" == "--factory-reset" ]]; then if [[ "$1" == "--factory-reset" ]]; then
log i "User requested full RetroDECK reset" log i "User requested full RetroDECK reset"
rm -f "$lockfile" && log d "Lockfile removed" rm -f "$lockfile" && log d "Lockfile removed"
retrodeck
fi fi
action="$1" action="$1"
@ -128,7 +127,6 @@ prepare_component() {
log i "Prepearing Steam ROM Manager" log i "Prepearing Steam ROM Manager"
log i "-----------------------------" log i "-----------------------------"
local srm_userdata="$XDG_CONFIG_HOME/steam-rom-manager/userData"
create_dir -d "$srm_userdata" create_dir -d "$srm_userdata"
cp -fv "$config/steam-rom-manager/"*.json "$srm_userdata" cp -fv "$config/steam-rom-manager/"*.json "$srm_userdata"
cp -fvr "$config/steam-rom-manager/manifests" "$srm_userdata" cp -fvr "$config/steam-rom-manager/manifests" "$srm_userdata"

View file

@ -11,7 +11,7 @@ steam_sync() {
log "i" "Starting Steam Sync" log "i" "Starting Steam Sync"
create_dir "$steamsync_folder" create_dir "$steamsync_folder"
if [ ! -f "$srm_path" ]; then if [[ ! -d "$srm_userdata" ]]; then
log "e" "Steam ROM Manager configuration not initialized! Initializing now." log "e" "Steam ROM Manager configuration not initialized! Initializing now."
prepare_component "reset" "steam-rom-manager" prepare_component "reset" "steam-rom-manager"
fi fi
@ -38,17 +38,27 @@ steam_sync() {
fi fi
system=$(basename "$system_path") # Extract the folder name as the system name system=$(basename "$system_path") # Extract the folder name as the system name
gamelist="${system_path}gamelist.xml" gamelist="${system_path}gamelist.xml"
system_favorites=$(xml sel -t -m "//game[favorite='true']" -v "path" -n "$gamelist") # Use AWK instead of xmlstarlet because ES-DE can create invalid XML structures in some cases
while read -r game; do system_favorites=$(awk 'BEGIN { RS="</game>"; FS="\n" }
if [[ -n "$game" ]]; then # Avoid empty lines created by xmlstarlet /<favorite>true<\/favorite>/ {
local game="${game#./}" # Remove leading ./ if (match($0, /<path>([^<]+)<\/path>/, arr))
if [[ -f "$roms_folder/$system/$game" ]]; then # Validate file exists and isn't a stale ES-DE entry for a removed file print arr[1]
# Construct launch options with the rom path in quotes, to handle spaces }' "$gamelist")
local launchOptions="$launch_command -s $system \"$roms_folder/$system/$game\"" while read -r game_path; do
jq --arg title "${game%.*}" --arg target "$target" --arg launchOptions "$launchOptions" \ local game="${game_path#./}" # Remove leading ./
'. += [{"title": $title, "target": $target, "launchOptions": $launchOptions}]' "${retrodeck_favorites_file}.new" > "${retrodeck_favorites_file}.tmp" \ if [[ -f "$roms_folder/$system/$game" ]]; then # Validate file exists and isn't a stale ES-DE entry for a removed file
&& mv "${retrodeck_favorites_file}.tmp" "${retrodeck_favorites_file}.new" # Construct launch options with the rom path in quotes, to handle spaces
fi local game_title=$(awk -v search_path="$game_path" 'BEGIN { RS="</game>"; FS="\n" }
/<path>/ {
if (match($0, /<path>([^<]+)<\/path>/, path) && path[1] == search_path) {
if (match($0, /<name>([^<]+)<\/name>/, name))
print name[1]
}
}' "$gamelist")
local launchOptions="$launch_command -s $system \"$roms_folder/$system/$game\""
jq --arg title "$game_title" --arg target "$target" --arg launchOptions "$launchOptions" \
'. += [{"title": $title, "target": $target, "launchOptions": $launchOptions}]' "${retrodeck_favorites_file}.new" > "${retrodeck_favorites_file}.tmp" \
&& mv "${retrodeck_favorites_file}.tmp" "${retrodeck_favorites_file}.new"
fi fi
done <<< "$system_favorites" done <<< "$system_favorites"
done done
@ -105,7 +115,7 @@ steam_sync() {
log d "Some new favorites added between syncs, adding new favorited games" log d "Some new favorites added between syncs, adding new favorited games"
# Load added favorites as manifest and run SRM add # Load added favorites as manifest and run SRM add
mv "$retrodeck_added_favorites" "$retrodeck_favorites_file" mv "$retrodeck_added_favorites" "$retrodeck_favorites_file"
steam_sync_add steam_sync_add
fi fi
# Make new favorites manifest the current one # Make new favorites manifest the current one

View file

@ -73,27 +73,32 @@
<project_license>GPL-3.0</project_license> <project_license>GPL-3.0</project_license>
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<releases> <releases>
<release version="0.9.2b" date="2025-03-29"> <release version="0.9.2b" date="2025-04-09">
<url>https://github.com/RetroDECK/RetroDECK/releases/tag/0.9.2b</url> <url>https://github.com/RetroDECK/RetroDECK/releases/tag/0.9.2b</url>
<description> <description>
<p>New Additions:</p> <p>New Additions:</p>
<ul> <ul>
<li>BACKUP: Added backup options for core user data and full/partial backups</li> <li>BACKUP: Added backup options for core user data and full/partial backups</li>
<li>STEAM SYNC: Improved Zenity Configurator with new backup and steam_sync integration</li> <li>BACKUP: backup is now prompted before any RetroDECK upgrade</li>
<li>STEAM SYNC: Added functionality for SRM manifest sync, including handling unfavorited games</li> <li>STEAM SYNC: refactored to be more lightweight</li>
<li>STEAM SYNC: Added manual sync mode</li> <li>STEAM SYNC: Added manual sync mode</li>
<li>STEAM SYNC: Added full steam resync option</li> <li>STEAM SYNC: Added full steam resync option</li>
<li>STEAM SYNC: Added purge option</li>
<li>STEAM SYNC: Added purge option</li>
<li>BACKUP: Introduced optional userdata backup during post-update process</li> <li>BACKUP: Introduced optional userdata backup during post-update process</li>
<li>FRAMEWORK: New function for repairing RetroDECK paths without needing a full reset</li> <li>FRAMEWORK: New function for repairing RetroDECK paths without needing a full reset</li>
<li>COMPRESSOR: Updated Zenity Configurator for better multi-file compression logic</li> <li>COMPRESSOR: Updated Zenity Configurator for better multi-file compression logic</li>
<li>COMPRESSOR: New functionality for compression cleanup argument in both single-file and multi-file modes</li> <li>COMPRESSOR: New functionality for compression cleanup argument in both single-file and multi-file modes</li>
<li>CLI: Added optional "repair-paths" CLI option for fixing paths</li> <li>CLI: Added optional "repair-paths" CLI option for fixing paths</li>
<li>CONFIGURATOR: added Debug level choice menu</li> <li>CONFIGURATOR: added Debug level choice menu</li>
<li>CONFIGURATOR: Improved Zenity Configurator with new backup and steam_sync integration</li>
<li>THEME: Added a new brighter background option</li>
<li>THEME: Added system status indicators: WiFi, Bluetooth and battery status</li>
</ul> </ul>
<p>Updates:</p> <p>Updates:</p>
<ul> <ul>
<li>ES-DE: to version 3.2.0</li> <li>ES-DE: to version 3.2.0</li>
<li>RetroDECK Theme: added compatiblity with 3.2.0 and added new features: new background option and system status indicators</li> <li>RetroDECK Theme: added compatiblity with 3.2.0</li>
</ul> </ul>
<p>Bug fixes:</p> <p>Bug fixes:</p>
<ul> <ul>
@ -115,6 +120,7 @@
<li>FRAMEWORK: Enhanced `find_compatible_games` logic and spelling improvements</li> <li>FRAMEWORK: Enhanced `find_compatible_games` logic and spelling improvements</li>
<li>FRAMEWORK: Refined `sanitize()` function to be moved to `other_functions.sh` for better code organization</li> <li>FRAMEWORK: Refined `sanitize()` function to be moved to `other_functions.sh` for better code organization</li>
<li>BACKUP: Updated `backup_retrodeck_userdata` to support a more efficient "core" backup option</li> <li>BACKUP: Updated `backup_retrodeck_userdata` to support a more efficient "core" backup option</li>
<li>API: added a new API engine useful to talk with external applications or the Godot Configurator</li>
</ul> </ul>
</description> </description>
</release> </release>

View file

@ -438,8 +438,8 @@ modules:
- cp -r files/* "${FLATPAK_DEST}" - cp -r files/* "${FLATPAK_DEST}"
sources: sources:
- type: archive - type: archive
url: https://github.com/RetroDECK/org.DolphinEmu.dolphin-emu/releases/latest/download/RetroDECK-Artifact.tar.gz url: https://github.com/RetroDECK/org.DolphinEmu.dolphin-emu/releases/download/master-13192425010/RetroDECK-Artifact.tar.gz
sha256: RETRODECKDOLPHINLATEST sha256: 8d0e892cecaa0eb7968f11e8d22333093737a009be73d1c541d278cd9805ec4a
# PRIMEHACK # PRIMEHACK
# https://github.com/RetroDECK/io.github.shiiion.primehack # https://github.com/RetroDECK/io.github.shiiion.primehack
@ -461,8 +461,8 @@ modules:
- cp -r files/* "${FLATPAK_DEST}" - cp -r files/* "${FLATPAK_DEST}"
sources: sources:
- type: archive - type: archive
url: https://github.com/RetroDECK/io.github.shiiion.primehack/releases/latest/download/RetroDECK-primehack-Artifact.tar.gz url: https://github.com/RetroDECK/io.github.shiiion.primehack/releases/download/master-230724.27/RetroDECK-primehack-Artifact.tar.gz
sha256: RETRODECKPRIMEHACKLATEST sha256: 7cd20690cea20284b6b272092f79cadf6a7ca9d5b9df7cb5985cb090ff47731d
# Universal Dynamic Input for Dolphin and Primehack # Universal Dynamic Input for Dolphin and Primehack
- name: universal_dynamic_input - name: universal_dynamic_input

View file

@ -127,6 +127,7 @@ while [[ $# -gt 0 ]]; do
if [[ -n "$2" ]]; then if [[ -n "$2" ]]; then
if [[ "$2" == "purge" ]]; then if [[ "$2" == "purge" ]]; then
steam-rom-manager nuke steam-rom-manager nuke
rm -f "$retrodeck_favorites_file"
else else
echo "Unknown argument \"$2\", please check the CLI help for more information." echo "Unknown argument \"$2\", please check the CLI help for more information."
fi fi

View file

@ -78,7 +78,7 @@ rd_zenity --progress --no-cancel --pulsate --auto-close \
# - Change Logging Level # - Change Logging Level
# - Ponzu: Remove Yuzu # - Ponzu: Remove Yuzu
# - Ponzu: Remove Citra # - Ponzu: Remove Citra
# - Steam Sync # - Steam Tools
# - Add RetroDECK to Steam # - Add RetroDECK to Steam
# - Automatic Steam Sync # - Automatic Steam Sync
# - Manual Steam Sync # - Manual Steam Sync
@ -118,7 +118,7 @@ configurator_welcome_dialog() {
"Open Component" "Manually launch and configure settings for each component, system or emulator (for advanced users)." "Open Component" "Manually launch and configure settings for each component, system or emulator (for advanced users)."
"Reset Components" "Reset a specific component, system, emulator or all of RetroDECK." "Reset Components" "Reset a specific component, system, emulator or all of RetroDECK."
"Tools" "Various tools for verifying files and BIOS, and installing optional features." "Tools" "Various tools for verifying files and BIOS, and installing optional features."
"Steam Sync" "Setup synchronization of all ES-DE favorited games with Steam via SRM." "Steam Tools" "Setup synchronization of all ES-DE favorited games with Steam, or add a RetroDECK shortcut to Steam."
"Data Management" "Move RetroDECK folders between internal storage, SD card, or a custom location, and clean out empty ROM folders or rebuild all ROM folders." "Data Management" "Move RetroDECK folders between internal storage, SD card, or a custom location, and clean out empty ROM folders or rebuild all ROM folders."
"About RetroDECK" "View additional information, including patch notes and credits." "About RetroDECK" "View additional information, including patch notes and credits."
) )
@ -159,8 +159,8 @@ configurator_welcome_dialog() {
configurator_about_retrodeck_dialog configurator_about_retrodeck_dialog
;; ;;
"Steam Sync" ) "Steam Tools" )
configurator_steam_sync_dialog configurator_steam_tools_dialog
;; ;;
"Developer Options" ) "Developer Options" )
@ -425,6 +425,7 @@ configurator_open_emulator_dialog() {
if [[ -n "$emulator" ]]; then if [[ -n "$emulator" ]]; then
open_component "$emulator" open_component "$emulator"
configurator_open_emulator_dialog
else else
configurator_welcome_dialog configurator_welcome_dialog
fi fi
@ -627,7 +628,7 @@ configurator_data_management_dialog() {
local rc=$? local rc=$?
if [[ $rc == "0" ]] && [[ -z "$choice" ]]; then # User selected Cancel button if [[ $rc == "0" ]] && [[ -z "$choice" ]]; then # User selected Cancel button
configurator_tools_dialog configurator_data_management_dialog
else else
case $choice in case $choice in
"Core Backup" ) "Core Backup" )
@ -670,7 +671,7 @@ configurator_data_management_dialog() {
;; ;;
esac esac
configurator_tools_dialog configurator_data_management_dialog
fi fi
;; ;;
@ -1254,9 +1255,9 @@ configurator_about_retrodeck_dialog() {
esac esac
} }
configurator_steam_sync_dialog() { configurator_steam_tools_dialog() {
choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Steam Sync" --cancel-label="Back" \ choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - Steam Tools" --cancel-label="Back" \
--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 \
--column="Choice" --column="Description" \ --column="Choice" --column="Description" \
"Add RetroDECK to Steam" "Add RetroDECK to Steam." \ "Add RetroDECK to Steam" "Add RetroDECK to Steam." \
@ -1277,7 +1278,7 @@ configurator_steam_sync_dialog() {
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--text="Adding RetroDECK to Steam, please wait..." \ --text="Adding RetroDECK to Steam, please wait..." \
--pulsate --width=500 --height=150 --auto-close --no-cancel --pulsate --width=500 --height=150 --auto-close --no-cancel
configurator_tools_dialog configurator_steam_tools_dialog
;; ;;
"Automatic Steam Sync" ) "Automatic Steam Sync" )
@ -1296,21 +1297,22 @@ configurator_steam_sync_dialog() {
zenity --question \ zenity --question \
--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK Configurator - RetroDECK Steam Syncronization" \ --title "RetroDECK Configurator - RetroDECK Steam Syncronization" \
--text="Steam synchronization is <span foreground='$purple'><b>currently disabled</b></span>. Do you want to enable it?\n\nAll favorited games will be synced with Steam ROM Manager.\nRemember to restart Steam to see the changes.\n\n<span foreground='$purple'><b>NOTE: Games with unusual characters in their names like &apos;/\{}&lt;&gt;* might break the sync. Check the RetroDECK Wiki for more information.</b></span>" --text="Steam synchronization is <span foreground='$purple'><b>currently disabled</b></span>. Do you want to enable it?\n\nAll favorited games will be immediately synced with Steam ROM Manager.\nWhile this setting is enabled, RetroDECK check your ES-DE favorites when you quit the program, and update Steam using Steam ROM Manager if there were any changes.\n\nRemember to restart Steam to see the changes.\n\n<span foreground='$purple'><b>NOTE: Games with unusual characters in their names like &apos;/\{}&lt;&gt;* might break the sync. Check the RetroDECK Wiki for more information.</b></span>"
if [ $? == 0 ] if [ $? == 0 ]
then then
configurator_enable_steam_sync configurator_enable_steam_sync
fi fi
fi fi
configurator_steam_sync_dialog configurator_steam_tools_dialog
;; ;;
"Manual Steam Sync" ) "Manual Steam Sync" )
log i "Configurator: opening \"$choice\" menu" log i "Configurator: opening \"$choice\" menu"
configurator_generic_dialog "RetroDeck Configurator - Manual Steam Sync" "RetroDECK will now look for any ES-DE favorites and sync them to Steam, if needed.\n\nIf Steam Sync has been run before and no favorites have been added or removed, you will be returned to the Steam Tools menu.\nIf changes are needed, you will see a progress dialog during the process."
export CONFIGURATOR_GUI="zenity" export CONFIGURATOR_GUI="zenity"
steam_sync steam_sync
configurator_steam_sync_dialog configurator_steam_tools_dialog
;; ;;
"Purge Steam Sync Shortcuts" ) "Purge Steam Sync Shortcuts" )
@ -1318,6 +1320,7 @@ configurator_steam_sync_dialog() {
if [[ $(configurator_generic_question_dialog "RetroDECK Configurator - Steam Sync" "Are you sure you want to remove all Steam ROM Manager changes, including all RetroDECK shortcuts from Steam?" ) == "true" ]]; then if [[ $(configurator_generic_question_dialog "RetroDECK Configurator - Steam Sync" "Are you sure you want to remove all Steam ROM Manager changes, including all RetroDECK shortcuts from Steam?" ) == "true" ]]; then
( (
steam-rom-manager nuke steam-rom-manager nuke
rm -f "$retrodeck_favorites_file"
) | ) |
rd_zenity --progress \ rd_zenity --progress \
--title="Removing all RetroDECK Steam Sync information" \ --title="Removing all RetroDECK Steam Sync information" \
@ -1325,7 +1328,7 @@ configurator_steam_sync_dialog() {
--text="<span foreground='$purple'><b>\t\t\t\tRemoving all RetroDECK-related data from Steam</b></span>\n\nPlease wait..." \ --text="<span foreground='$purple'><b>\t\t\t\tRemoving all RetroDECK-related data from Steam</b></span>\n\nPlease wait..." \
--pulsate --width=500 --height=150 --auto-close --no-cancel --pulsate --width=500 --height=150 --auto-close --no-cancel
fi fi
configurator_steam_sync_dialog configurator_steam_tools_dialog
;; ;;
"" ) # No selection made or Back button clicked "" ) # No selection made or Back button clicked