From e8f2224f7fad507015b1161ab7c29d647ac02bbc Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 14 Feb 2024 17:32:48 +0100 Subject: [PATCH 01/25] Removed reset es-de from cli as now it's a component --- retrodeck.sh | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index edb0241a..736ef90b 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -20,7 +20,6 @@ Arguments: --compress-one Compresses target file to a compatible format --compress-all Compresses all supported games into compatible format. Available formats are \"chd\", \"zip\", \"rvz\" and \"all\". --reset-component Reset one or more component or emulator configs to the default values - --reset-es-de Reset EmulationStation DE to default settings --reset-retrodeck Starts the initial RetroDECK installer (backup your data first!) For flatpak run specific options please run: flatpak run -h @@ -59,7 +58,7 @@ https://retrodeck.net echo "You are about to reset one or more RetroDECK components or emulators." echo "Available options are: es-de, retroarch, cemu, citra, dolphin, duckstation, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, xemu, yuzu, vita3k, mame, gzdoom, boilr, all" read -p "Please enter the component you would like to reset: " component - if [[ "$component" =~ ^(es-de | retroarch | cemu | citra | dolphin | duckstation | melonds | pcsx3 | pico8 | ppsspp | primehack | rpcs3 | xemu | yuzu | vita3k | mame | gzdoom | boilr | all)$ ]]; then + if [[ "$component" =~ ^( es-de | retroarch | cemu | citra | dolphin | duckstation | melonds | pcsx3 | pico8 | ppsspp | primehack | rpcs3 | xemu | yuzu | vita3k | mame | gzdoom | boilr | all)$ ]]; then read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then prepare_component "reset" "$component" "cli" @@ -74,18 +73,6 @@ https://retrodeck.net exit fi ;; - --reset-es-de*) - echo "You are about to reset ES-DE to default settings. Your scraped media, downloaded themes and gamelists will remain untouched." - read -p "Enter 'y' to continue, 'n' to stop: " response - if [[ $response == [yY] ]]; then - prepare_component "reset" "ES-DE" "cli" - read -p "The process has been completed, press Enter key to start RetroDECK." - shift # Continue launch after previous command is finished - else - read -p "The process has been cancelled, press Enter key to exit." - exit - fi - ;; --reset-retrodeck*) echo "You are about to reset RetroDECK completely!" read -p "Enter 'y' to continue, 'n' to stop: " response From c0716c2b01753d1b3e4bcc7cd6caaec811ffcbfc Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 09:02:39 +0100 Subject: [PATCH 02/25] PREPARE_COMPONENT: removed space between components --- retrodeck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index 736ef90b..30aacfbb 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -58,7 +58,7 @@ https://retrodeck.net echo "You are about to reset one or more RetroDECK components or emulators." echo "Available options are: es-de, retroarch, cemu, citra, dolphin, duckstation, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, xemu, yuzu, vita3k, mame, gzdoom, boilr, all" read -p "Please enter the component you would like to reset: " component - if [[ "$component" =~ ^( es-de | retroarch | cemu | citra | dolphin | duckstation | melonds | pcsx3 | pico8 | ppsspp | primehack | rpcs3 | xemu | yuzu | vita3k | mame | gzdoom | boilr | all)$ ]]; then + if [[ "$emulator" =~ ^(retroarch|cemu|citra|dolphin|duckstation|melonds|pcsx2|ppsspp|primehack|rpcs3|xemu|yuzu|all-emulators)$ ]]; then read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then prepare_component "reset" "$component" "cli" From 26580c797c8014c1269847c87ff2405712029387 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 15:45:57 +0100 Subject: [PATCH 03/25] FINIT: fixed a bug where retrodeck.cfg was not created --- functions/functions.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/functions/functions.sh b/functions/functions.sh index 98768855..70627152 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -368,6 +368,9 @@ finit() { echo "Executing finit" + # Placing the default retrodeck.cfg + cp -vf $rd_defaults $rd_conf + # Internal or SD Card? local finit_dest_choice=$(configurator_destination_choice_dialog "RetroDECK data" "Welcome to the first configuration of RetroDECK.\nThe setup will be quick but please READ CAREFULLY each message in order to avoid misconfigurations.\n\nWhere do you want your RetroDECK data folder to be located?\n\nThis folder will contain all ROMs, BIOSs and scraped data." ) echo "Choice is $finit_dest_choice" From 5d4908931b895771bb7cc242e29bed7c0df1e69f Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 16 Feb 2024 19:10:06 +0100 Subject: [PATCH 04/25] CLI: added reset MAME --- retrodeck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index 30aacfbb..779f5ef0 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -58,7 +58,7 @@ https://retrodeck.net echo "You are about to reset one or more RetroDECK components or emulators." echo "Available options are: es-de, retroarch, cemu, citra, dolphin, duckstation, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, xemu, yuzu, vita3k, mame, gzdoom, boilr, all" read -p "Please enter the component you would like to reset: " component - if [[ "$emulator" =~ ^(retroarch|cemu|citra|dolphin|duckstation|melonds|pcsx2|ppsspp|primehack|rpcs3|xemu|yuzu|all-emulators)$ ]]; then + if [[ "$emulator" =~ ^(retroarch|cemu|citra|dolphin|duckstation|mame|melonds|pcsx2|ppsspp|primehack|rpcs3|xemu|yuzu|all-emulators)$ ]]; then read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then prepare_component "reset" "$component" "cli" From db63d50b1e85792c94019ea232b109932dd7cab8 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 16 Feb 2024 19:10:34 +0100 Subject: [PATCH 05/25] MAME: added reset to configurator --- tools/configurator.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index 196befb2..bfce2fdd 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -73,6 +73,7 @@ source /app/libexec/global.sh # - Reset Dolphin # - Reset Duckstation # - Reset GZDoom +# - Reset MAME # - Reset MelonDS # - Reset PCSX2 # - Reset PPSSPP @@ -1032,7 +1033,7 @@ configurator_reset_dialog() { fi ;; - "Cemu" | "Citra" | "Dolphin" | "Duckstation" | "MelonDS" | "PCSX2" | "PPSSPP" | "Primehack" | "RPCS3" | "Ryujinx" | "Yuzu" ) + "Cemu" | "Citra" | "Dolphin" | "Duckstation" | "MelonDS" | "MAME" | "PCSX2" | "PPSSPP" | "Primehack" | "RPCS3" | "Ryujinx" | "Yuzu" ) if [[ $(configurator_reset_confirmation_dialog "$component_to_reset" "Are you sure you want to reset the $component_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then prepare_component "reset" "$component_to_reset" "configurator" configurator_process_complete_dialog "resetting $component_to_reset" From b49828670cf4e7e04fa6ad2e524de1698ff3bbec Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 17 Feb 2024 09:38:01 +0100 Subject: [PATCH 06/25] CLI: added reset es-de --- retrodeck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index 779f5ef0..686c3758 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -58,7 +58,7 @@ https://retrodeck.net echo "You are about to reset one or more RetroDECK components or emulators." echo "Available options are: es-de, retroarch, cemu, citra, dolphin, duckstation, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, xemu, yuzu, vita3k, mame, gzdoom, boilr, all" read -p "Please enter the component you would like to reset: " component - if [[ "$emulator" =~ ^(retroarch|cemu|citra|dolphin|duckstation|mame|melonds|pcsx2|ppsspp|primehack|rpcs3|xemu|yuzu|all-emulators)$ ]]; then + if [[ "$emulator" =~ ^(es-de|retroarch|cemu|citra|dolphin|duckstation|mame|melonds|pcsx2|ppsspp|primehack|rpcs3|xemu|yuzu|all-emulators)$ ]]; then read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then prepare_component "reset" "$component" "cli" From f6f6a678b68e9d7a9697651a5bdd5bb615339d91 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 18 Feb 2024 10:48:04 +0100 Subject: [PATCH 07/25] Feat/steam sync (#652) * Fixed sync path in steam-sync.py * Fix syntax error * Make sync folder hidden * Make sync folder hidden (for real now) * Added boilr_tag parameter after talk with boilr dev * BOILR: set branch to retro for testing purposes * APPDATA: added Steam Sync Warning [skip ci] * BOILR: updated Cargo.toml * Update steam-sync.py with real time sync * Update configurator.sh with steam syncronization * Update retrodeck.sh with steam syncronization --------- Co-authored-by: Lx32 --- functions/steam-sync/config.toml | 1 + functions/steam-sync/steam-sync.py | 134 ++++++++++++++++++++-------- net.retrodeck.retrodeck.appdata.xml | 1 + net.retrodeck.retrodeck.yml | 4 +- retrodeck.sh | 8 ++ tools/configurator.sh | 42 ++++++++- 6 files changed, 147 insertions(+), 43 deletions(-) diff --git a/functions/steam-sync/config.toml b/functions/steam-sync/config.toml index 6e4acaba..0bdd0e25 100644 --- a/functions/steam-sync/config.toml +++ b/functions/steam-sync/config.toml @@ -1,6 +1,7 @@ debug = false config_version = 1 blacklisted_games = [] +boilr_tag = "retrodeck" [steamgrid_db] enabled = true diff --git a/functions/steam-sync/steam-sync.py b/functions/steam-sync/steam-sync.py index 4d9d3ef6..c4ce90df 100644 --- a/functions/steam-sync/steam-sync.py +++ b/functions/steam-sync/steam-sync.py @@ -6,6 +6,8 @@ import shlex import shutil import glob import sys +import time +import hashlib import xml.etree.ElementTree as ET @@ -266,8 +268,13 @@ alt_command_list={ "Beetle PCE": "flatpak run --command=retroarch net.retrodeck.retrodeck -L /var/config/retroarch/cores/mednafen_pce_libretro.so" } -def create_shortcut_new(games,rdhome): - old_games=os.listdir(rdhome+"/sync/") +exit_file="/tmp/retrodeck_steam_sync_exit" +rdhome="" +roms_folder="" + +def create_shortcut_new(games): + changes=0 + old_games=os.listdir(rdhome+"/.sync/") for game in games: try: @@ -275,8 +282,9 @@ def create_shortcut_new(games,rdhome): old_games[i]=0 except ValueError: print(game[0]+" is a new game!") - - path=rdhome+"/sync/"+game[0] + changes=1 + + path=rdhome+"/.sync/"+game[0] print("Go to path: "+path) if not os.path.exists(path): os.makedirs(path) @@ -300,7 +308,7 @@ def create_shortcut_new(games,rdhome): fl.write(' ]\n') fl.write('}\n') fl.close() - + fl=open(path+"/launch.sh","w") fl.write("#!/bin/bash\n\n") fl.write('if test "$(whereis flatpak)" = "flatpak:"\n') @@ -310,43 +318,25 @@ def create_shortcut_new(games,rdhome): fl.write(game[1]+"\n") fl.write("fi\n") fl.close() - + st=os.stat(path+"/launch.sh") os.chmod(path+"/launch.sh", st.st_mode | 0o0111) - + print("Start removing") print(old_games) for game in old_games: if game: - shutil.rmtree(rdhome+"/sync/"+game) - - os.system("boilr --no-ui") + shutil.rmtree(rdhome+"/.sync/"+game) + changes=1 -def addToSteam(): - print("Open RetroDECK config file: {}".format(os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/retrodeck/retrodeck.cfg"))) + if changes: + os.system("boilr --no-ui") - 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() +def addToSteam(systems): games=[] - - 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") - - if not os.path.exists(rdhome+"/sync/"): - os.makedirs(rdhome+"/sync/") - - if not os.path.exists(os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/boilr/sync")): - os.symlink(rdhome+"/sync",os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/boilr/sync")) - - for system in os.listdir(rdhome+"/gamelists/"): + for system in systems: print("Start parsing system: {}".format(system)) - + f=open(rdhome+"/gamelists/"+system+"/gamelist.xml","r") f.readline() parser=ET.XMLParser() @@ -355,7 +345,7 @@ def addToSteam(): parser.feed(b'') root=parser.close() f.close() - + globalAltEmu="" for subroot in root: if subroot.tag=="alternativeEmulator": @@ -367,7 +357,7 @@ def addToSteam(): name="" favorite="" altemulator=globalAltEmu - for tag in game: + for tag in game: if tag.tag=="path": path=tag.text elif tag.tag=="name": @@ -376,7 +366,7 @@ def addToSteam(): 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:]+"'"]) @@ -391,10 +381,76 @@ def addToSteam(): 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(games,rdhome) + if not games==[]: + create_shortcut_new(games) + +def start_config(): + global rdhome + global roms_folder + global command_list_default + global alt_command_list + + if os.path.isfile(exit_file): + os.remove(exit_file) + + 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") + + if not os.path.exists(rdhome+"/.sync/"): + os.makedirs(rdhome+"/.sync/") + + boilr_path=os.path.expanduser("~/.var/app/net.retrodeck.retrodeck/config/boilr/config.toml") + if os.path.isfile(boilr_path): + with open(boilr_path,"r") as f: + data=f.read() + data=re.sub("\"games_folder.*","games_folder = "+rdhome+"/.sync/\"",data) + with open(boilr_path,"w") as f: + f.write(data) + else: + print("Error! BoilR config not initialized.") if __name__=="__main__": - addToSteam() - + start_config() + + new_hash={} + for system in os.listdir(rdhome+"/gamelists/"): + new_hash[system]=hashlib.md5(open(rdhome+"/gamelists/"+system+"/gamelist.xml","rb").read()).hexdigest() + + running=True + + while running: + time.sleep(30) + systems=[] + + for system in os.listdir(rdhome+"/gamelists/"): + if not system in systems: + if system in new_hash.keys(): + old_hash=new_hash[system] + new_hash[system]=hashlib.md5(open(rdhome+"/gamelists/"+system+"/gamelist.xml","rb").read()).hexdigest() + if not new_hash[system] == old_hash: + print("System {} changed!".format(system)) + systems.append(system) + else: + print("System {} not changed!".format(system)) + else: + new_hash[system]=hashlib.md5(open(rdhome+"/gamelists/"+system+"/gamelist.xml","rb").read()).hexdigest() + print("System {} added!".format(system)) + systems.append(system) + + if os.path.isfile(exit_file): + running=False + os.remove(exit_file) + + addToSteam(systems) print("Finish!") diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 6c301ece..6268d6ba 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -98,6 +98,7 @@

Issues:

    +
  • !!! WARNING !!! Steam Sync is now REPLACING your Standalone BoilR links with RetroDECK's, use it at your own risk!
  • GZDOOM: the controller for player 2+ is not correctly configured
  • quit_retrodeck function seems to not working correctly
  • MAME (Standalone) paths should be fixed
  • diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 031d7f28..bbca335c 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -459,8 +459,8 @@ modules: sources: - type: git url: https://github.com/PhilipK/BoilR - commit: b33d965f227fe971fd590cb022f608521b506ef3 - - rd-submodules/boilr/cargo-lock.json + branch: retro + #- rd-submodules/boilr/cargo-lock.json it's in the repo now, at least on retro branch, check on main later please # RetroArch - START # https://github.com/flathub/org.libretro.RetroArch diff --git a/retrodeck.sh b/retrodeck.sh index 686c3758..d96a2493 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -184,4 +184,12 @@ fi # Normal Startup +if [[ $steam_sync == "true" ]]; then + python3 /app/libexec/steam-sync/steam-sync.py & +fi + start_retrodeck + +if [[ $steam_sync == "true" ]]; then + touch /tmp/retrodeck_steam_sync_exit +fi diff --git a/tools/configurator.sh b/tools/configurator.sh index bfce2fdd..6c48b740 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1151,8 +1151,46 @@ configurator_about_retrodeck_dialog() { } configurator_add_steam() { - python3 /app/libexec/steam-sync/steam-sync.py - configurator_welcome_dialog + 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 current 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 current disabled. Do you want to enable it?\n\nAll the games marked as favorites will be syncronized with Steam thanks to BoilR.\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, restart RetroDECK to get effect." + configurator_welcome_dialog +} + +disable_steam_sync() { + set_setting_value $rd_conf "steam_sync" "false" retrodeck "options" + touch /tmp/retrodeck_steam_sync_exit + configurator_welcome_dialog } configurator_version_history_dialog() { From 8331925305c16f04fb0f09898a419c4e2e6c25f8 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 19 Feb 2024 09:12:31 +0100 Subject: [PATCH 08/25] MAME: fixed reset command --- functions/prepare_component.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 510f2985..0a32e9f6 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -713,9 +713,9 @@ prepare_component() { mkdir -p "/var/config/mame" dir_prep "$saves_folder/mame-sa/hiscore" "/var/config/mame/hiscore" cp -fvr "$emuconfigs/mame/**" "/var/config/mame" - sed -i 's#RETRODECKROMSDIR#'$roms_folder'#g' "/var/config/gzdoom/*.ini" - sed -i 's#RETRODECKHOMESDIR#'$rdhome'#g' "/var/config/gzdoom/*.ini" - sed -i 's#RETRODECKSAVESDIR#'$rdhome'#g' "/var/config/gzdoom/*.ini" + sed -i 's#RETRODECKROMSDIR#'$roms_folder'#g' "/var/config/mame/*.ini" + sed -i 's#RETRODECKHOMESDIR#'$rdhome'#g' "/var/config/mame/*.ini" + sed -i 's#RETRODECKSAVESDIR#'$rdhome'#g' "/var/config/mame/*.ini" fi From 81f5bfbecf62b4d1fa77151d1c03788d39d3d1a8 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 19 Feb 2024 14:58:46 +0100 Subject: [PATCH 09/25] BOILR: moving this module in the proper branch --- net.retrodeck.retrodeck.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index bbca335c..5d895820 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -444,24 +444,6 @@ modules: # External manifests start - - name: boilr - buildsystem: simple - build-options: - append-path: /usr/lib/sdk/rust-stable/bin - env: - # To pick up vendored deps - CARGO_HOME: /run/build/boilr/cargo - RUSTFLAGS: "-L /app/lib/" - build-commands: - - cargo --offline fetch --manifest-path Cargo.toml --verbose - - cargo --offline build --release --verbose --features flatpak - - install -Dm755 ./target/release/boilr -t /app/bin/ - sources: - - type: git - url: https://github.com/PhilipK/BoilR - branch: retro - #- rd-submodules/boilr/cargo-lock.json it's in the repo now, at least on retro branch, check on main later please - # RetroArch - START # https://github.com/flathub/org.libretro.RetroArch From a19c932f1efb834b75d47a43270f3ac0aef515fa Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 19 Feb 2024 15:23:59 +0100 Subject: [PATCH 10/25] APPDATA: fixed wrong help link [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 6268d6ba..0f530fdd 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -8,7 +8,7 @@ RetroDECK Team https://retrodeck.net https://github.com/XargonWan/RetroDECK/issues - http://discord.gg/Dz3szYsP8g + https://retrodeck.readthedocs.io https://github.com/XargonWan/RetroDECK/wiki/FAQs---Frequently-asked-questions https://www.patreon.com/RetroDECK From cb8b3de7d8603b1642a4d541d91859f236ad4302 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 19 Feb 2024 16:21:43 +0100 Subject: [PATCH 11/25] ES-DE: .emulationstation folder is now renamed in ES-DE --- functions/050_save_migration.sh | 6 +++--- functions/functions.sh | 10 +++++----- functions/global.sh | 8 ++++---- functions/post_update.sh | 15 +++++++++++---- functions/prepare_component.sh | 8 ++++---- tools/configurator.sh | 2 +- 6 files changed, 28 insertions(+), 21 deletions(-) diff --git a/functions/050_save_migration.sh b/functions/050_save_migration.sh index 0f53c65c..41213705 100644 --- a/functions/050_save_migration.sh +++ b/functions/050_save_migration.sh @@ -28,12 +28,12 @@ save_migration() { fi # Doing the dir prep as we don't know from which version we came - dir_prep "$media_folder" "/var/config/emulationstation/.emulationstation/downloaded_media" - dir_prep "$themes_folder" "/var/config/emulationstation/.emulationstation/themes" + dir_prep "$media_folder" "/var/config/emulationstation/ES-DE/downloaded_media" + dir_prep "$themes_folder" "/var/config/emulationstation/ES-DE/themes" mkdir -pv $rdhome/logs #this was added later, maybe safe to remove in a few versions # Resetting es_settings, now we need it but in the future I should think a better solution, maybe with sed - cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml + cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/ES-DE/es_settings.xml # 0.4 -> 0.5 # Perform save and state migration if needed diff --git a/functions/functions.sh b/functions/functions.sh index 70627152..a03d1e35 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -486,9 +486,9 @@ install_retrodeck_starterpack() { ## DOOM section ## cp /app/retrodeck/extras/doom1.wad "$roms_folder/doom/doom1.wad" # No -f in case the user already has it - mkdir -p "/var/config/emulationstation/.emulationstation/gamelists/doom" - if [[ ! -f "/var/config/emulationstation/.emulationstation/gamelists/doom/gamelist.xml" ]]; then # Don't overwrite an existing gamelist - cp "/app/retrodeck/rd_prepacks/doom/gamelist.xml" "/var/config/emulationstation/.emulationstation/gamelists/doom/gamelist.xml" + mkdir -p "/var/config/emulationstation/ES-DE/gamelists/doom" + if [[ ! -f "/var/config/emulationstation/ES-DE/gamelists/doom/gamelist.xml" ]]; then # Don't overwrite an existing gamelist + cp "/app/retrodeck/rd_prepacks/doom/gamelist.xml" "/var/config/emulationstation/ES-DE/gamelists/doom/gamelist.xml" fi mkdir -p "$media_folder/doom" unzip -oq "/app/retrodeck/rd_prepacks/doom/doom.zip" -d "$media_folder/doom/" @@ -519,8 +519,8 @@ update_splashscreens() { # This script will purge any existing ES graphics and reload them from RO space into somewhere ES will look for it # USAGE: update_splashscreens - rm -rf /var/config/emulationstation/.emulationstation/resources/graphics - rsync -rlD --mkpath "/app/retrodeck/graphics/" "/var/config/emulationstation/.emulationstation/resources/graphics/" + rm -rf /var/config/emulationstation/ES-DE/resources/graphics + rsync -rlD --mkpath "/app/retrodeck/graphics/" "/var/config/emulationstation/ES-DE/resources/graphics/" } deploy_helper_files() { diff --git a/functions/global.sh b/functions/global.sh index 5c61ecd3..b71b1b3e 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -25,9 +25,9 @@ zip_compressable_extensions="$emuconfigs/defaults/retrodeck/reference_lists/zip_ easter_egg_checklist="$emuconfigs/defaults/retrodeck/reference_lists/easter_egg_checklist.cfg" # A config file listing days and times when special splash screens should show up input_validation="$emuconfigs/defaults/retrodeck/reference_lists/input_validation.cfg" # A config file listing valid CLI inputs finit_options_list="$emuconfigs/defaults/retrodeck/reference_lists/finit_options_list.cfg" # A config file listing available optional installs during finit -splashscreen_dir="/var/config/emulationstation/.emulationstation/resources/graphics/extra_splashes" # The default location of extra splash screens -current_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash.svg" # The active splash file that will be shown on boot -default_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash-orig.svg" # The default RetroDECK splash screen +splashscreen_dir="/var/config/emulationstation/ES-DE/resources/graphics/extra_splashes" # The default location of extra splash screens +current_splash_file="/var/config/emulationstation/ES-DE/resources/graphics/splash.svg" # The active splash file that will be shown on boot +default_splash_file="/var/config/emulationstation/ES-DE/resources/graphics/splash-orig.svg" # The default RetroDECK splash screen multi_user_emulator_config_dirs="$emuconfigs/defaults/retrodeck/reference_lists/multi_user_emulator_config_dirs.cfg" # A list of emulator config folders that can be safely linked/unlinked entirely in multi-user mode rd_es_themes="/app/share/emulationstation/themes" # The directory where themes packaged with RetroDECK are stored lockfile="/var/config/retrodeck/.lock" # where the lockfile is located @@ -58,7 +58,7 @@ yuzuconf="/var/config/yuzu/qt-config.ini" # ES-DE config files -es_settings="/var/config/emulationstation/.emulationstation/es_settings.xml" +es_settings="/var/config/emulationstation/ES-DE/es_settings.xml" # RetroArch config files diff --git a/functions/post_update.sh b/functions/post_update.sh index 8f118b76..ec9acee5 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -124,7 +124,7 @@ post_update() { dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture" "/var/config/retroarch/system/Mupen64plus/hires_texture" dir_prep "$texture_packs_folder/Duckstation" "/var/config/duckstation/textures" - dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists" + dir_prep "$rdhome/gamelists" "/var/config/emulationstation/ES-DE/gamelists" dir_prep "$borders_folder" "/var/config/retroarch/overlays/borders" rsync -rlD --mkpath "/app/retrodeck/emu-configs/retroarch/borders/" "/var/config/retroarch/overlays/borders/" @@ -172,7 +172,7 @@ post_update() { dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" rm -rf /var/config/retrodeck/tools - rm -rf /var/config/emulationstation/.emulationstation/gamelists/tools/ + rm -rf /var/config/emulationstation/ES-DE/gamelists/tools/ mv "$saves_folder/gc/dolphin/EUR" "$saves_folder/gc/dolphin/EU" mv "$saves_folder/gc/dolphin/USA" "$saves_folder/gc/dolphin/US" @@ -195,8 +195,8 @@ post_update() { sed -i '$ a ' "$es_settings" # Add new default line to existing file set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" unlink "/var/config/emulationstation/ROMs" - unlink "/var/config/emulationstation/.emulationstation/downloaded_media" - unlink "/var/config/emulationstation/.emulationstation/themes" + unlink "/var/config/emulationstation/ES-DE/downloaded_media" + unlink "/var/config/emulationstation/ES-DE/themes" set_setting_value "$raconf" "savestate_auto_load" "false" "retroarch" set_setting_value "$raconf" "savestate_auto_save" "false" "retroarch" @@ -241,8 +241,15 @@ post_update() { # - Install RetroDECK controller profile in desired location TODO # - Change section name in retrodeck.cfg for ABXY button swap preset sed -i 's^nintendo_button_layout^abxy_button_swap^' "$rd_conf" # This is a one-off sed statement as there are no functions for replacing section names + mv -f /var/config/emulationstation/.emulationstation /var/config/emulationstation/ES-DE # in 3.0 .emulationstation was moved into ES-DE + ln -s /var/config/emulationstation/ES-DE /var/config/emulationstation/.emulationstation # symlinking it to mantain the compatibility # TODO: remove this symlink n 0.9.0b fi + # if [[ $prev_version -le "090" ]]; then + # # Placeholder for version 0.9.0b + # rm /var/config/emulationstation/.emulationstation # remving the old symlink to .emulationstation as it might be not needed anymore + # fi + # The following commands are run every time. if [[ -d "/var/data/dolphin-emu/Load/DynamicInputTextures" ]]; then # Refresh installed textures if they have been enabled diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 0a32e9f6..206fc3dc 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -40,12 +40,12 @@ prepare_component() { if [[ "$component" =~ ^(es-de|ES-DE|all)$ ]]; then # For use after ESDE-related folders are moved or a reset if [[ "$action" == "reset" ]]; then rm -rf /var/config/emulationstation/ - mkdir -p /var/config/emulationstation/.emulationstation/ - cp -f /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml + mkdir -p /var/config/emulationstation/ES-DE/ + cp -f /app/retrodeck/es_settings.xml /var/config/emulationstation/ES-DE/es_settings.xml set_setting_value "$es_settings" "ROMDirectory" "$roms_folder" "es_settings" set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" - dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists" + dir_prep "$rdhome/gamelists" "/var/config/emulationstation/ES-DE/gamelists" emulationstation --home /var/config/emulationstation --create-system-dirs update_splashscreens fi @@ -53,7 +53,7 @@ prepare_component() { set_setting_value "$es_settings" "ROMDirectory" "$roms_folder" "es_settings" set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" - dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists" + dir_prep "$rdhome/gamelists" "/var/config/emulationstation/ES-DE/gamelists" fi fi diff --git a/tools/configurator.sh b/tools/configurator.sh index 6c48b740..d474a279 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1349,7 +1349,7 @@ configurator_usb_import_dialog() { if [[ ! -z "$choice" ]]; then emulationstation --home "$choice" --create-system-dirs - rm -rf "$choice/.emulationstation" # Cleanup unnecessary folder + rm -rf "$choice/ES-DE" # Cleanup unnecessary folder fi else configurator_generic_dialog "RetroDeck Configurator - USB Import" "There were no USB devices found." From 870121b42b7f5753026f431859698e01f0b63939 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 19 Feb 2024 16:22:05 +0100 Subject: [PATCH 12/25] ES-DE: updated xml files --- es-configs/es_find_rules.xml | 82 ++++++++--- es-configs/es_settings.xml | 2 +- es-configs/es_systems.xml | 265 +++++++++++++++++++++++------------ 3 files changed, 238 insertions(+), 111 deletions(-) diff --git a/es-configs/es_find_rules.xml b/es-configs/es_find_rules.xml index a7b5f073..112a4a40 100644 --- a/es-configs/es_find_rules.xml +++ b/es-configs/es_find_rules.xml @@ -1,5 +1,5 @@ - + @@ -42,10 +42,6 @@ /usr/lib64/libretro /usr/lib/libretro - - /usr/local/lib/libretro - - /usr/pkg/lib/libretro @@ -69,6 +65,18 @@ ~/bin/advancemame/advmame + + + + amiberry + + + ~/Applications/amiberry/amiberry + ~/.local/share/applications/amiberry/amiberry + ~/.local/bin/amiberry/amiberry + ~/bin/amiberry/amiberry + + @@ -318,24 +326,35 @@ org.flycast.Flycast - ~/Applications/flycast*.AppImage - ~/.local/share/applications/flycast*.AppImage - ~/.local/bin/flycast*.AppImage - ~/bin/flycast*.AppImage + ~/Applications/flycast-x86*.AppImage + ~/.local/share/applications/flycast-x86*.AppImage + ~/.local/bin/flycast-x86*.AppImage + ~/bin/flycast-x86*.AppImage /var/lib/flatpak/exports/bin/org.flycast.Flycast ~/.local/share/flatpak/exports/bin/org.flycast.Flycast + + + + flycast-dojo + + + ~/Applications/flycast-dojo*.AppImage + ~/.local/share/applications/flycast-dojo*.AppImage + ~/.local/bin/flycast-dojo*.AppImage + ~/bin/flycast-dojo*.AppImage + + - fs-uae - fsuae.fs-uae - net.fsuae.FS-UAE + fs-uae-launcher + fsuae.launcher - /var/lib/flatpak/exports/bin/net.fsuae.FS-UAE - ~/.local/share/flatpak/exports/bin/net.fsuae.FS-UAE + /var/lib/flatpak/exports/bin/net.fsuae.FS-UAE|flatpak run --command=fs-uae-launcher net.fsuae.FS-UAE + ~/.local/share/flatpak/exports/bin/net.fsuae.FS-UAE|flatpak run --command=fs-uae-launcher net.fsuae.FS-UAE @@ -649,6 +668,8 @@ ~/.local/share/applications/punes/punes ~/.local/bin/punes/punes ~/bin/punes/punes + /var/lib/flatpak/exports/bin/io.github.punesemu.puNES + ~/.local/share/flatpak/exports/bin/io.github.punesemu.puNES @@ -721,16 +742,22 @@ - Ryujinx.sh + Ryujinx.sh + Ryujinx + Ryujinx.Ava org.ryujinx.Ryujinx /var/lib/flatpak/exports/bin/org.ryujinx.Ryujinx ~/.local/share/flatpak/exports/bin/org.ryujinx.Ryujinx - ~/Applications/publish/Ryujinx.sh - ~/.local/share/applications/publish/Ryujinx.sh - ~/.local/bin/publish/Ryujinx.sh - ~/bin/publish/Ryujinx.sh + ~/Applications/publish/Ryujinx + ~/.local/share/applications/publish/Ryujinx + ~/.local/bin/publish/Ryujinx + ~/bin/publish/Ryujinx + ~/Applications/publish/Ryujinx.Ava + ~/.local/share/applications/publish/Ryujinx.Ava + ~/.local/bin/publish/Ryujinx.Ava + ~/bin/publish/Ryujinx.Ava @@ -868,6 +895,19 @@ ~/.local/share/applications/Supermodel/supermodel ~/.local/bin/Supermodel/supermodel ~/bin/Supermodel/supermodel + /var/lib/flatpak/exports/bin/com.supermodel3.Supermodel + ~/.local/share/flatpak/exports/bin/com.supermodel3.Supermodel + + + + + + tic80 + com.tic80.TIC_80 + + + /var/lib/flatpak/exports/bin/com.tic80.TIC_80 + ~/.local/share/flatpak/exports/bin/com.tic80.TIC_80 @@ -950,6 +990,10 @@ Vita3K + ~/Applications/Vita3K*.AppImage + ~/.local/share/applications/Vita3K*.AppImage + ~/.local/bin/Vita3K*.AppImage + ~/bin/Vita3K*.AppImage ~/Applications/Vita3K/Vita3K ~/.local/share/applications/Vita3K/Vita3K ~/.local/bin/Vita3K/Vita3K diff --git a/es-configs/es_settings.xml b/es-configs/es_settings.xml index a88a2ba8..cad78b67 100644 --- a/es-configs/es_settings.xml +++ b/es-configs/es_settings.xml @@ -145,7 +145,7 @@ - + diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 832d37a9..9baca300 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1,5 +1,5 @@ - + 3do @@ -30,8 +30,8 @@ Adventure Game Studio Game Engine %ROMPATH%/ags .desktop .sh - %STARTDIR%=%GAMEDIR% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% - ags + %STARTDIR%=%GAMEDIR% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% + pcwindows ags --> @@ -39,9 +39,11 @@ amiga Commodore Amiga %ROMPATH%/amiga - .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .rp9 .RP9 .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .uae .UAE .7z .7Z .zip .ZIP + .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .rp9 .RP9 .uae .UAE .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae2021_libretro.so %ROM% + %EMULATOR_FS-UAE% %ROM% + %STARTDIR%=%EMUDIR% %EMULATOR_AMIBERRY% --autoload %ROM% amiga amiga @@ -49,9 +51,11 @@ amiga1200 Commodore Amiga 1200 %ROMPATH%/amiga1200 - .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .rp9 .RP9 .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .uae .UAE .7z .7Z .zip .ZIP + .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .rp9 .RP9 .uae .UAE .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae2021_libretro.so %ROM% + %EMULATOR_FS-UAE% %ROM% + %STARTDIR%=%EMUDIR% %EMULATOR_AMIBERRY% --autoload %ROM% amiga amiga1200 @@ -59,9 +63,11 @@ amiga600 Commodore Amiga 600 %ROMPATH%/amiga600 - .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .rp9 .RP9 .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .uae .UAE .7z .7Z .zip .ZIP + .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .rp9 .RP9 .uae .UAE .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae2021_libretro.so %ROM% + %EMULATOR_FS-UAE% %ROM% + %STARTDIR%=%EMUDIR% %EMULATOR_AMIBERRY% --autoload %ROM% amiga amiga600 @@ -69,9 +75,11 @@ amigacd32 Commodore Amiga CD32 %ROMPATH%/amigacd32 - .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .rp9 .RP9 .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .uae .UAE .7z .7Z .zip .ZIP + .adf .ADF .adz .ADZ .ccd .CCD .chd .CHD .cue .CUE .dms .DMS .fdi .FDI .hdf .HDF .hdz .HDZ .ipf .IPF .iso .ISO .lha .LHA .m3u .M3U .mds .MDS .nrg .NRG .rp9 .RP9 .uae .UAE .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae2021_libretro.so %ROM% + %EMULATOR_FS-UAE% --config:amiga-model=CD32 %ROM% + %STARTDIR%=%EMUDIR% %EMULATOR_AMIBERRY% --model CD32 --autoload %ROM% amigacd32 amigacd32 @@ -104,6 +112,7 @@ .do .DO .dsk .DSK .nib .NIB .po .PO + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "apple2e -rompath \"%GAMEDIRRAW%;%ROMPATH%/apple2\" -flop1 \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/apple2 apple2e -flop1 %ROM% apple2 apple2 @@ -114,7 +123,7 @@ Apple IIGS %ROMPATH%/apple2gs .2mg .2MG .7z .7z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "apple2gs -rompath %GAMEDIR%\;%ROMPATH%/apple2gs -flop3 \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "apple2gs -rompath \"%GAMEDIRRAW%;%ROMPATH%/apple2gs\" -flop3 \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/apple2gs apple2gs -flop3 %ROM% apple2gs apple2gs @@ -135,9 +144,9 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% %EMULATOR_FLYCAST% %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/kronos_libretro.so %ROM% - %STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -force-feedback %INJECT%=%BASENAME%.commands %ROM% - %STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM% + %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% arcade arcade @@ -148,7 +157,7 @@ Emerson Arcadia 2001 %ROMPATH%/arcadia .bin .BIN .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "arcadia -rompath %GAMEDIR%\;%ROMPATH%/arcadia -cart \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "arcadia -rompath \"%GAMEDIRRAW%;%ROMPATH%/arcadia\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/arcadia arcadia -cart %ROM% arcadia arcadia @@ -181,7 +190,7 @@ Bally Astrocade %ROMPATH%/astrocde .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "astrocde -rompath \"%GAMEDIRRAW%;%ROMPATH%/astrocde\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/astrocde astrocde -cart %BASENAME% astrocde astrocade @@ -216,6 +225,7 @@ %ROMPATH%/atari7800 .a78 .A78 .bin .BIN .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prosystem_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "a7800 -rompath \"%GAMEDIRRAW%;%ROMPATH%/atari7800\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/atari7800 a7800 -cart %ROM% atari7800 atari7800 @@ -289,9 +299,10 @@ atomiswave Sammy Corporation Atomiswave %ROMPATH%/atomiswave - .bin .BIN .cdi .CDI .cue .CUE .dat .DAT .elf .ELF .gdi .GDI .iso .ISO .lst .LST .m3u .M3U .7z .7Z .zip .ZIP + .bin .BIN .dat .DAT .elf .ELF .lst .LST .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% + arcade atomiswave @@ -320,15 +331,6 @@ c64 c64 - - cavestory - Cave Story (NXEngine) - %ROMPATH%/cavestory - .exe .EXE .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nxengine_libretro.so %ROM% - cavestory - cavestory - cdimono1 Philips CD-i @@ -347,6 +349,8 @@ .ccd .CCD .chd .CHD .cue .CUE .iso .ISO .m3u .M3U .mds .MDS .nrg .NRG .rp9 .RP9 .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/puae2021_libretro.so %ROM% + + cdtv cdtv @@ -365,6 +369,8 @@ %ROMPATH%/channelf .bin .BIN .chf .CHF .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freechaf_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "channelf -rompath \"%GAMEDIRRAW%;%ROMPATH%/channelf\" -cart \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/channelf channelf -cart %ROM% channelf channelf @@ -401,6 +407,7 @@ %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/consolearcade %BASENAME% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/kronos_libretro.so %ROM% @@ -498,11 +505,12 @@ daphne Daphne Arcade LaserDisc Emulator %ROMPATH%/daphne - .daphne .singe .7z .7Z .zip .ZIP + .daphne .dirksimple .ogv .OGV .singe .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM% %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/daphne %BASENAME% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dirksimple_libretro.so %ROM% daphne, arcade daphne @@ -511,7 +519,7 @@ doom Doom %ROMPATH%/doom - .doom .DOOM .desktop .iwad .IWAD .pk4 .PK4 .pk3 .PK3 .pwad .PWAD .sh .wad .WAD .ipk3 .IPK3 + .doom .DOOM .desktop .ipk3 .IPK3 .iwad .IWAD .pk3 .PK3 .pk4 .PK4 .pwad .PWAD .sh .wad .WAD gzdoom.sh %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/prboom_libretro.so %ROM% @@ -550,9 +558,10 @@ dreamcast Sega Dreamcast %ROMPATH%/dreamcast - .chd .CHD .cdi .CDI .iso .ISO .elf .ELF .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + .cdi .CDI .chd .CHD .cue .CUE .dat .DAT .elf .ELF .gdi .GDI .iso .ISO .lst .LST .m3u .M3U .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% + dreamcast dreamcast @@ -609,6 +618,8 @@ + + famicom famicom @@ -683,9 +694,10 @@ fmtowns Fujitsu FM Towns %ROMPATH%/fmtowns - .cue .CUE .iso .ISO .7z .7Z .zip .ZIP + .cdr .CDR .chd .CHD .cue .CUE .gdi .GDI .iso .ISO + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "fmtownshr -rompath \"%GAMEDIRRAW%;%ROMPATH%/fmtowns\" -cdrom \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/fmtowns fmtowns %BASENAME% - %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/fmtowns fmtowns %BASENAME% fmtowns fmtowns @@ -707,7 +719,7 @@ Bit Corporation Gamate %ROMPATH%/gamate .bin .BIN .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "gamate -rompath %GAMEDIR%\;%ROMPATH%/gamate -cart \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "gamate -rompath \"%GAMEDIRRAW%;%ROMPATH%/gamate\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gamate gamate -cart %ROM% gamate gamate @@ -718,6 +730,7 @@ Nintendo Game and Watch %ROMPATH%/gameandwatch .mgw .MGW .7z .7Z .zip .ZIP + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM% %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gameandwatch %BASENAME% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.so %ROM% @@ -730,7 +743,7 @@ Tiger Electronics Game.com %ROMPATH%/gamecom .tgc .TGC .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "gamecom -rompath %GAMEDIR%\;%ROMPATH%/gamecom -cartridge1 \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "gamecom -rompath \"%GAMEDIRRAW%;%ROMPATH%/gamecom\" -cartridge1 \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gamecom gamecom -cartridge1 %ROM% gamecom gamecom @@ -747,6 +760,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/smsplus_libretro.so %ROM% + gamegear gamegear @@ -762,6 +776,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearboy_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/tgbdual_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/DoubleCherryGB_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM% @@ -769,6 +784,9 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vbam_libretro.so %ROM% + + + gb gb @@ -783,6 +801,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vba_next_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gpsp_libretro.so %ROM% + gba @@ -799,6 +818,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearboy_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/tgbdual_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/DoubleCherryGB_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bsnes_libretro.so %ROM% @@ -806,6 +826,9 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vbam_libretro.so %ROM% + + + gbc gbc @@ -842,7 +865,7 @@ Hartung Game Master %ROMPATH%/gmaster .bin .BIN .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "gmaster -rompath %GAMEDIR%\;%ROMPATH%/gmaster -cart \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "gmaster -rompath \"%GAMEDIRRAW%;%ROMPATH%/gmaster\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gmaster gmaster -cart %ROM% gmaster gmaster @@ -863,8 +886,10 @@ intellivision Mattel Electronics Intellivision %ROMPATH%/intellivision - .int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP + .bin .BIN .int .INT .rom .ROM .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/freeintv_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "intv -rompath \"%GAMEDIRRAW%;%ROMPATH%/intellivision\" -cart \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/intellivision intv -cart %ROM% intellivision intellivision @@ -877,22 +902,11 @@ android j2me - laserdisc LaserDisc Games %ROMPATH%/laserdisc - .daphne .singe .7z .7Z .zip .ZIP + .daphne .dirksimple .ogv .OGV .singe .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM% @@ -905,6 +919,7 @@ LCD Handheld Games %ROMPATH%/lcdgames .mgw .MGW .7z .7Z .zip .ZIP + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so %ROM% %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/lcdgames %BASENAME% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gw_libretro.so %ROM% @@ -946,9 +961,9 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fbalpha2012_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/kronos_libretro.so %ROM% - %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% arcade mame @@ -975,6 +990,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM% + mastersystem mastersystem @@ -1024,6 +1040,8 @@ %ROMPATH%/megaduck .bin .BIN .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/sameduck_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "megaduck -rompath \"%GAMEDIRRAW%;%ROMPATH%/megaduck\" -cart \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/megaduck megaduck -cart %ROM% megaduck megaduck @@ -1056,7 +1074,6 @@ %ROMPATH%/model3 .7z .7Z .zip .ZIP %STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -force-feedback %INJECT%=%BASENAME%.commands %ROM% - %STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM% arcade model3 @@ -1074,7 +1091,7 @@ moto Thomson MO/TO Series %ROMPATH%/moto - .fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP + .fd .FD .k7 .K7 .m5 .M5 .m7 .M7 .rom .ROM .sap .SAP .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.so %ROM% moto moto @@ -1146,6 +1163,7 @@ %ROMPATH%/multivision .bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM% + sg-1000 multivision @@ -1182,6 +1200,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/parallel_n64_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mupen64plus_next_libretro.so %ROM% + n64 n64dd @@ -1189,9 +1208,10 @@ naomi Sega NAOMI %ROMPATH%/naomi - .cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + .bin .BIN .dat .DAT .elf .ELF .lst .LST .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% + arcade naomi @@ -1202,6 +1222,7 @@ .bin .BIN .dat .DAT .elf .ELF .lst .LST .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% + arcade naomi2 @@ -1212,6 +1233,7 @@ .bin .BIN .dat .DAT .elf .ELF .lst .LST .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/flycast_libretro.so %ROM% + arcade naomigd @@ -1224,6 +1246,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/desmume2015_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/melonds_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/melondsds_libretro.so %ROM% %EMULATOR_MELONDS% %ROM% nds @@ -1268,7 +1291,7 @@ nes Nintendo Entertainment System %ROMPATH%/nes - .fds .FDS .nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP + .3dsen .3DSEN .fds .FDS .nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nestopia_libretro.so %ROM% @@ -1300,7 +1323,7 @@ ngp SNK Neo Geo Pocket %ROMPATH%/ngp - .ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP + .ngc .NGC .ngp .NGP .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/race_libretro.so %ROM% @@ -1312,7 +1335,7 @@ ngpc SNK Neo Geo Pocket Color %ROMPATH%/ngpc - .ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP + .ngc .NGC .ngp .NGP .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_ngp_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/race_libretro.so %ROM% @@ -1322,10 +1345,12 @@ odyssey2 - Magnavox Odyssey2 + Magnavox Odyssey 2 %ROMPATH%/odyssey2 .bin .BIN .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "odyssey2 -rompath \"%GAMEDIRRAW%;%ROMPATH%/odyssey2\" -cart \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/odyssey2 odyssey2 -cart %ROM% odyssey2 odyssey2 @@ -1355,7 +1380,7 @@ palm Palm OS %ROMPATH%/palm - .prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP + .img .IMG .pqa .PQA .prc .PRC .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mu_libretro.so %ROM% palm palm @@ -1374,7 +1399,7 @@ pc98 NEC PC-9800 Series %ROMPATH%/pc98 - .2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .m3u .M3U .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP + .2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .m3u .M3U .nhd .NHD .tfd .TFD .thd .THD .xdf .XDF .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/np2kai_libretro.so %ROM% %STARTDIR%=%GAMEDIR% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/nekop2_libretro.so %ROM% pc98 @@ -1388,6 +1413,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM% + pcengine pcengine @@ -1400,6 +1426,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM% + pcenginecd pcenginecd @@ -1421,6 +1448,7 @@ .p8 .P8 .png .PNG %EMULATOR_PICO-8% -desktop_path ~/retrodeck/screenshots -root_path %GAMEDIR% -run %ROM% %EMULATOR_PICO-8% -desktop_path ~/retrodeck/screenshots -root_path %GAMEDIR% -splore + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/retro8_libretro.so %ROM% pico8 pico8 @@ -1447,9 +1475,13 @@ ports Ports %ROMPATH%/ports - .AppImage .desktop .sh + .AppImage .desktop .exe .EXE .game .GAME .phd .PHD .psx .PSX .sh %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% %EMULATOR_OS-SHELL% -c "%ROM%" + + + + pc, pcwindows ports @@ -1457,7 +1489,7 @@ ps2 Sony PlayStation 2 %ROMPATH%/ps2 - .arcadedef .bin .BIN .chd .CHD .ciso .CISO .cso .CSO .dump .DUMP .elf .ELF .gz .GZ .m3u .M3U .mdf .MDF .img .IMG .iso .ISO .isz .ISZ .ngr .NRG + .arcadedef .bin .BIN .chd .CHD .ciso .CISO .cso .CSO .dump .DUMP .elf .ELF .gz .GZ .m3u .M3U .mdf .MDF .img .IMG .iso .ISO .isz .ISZ .ngr .NRG .zso .ZSO %EMULATOR_PCSX2% -batch %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx2_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx2_libretro.so %ROM% @@ -1491,7 +1523,7 @@ psp Sony PlayStation Portable %ROMPATH%/psp - .elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP + .chd .CHD .cso .CSO .elf .ELF .iso .ISO .pbp .PBP .prx .PRX .7z .7Z .zip .ZIP %EMULATOR_PPSSPP% %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/ppsspp_libretro.so %ROM% psp @@ -1519,6 +1551,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx_rearmed_libretro.so %ROM% %EMULATOR_DUCKSTATION% -batch %ROM% + psx psx @@ -1528,6 +1561,7 @@ Casio PV-1000 %ROMPATH%/pv1000 .bin .BIN .7z .7Z .zip .ZIP + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "pv1000 -rompath \"%GAMEDIRRAW%;%ROMPATH%/pv1000\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/pv1000 pv1000 -cart %ROM% pv1000 pv1000 @@ -1553,7 +1587,7 @@ samcoupe MGT SAM Coupé %ROMPATH%/samcoupe - .dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP + .dsk .DSK .mgt .MGT .sad .SAD .sbt .SBT .7z .7Z .zip .ZIP %EMULATOR_SIMCOUPE% %ROM% samcoupe samcoupe @@ -1581,7 +1615,7 @@ saturn Sega Saturn %ROMPATH%/saturn - .bin .BIN .ccd .CCD .chd .CHD .cue .CUE .iso .ISO .mds .MDS .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP + .bin .BIN .ccd .CCD .chd .CHD .cue .CUE .iso .ISO .m3u .M3U .mds .MDS .toc .TOC .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/kronos_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/yabasanshiro_libretro.so %ROM% @@ -1594,7 +1628,7 @@ saturnjp Sega Saturn %ROMPATH%/saturnjp - .bin .BIN .ccd .CCD .chd .CHD .cue .CUE .iso .ISO .mds .MDS .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP + .bin .BIN .ccd .CCD .chd .CHD .cue .CUE .iso .ISO .m3u .M3U .mds .MDS .toc .TOC .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_saturn_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/kronos_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/yabasanshiro_libretro.so %ROM% @@ -1619,7 +1653,7 @@ Epoch Super Cassette Vision %ROMPATH%/scv .0 .bin .BIN .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "scv -rompath %GAMEDIR%\;%ROMPATH%/scv -cart \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "scv -rompath \"%GAMEDIRRAW%;%ROMPATH%/scv\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/scv scv -cart %ROM% scv scv @@ -1629,7 +1663,7 @@ sega32x Sega Mega Drive 32X %ROMPATH%/sega32x - .bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + .32x .32X .68k .68K .bin .BIN .cue .CUE .gen .GEN .iso .ISO .md .MD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM% sega32x @@ -1639,7 +1673,7 @@ sega32xjp Sega Super 32X %ROMPATH%/sega32xjp - .bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + .32x .32X .68k .68K .bin .BIN .cue .CUE .gen .GEN .iso .ISO .md .MD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM% sega32x @@ -1649,7 +1683,7 @@ sega32xna Sega Genesis 32X %ROMPATH%/sega32xna - .bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + .32x .32X .68k .68K .bin .BIN .cue .CUE .gen .GEN .iso .ISO .md .MD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM% sega32x @@ -1681,6 +1715,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supafaust_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM% + snes @@ -1695,6 +1730,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM% + sg-1000 sg-1000 @@ -1705,9 +1741,11 @@ %ROMPATH%/sgb .gb .GB .gbc .GBC .sgb .SGB .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM% + + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/sameboy_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mgba_libretro.so %ROM% - gb + sgb sgb @@ -1724,6 +1762,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supafaust_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM% + snes @@ -1743,6 +1782,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supafaust_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mesen-s_libretro.so %ROM% + snes @@ -1763,20 +1803,11 @@ spectravideo Spectravideo %ROMPATH%/spectravideo - .rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + .cas .CAS .col .COL .dsk .DSK .m3u .M3U .mx1 .MX1 .mx2 .MX2 .ri .RI .rom .ROM .sc .SC .sg .SG .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/bluemsx_libretro.so %ROM% spectravideo spectravideo - - stratagus - Stratagus Game Engine - %ROMPATH%/stratagus - .7z .7Z .zip .ZIP - PLACEHOLDER %ROM% - stratagus - stratagus - stv Sega Titan Video Game System @@ -1809,9 +1840,11 @@ supergrafx NEC SuperGrafx %ROMPATH%/supergrafx - .pce .PCE .sgx .SGX .cue .CUE .ccd .CCD .chd .CHD .7z .7Z .zip .ZIP + .ccd .CCD .chd .CHD .cue .CUE .pce .PCE .sgx .SGX .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_supergrafx_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM% + + supergrafx supergrafx @@ -1822,6 +1855,8 @@ %ROMPATH%/supervision .bin .BIN .sv .SV .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/potator_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "svision -rompath \"%GAMEDIRRAW%;%ROMPATH%/supervision\" -cart \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/supervision svision -cart %ROM% supervision supervision @@ -1831,7 +1866,7 @@ Funtech Super A'Can %ROMPATH%/supracan .bin .BIN .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "supracan -rompath %GAMEDIR%\;%ROMPATH%/supracan -cart \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "supracan -rompath \"%GAMEDIRRAW%;%ROMPATH%/supracan\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/supracan supracan -cart %ROM% supracan supracan @@ -1879,6 +1914,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM% + pcengine tg16 @@ -1891,6 +1927,7 @@ %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_libretro.so %ROM% %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_pce_fast_libretro.so %ROM% + pcenginecd tg-cd @@ -1908,10 +1945,11 @@ tic80 - TIC-80 Game Engine + TIC-80 Fantasy Computer %ROMPATH%/tic80 .tic .TIC %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/tic80_libretro.so %ROM% + tic80 tic80 @@ -1919,7 +1957,7 @@ to8 Thomson TO8 %ROMPATH%/to8 - .fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP + .fd .FD .k7 .K7 .m5 .M5 .m7 .M7 .rom .ROM .sap .SAP .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/theodore_libretro.so %ROM% moto to8 @@ -1969,10 +2007,12 @@ vectrex - Smith Engineering Vectrex + GCE Vectrex %ROMPATH%/vectrex - .bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP + .bin .BIN .gam .GAM .vc .VC .vec .VEC .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/vecx_libretro.so %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "vectrex -rompath \"%GAMEDIRRAW%;%ROMPATH%/vectrex\" -cart \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/vectrex vectrex -cart %ROM% vectrex vectrex @@ -1992,14 +2032,16 @@ %ROMPATH%/videopac .bin .BIN .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/o2em_libretro.so %ROM% - videopac + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "videopac -rompath \"%GAMEDIRRAW%;%ROMPATH%/videopac\" -cart \"%ROMRAW%\"" + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/videopac videopac -cart %ROM% + odyssey2 videopac virtualboy Nintendo Virtual Boy %ROMPATH%/virtualboy - .vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP + .bin .BIN .vb .VB .vboy .VBOY .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_vb_libretro.so %ROM% virtualboy @@ -2011,7 +2053,7 @@ Visual Pinball %ROMPATH%/vpinball .vpt .VPT .vpx .VPX - %EMULATOR_VISUAL-PINBALL% -Minimized -Play %ROM% + %EMULATOR_VISUAL-PINBALL% -play %ROM% vpinball vpinball @@ -2022,7 +2064,7 @@ VTech V.Smile %ROMPATH%/vsmile .bin .BIN .7z .7Z .zip .ZIP - %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "vsmile -rompath %GAMEDIR%\;%ROMPATH%/vsmile -cart \"%ROMRAW%\"" + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mame_libretro.so "vsmile -rompath \"%GAMEDIRRAW%;%ROMPATH%/vsmile\" -cart \"%ROMRAW%\"" %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/vsmile vsmile -cart %ROM% vsmile vsmile @@ -2057,14 +2099,55 @@ wiiu wiiu + + windows + Microsoft Windows + %ROMPATH%/windows + .AppImage .desktop .sh + %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% + %RUNINBACKGROUND% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% + %EMULATOR_OS-SHELL% -c "%ROM%" + %RUNINBACKGROUND% %EMULATOR_OS-SHELL% -c "%ROM%" + pcwindows + windows + + + windows3x + Microsoft Windows 3.x + %ROMPATH%/windows3x + .AppImage .bat .BAT .desktop .dosz .DOSZ .sh .7z .7Z .zip .ZIP + %STARTDIR%=%GAMEDIR% %EMULATOR_DOSBOX-X% -defaultdir %GAMEDIR% %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_pure_libretro.so %ROM% + %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% + %RUNINBACKGROUND% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% + %EMULATOR_OS-SHELL% -c "%ROM%" + %RUNINBACKGROUND% %EMULATOR_OS-SHELL% -c "%ROM%" + windows3x + windows3x + + + windows9x + Microsoft Windows 9x + %ROMPATH%/windows9x + .AppImage .bat .BAT .desktop .dosz .DOSZ .sh .7z .7Z .zip .ZIP + %STARTDIR%=%GAMEDIR% %EMULATOR_DOSBOX-X% -defaultdir %GAMEDIR% %ROM% + %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dosbox_pure_libretro.so %ROM% + %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% + %RUNINBACKGROUND% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% + %EMULATOR_OS-SHELL% -c "%ROM%" + %RUNINBACKGROUND% %EMULATOR_OS-SHELL% -c "%ROM%" + pcwindows + windows9x + wonderswan Bandai WonderSwan %ROMPATH%/wonderswan - .ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP + .pc2 .PC2 .ws .WS .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.so %ROM% + wonderswan wonderswan @@ -2072,7 +2155,7 @@ wonderswancolor Bandai WonderSwan Color %ROMPATH%/wonderswancolor - .ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP + .pc2 .PC2 .ws .WS .wsc .WSC .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_wswan_libretro.so %ROM% @@ -2083,7 +2166,7 @@ x1 Sharp X1 %ROMPATH%/x1 - .dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP + .2d .2D .2hd .2HD .88d .88D .cmd .CMD .d88 .D88 .dup .DUP .dx1 .DX1 .hdm .HDM .tap .TAP .tfd .TFD .xdf .XDF .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/x1_libretro.so %ROM% x1 x1 @@ -2092,9 +2175,9 @@ x68000 Sharp X68000 %ROMPATH%/x68000 - .dim .DIM .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD .m3u .M3U .7z .7Z .zip .ZIP + .2hd .2HD .88d .88D .cmd .CMD .d88 .D88 .dim .DIM .dup .DUP .hdf .HDF .hdm .HDM .img .IMG .m3u .M3U .xdf .XDF .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.so %ROM% - %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/x68000 x68000 -flop1 %ROM% + %STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/x68000 x68000 -flop1 %ROM% x68000 x68000 @@ -2112,7 +2195,7 @@ xbox360 Microsoft Xbox 360 %ROMPATH%/xbox360 - . .desktop .iso .ISO .sh .xex .XEX + . .desktop .iso .ISO .sh .xex .XEX .zar .ZAR %STARTDIR%=%EMUDIR% %PRECOMMAND_WINE% %EMULATOR_XENIA-WINDOWS% %ROM% %STARTDIR%=%EMUDIR% %PRECOMMAND_PROTON% %EMULATOR_XENIA-WINDOWS% %ROM% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM% @@ -2135,7 +2218,7 @@ zx81 Sinclair ZX81 %ROMPATH%/zx81 - .tzx .TZX .p .P .7z .7Z .zip .ZIP + .p .P .tzx .TZX .7z .7Z .zip .ZIP %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/81_libretro.so %ROM% zx81 zx81 From f3ffd6e782ef2fc10cf5f5dab41f8e333cc54d7d Mon Sep 17 00:00:00 2001 From: Lazorne Date: Mon, 19 Feb 2024 18:56:13 +0100 Subject: [PATCH 13/25] Added ScummVM Radial Icons --- res/binding_icons/rd-pc-call.png | Bin 0 -> 440 bytes res/binding_icons/rd-pc-close.png | Bin 0 -> 4298 bytes res/binding_icons/rd-pc-fight.png | Bin 0 -> 278 bytes res/binding_icons/rd-pc-give.png | Bin 0 -> 377 bytes res/binding_icons/rd-pc-look.png | Bin 0 -> 2439 bytes res/binding_icons/rd-pc-move.png | Bin 0 -> 277 bytes res/binding_icons/rd-pc-open.png | Bin 0 -> 4660 bytes res/binding_icons/rd-pc-pickup.png | Bin 0 -> 340 bytes res/binding_icons/rd-pc-pull.png | Bin 0 -> 447 bytes res/binding_icons/rd-pc-push.png | Bin 0 -> 341 bytes res/binding_icons/rd-pc-read.png | Bin 0 -> 747 bytes res/binding_icons/rd-pc-talk.png | Bin 0 -> 591 bytes res/binding_icons/rd-pc-use.png | Bin 0 -> 1526 bytes 13 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/binding_icons/rd-pc-call.png create mode 100644 res/binding_icons/rd-pc-close.png create mode 100644 res/binding_icons/rd-pc-fight.png create mode 100644 res/binding_icons/rd-pc-give.png create mode 100644 res/binding_icons/rd-pc-look.png create mode 100644 res/binding_icons/rd-pc-move.png create mode 100644 res/binding_icons/rd-pc-open.png create mode 100644 res/binding_icons/rd-pc-pickup.png create mode 100644 res/binding_icons/rd-pc-pull.png create mode 100644 res/binding_icons/rd-pc-push.png create mode 100644 res/binding_icons/rd-pc-read.png create mode 100644 res/binding_icons/rd-pc-talk.png create mode 100644 res/binding_icons/rd-pc-use.png diff --git a/res/binding_icons/rd-pc-call.png b/res/binding_icons/rd-pc-call.png new file mode 100644 index 0000000000000000000000000000000000000000..66e1069727291b35d4152c2a0ed65d08f9d037a8 GIT binary patch literal 440 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 literal 0 HcmV?d00001 diff --git a/res/binding_icons/rd-pc-fight.png b/res/binding_icons/rd-pc-fight.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5e5c787ed75498f2962241740b63bc31f8a961 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJi=HlyArY-_ry24!If%HhSD#;? zCf6XrcYtxp<_$}}NKBb>`&MLdVM}}gL;nFmj;X9CZ!j3HaOBaM^=G=z?$1WiZLIC^_A0C@|6Oh?P!P(=myzj;pF6PO2e~{;OOv3GECQ3TvIGl2>^`<=eA~GZyce zx?+{_*r>0m2Pes?td+?c&R z4E`+oPxGQXmpr^GjGplRvB%B9pKIGEnUX&v|Uw6?|$T{Qu3wQ-C9aEtVa?QBl;@RssJ<N_5o7(n0tg=?UV~ZOO^|mVMFSG9*?ATP4*kJ%M4Tx062|}Ro!pfR1`mnZ(O7nKcKOW4i$^9Ra0BJ8yc;~21%2p=|UR0&DbiW z$#rfTQ`a`O(`{9s_5yDV_yd5l2Of}kLK+Oj_Ok5(v`JGz71bo9J#^YYXp{DWs&KBa zQ@dTpxRI}aIp=pi@6k0t$5)!;m`NF6-tt{FpOKHBn3g+MAqmexC-gw4rh87hTrL7G z#)U`L!(So6-Zux@>;H3gR;i~0B%VTSS3P|m@o9jRsXML@Al^p#@G0Lx-0?i(9WEw_ zSYddU<1E8793KxjQ|c&UmW!mTC>k>?{om1c9S zUx<6_jj_!T&^M{wWM#>IBbOSf*xP<^F{$j$aOQ5Y{cT zROCL1M7^NKKL z&(yA}mSw#iM0^;IB{ZO5!wl{^Sg-*ysE~&Yz8!E;Qv(A`lu*=Clo*MpVGd>OdF6n^ zam1Jntk;<}MrqIC5$=Q>n{*R}?8oOIDUw5En2dl--Xw34!z7E+5pr-OgyQ-soSab)C%saskMla`aQLVzg0+MZf20tJU&K{hZoBrUc+U4e9&3o zw|KmGEe4#xz17wBu{f`SS_4i66?j31EjY7n{zGfhONK~c+td!TS#B}JoR}5UAd7p& z5phTyXSkK0xCeD3xaYP^o&J~#Xp9xFb0C;HHml5fA<%h1eR|qw7wxF+oNL9T1Aits?sKNIwvGaN)^WO$I^cUV)HzL_| z1K?{9p!>B*)`xfEv!4N6IG{J&h49W#Bz^(#YWw%`e_a{8n{G9m5AeR~_yl0%<7V@p z2RaaL}F_}z}93X_? znP>aZe0mKavD3n*Vdm^D*#ASKC@vCcwOUbDR(5q@V4#rt9Lz6`JdAR5u*IdNrD8ZE z4hDlFNv27H`}4Pm+Mw2sNtQBBuB1X!~%TZihjFOTPT)yJR)@|;a zXJGZKDr9ExsI9FknOE#YKLxcIDCAvLdIL4yY98AjlPBgQdXoP1$P^WDZ@Yv z1|2cev7|7b9REa1&g@Jf@4p;x9WOyNz6r0z!4DMVu!YB=CJF8`XTxYT(mU`=javMidIAcp-jt5nFLpx^I7&*-hDIZ{Jt-Bzs^IY}F|*`e zBpZUVNeTF^)z_Vrq((wQBKrIL;qiFT+uMtQK_4D|WI1G<6yb0f9UUE_Kz18g6*5xk zD9B;$k_9IvV9!2V%kZ!d4u@Ubna}5k-EOA`l1E$HMfzhQi1~d!ANrmB7#bRa-|xqx z^HMY0>)x~9QjdwNI2lg`R3P-2}%fwV-xoG#Ea5r$d;XccaeSP%rL)oRSh zypDr4r*Ynap;!crxdk2{In~fcH0z#6(b3=Cw7eX?e0=~*3LH?n&){U^Ao5atFlp?l z`=bwm5D#^nfDB13*6)$`T(G*ksDK^OikPqyp4gf|PPB5g$z*_6sOV2;E4&`Bn3uhC z23Db*X=d!-Xu^g~zc{xa^Vn#>Hxyq)D`3JC>u|~3v&=q~PT7g=wON>+GaY)p9&R_Q zibU*$$?9Hw_=*PboWuSTpAY5pXxCkPo{O8lp0k+5wc37?xw!YvPx zuh+lvlwIoLg3awx&+%sOWsfh+ z-pltCQI~ym?x+ON1zL(F6c17qQ84SHV8lOD3{w0z?Qb})6Om+hMb-cS002ovPDHLk FV1f}VvpE0& literal 0 HcmV?d00001 diff --git a/res/binding_icons/rd-pc-move.png b/res/binding_icons/rd-pc-move.png new file mode 100644 index 0000000000000000000000000000000000000000..8a9635b9066233ba06f4dc9c4ace7a4a7c7f2bbb GIT binary patch literal 277 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 literal 0 HcmV?d00001 diff --git a/res/binding_icons/rd-pc-push.png b/res/binding_icons/rd-pc-push.png new file mode 100644 index 0000000000000000000000000000000000000000..1eec6137e45216c4537df788f21fce2d94fdda77 GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFba6OIEF;DzMXbZutkB#b-(rP z_L4gll&K54ZFio;l|4FZ$HE3Ek^}jF>NrpE!^qNz_*p*rxnAd zs?JTSVL_6CrVSQ}clccn*r+>8din2IbD-{Oq3MxHGxy$_v9Da6p`qA2C%QqBVb3n} zJZ1~_FSZv-qn+CrD)=2f&JGJ@@aXlN{fDQav!T!@-s|Pu+w;O#>T9%%-Y}m(#m+0Q zNc+@WCOhlz(@qvM=p5Jn_P^rmwNt+uX87{HtzJ-=XE-_0!#?7DZRe3VOBREP_wsZT e<7U2QulQEETsK)>1sFsOp00i_>zoprkl6rTG=-l4 literal 0 HcmV?d00001 diff --git a/res/binding_icons/rd-pc-read.png b/res/binding_icons/rd-pc-read.png new file mode 100644 index 0000000000000000000000000000000000000000..d9880d85db87467c0051e080b1295951d23b097b GIT binary patch literal 747 zcmVifM@(?^qzSCT^rX^3fMi|T>=37FvIMl zSIhU}F^KA}hr3JoVFmz5bdKw*G2boWWy{7yui<-q|8gOpZDk?RIc#O2?+k%36A{X( zH@iu|&byf*(K&9HYs?obA@y!%004I~0Dw}IBu{jXZM=ay8Q{m=Z`jJh?Q(sx0I|ZfW1TUkQfcZS%;8xiC49%cx1iucYNY~zgxYI2}92l~zs?qnbiOw~w!^TVt} z{&x0CTp*@ugl)WmA7)5&UQ2vb0Euj60RRG>mZB&5feU-WK&KLftt{Bef{qXJ@3;Uu zz=#r^A4E!Wf;mv4l zvm7w9msYxy0s79cmYi#*YJ|QsEV+1=16&yBREYdA!#3WC10*pW2y`kAFfTeeV8ZMH zbij1Vd^R26GxMSetz}3Ds+%y$7&-8_3d}NWLu(mUyC54;RctkBtCiH01C7Ioi;IQ( z9M}u{=|vJY3zU+S$<5M3mmj&GvnDKIEFh3sP_2kG)#1kulEtAY9!GHI>qO2k-SICe}yZ&o{YOE zA!j_WMxav>;oTP`1zA*GCSlGOtKI%@n26{kzz;Ja1BwVgd|K9$HNhmFFIKf{>NeS3 zUyY%h9y~8<-Jk`nf6E)I!1E#iMHK&lo^dt4PzO0b;Oyv6!m&+T?R&;!;19*-tD z>N^2<^yqpYKr%5N)%ITQeR$qa;D#Ii7`Zck6JPUA6XO^FUY=`Gqxa9i=x$vCu{Ej# z09vFd94zQoc&Dp4Nkn1q0NTw0 zC&HXFkm}y&Azad&Q4tW}dONt@4((j|JT#q!F+Cq#_I~-Yrt(j#*Wxx}jDXGU;9H z6`49444)dD6shJ8u|75<-B4%|2x$Zt;3R;3U$EzX%2ro;BLYbhA&t=Qlwgf*;k?(Y z129iQ<7s%BfFX^9Ilu4dx*0C|T?p6ME&(88J2u^hFCichxzb(#7(aGt_u_du dyTAYd002ovPDHLkV1fVu002ovPDHLkV1iNA`eFb8 literal 0 HcmV?d00001 diff --git a/res/binding_icons/rd-pc-use.png b/res/binding_icons/rd-pc-use.png new file mode 100644 index 0000000000000000000000000000000000000000..3234426bbaa680ceb55c22f1bddf0334921e3472 GIT binary patch literal 1526 zcmVY%D>wlzdLv5}FHY;#jo z&~;sL+u%;%Xf&FWKsrHHRfRA>(KAUbX1cB`Sru5!LZJ|u5W(=-jA&zCI)MXvN;R-gm|0aR6` zwzgJ0y0->^;ZZ^Vz$~8}8eP)AtD^{j{()Hl+ecZFfUQ7dV>Q)6nu>aH!A_0eUz+o zQT()+H3gTLRE|@!&P7@2!XHNW{pplgvk54j6-UIbhZpIrIFhq?2qB2YVkyAo<>iju zF4&}UJg2hryC?lZqI6aqq3TYHJbzE(7zYm?OpzKO5{b}UpA0q|-0Ssn%{WR~X&&!w z4YFSPBd5N3OnZAf{r&xf z!(q;~_HpC(-xR4XO4hmPe)M??$(j$pm3>Wa8Jh)sg^78VSo}QLRR4C3c#K+5e=ZSZ>dU#{~LiB!rBSHIDukz>9LoyC* z&@CIT6Q4RP=f1iAvMfwxtIpCtTAxvhZTv+E*!D}0MNLi3qEg!CEKKRan+Copfn`0_ cUdF@tA6o6cfZVCWCjbBd07*qoM6N<$f--x}n*aa+ literal 0 HcmV?d00001 From 831b4aeb97304903874b96989ff7bda29c8d49a0 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 09:13:45 +0100 Subject: [PATCH 14/25] BRANCH_SELECTOR: added a new branch selector --- functions/branch_selection.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 functions/branch_selection.sh diff --git a/functions/branch_selection.sh b/functions/branch_selection.sh new file mode 100755 index 00000000..375fe74e --- /dev/null +++ b/functions/branch_selection.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Fetch branches from GitHub API +branches=$(curl -s https://api.github.com/repos/XargonWan/RetroDECK/branches | grep '"name":' | awk -F '"' '{print $4}') + +# Create an array to store branch names +branch_array=() + +# Loop through each branch and add it to the array +while IFS= read -r branch; do + branch_array+=("$branch") +done <<< "$branches" + +# Display branches in a Zenity list dialog +selected_branch=$(zenity --list --title="Select Branch" --column="Branch" "${branch_array[@]}") + +# Output selected branch +echo "Selected branch: $selected_branch" \ No newline at end of file From ceb462379daea6bd62278ac846e615bdde51454e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 09:14:35 +0100 Subject: [PATCH 15/25] BRANCH_SELECTOR: added logger placeholders --- functions/branch_selection.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/functions/branch_selection.sh b/functions/branch_selection.sh index 375fe74e..c245405d 100755 --- a/functions/branch_selection.sh +++ b/functions/branch_selection.sh @@ -2,6 +2,7 @@ # Fetch branches from GitHub API branches=$(curl -s https://api.github.com/repos/XargonWan/RetroDECK/branches | grep '"name":' | awk -F '"' '{print $4}') +# TODO logger # Create an array to store branch names branch_array=() @@ -13,6 +14,7 @@ done <<< "$branches" # Display branches in a Zenity list dialog selected_branch=$(zenity --list --title="Select Branch" --column="Branch" "${branch_array[@]}") +# TODO: logger # Output selected branch -echo "Selected branch: $selected_branch" \ No newline at end of file +echo "Selected branch: $selected_branch" # TODO: logger \ No newline at end of file From 998818d57ce19d0da5e4989bf260b1741861286c Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 09:42:18 +0100 Subject: [PATCH 16/25] BRANCH_SELECTOR: improved script --- functions/branch_selection.sh | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/functions/branch_selection.sh b/functions/branch_selection.sh index c245405d..d56534a0 100755 --- a/functions/branch_selection.sh +++ b/functions/branch_selection.sh @@ -1,8 +1,8 @@ #!/bin/bash -# Fetch branches from GitHub API -branches=$(curl -s https://api.github.com/repos/XargonWan/RetroDECK/branches | grep '"name":' | awk -F '"' '{print $4}') -# TODO logger +# Fetch branches from GitHub API excluding "main" +branches=$(curl -s https://api.github.com/repos/XargonWan/RetroDECK/branches | grep '"name":' | awk -F '"' '$4 != "main" {print $4}') +# TODO: logging - Fetching branches from GitHub API # Create an array to store branch names branch_array=() @@ -11,10 +11,20 @@ branch_array=() while IFS= read -r branch; do branch_array+=("$branch") done <<< "$branches" +# TODO: logging - Creating array of branch names # Display branches in a Zenity list dialog -selected_branch=$(zenity --list --title="Select Branch" --column="Branch" "${branch_array[@]}") -# TODO: logger +selected_branch=$(zenity --list --title="Select Branch" --column="Branch" --width=1280 --height=800 "${branch_array[@]}") +# TODO: logging - Displaying branches in Zenity list dialog -# Output selected branch -echo "Selected branch: $selected_branch" # TODO: logger \ No newline at end of file +# Display warning message +if [ $selected_branch ]; then + zenity --question --text="Are you sure you want to move to \"$selected_branch\" branch?" + # Output selected branch + echo "Selected branch: $selected_branch" # TODO: logging - Outputting selected branch + zenity --info --text="The data will be now downloaded, please stand by." + # Do stuff here +else + zenity --warning --text="No branch selected, exiting." + # TODO: logging +fi From 310324da57014534f39bdcb02a188138ee5dba8b Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 09:43:21 +0100 Subject: [PATCH 17/25] BRANCH_SELECTOR: moved in functions --- functions/branch_selection.sh | 30 ------------------------------ functions/functions.sh | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 30 deletions(-) delete mode 100755 functions/branch_selection.sh diff --git a/functions/branch_selection.sh b/functions/branch_selection.sh deleted file mode 100755 index d56534a0..00000000 --- a/functions/branch_selection.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# Fetch branches from GitHub API excluding "main" -branches=$(curl -s https://api.github.com/repos/XargonWan/RetroDECK/branches | grep '"name":' | awk -F '"' '$4 != "main" {print $4}') -# TODO: logging - Fetching branches from GitHub API - -# Create an array to store branch names -branch_array=() - -# Loop through each branch and add it to the array -while IFS= read -r branch; do - branch_array+=("$branch") -done <<< "$branches" -# TODO: logging - Creating array of branch names - -# Display branches in a Zenity list dialog -selected_branch=$(zenity --list --title="Select Branch" --column="Branch" --width=1280 --height=800 "${branch_array[@]}") -# TODO: logging - Displaying branches in Zenity list dialog - -# Display warning message -if [ $selected_branch ]; then - zenity --question --text="Are you sure you want to move to \"$selected_branch\" branch?" - # Output selected branch - echo "Selected branch: $selected_branch" # TODO: logging - Outputting selected branch - zenity --info --text="The data will be now downloaded, please stand by." - # Do stuff here -else - zenity --warning --text="No branch selected, exiting." - # TODO: logging -fi diff --git a/functions/functions.sh b/functions/functions.sh index a03d1e35..16f27d3f 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -562,6 +562,37 @@ easter_eggs() { cp -f "$new_splash_file" "$current_splash_file" # Deploy assigned splash screen } +branch_selector() { + # Fetch branches from GitHub API excluding "main" + branches=$(curl -s https://api.github.com/repos/XargonWan/RetroDECK/branches | grep '"name":' | awk -F '"' '$4 != "main" {print $4}') + # TODO: logging - Fetching branches from GitHub API + + # Create an array to store branch names + branch_array=() + + # Loop through each branch and add it to the array + while IFS= read -r branch; do + branch_array+=("$branch") + done <<< "$branches" + # TODO: logging - Creating array of branch names + + # Display branches in a Zenity list dialog + selected_branch=$(zenity --list --title="Select Branch" --column="Branch" --width=1280 --height=800 "${branch_array[@]}") + # TODO: logging - Displaying branches in Zenity list dialog + + # Display warning message + if [ $selected_branch ]; then + zenity --question --text="Are you sure you want to move to \"$selected_branch\" branch?" + # Output selected branch + echo "Selected branch: $selected_branch" # TODO: logging - Outputting selected branch + zenity --info --text="The data will be now downloaded, please stand by." + # Do stuff here + else + zenity --warning --text="No branch selected, exiting." + # TODO: logging + fi +} + quit_retrodeck() { pkill -f retrodeck pkill -f emulationstation From 44154a55a6a1d0912470f711d25bca1aedca7bcc Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 11:57:26 +0100 Subject: [PATCH 18/25] BRANCH_SELECTOR: enhanced scripting, put placeholders --- functions/checks.sh | 1 + functions/functions.sh | 36 +++++++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/functions/checks.sh b/functions/checks.sh index bb93b322..7b76d82f 100644 --- a/functions/checks.sh +++ b/functions/checks.sh @@ -59,6 +59,7 @@ check_for_version_update() { # configurator_generic_dialog "RetroDECK Online Update" "The update process is now complete!\n\nPlease restart RetroDECK to keep the fun going." # exit 1 # fi + # TODO: add the logic to check and update the branch from the configuration file choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Ignore this version" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Update Available" \ diff --git a/functions/functions.sh b/functions/functions.sh index 16f27d3f..f5ae5368 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -562,6 +562,7 @@ easter_eggs() { cp -f "$new_splash_file" "$current_splash_file" # Deploy assigned splash screen } +# TODO: this function is not yet used branch_selector() { # Fetch branches from GitHub API excluding "main" branches=$(curl -s https://api.github.com/repos/XargonWan/RetroDECK/branches | grep '"name":' | awk -F '"' '$4 != "main" {print $4}') @@ -577,18 +578,43 @@ branch_selector() { # TODO: logging - Creating array of branch names # Display branches in a Zenity list dialog - selected_branch=$(zenity --list --title="Select Branch" --column="Branch" --width=1280 --height=800 "${branch_array[@]}") + selected_branch=$( + zenity --list \ + --icon-name=net.retrodeck.retrodeck \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Cooker Branch - Select Branch" \ + --column="Branch" --width=1280 --height=800 "${branch_array[@]}" + ) # TODO: logging - Displaying branches in Zenity list dialog # Display warning message if [ $selected_branch ]; then - zenity --question --text="Are you sure you want to move to \"$selected_branch\" branch?" + zenity --question --icon-name=net.retrodeck.retrodeck --no-wrap \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Cooker Branch - Switch Branch" \ + --text="Are you sure you want to move to \"$selected_branch\" branch?" # Output selected branch echo "Selected branch: $selected_branch" # TODO: logging - Outputting selected branch - zenity --info --text="The data will be now downloaded, please stand by." - # Do stuff here + # TODO: write the branch into the config file + # TODO: check what is the last release for $selected_branch + # TODO: form a proper url: $flatpak_file_url + configurator_generic_dialog "RetroDECK Online Update" "The update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again you will be using the latest version." + ( + local desired_flatpak_file=$(curl --silent $flatpak_file_url | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/') + mkdir -p "$rdhome/RetroDECK_Updates" + wget -P "$rdhome/RetroDECK_Updates" $desired_flatpak_file + flatpak-spawn --host flatpak remove --noninteractive -y net.retrodeck.retrodeck # Remove current version before installing new one, to avoid duplicates + flatpak-spawn --host flatpak install --user --bundle --noninteractive -y "$rdhome/RetroDECK_Updates/RetroDECK-cooker.flatpak" + rm -rf "$rdhome/RetroDECK_Updates" # Cleanup old bundles to save space + ) | + zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Updater" \ + --text="RetroDECK is updating to the latest \"$selected_branch\" version, please wait." + configurator_generic_dialog "RetroDECK Online Update" "The update process is now complete!\n\nPlease restart RetroDECK to keep the fun going." + exit 1 else - zenity --warning --text="No branch selected, exiting." + configurator_generic_dialog "No branch selected, exiting." # TODO: logging fi } From ec326284e447973681cc9bfceff5094df6f17451 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 13:10:20 +0100 Subject: [PATCH 19/25] BRANCH_SELECTOR: added branch variable in the config --- emu-configs/defaults/retrodeck/retrodeck.cfg | 1 + functions/functions.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/emu-configs/defaults/retrodeck/retrodeck.cfg b/emu-configs/defaults/retrodeck/retrodeck.cfg index da64517f..5cf0a8f2 100644 --- a/emu-configs/defaults/retrodeck/retrodeck.cfg +++ b/emu-configs/defaults/retrodeck/retrodeck.cfg @@ -21,6 +21,7 @@ desktop_mode_warning=true low_space_warning=true update_check=false update_repo=RetroDECK +branch= update_ignore= cloud_saves=false multi_user_mode=false diff --git a/functions/functions.sh b/functions/functions.sh index f5ae5368..622c3f0c 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -595,7 +595,7 @@ branch_selector() { --text="Are you sure you want to move to \"$selected_branch\" branch?" # Output selected branch echo "Selected branch: $selected_branch" # TODO: logging - Outputting selected branch - # TODO: write the branch into the config file + set_setting_value "$rd_conf" "branch" "$selected_branch" "retrodeck" "options" # TODO: check what is the last release for $selected_branch # TODO: form a proper url: $flatpak_file_url configurator_generic_dialog "RetroDECK Online Update" "The update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again you will be using the latest version." From 6e79e7c88de21be90bc3a4534e9634e9becb9753 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 13:22:06 +0100 Subject: [PATCH 20/25] BRANCH_SELECTOR: added a line to check the latest release for a given branch --- functions/functions.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/functions/functions.sh b/functions/functions.sh index 622c3f0c..074c3cf5 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -596,7 +596,10 @@ branch_selector() { # Output selected branch echo "Selected branch: $selected_branch" # TODO: logging - Outputting selected branch set_setting_value "$rd_conf" "branch" "$selected_branch" "retrodeck" "options" - # TODO: check what is the last release for $selected_branch + branch="feat/sftp" + # Get the latest release for the specified branch + latest_release=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK-cooker/releases" | jq ".[] | select(.target_commitish == \"$branch_name\") | .tag_name" | head -n 1) + # TODO: this will fail because the builds coming from the PRs are not published yet, we should fix them # TODO: form a proper url: $flatpak_file_url configurator_generic_dialog "RetroDECK Online Update" "The update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again you will be using the latest version." ( From 587a646a72b401e85f7feee79f9195b148b82ae7 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 14:15:52 +0100 Subject: [PATCH 21/25] MAME: updated configs --- emu-configs/mame/mame.ini | 42 +++++++++++++++++++-------------------- emu-configs/mame/ui.ini | 42 +++++++++++++++++++-------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/emu-configs/mame/mame.ini b/emu-configs/mame/mame.ini index 99812b94..f47c2062 100644 --- a/emu-configs/mame/mame.ini +++ b/emu-configs/mame/mame.ini @@ -7,31 +7,31 @@ writeconfig 0 # # CORE SEARCH PATH OPTIONS # -homepath /var/config/mame -rompath RETRODECKROMSDIR -hashpath /app/share/mame/hash -samplepath /app/share/mame/samples -artpath RETRODECKHOMEDIR/downloaded_media/arcade/screenshots/ -ctrlrpath /app/share/mame/ctrlr -inipath /var/config/mame -fontpath /app/bin/ -cheatpath /app/share/mame/cheat -crosshairpath /app/share/mame/crosshair -pluginspath /app/share/mame/plugins -languagepath /app/share/mame/language -swpath /app/share/mame/software +homepath /var/data/mame/plugin-data +rompath RETRODECKROMSDIR/mame/;RETRODECKROMSDIR/arcade/;RETRODECKROMSDIR/bbcmicro/ +hashpath /var/data/mame/hash +samplepath /var/data/mame/assets/samples +artpath /var/data/mame/assets/artwork +ctrlrpath /var/config/ctrlr +inipath /var/config/mame/ini +fontpath /var/data/mame/assets/fonts +cheatpath /var/data/mame/cheat +crosshairpath /var/data/mame/assets/crosshair +pluginspath /var/data/mame/plugins +languagepath /var/data/mame/assets/language +swpath /var/data/mame/assets/software # # CORE OUTPUT DIRECTORY OPTIONS # cfg_directory /var/config/mame/cfg -nvram_directory /var/config/mame/nvram +nvram_directory RETRODECKSAVESDIR/mame-sa/nvram input_directory /var/config/mame/inp -state_directory RETRODECKSAVESDIR/mame-sa/states -snapshot_directory RETRODECKHOMEDIR/screenshots -diff_directory /var/config/mame/diff -comment_directory /var/config/mame/comments -share_directory /var/config/mame/share +state_directory RETRODECKSTATESDIR/mame-sa +snapshot_directory RETRODECKHOMEDIR/screenshots/mame-sa +diff_directory RETRODECKSAVESDIR/mame-sa/diff +comment_directory /var/data/mame/assets/comments +share_directory /var/data/mame/assets/share # # CORE STATE/PLAYBACK OPTIONS @@ -234,7 +234,7 @@ output auto keyboardprovider auto mouseprovider auto lightgunprovider auto -joystickprovider auto +joystickprovider sdljoy # # OSD DEBUGGING OPTIONS @@ -353,7 +353,7 @@ networkprovider auto # # BGFX POST-PROCESSING OPTIONS # -bgfx_path bgfx +bgfx_path /app/share/mame/bgfx bgfx_backend auto bgfx_debug 0 bgfx_screen_chains diff --git a/emu-configs/mame/ui.ini b/emu-configs/mame/ui.ini index 5955d68a..d616b1a4 100644 --- a/emu-configs/mame/ui.ini +++ b/emu-configs/mame/ui.ini @@ -1,26 +1,26 @@ # # UI SEARCH PATH OPTIONS # -historypath history;dats;. -categorypath folders -cabinets_directory cabinets;cabdevs -cpanels_directory cpanel -pcbs_directory pcb -flyers_directory flyers -titles_directory titles -ends_directory ends -marquees_directory marquees;RETRODECKHOMEDIR/downloaded_media/arcade/marquees -artwork_preview_directory "artwork preview;artpreview" -bosses_directory bosses -logos_directory logo -scores_directory scores -versus_directory versus -gameover_directory gameover -howto_directory howto -select_directory select -icons_directory icons -covers_directory covers;RETRODECKHOMEDIR/downloaded_media/arcade/covers -ui_path ui +historypath /var/data/mame/dats +categorypath /var/data/mame/folders +cabinets_directory /var/data/mame/assets/cabinets +cpanels_directory /var/data/mame/assets/cpanel +pcbs_directory /var/data/mame/assets/pcb +flyers_directory /var/data/mame/assets/flyers +titles_directory /var/data/mame/assets/titles +ends_directory /var/data/mame/assets/ends +marquees_directory /var/data/mame/assets/marquees +artwork_preview_directory /var/data/mame/assets/artwork-preview +bosses_directory /var/data/mame/assets/bosses +logos_directory /var/data/mame/assets/logo +scores_directory /var/data/mame/assets/scores +versus_directory /var/data/mame/assets/versus +gameover_directory /var/data/mame/assets/gameover +howto_directory /var/data/mame/assets/howto +select_directory /var/data/mame/assets/select +icons_directory /var/data/mame/assets/icons +covers_directory /var/data/mame/assets/covers +ui_path /var/data/mame/assets/ui # # UI MISC OPTIONS @@ -62,7 +62,7 @@ remember_last 0 last_used_filter Available system_right_panel image software_right_panel image -system_right_image cover +system_right_image snap software_right_image snap enlarge_snaps 1 forced4x3 1 From 62154e8c153bb2d04616134688d7fdf842459c63 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 14:22:10 +0100 Subject: [PATCH 22/25] MAME: updated prepare_component --- functions/prepare_component.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 206fc3dc..74cfc55a 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -716,7 +716,7 @@ prepare_component() { sed -i 's#RETRODECKROMSDIR#'$roms_folder'#g' "/var/config/mame/*.ini" sed -i 's#RETRODECKHOMESDIR#'$rdhome'#g' "/var/config/mame/*.ini" sed -i 's#RETRODECKSAVESDIR#'$rdhome'#g' "/var/config/mame/*.ini" - + sed -i 's#RETRODECKSTATESDIR#'$rdhome'#g' "/var/config/mame/*.ini" fi if [[ "$component" =~ ^(gzdoom|GZDOOM|all)$ ]]; then From d755f7ca30dd4fe778ee2f09496abee1ee7bb3f9 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 20 Feb 2024 20:29:57 +0100 Subject: [PATCH 23/25] GENERAL: fixed /**" pathing with /"** --- functions/prepare_component.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 74cfc55a..5a095536 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -712,7 +712,7 @@ prepare_component() { mkdir -p $saves_folder/mame-sa mkdir -p "/var/config/mame" dir_prep "$saves_folder/mame-sa/hiscore" "/var/config/mame/hiscore" - cp -fvr "$emuconfigs/mame/**" "/var/config/mame" + cp -fvr "$emuconfigs/mame/"** "/var/config/mame" sed -i 's#RETRODECKROMSDIR#'$roms_folder'#g' "/var/config/mame/*.ini" sed -i 's#RETRODECKHOMESDIR#'$rdhome'#g' "/var/config/mame/*.ini" sed -i 's#RETRODECKSAVESDIR#'$rdhome'#g' "/var/config/mame/*.ini" From 1efe0aa0d9d504da4d56d238d28ee65bf51faf08 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 21 Feb 2024 10:50:28 +0100 Subject: [PATCH 24/25] WORKFLOW: added calculation for generating a vaild tag for automated PR builds [skip ci] --- .../workflows/cooker-selfhosted-persistent.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cooker-selfhosted-persistent.yml b/.github/workflows/cooker-selfhosted-persistent.yml index dced323f..b2403330 100644 --- a/.github/workflows/cooker-selfhosted-persistent.yml +++ b/.github/workflows/cooker-selfhosted-persistent.yml @@ -113,16 +113,27 @@ jobs: # if it's a feature branch it will not marked as "latest" cooker version - name: "Set makeLatest (cooker only)" run: | - if [[ "$BRANCH_NAME" == 'feat/'* ]]; then + if [[ "$BRANCH_NAME" == 'feat/'* || "$BRANCH_NAME" == 'ref/'* ]]; then echo "MAKE_LATEST=false" >> $GITHUB_ENV else echo "MAKE_LATEST=true" >> $GITHUB_ENV fi + # if the branch is coming from a PR the tag should be manually built + - name: "Generate version tag" + run: | + if [[ "$BRANCH_NAME" == 'ref/'* ]]; then + pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') + original_branch=$(git ls-remote --heads origin "refs/pull/$pr_number/head" | cut -d'/' -f3) + echo "TAG=PR-$pr_number-$original_branch-${{ env.buildid }}" >> $GITHUB_ENV + else + echo "TAG=${{env.BRANCH_NAME}}-${{ env.buildid }}" >> $GITHUB_ENV + fi + - name: Publish the flatpak in a new cooker release uses: ncipollo/release-action@v1 with: - tag: "${{env.BRANCH_NAME}}-${{ env.buildid }}" + tag: "${{env.TAG}}" body: | # Release Notes (Cooker) This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}. From dbd3e5e9c0ffa90840deeedf13d6561a8ab48444 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 21 Feb 2024 14:48:37 +0100 Subject: [PATCH 25/25] SPLASH: added golden week / kodomo no hi [skip ci] --- .../reference_lists/easter_egg_checklist.cfg | 1 + res/extra_splashes/rd-kodomo-golden.svg | 1457 +++++++++++++++++ 2 files changed, 1458 insertions(+) create mode 100644 res/extra_splashes/rd-kodomo-golden.svg diff --git a/emu-configs/defaults/retrodeck/reference_lists/easter_egg_checklist.cfg b/emu-configs/defaults/retrodeck/reference_lists/easter_egg_checklist.cfg index 22198f01..140620f4 100644 --- a/emu-configs/defaults/retrodeck/reference_lists/easter_egg_checklist.cfg +++ b/emu-configs/defaults/retrodeck/reference_lists/easter_egg_checklist.cfg @@ -2,3 +2,4 @@ 0209^0212^0000^2359^rd-lunar-dragon-splash.svg 0214^0214^0001^2359^rd-valentines-splash.svg 0317^0317^0000^2359^rd-stpatricks-splash.svg +0429^0505^0000^2359^rd-kodomo-golden.svg diff --git a/res/extra_splashes/rd-kodomo-golden.svg b/res/extra_splashes/rd-kodomo-golden.svg new file mode 100644 index 00000000..d79d5600 --- /dev/null +++ b/res/extra_splashes/rd-kodomo-golden.svg @@ -0,0 +1,1457 @@ + +