Open kencinder opened 6 years ago
A modified version of the Citra preset that contains more file types
# Parser type
····Selected: Glob
# Configuration title
····Citra (3DS)
# Steam category
····${3DS}
# Executable
····D:\Emulation\Emulateurs\Citra\canary-mingw\citra-qt.exe
# Executable modifier
····"${exePath}"
# ROMs directory
····D:\Emulation\ROMs\Citra
# Steam directory
····D:\Program Files (x86)\Steam
# "Start In" directory
····
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}@(.3ds|.3DS|.3dsx|.3DSX|.elf|.ELF|.axf|.AXF|.cii|.CII|.cxi|.CXI|.app|.APP)
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enabled
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Command line arguments
····"${filePath}"
····[x]: Append arguments to executable
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Image providers
····Selected: SteamGridDB,retrogaming.cloud
# Default image
····
# Local images
····
# Local icons
····
····[ ]: Disable current parser
····[ ]: Show advanced options
I was hoping for the above, I added file extensions based on documentation I could find online, for anything I don't use.
Citra extensions updated in https://github.com/FrogTheFrog/steam-rom-manager/pull/101
the Dolphin ones won't work. There are no -f and -g arguments in Dolphin.
better use -e "${filePath}" -b
-e for execute and -b for batch (run without main window). There's no fullscreen command unluckily
This was already fixed in source and is correct in 2.2.15
Find below a preset for the Beetle Saturn core of Retroarch. While I've added a file type for MDS & ISO the emulator can be fickle with those file types. So I usually stick to Cue files. M3U works for multi-disk games, such as Panzer Dragoon Saga.
# Parser type
····Selected: Glob
# Configuration title
····Retroarch - Beetle/Mednafen Saturn (Sega Saturn)
# Steam category
····${Sega Saturn}
# Executable
····D:\RetroArch\retroarch.exe
# Executable modifier
····"${exePath}"
# ROMs directory
····D:\Games\Sega Saturn\Clockwork Knight 2
# Steam directory
····C:\Program Files (x86)\Steam
# "Start In" directory
····
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}@(.iso|.cue|.mds|.m3u)
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enabled
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Command line arguments
····-L cores${/}mednafen_saturn_libretro.dll "${filePath}"
····[x]: Append arguments to executable
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Image providers
····Selected: SteamGridDB,retrogaming.cloud
# Default image
····
# Local images
····
# Local icons
····
····[ ]: Disable current parser
····[ ]: Show advanced options
Beetle Saturn preset has been added, as have some other Retroarch presets.
I will be adding presets for nearly every Retroarch core, based on LibRetro documentation, so I am not in need of any Retroarch presets. I could use confirmation on anything the docs don't agree with, for instance I have mGBA presets for GB/GBC/GBA as I know it handles all 3 systems, but the docs only list it as a GBA emulator.
I am in need of Standalone emulator presets.
Hey guys, I believe Dolphin changed their command line setup once again. Now you only need the ${filepath} as the command line argument for it to run. Using -e ${filepath} also seems to work but I'm not sure won't the difference is. Regardless of the -e, Dolphin no longer accepts the -b as a command line argument.
Thanks for the update on that, on testing it with latest build, -b flag is still needed to exit the emulator when ending emulation. Without it, it exits back to the game list+menu. Appears -e is not needed, but still functions fine.
As a result, I won't change the preset.
Sounds good. Now I know what the -b is for. 👍
# Parser type
····Selected: Glob
# Configuration title
····Switch
# Steam category
····${Nintendo Switch}
# Executable
····C:\Users\****\AppData\Local\yuzu\yuzu-windows-msvc\yuzu.exe
# Executable modifier
····"${exePath}"
# ROMs directory
····E:\Switch
# Steam directory
····C:\Program Files (x86)\Steam
# "Start In" directory
····
# User accounts
····${****}
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}@(.xci|.XCI)
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Follow .lnk to destination (Windows only)
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enabled
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Command line arguments
····"${filePath}"
····[x]: Append arguments to executable
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Image providers
····Selected: SteamGridDB
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····${dir}/../*${/\[.*?\]/g|${title}|}*/meta/iconTex.tga
····[ ]: Disable current parser
····[x]: Show advanced options
May I suggest adding .nsp to the proposed Yuzu parser also?
Xenia Parser for XBox 360
# Parser type
····Selected: Glob
# Configuration title
····Xenia Games (Xbox 360)
# Steam category
····${XBox 360}
# Executable
····F:\Big Programs\xenia\build\bin\Windows\Debug\xenia.exe
# Executable modifier
····"${exePath}"
# ROMs directory
····F:\SteamImports\EmulatorImports\Xenia\Games
# Steam directory
····${steamdirglobal}
# "Start In" directory
····F:\Big Programs\xenia\build\bin\Windows\Debug
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}.iso
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Follow .lnk to destination (Windows only)
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Command line arguments
····"${filepath}" --fullscreen
····[x]: Append arguments to executable
# Online image query
····${${title}}
# Image pool
····${title}
# Image providers
····Selected: SteamGridDB
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Local images
····F:/SteamImports/EmulatorImports/Xenia/Artwork/**/long/${title}.@(png|jpg)
# Local tall images
····F:/SteamImports/EmulatorImports/Xenia/Artwork/**/tall/${title}.@(png|jpg)
# Local hero images
····F:/SteamImports/EmulatorImports/Xenia/Artwork/**/hero/${title}.@(png|jpg)
# Local logo images
····F:/SteamImports/EmulatorImports/Xenia/Artwork/**/logo/${title}.@(png|jpg)
# Local icons
····
····[ ]: Disable current parser
····[x]: Show advanced options
Pretty much generic but has a --fullscreen argument
Parser for the FreeIntv Retroarch core(Mattel Intellivision):
# Parser type
····Selected: Glob
# Configuration title
····Mattel Intellivision - Retroarch - FreeIntv
# Steam category
····${Intellivision}
# Executable
····${retroarchpath}
····[ ]: Follow .lnk to destination (Windows only)
····[x]: Append arguments to executable
# Command line arguments
····-L ${os:win|cores|${os:mac|cores|${os:linux|${racores}}}}${/}freeintv_libretro.${os:win|dll|${os:mac|dylib|${os:linux|so}}} "${filePath}"
# Executable modifier
····"${exePath}"
# ROMs directory
····path-to-roms
# Steam directory
····${steamdirglobal}
# "Start In" directory
····
# User accounts
····null
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}@(.int|.INT|.bin|.BIN|.itv|.ITV|.rom|.ROM)
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Image providers
····Selected:
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
····[ ]: Disable current parser
····[ ]: Show advanced options
# Parser type
····Selected: Glob
# Configuration title
····DOS
# Steam category
····${DOS}
# Executable
····${retroarchpath}
····[ ]: Follow .lnk to destination (Windows only)
····[x]: Append arguments to executable
# Command line arguments
····-L ${os:win|cores|${os:mac|cores|${os:linux|${racores}}}}${/}dosbox_pure_libretro.${os:win|dll|${os:mac|dylib|${os:linux|so}}} "${filePath}"
# Executable modifier
····"${exePath}"
# ROMs directory
····path-to-roms
# Steam directory
····${steamdirglobal}
# "Start In" directory
····
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}@(.zip|.ZIP)
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Image providers
····Selected: SteamGridDB
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
····[ ]: Disable current parser
····[ ]: Show advanced options
I've tried it on Windows 10 and it works there and loads multiple ZIPS fine.
Can't say for the other cores, unfortunately.
Xemu parser for Original Xbox
# Parser type
····Selected: Glob
# Configuration title
····Microsoft XBOX - Xemu
# Steam category
····${XBOX}
# Executable
····C:\Users\user\Documents\Xemu\xemu.exe
····[ ]: Follow .lnk to destination (Windows only)
····[x]: Append arguments to executable
# Command line arguments
····-full-screen -dvd_path "${filePath}"
# Executable modifier
····"${exePath}"
# ROMs directory
····Y:\Game Backups\XBOX
# Steam directory
····${steamdirglobal}
# "Start In" directory
····
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}@(.iso|.ISO)
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Image providers
····Selected: SteamGridDB
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
····[ ]: Disable current parser
····[ ]: Show advanced options
Here's one for Sega Model 2 (Thanks to kencinder for helping someone on Discord with this awhile go, it's the only reason I got it working lol)
# Parser type
····Selected: Glob
# Configuration title
····Sega Model 2
# Steam category
····${Arcade}
# Executable
····${model2path}
····[ ]: Follow .lnk to destination (Windows only)
····[x]: Append arguments to executable
# Command line arguments
····${fileName}
# Executable modifier
····"${exePath}"
# ROMs directory
····path-to-roms
# Steam directory
····${steamdirglobal}
# "Start In" directory
····
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# User's glob
····${title}.zip
# User's glob-regex
····null
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[x]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Image providers
····Selected: SteamGridDB
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
····[ ]: Disable current parser
····[ ]: Show advanced options
Dolphin fullscreen command is --config "Dolphin.Display.Fullscreen=True"
Dolphin fullscreen command is --config "Dolphin.Display.Fullscreen=True"
This also sets the config to default to Fullscreen, which not everyone will want outside of Steam. It is simple enough to enable Fullscreen in Dolphin if you wish for it to be, that I won't add that to the preset.
A ScummVM preset.
# Parser type
Selected: Glob
# Configuration title
ScummVM
# Steam category
${ScummVM}
# Executable
/usr/bin/flatpak
[ ]: Follow .lnk to destination (Windows only)
[x]: Append arguments to executable
# Command line arguments
run --branch=stable --arch=x86_64 --command=scummvm_wrapper org.scummvm.ScummVM --path="${filePath}" --auto-detect -x
# Executable modifier
"${exePath}"
# ROMs directory
/home/deck/Emulation/roms/scummvm
# Steam directory
/home/deck/.steam/steam
# "Start In" directory
# User accounts
[x]: Skip found accounts with missing data directories
[x]: Use account credentials
# Image providers
Selected: SteamGridDB
# User's glob
${title}
# User's glob-regex
null
# Manifests Directory Override
null
[ ]: Launch games via Epic for online services
# Galaxy Path Override
null
[ ]: Launch games via GOG Galaxy
# Title from custom variable
[ ]: Case-insensitive variables
[ ]: Skip file if variable was not found
[ ]: Enable Title from Custom Variable
# Title modifier
${fuzzyTitle}
# Fuzzy matching
[x]: Use fuzzy matching
[x]: Replace diacritic characters
[x]: Aggressive matching
[x]: Remove (...) and [...] brackets
# Online image query
${${fuzzyTitle}}
# Image pool
${fuzzyTitle}
# Default image
# Default tall image
# Default hero image
# Default logo image
# Default icon
# Local images
# Local tall images
# Local hero images
# Local logo images
# Local icons
[ ]: Disable current parser
[ ]: Show advanced options
MultiMC Launcher preset:
# Parser type
····Selected: Glob-regex
# Configuration title
····MultiMC
# Steam category
····${MultiMC}
# Executable
····F:\MultiMC\MultiMC.exe
····[ ]: Follow .lnk to destination (Windows only)
····[x]: Append arguments to executable
# Command line arguments
····-l "${title}"
# Executable modifier
····"${exePath}"
# ROMs directory
····F:\MultiMC\instances
# Steam directory
····${steamdirglobal}
# "Start In" directory
····
# User accounts
····null
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# Image providers
····Selected: SteamGridDB
# User's glob
····null
# User's glob-regex
····${/^[^_].+$/}/
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${title}
# Fuzzy matching
····[ ]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Online image query
····${Minecraft}
# Image pool
····Minecraft
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····${filepath}/../../icons/*
····[ ]: Disable current parser
····[x]: Show advanced options
A preset for RPG Maker games for the EasyRPG Libreto core. A RPG Maker game has it's own folder and each ldb file has the same name. So we have to use the folder name for the game title.
# Parser type
····Selected: Glob
# Configuration title
····RPG Maker - Retroarch - EasyRPG
# Steam category
····${RPG Maker}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····D:\Spiele\EmulationStation-DE\ROMs\easyrpg\
# Executable
····${retroarchpath}
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····-L ${os:win|cores|${os:mac|${racores}|${os:linux|${racores}}}}${/}easyrpg_libretro.${os:win|dll|${os:mac|dylib|${os:linux|so}}} "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}/*@(.ldb|.easyrpg)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${title}
# Fuzzy matching
····[ ]: Use fuzzy matching
····[ ]: Replace diacritic characters
····[ ]: Aggressive matching
····[ ]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${title}}
# Image pool
····${title}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
Edit: I may revisit adding this @kencinder
I created the parser below to add all of the games I have in Lutris to Steam automatically, the category regex is a fudgy way of categorising the games by source.
NOTE: This is for the Flatpak version of Lutris, should be easy to modify the exe path for the non-Flatpak version. It will also ignore any Steam games that are in your Lutris library if you've setup that integration in Lutris. If using the Flatpak version of SRM you'll need to use Flatseal to give SRM access to the Lutris directory.
# Parser type
····Selected: Glob-regex
# Configuration title
····Lutris(Flatpak)
# Steam category
····${PC/LINUX}${Lutris}${${/^(?:(?!Epic).)*$/|${/(alien-isolation|satisfactory|rogue-legacy$|absolute-drift|among-us|cave-story|celeste|sonic-mania|a-short-hike)/|${title}|Epic}|${/^(?:(?!GOG).)*$/|${/(divinity-original-sin-2)/|${title}|GOG}|Other}}}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····/home/USERNAME/.var/app/net.lutris.Lutris/config/lutris/games
# Executable
····/usr/bin/flatpak
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[ ]: Append arguments to executable
# Command line arguments
····run net.lutris.Lutris lutris:rungame/${title}
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····null
# User's glob-regex
····${/^(?!steam\-\d+)(.+)\-\d+\.yml/}
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[ ]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····/home/USERNAME/.var/app/net.lutris.Lutris/data/icons/hicolor/128x128/apps/lutris_${title}.@(png|PNG|ico|ICO)
Edit: This is so simple it could be handled with the Generic preset and adding the extensions, plus no art on SGDB it all needs done manually by the user anyway. Not adding sorry @kencinder
A preset I made for importing Visual PinballX games into steam, requires all custom artwork as the ones on SteamGridDB are for actual games, rather than the pinball variants.
# Parser type
····Selected: Glob
# Configuration title
····Visual Pinball - VPX
# Steam category
····${Pinball VPX}
# Steam directory
····C:\Program Files (x86)\Steam
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····C:\Visual Pinball\Tables VPX
# Executable
····
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[ ]: Append arguments to executable
# Command line arguments
····
# Executable modifier
····"${filePath}"
# "Start In" directory
····
# User's glob
····${title}@(.vpx|.VPX)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${title}
# Fuzzy matching
····[ ]: Use fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected:
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····C:/Users/USERNAME/Pictures/Steam Pics/Logos/${finalTitle}.@(png|PNG|jpg|JPG|webp|WEBP)
# Local tall images
····C:/Users/USERNAME/Pictures/Steam Pics/Grid Artwork/${finalTitle}.@(png|PNG|jpg|JPG|webp|WEBP)
# Local hero images
····C:/Users/USERNAME/Pictures/Steam Pics/Banners/${finalTitle}.@(png|PNG|jpg|JPG|webp|WEBP)
# Local logo images
····C:/Users/USERNAME/Pictures/Steam Pics/Logos/${finalTitle}.@(png|PNG|jpg|JPG|webp|WEBP)
# Local icons
····C:/Users/USERNAME/Pictures/Steam Pics/Logos/${finalTitle}.@(png|PNG|ico|ICO)
A preset for RPG Maker games for the EasyRPG Libreto core. A RPG Maker game has it's own folder and each ldb file has the same name. So we have to use the folder name for the game title.
# Parser type ····Selected: Glob # Configuration title ····RPG Maker - Retroarch - EasyRPG # Steam category ····${RPG Maker} # Steam directory ····${steamdirglobal} # User accounts ···· ····[x]: Skip found accounts with missing data directories ····[x]: Use account credentials # ROMs directory ····D:\Spiele\EmulationStation-DE\ROMs\easyrpg\ # Executable ····${retroarchpath} ····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only) ····[x]: Append arguments to executable # Command line arguments ····-L ${os:win|cores|${os:mac|${racores}|${os:linux|${racores}}}}${/}easyrpg_libretro.${os:win|dll|${os:mac|dylib|${os:linux|so}}} "${filePath}" # Executable modifier ····"${exePath}" # "Start In" directory ···· # User's glob ····${title}/*@(.ldb|.easyrpg) # User's glob-regex ····null # Manifests Directory ····null # Amazon Games Path Override ····null ····[ ]: Launch games via Amazon Games # Manifests Directory Override ····null ····[ ]: Launch games via Epic for online services # Galaxy Path Override ····null ····[ ]: Launch games via GOG Galaxy # itch.io AppData Path Override ····null # Uplay Directory Override ····null ····[ ]: Launch games via UPlay for online services # Title from custom variable ···· ····[ ]: Case-insensitive variables ····[ ]: Skip file if variable was not found ····[ ]: Enable Title from Custom Variable # Title modifier ····${title} # Fuzzy matching ····[ ]: Use fuzzy matching ····[ ]: Replace diacritic characters ····[ ]: Aggressive matching ····[ ]: Remove (...) and [...] brackets # Image providers ····Selected: SteamGridDB ····[ ]: Allow NSFW artwork ····[ ]: Allow joke artwork # Allowed grid styles ····Selected: # Allowed hero styles ····Selected: # Allowed logo styles ····Selected: # Allowed icon styles ····Selected: # Allowed animation types ····Selected: static # Online image query ····${${title}} # Image pool ····${title} # Default image ···· # Default tall image ···· # Default hero image ···· # Default logo image ···· # Default icon ···· # Local images ···· # Local tall images ···· # Local hero images ···· # Local logo images ···· # Local icons ····
Replaced the fuzzy title with the title for the image query. When can we expect the presets to be included?
heres one for the flatpak version of flycast: edit: if your dreamcast game is in the .chd format you don't need to do the folder bussiness, but if it isnt you should probbly follow the thing below, also i have tested to see if you can both at the same time and it works. unfortunately due to how dreamcast games are usually ripped we have to look for our files within folders (not including .bin or .raw files since we get a lot of trackXX.bin/.raw within our parser results cluttering the results with stuff we don't need) so it should be /DREAMCAST_RIPS_LOCATION/GAMENAME/gamename.whatever flycast itself doesn't support archives (unlike the libretro repo, i wish they would add support) so this is the best work around that shouldn't be to hard for the end user to understand.
That works for you? Some flatpak apps, including Flycast, haven't been working for me when launched from steam.
What about this one?
${title}/**@(.7z|.7Z|.cdi|.CDI|.cue|.CUE|.gdi|.GDI)
That should be **/${title}@(.7z|.7Z|.cdi|.CDI|.cue|.CUE|.gdi|.GDI)
. This will find the files whether they're in subfolders or not, and regardless of what the subfolders are named.
flycast itself doesn't support archives
You can convert bin+cue to chd with chdman like so:
chdman createcd -i 'Sonic Adventure (USA).cue' -o 'Sonic Adventure (USA).chd'
That works for you? Some flatpak apps, including Flycast, haven't been working for me when launched from steam.
sometimes flatpak apps don't expect you to launch them via something else other then an application launcher or the terminal. my rule of thumb when getting this to work was to test the command in a terminal to see what went wrong if steam didn't launch it.
What about this one? Sega Saturn - Mednaffe(Flatpak)
maybe try removing the '--command=mednafen' from the command line arguments and see where you can go from there.
${title}/**@(.7z|.7Z|.cdi|.CDI|.cue|.CUE|.gdi|.GDI)
That should be
**/${title}@(.7z|.7Z|.cdi|.CDI|.cue|.CUE|.gdi|.GDI)
. This will find the files whether they're in subfolders or not, and regardless of what the subfolders are named.
thanks for the heads in your passive aggressive way! i've updated the configuration so it should now recognize games within sub folders properly. the .7z extensions shouldn't be there, mistake on my part, i left that in when i was testing stuff, i have edited my config to remove it.
flycast itself doesn't support archives
You can convert bin+cue to chd with chdman like so:
chdman createcd -i 'Sonic Adventure (USA).cue' -o 'Sonic Adventure (USA).chd'
i'm talking about the game files within .7z and .zip archives, flycast can't open them. i have yet to try chd's but i'll give it a go some time tomorrow and add it to the config
my rule of thumb when getting this to work was to test the command in a terminal to see what went wrong if steam didn't launch it.
I often find that often commands that work in the terminal don't work from steam. In fact, the Flycast command I used was exactly the same as yours.
maybe try removing the '--command=mednafen'
Mednaffe doesn't take arguments, so calling Mednafen directly is the only way it works. Anyway, standalone Mednafen works.
thanks for the heads in your passive aggressive way!
Did I come across that way? Sorry about that.
my rule of thumb when getting this to work was to test the command in a terminal to see what went wrong if steam didn't launch it.
I often find that often commands that work in the terminal don't work from steam. In fact, the Flycast command I used was exactly the same as yours.
maybe try removing the '--command=mednafen'
Mednaffe doesn't take arguments, so calling Mednafen directly is the only way it works. Anyway, standalone Mednafen works. Sega Saturn - Mednafen
i tried my method and found out that the flatpak version cannot open them via command line returning with the error:
(mednaffe:2): Glib-GIO-CRITICAL **: 15:14:21.601: This application can not open files
(if you really want to know i used the command: flatpak run com.github.AmatCoder.medaffe "$ROM_PATH"
both that and the --command=mednaffe
added in returned the same result)
i'm gonna take a good guess that they haven't added support to do this via command line to the flatpak version as of yet.
you'll have to raise the issue with them since there's nothing we can do from our end, hope this helps.
thanks for the heads in your passive aggressive way!
Did I come across that way? Sorry about that.
thats alright mate, shid happens.
--command=mednaffe
It's --command=mednafen
, actually.
I figured out what went wrong. For some reason SRM was adding Â
into the generated commandline in shortcuts.vdf
. Only seems to happen if I copy and paste within SRM. Maybe I accidentally pasted a control character or something.
What's odd is that it didn't show up in userConfigurations.json
Updated 2/23/23: For some reason, the previous setup stopped working. But when I redid it, it worked again. As far as I can tell there is no change to the parser, but I added a more recent set-up.
A preset for the Philips CD-i. Tried it with only one game, "Laser Lords." Hope its okay.
# Parser type
····Selected: Glob
# Configuration title
····Phillips - Cd-i
# Steam category
····${CD-i}
# Steam directory
····/home/deck/.steam/steam
# User accounts
····${guyjr@lycos.com}
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····/home/deck/Emulation/roms/cdimono1
# Executable
····/usr/bin/flatpak
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····run org.libretro.RetroArch -L ${os:win|cores|${os:mac|${racores}|${os:linux|${racores}}}}${/}same_cdi_libretro.${os:win|dll|${os:mac|dylib|${os:linux|so}}} "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····**/${title}@(.iso|.ISO)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[x]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
The preset for yuzu is outdated. The command line arguments should be -g "${filePath}"
or -f -g "${filePath}"
for fullscreen launch (which I prefer)
Edit: This emulator would work with the Generic Preset, is massively outdated and dead. Not adding sorry @kencinder
PSXFin
# Parser type
····Selected: Glob
# Configuration title
····Sony PlayStation - PSXFin
# Steam category
····${Playstation-1}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····C:\EMULATION\PlayStation\cdimages
# Executable
····C:\EMULATION\PlayStation\psxfin.exe
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····-f "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}@(.cdz|.CDZ|.cue|.CUE|.ecm|.ECM|.iso|.ISO|.mds|.MDS|.pbp|.PBP)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
Edit: I may revisit adding this @kencinder
Bottles. I've been having some poor luck with Lutris and Wine on my Steam Deck lately and moved over to Bottles because of it. I've had a much simpler and stable windows software experience since then.
I got this to work by consistently naming both the bottle and the program (Bottles allows you to alias executables) the exact same thing. Let me know if you have suggestions for improvements!
# Parser type
····Selected: Glob
# Configuration title
····Bottles_SD
# Steam category
····${Bottles}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····/run/media/mmcblk0p1/Games/bottles/
# Executable
····/usr/bin/flatpak
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····run --command=bottles-cli com.usebottles.bottles run -b ${title} -p ${title}
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
For Vita3K.
-F
is for Fullscreen & can be removed if desired.# Parser type
····Selected: Glob
# Configuration title
····Sony PlayStation Vita - Vita3K (Installed Titles)
# Steam category
····${PS Vita}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····path-to-Vita3Kfolder-ux0-app
# Executable
····path-to-Vita3K.exe
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····-F -r "${fileName}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[x]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[x]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····${filePath}/sce_sys/pic0.@(png|PNG|jpg|JPG)
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····${filePath}/sce_sys/icon0.@(png|PNG|jpg|JPG)
Bit of an odd one here, but here's what I've put together for game entries added via GlosSI (a package which allows using Steam Input and the Steam overlay on UWP apps, among other things). A couple of notes:
# Parser type
····Selected: Glob
# Configuration title
····GlosSI
# Steam category
····${GlosSI}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····C:\Users\username\AppData\Roaming\GlosSI\Targets
# Executable
····C:\Applets\GlosSI\GlosSITarget.exe
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····
# Executable modifier
····"${exePath}" "${fileName}.json"
# "Start In" directory
····
# User's glob
····${title}@(.json)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
Sorry, I posted this as an "Issue" without seeing this first! Here is a parser for Neo Geo CD that uses the neocd libretro core instead of the FNB core that can run Neo Geo CD Games. This latter doesn't support Unibios while the former does.
# Parser type
····Selected: Glob
# Configuration title
····SNK - Neo Geo CD - Retroarch - neocd
# Steam category
····${Neo Geo CD}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····path-to-roms
# Executable
····${retroarchpath}
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····run org.libretro.RetroArch -L ${os:win|cores|${os:mac|${racores}|${os:linux|${racores}}}}${/}neocd_libretro.${os:win|dll|${os:mac|dylib|${os:linux|so}}} "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}@(7z|7Z|.zip|.ZIP.|chd|.CHD)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[x]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
I've made a parser for Sega Dreamcast with the Redream emulator, tested with the 3 games I have
# Parser type
····Selected: Glob
# Configuration title
····Sega Dreamcast - Redream
# Steam category
····${Sega Dreamcast}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····path-to-roms
# Executable
····path-to-redream.exe
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····-b -e "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}@(.7z|.7Z|.cdi|.CDI|.chd|.CHD|.cue|.CUE|.gdi|.GDI)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
don't know if this is the right place for asking but is there a template for non retroarch flycast on windows? dont like using retroarch
don't know if this is the right place for asking but is there a template for non retroarch flycast on windows? dont like using retroarch
https://github.com/SteamGridDB/steam-rom-manager/issues/98#issuecomment-1218639334
# Parser type
····Selected: Glob
# Configuration title
····Sharp X68000 - Retroarch - PX68k
# Steam category
····${Sharp X68000}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····path-to-roms
# Executable
····/usr/bin/flatpak
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····run org.libretro.RetroArch -L ${os:win|cores|${os:mac|${racores}|${os:linux|${racores}}}}${/}px68k_libretro.${os:win|dll|${os:mac|dylib|${os:linux|so}}} "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····**/${title}@(.zip|.dim|.img|.d88|.88d|.hdm|.dup|.2hd|.xdf|.hdf|.cmd|.m3u)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[x]: Allow NSFW artwork
····[x]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
The Commodore Amiga.
# Parser type
····Selected: Glob
# Configuration title
····Commodore Amiga - Retroarch - PUAE
# Steam category
····${Amiga}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····path-to-roms
# Executable
····${retroarchpath}
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····-L "cores${/}puae2021_libretro.dll" "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}@(.zip|.adf|.adz|.dms|.lha)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected:
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
I made my own preset for GlosSI, as @DragRedSim did above https://github.com/SteamGridDB/steam-rom-manager/issues/98#issuecomment-1279690743 I made it before I knew his existed, and it comes with some tweaks to keep the command line arguments consistent, plus uses the default install folder.
I use GlosSI to add my GamePass games (and any other UWP) to Steam, with Steam Input support so I can use my Steam controller.
# Parser type
····Selected: Glob
# Configuration title
····GlosSI
# Steam category
····${GlosSI}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····C:\Users\{username}\AppData\Roaming\GlosSI\Targets
# Executable
····C:\Program Files\GlosSI\GlosSITarget.exe
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····${fileName}${fileExt}
# Executable modifier
····"${exePath}"
# "Start In" directory
····C:\Program Files\GlosSI
# User's glob
····${title}@(.json|.JSON)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Path Override
····null
# Uplay Directory Override
····null
····[ ]: Launch games via UPlay for online services
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Default image
····
# Default tall image
····
# Default hero image
····
# Default logo image
····
# Default icon
····
# Local images
····
# Local tall images
····
# Local hero images
····
# Local logo images
····
# Local icons
····
Cemu recently released on Flathub, so I modified the "Nintendo WiiU - Cemu (RPX)" preset to point to flatpak instead.
# Parser type
····Selected: Glob
# Configuration title
····Nintendo WiiU - Cemu (Flatpak) (RPX)
# Steam category
····${Wii U}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····/mnt/Storage/Games/Emulation/Wii U
# Executable
····/usr/bin/flatpak
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····run info.cemu.Cemu -f -g "${filePath}"
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}/*/*@(.rpx|.RPX)
# User's glob-regex
····null
# Manifests Directory
····null
# Amazon Games Path Override
····null
····[ ]: Launch games via Amazon Games
# Epic Manifests Directory Override
····null
····[ ]: Launch games via Epic for online services
# Legendary installed.json Path Override
····null
# Galaxy Path Override
····null
····[ ]: Launch games via GOG Galaxy
# itch.io AppData Directory Override
····null
# Windows-on-Linux Install Drive Redirect
····null
····[ ]: Find artwork for games only (no tools)
····[ ]: Find artwork for installed titles only
····[ ]: Find artwork for unofficial source mods
# Ubisoft Directory Override
····null
····[ ]: Launch games via UPlay for online services
# XboxGames Directory Override
····null
····[ ]: Launch game as UWP instead of launcher helper.
# EA Games Directory Override
····null
····[ ]: Launch games via EA Desktop
# Title from custom variable
····
····[ ]: Case-insensitive variables
····[ ]: Skip file if variable was not found
····[ ]: Enable Title from Custom Variable
# Title modifier
····${fuzzyTitle}
# Fuzzy matching
····[x]: Replace diacritic characters
····[x]: Aggressive matching
····[x]: Remove (...) and [...] brackets
# PS4 Template
····Selected: null
# PS5 Template
····Selected: null
# Xbox 360 Template
····Selected: null
# Xbox One Template
····Selected: null
# Switch Joy-Con (Left) Template
····Selected: null
# Switch Joy-Con (Right) Template
····Selected: null
# Switch Pro Template
····Selected: null
# Steam Deck Template
····Selected: null
# Image providers
····Selected: SteamGridDB
····[ ]: Allow NSFW artwork
····[ ]: Allow joke artwork
# Allowed grid styles
····Selected:
# Allowed hero styles
····Selected:
# Allowed logo styles
····Selected:
# Allowed icon styles
····Selected:
# Allowed animation types
····Selected: static
# Online image query
····${${fuzzyTitle}}
# Image pool
····${fuzzyTitle}
# Fallback banner
····
# Fallback poster
····
# Fallback hero
····
# Fallback logo
····
# Fallback icon
····
# Local banners glob
····
# Local posters glob
····
# Local heroes glob
····
# Local logos glob
····
# Local icons glob
····${dir}/../*${/\[.*?\]/g|${title}|}*/meta/iconTex.tga
I added everything up to this point and hid all comments, except for a few I may revisit(Comments were added)
There are various reasons I will not add them right now, from not knowing how to categorize them or if they truly belong in the presets to a couple needing a fair bit of time to do right. They are left unhidden so others can see and use them.
Thanks to everyone that shared their parsers and a big thanks to @missionfloyd for providing many flatpak parsers
@rkr87:
I created the parser below to add all of the games I have in Lutris to Steam automatically, the category regex is a fudgy way of categorising the games by source.
NOTE: This is for the Flatpak version of Lutris, should be easy to modify the exe path for the non-Flatpak version. It will also ignore any Steam games that are in your Lutris library if you've setup that integration in Lutris. If using the Flatpak version of SRM you'll need to use Flatseal to give SRM access to the Lutris directory.
I've tried this out on my installation of Lutris and the shortcuts it generates aren't quite right. For reference, here's what my Lutris config path looks like:
~ ls /home/deck/.var/app/net.lutris.Lutris/config/lutris/games
barkley-shut-up-and-jam-gaide-120-1676805396.yml
drakan-order-of-the-flame-setup-1682855419.yml
project-06-standalone-1692318019.yml
dig-n-rig-download-1669928903.yml
emperor-battle-for-dune-setup-1682896806.yml
viva-pinata-setup-1682898788.yml
The shortcuts this parser gets me from there use this command line:
"/usr/bin/flatpak" run net.lutris.Lutris lutris:rungame/barkley-shut-up-and-jam-gaide-120
"/usr/bin/flatpak" run net.lutris.Lutris lutris:rungame/dig-n-rig-download
"/usr/bin/flatpak" run net.lutris.Lutris lutris:rungame/drakan-order-of-the-flame-setup
"/usr/bin/flatpak" run net.lutris.Lutris lutris:rungame/emperor-battle-for-dune-setup
"/usr/bin/flatpak" run net.lutris.Lutris lutris:rungame/project-06-standalone
"/usr/bin/flatpak" run net.lutris.Lutris lutris:rungame/viva-pinata-setup
These don't actually work - the final component of the extracted title (-setup
, -download
, -standalone
, -120
in these examples) is extraneous for each and every one. Can you confirm whether that component is present in your Lutris configuration files as well, and try modifying the regex to strip it? If I remove the final component from the .yml file names, the parser works perfectly! I'd give this a go myself but it's very late here and I do not have the ability to think with regex right now...
Since this is now a thing, and a number of presets have been added, I'm creating this to gather further emulator presets that I can add, in a ticket meant just for that.
Please use the "Copy Configuration to Clipboard" button in the bottom right of your parser(s) and paste them here AS-IS with a space between each parser entry (makes it easier to read).
Make sure before posting it, that it actually functions, from testing to launching a game with Steam.
Do not however worry about extra things you may have added to customize your parser, I will weed that out - I use an IPS flag for my Retroarch parsers for instance, as well as local images and different title modifiers etc than most users would.