8 Commits

Author SHA1 Message Date
R1kaB3rN
9b0402074c
gamelauncher.py: add PROTON_VERB to build_command 2024-02-10 18:09:59 -08:00
R1kaB3rN
bba9f0d060
gamelauncher.py: refactor main
- Move environment variable functionality to set_env and execute it for both usages.
2024-02-10 18:09:18 -08:00
R1kaB3rN
9642748cb0
gamelauncher.py: move setup_pfx to main 2024-02-10 18:03:45 -08:00
R1kaB3rN
d0dbe23663
gamelauncher.py: update parse_args
- Reimplement parse_args to simply return a single positional argument string or a Namespace object. As a result the new usage will be:

$ gamelauncher.py /home/foo/foo.exe
$ gamelauncher.py /home/foo/foo.exe -opengl ...
$ gamelauncher.py --config example.toml

- Everything following the program will be interpreted as a single positional argument and this removes the need for quotes for the envvar usage. The optional arguments: --exe, --options, --store and --verb will no longer be supported.
2024-02-10 18:01:12 -08:00
R1kaB3rN
fc9cfb1247
gamelauncher.py: support finding _v2-entry-point in $HOME/.local/share 2024-02-09 20:04:48 -08:00
R1kaB3rN
4622516693
Add --store option to gamelauncher
- Enable users to optionally specify the game's distribution platform (store). This allows them to properly apply a fix from a specific store rather than Steam's to their game's WINE prefix. As a side effect, this allows users to apply a protonfix from other stores (e.g. gog).
2024-02-09 19:42:22 -08:00
R1kaB3rN
b5a3ac2b0f
Support setting ULWGL_ID
- Set STEAM_COMPAT_APP_ID to a valid ULWGL_ID to allow applying non-steam protonfixes to games.

- Related to c3c016bcdc and 99b3166e83.
2024-02-09 19:39:15 -08:00
R1kaB3rN
066e869485
RFC: Rewrite gamelauncher in Python (#8)
- In its current form, executing the gamelauncher script can be tedious especially when not using a modern shell that supports auto completions. For instance:

$ WINEPREFIX=$HOME/Games/epic-games-store GAMEID=egs PROTONPATH=$HOME/.steam/steam/compatibilitytools.d/GE-Proton8-28 ./gamelauncher.sh $HOME/Games/epic-games-store/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe -opengl -SkipBuildPatchPrereq

- By rewriting the gamelauncher script in Python, we can support reading from a configuration file(s) instead which increases ease of use and provides better organization. This effectively results in this:

$ gamelauncher.py --config example.toml

- Additionally, due to the rich Python ecosystem, the rewrite leaves room for future features and formal testing if needed.
2024-02-09 19:21:10 -08:00