From aaf76af54b258250c100a600cc3f2e8a9e9054b0 Mon Sep 17 00:00:00 2001 From: R1kaB3rN <100738684+R1kaB3rN@users.noreply.github.com> Date: Fri, 23 Feb 2024 16:55:54 -0800 Subject: [PATCH] ulwgl_run: refactor logic for PROTONPATH - Prioritize checking the Proton version first instead of including the logic as apart of fetching the Proton. This way, we also allow clients to assign other Proton forks such as GE-Proton instead of strictly ULWGL-Proton. --- ulwgl_run.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/ulwgl_run.py b/ulwgl_run.py index c42ab99..14c72dd 100755 --- a/ulwgl_run.py +++ b/ulwgl_run.py @@ -120,25 +120,29 @@ def check_env( env["WINEPREFIX"] = os.environ["WINEPREFIX"] - if "PROTONPATH" not in os.environ: - os.environ["PROTONPATH"] = "" - get_ulwgl_proton(env) - elif ( - Path("~/.local/share/Steam/compatibilitytools.d/" + os.environ["PROTONPATH"]) + # Proton Version + if ( + "PROTONPATH" in os.environ + and os.environ["PROTONPATH"] + and Path( + "~/.local/share/Steam/compatibilitytools.d/" + os.environ["PROTONPATH"] + ) .expanduser() .is_dir() ): - env["PROTONPATH"] = ( - Path("~/.local/share/Steam/compatibilitytools.d/") - .expanduser() + log.debug(msg("Proton version selected", Level.DEBUG)) + os.environ["PROTONPATH"] = ( + Path("~/.local/share/Steam/compatibilitytools.d") .joinpath(os.environ["PROTONPATH"]) + .expanduser() .as_posix() ) - elif not Path(os.environ["PROTONPATH"]).expanduser().is_dir(): + + if "PROTONPATH" not in os.environ: os.environ["PROTONPATH"] = "" get_ulwgl_proton(env) - else: - env["PROTONPATH"] = os.environ["PROTONPATH"] + + env["PROTONPATH"] = os.environ["PROTONPATH"] # If download fails/doesn't exist in the system, raise an error if not os.environ["PROTONPATH"]: