Skip to content

feat: add non-Steam games section#48

Open
Cliffback wants to merge 5 commits into
mainfrom
feat/non-steam-games
Open

feat: add non-Steam games section#48
Cliffback wants to merge 5 commits into
mainfrom
feat/non-steam-games

Conversation

@Cliffback

@Cliffback Cliffback commented May 19, 2026

Copy link
Copy Markdown
Owner

Summary

Add a new "Non-Steam Games" section that lists games added to Steam via "Add a Non-Steam Game" and allows installing/uninstalling ReShade for them.

What's new

Backend (main.py)

  • Binary VDF parser — Parses Steam's shortcuts.vdf to extract non-Steam game shortcuts (name, exe path, start directory, appid)
  • list_non_steam_games() — Enumerates all non-Steam shortcuts across Steam user profiles, deduplicates by appid, filters to only show .exe shortcuts (excludes scripts, flatpaks, emulators, and Heroic launcher entries)
  • find_non_steam_game_executable_path() — Scans game directories for .exe files, scores them using existing heuristics, with bonus scoring for the shortcut's own exe path
  • install/uninstall_reshade_for_non_steam_game() — Thin wrappers delegating to the existing Heroic game logic (identical DLL copy approach)

Frontend (src/NonSteamGamesSection.tsx)

  • New "Non-Steam Games" section rendered between Steam and Heroic sections
  • Game dropdown populated from shortcuts.vdf
  • Executable detection with selection dropdown and scoring
  • DLL override selector with automatic API detection
  • Install/Uninstall buttons with confirmation modals

Other

  • Renamed "Heroic Games ReShade" section title to "Heroic Games" for consistency

Testing

  • Binary VDF parser tested against real shortcuts.vdf with 19 entries
  • Only .exe shortcuts are shown (scripts, flatpaks, Heroic launcher entries filtered out)
  • Build, lint, typecheck, and tests all pass

Closes #29

Cliffback added 3 commits May 19, 2026 18:44
Parse Steam's binary shortcuts.vdf to list non-Steam game shortcuts
and allow installing/uninstalling ReShade for them.

Backend:
- Add binary VDF parser for shortcuts.vdf
- Add list_non_steam_games() to enumerate shortcuts
- Add find_non_steam_game_executable_path() with scoring and
  script/flatpak shortcut handling
- Add install/uninstall wrappers delegating to Heroic logic

Frontend:
- Add NonSteamGamesSection.tsx with game dropdown, executable
  detection, DLL override selector, and install/uninstall buttons
- Register in index.tsx between Steam and Heroic sections

Closes #29
Skip non-exe shortcuts (scripts, flatpaks, emulators, Heroic launcher
entries) from the non-Steam games list since ReShade can only be
injected into Windows executables. Remove is_script_shortcut warning
logic that is no longer needed.
@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown

Generated Experimental Build: Download artifact (f238005)

Built on 2026-05-20

@0xJCarlos

0xJCarlos commented Jun 4, 2026

Copy link
Copy Markdown

Hi mate, I tried testing this build on my Steam Deck with the Street Fighter III: Third Strike (The PC Port Project, 3SX) but it doesn't seem to be working, is there a way for me to debug this or any documentation? Or where can I get in touch to discuss this? thank you

@Cliffback

Copy link
Copy Markdown
Owner Author

Hi mate, I tried testing this build on my Steam Deck with the Street Fighter III: Third Strike (The PC Port Project, 3SX) but it doesn't seem to be working, is there a way for me to debug this or any documentation? Or where can I get in touch to discuss this? thank you

Feel free to comment here regarding specific questions.

I don't know this game/port though. Does it result it an .exe? And you tried adding this to Steam, and patch with this build?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

non-steam games don't appear in the games list

2 participants