From 49ed78444e364ad75ab421488ed5ff6acdfca55e Mon Sep 17 00:00:00 2001 From: XargonWan <xargonwan@gmail.com> Date: Thu, 31 Mar 2022 20:50:46 +0900 Subject: [PATCH] Fixed startup script (finally) --- com.xargon.retrodeck.yml | 29 +++++++++----------- desktop_entry | 11 ++++++++ retrodeck.sh | 59 +++++++++++++++++++++------------------- 3 files changed, 55 insertions(+), 44 deletions(-) create mode 100644 desktop_entry diff --git a/com.xargon.retrodeck.yml b/com.xargon.retrodeck.yml index 61f56b83..84153cda 100644 --- a/com.xargon.retrodeck.yml +++ b/com.xargon.retrodeck.yml @@ -494,15 +494,6 @@ modules: - name: retrodeck buildsystem: simple build-commands: - - # RA is already doing this no? - #- rm -f ${FLATPAK_DEST}/etc/retroarch.cfg - #- mv retroarch.cfg ${FLATPAK_DEST}/etc/retroarch.cfg - - # - symlink useful dirs and files in ~/retrodeck - # TODO: cannot see home folder at this point, same for es_settings.xml - #- ln -s ${FLATPAK_DEST}/etc/retroarch.cfg ~/retrodeck/retroarch.cfg - #- ln -s ${FLATPAK_DEST}/share/emulationstation/themes/ ~/retrodeck/ # Prep the ES-DE and RetroArch config files - rm -rf /app/share/emulationstation/resources/systems/unix/es_find_rules.xml @@ -513,10 +504,12 @@ modules: - mkdir -p ${FLATPAK_DEST}/retrodeck/ - cp es_settings.xml ${FLATPAK_DEST}/retrodeck/es_settings.xml - cp retrodeck-retroarch.cfg ${FLATPAK_DEST}/retrodeck/retrodeck-retroarch.cfg + - cp systemfolders.zip ${FLATPAK_DEST}/retrodeck/ - # Logo + # Logo, res - rm -f /app/share/emulationstation/resources/graphics/splash.svg - cp splash.svg /app/share/emulationstation/resources/graphics/splash.svg + - cp icon.svg /app/share/icons/hicolor/scalable/apps/com.xargon.retrodeck.svg # Tools - mkdir -p ${FLATPAK_DEST}/retrodeck/tools/ @@ -526,11 +519,12 @@ modules: - cp retrodeck.sh /app/bin/retrodeck.sh - chmod +x /app/bin/retrodeck.sh + # Desktop entry + - cp desktop_entry /app/share/applications/com.xargon.retrodeck.desktop + #cleanup: ['*'] sources: - #- type: file - # path: retroarch.cfg - - type: file # Remove this when/if commited to ES-DE + - type: file path: es_find_rules.xml - type: file path: es_settings.xml @@ -542,8 +536,11 @@ modules: path: retrodeck-retroarch.cfg - type: file path: tools-gamelist.xml - - type: file - path: res/splash.svg + - type: dir + path: res - type: dir path: tools - # create desktop entry \ No newline at end of file + - type: file + path: desktop_entry + - type: file + path: systemfolders.zip \ No newline at end of file diff --git a/desktop_entry b/desktop_entry new file mode 100644 index 00000000..636fa691 --- /dev/null +++ b/desktop_entry @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=RetroDECK +GenericName=Frontend for the libretro API +Type=Application +Comment=All you need for emulation on Steam Deck +Icon=com.xargon.retrodeck +Exec= +Terminal=false +StartupNotify=false +Keywords=multi;engine;emulator;standalone;steam;deck +Categories=Game;Emulator; \ No newline at end of file diff --git a/retrodeck.sh b/retrodeck.sh index 6fd2f17f..4b2f8396 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -23,49 +23,52 @@ then fi fi - kdialog --title "RetroDECK" --msgbox "RetroDECK will initialize the system, please wait a few minutes, a popup will tell you when the process is finished." + # initializing ES-DE - mkdir -p $roms_folder - rm -rf /var/config/.emulationstation/ROMs - rm -rf /var/config/.emulationstation/roms - mkdir -p /var/config/.emulationstation - ln -s $roms_folder /var/config/.emulationstation/roms + mkdir -p /var/config/retrodeck/tools - mkdir -p /var/config/.emulationstation - rm -rf /var/config/.emulationstation/es_settings.xml - rm -rf /var/config/.emulationstation/es_input.xml - cp /app/retrodeck/es_settings.xml /var/config/.emulationstation/es_settings.xml - cp /app/retrodeck/es_settings.xml /var/config/.emulationstation/es_input.xml + # Cleaning + rm -rf /var/config/emulationstation/ + rm ~/retrodeck/bios + rm /var/config/retrodeck/tools/* + + ls -ln /var/config/ #DEBUG + ls -ln /var/config/emulationstation/.emulationstation #DEBUG + read -n 1 -r -s -p $'Press enter to continue...\n' #DEBUG + + kdialog --title "RetroDECK" --msgbox "EmulationStation will now initialize the system, please don't edit the rom location.\nJust select CREATE DIRECTORIES, YES, QUIT buttons.\nRetroDECK will manage the rest." + + mkdir -p /var/config/emulationstation/ + + emulationstation --home /var/config/emulationstation + + mv /var/config/emulationstation/ROMs /var/config/emulationstation/ROMs.bak + ln -s $roms_folder /var/config/emulationstation/ROMs + mv /var/config/emulationstation/ROMs.bak $roms_folder + + # XMLSTARLET HERE + cp /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml mkdir -p ~/retrodeck/saves mkdir -p ~/retrodeck/states mkdir -p ~/retrodeck/screenshots - mkdir -p /var/config/retrodeck/tools cp -r /app/retrodeck/tools/* /var/config/retrodeck/tools mkdir -p /var/config/retroarch/system ln -s ~/.var/app/com.xargon.retrodeck/config/retroarch/system ~/retrodeck/bios - + cp /app/retrodeck/retrodeck-retroarch.cfg /var/config/retroarch/retroarch.cfg - - mkdir -p /var/config/.emulationstation/gamelists/tools/ - cp /app/retrodeck/tools-gamelist.xml /var/config/.emulationstation/gamelists/tools/gamelist.xml + + mkdir -p /var/config/emulationstation/.emulationstation/gamelists/tools/ + cp /app/retrodeck/tools-gamelist.xml /var/config/emulationstation/.emulationstation/custom_systems/tools/gamelist.xml mkdir -p /var/config/retroarch/cores/ cp /app/share/libretro/cores/* /var/config/retroarch/cores/ - + touch ~/retrodeck/.lock kdialog --title "RetroDECK" --msgbox "Initialization completed, please put your roms in: $roms_folder.\nIf you wish to change the roms location you may use the tool located the tools section of RetroDECK." -fi - -#numFields=$(xmlstarlet sel -t -m '//system' -o "." /app/share/emulationstation/resources/systems/unix/es_systems.xml | wc -c) -#for i in $(seq 1 $numFields); do -# system=$(xmlstarlet sel -t -m "//system[$i]" -v "name" /app/share/emulationstation/resources/systems/unix/es_systems.xml) -# if test -d ~/retrodeck/roms/${system}; then -# mkdir -p ~/retrodeck/roms/${system} -# fi -#done - -emulationstation --home /var/config/ \ No newline at end of file +else + emulationstation --home /var/config/emulationstation +fi \ No newline at end of file