steam-rom-manager
steam-rom-manager copied to clipboard
Itch parser doesn't seem to detect exe based titles on linux
I am using SRM for the first time. I realized that SRM only detected 2 titles out of the 4 that are installed. After looking into the problem I realized that both of the undetected titles were .exe files. Skipping .exe titles is not a desirable outcome for my use case. I would appreciate if this could be looked into
Upvote & Fund
- We're using Polar.sh so you can upvote and help fund this issue.
- We receive the funding once the issue is completed & confirmed by you.
- Thank you in advance for helping prioritize & fund our backlog.
I use this:
# Parser type
····Selected: Glob
# Configuration title
····Itch Proton
# Steam category
····${itch.io}${proton}
# Steam directory
····${steamdirglobal}
# User accounts
····
····[x]: Skip found accounts with missing data directories
····[x]: Use account credentials
# ROMs directory
····/home/deck/.config/itch/apps
# Executable
····
····[ ]: Follow .lnk or .desktop to destination (Windows and Linux only)
····[x]: Append arguments to executable
# Command line arguments
····
# Executable modifier
····"${exePath}"
# "Start In" directory
····
# User's glob
····${title}/{*/!(UnityCrashHandler*|*-32),!(UnityCrashHandler*|*-32)}.exe
# 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
····/home/deck/.config/kitch
# 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
····${uc|${/^\w/|${title}}}${/^\w(.*)/|${/[_-]+/g|${title}| }}
# 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
····${${title}}${${fuzzyTitle}}
# 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
····
The important parts
User's glob:
${title}/{*/!(UnityCrashHandler*|*-32),!(UnityCrashHandler*|*-32)}.exe
This avoids executables that often come with Unity games, and avoids any -32.exe, which are often duplicates
Title modifier:
${uc|${/^\w/|${title}}}${/^\w(.*)/|${/[_-]+/g|${title}| }}
This essentially removes _, - and other characters from the name of the executable. I found the "fuzzy matching" to be returning completely irrelevant results.
Lastly, online image query:
${${title}}${${fuzzyTitle}}
Tells the image query to use the title we built.
The results are not stellar, but they're ok.
I add ${itch.io}${proton} to the "category" so I can easily find "proton" games and assign them to proton in Steam