Compare commits

..

No commits in common. "78dff2d028030d058093b6b7f6bb744d1677e29c" and "54579507804446d691163027409c40579d340c21" have entirely different histories.

3 changed files with 12 additions and 25 deletions

View file

@ -842,8 +842,7 @@
"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",
@ -852,7 +851,6 @@
"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,
@ -1047,7 +1045,6 @@
"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": {
@ -1106,7 +1103,6 @@
"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": {
@ -1117,7 +1113,6 @@
"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
@ -1148,7 +1143,6 @@
"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"
@ -1169,7 +1163,6 @@
"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

@ -44,21 +44,16 @@ steam_sync() {
if (match($0, /<path>([^<]+)<\/path>/, arr)) if (match($0, /<path>([^<]+)<\/path>/, arr))
print arr[1] print arr[1]
}' "$gamelist") }' "$gamelist")
while read -r game_path; do while read -r game; do
local game="${game_path#./}" # Remove leading ./ if [[ -n "$game" ]]; then # Avoid empty lines created by xmlstarlet
if [[ -f "$roms_folder/$system/$game" ]]; then # Validate file exists and isn't a stale ES-DE entry for a removed file local game="${game#./}" # Remove leading ./
# Construct launch options with the rom path in quotes, to handle spaces if [[ -f "$roms_folder/$system/$game" ]]; then # Validate file exists and isn't a stale ES-DE entry for a removed file
local game_title=$(awk -v search_path="$game_path" 'BEGIN { RS="</game>"; FS="\n" } # Construct launch options with the rom path in quotes, to handle spaces
/<path>/ { local launchOptions="$launch_command -s $system \"$roms_folder/$system/$game\""
if (match($0, /<path>([^<]+)<\/path>/, path) && path[1] == search_path) { jq --arg title "${game%.*}" --arg target "$target" --arg launchOptions "$launchOptions" \
if (match($0, /<name>([^<]+)<\/name>/, name)) '. += [{"title": $title, "target": $target, "launchOptions": $launchOptions}]' "${retrodeck_favorites_file}.new" > "${retrodeck_favorites_file}.tmp" \
print name[1] && mv "${retrodeck_favorites_file}.tmp" "${retrodeck_favorites_file}.new"
} fi
}' "$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
@ -115,7 +110,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

@ -1309,7 +1309,6 @@ 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_tools_dialog configurator_steam_tools_dialog