RetroDECK icon indicating copy to clipboard operation
RetroDECK copied to clipboard

Add ROMs directly to Steam for launching

Open icenine451 opened this issue 3 years ago • 6 comments

A user reported:

I've been able to manage to launch specific roms via the CLI as flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -e "/run/media/mmcblk0p1/retrodeck/roms/wii/Super Mario Galaxy 2 (USA) (En,Fr,Es).rvz" -b this makes possible to add them directly to the steam library

It may be possible to configure Steam ROM Manager to launch games directly through Steam using the RetroDECK flatpak.

icenine451 avatar Oct 18 '22 15:10 icenine451

Continuation of this: https://github.com/XargonWan/RetroDECK/issues/80

XargonWan avatar Apr 21 '23 12:04 XargonWan

Could be possible to add a game menu entry that permits to add the selected game to steam? Just like the custom "Retrodeck configurator" in the global menu.

Lx32 avatar Jun 26 '23 17:06 Lx32

This would need some resarch and maybe some C++ expert to deeply patch ES-DE. Not impossible tho.

We would need to gather the data that the menu is gathering when the selected game is launched and then the resoulting string (that is a bash command) should be passed to tho bash.

But with this method we may skip some important parts such a possible per-launch script that we may introduce in the future.

Another option should be integrate a cli to es-de to ask it to launch a specific game. But the C++ skills here should be even higher and at the moment none in the crew got these skills afaik.

XargonWan avatar Jul 03 '23 15:07 XargonWan

    read_dom () {
        local IFS=\>
        read -d \< ENTITY CONTENT
    }
    for system in PATH
    do
        while read_dom; do
            if [[ $ENTITY = "/game" ]]; then
                if [[ $fav = "true" ]]; then
                    echo $name
                fi
                name=""
                path=""
                fav=""
            elif [[ $ENTITY = "favorite" ]]; then
                fav=$CONTENT
            elif [[ $ENTITY = "path" ]]; then
                path=$CONTENT
            elif [[ $ENTITY = "name" ]]; then
                name=$CONTENT
            fi
        done < "$system/gamelist.xml"
    done

This is a simple bash script that I tried to integrate in the configurator. It parses the gamelist.xml file and gives he favorite games. I have only to fix the installation PATH, at the moment is hard coded, and then try to build the shortcut.vdf file for steam. I know that this will be only a temp fix but it is just to have the features, then can be refined by somebody.

Lx32 avatar Jul 04 '23 16:07 Lx32

Steps:

  • [x] Add favorites to Steam (without auto deletion)
  • [x] Initial Configurator Integration
  • [x] Read alternate emulator data, game first, then system
  • [x] Sync favorites to Steam (with deletion)
  • [ ] Godot Integration
  • [ ] Scrape the games on Steam (BoilR)

XargonWan avatar Sep 28 '23 13:09 XargonWan

Some info were here: https://github.com/XargonWan/RetroDECK/issues/600

XargonWan avatar Jan 26 '24 13:01 XargonWan