From fc9cfb12472f74075cd1f20f49a7dd1837a89c66 Mon Sep 17 00:00:00 2001 From: R1kaB3rN <100738684+R1kaB3rN@users.noreply.github.com> Date: Fri, 9 Feb 2024 20:04:48 -0800 Subject: [PATCH] gamelauncher.py: support finding _v2-entry-point in $HOME/.local/share --- gamelauncher.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/gamelauncher.py b/gamelauncher.py index 6c460e1..49fc9da 100755 --- a/gamelauncher.py +++ b/gamelauncher.py @@ -200,9 +200,26 @@ def set_env_toml(env: Dict[str, str], args: Namespace) -> Dict[str, str]: def build_command(env: Dict[str, str], command: List[str], verb: str) -> List[str]: """Build the command to be executed.""" - # NOTE: We must assume _v2-entry-point (ULWGL) is within the same dir as this launcher - # Otherwise, an error can be raised - entry_point: str = Path(Path(__file__).cwd().as_posix() + "/ULWGL").as_posix() + paths: List[Path] = [ + Path(Path().home().as_posix() + "/.local/share/ULWGL/ULWGL"), + Path(Path(__file__).cwd().as_posix() + "/ULWGL"), + ] + entry_point: str = "" + + # Find the ULWGL script in $HOME/.local/share then cwd + for path in paths: + if path.is_file(): + entry_point = path.as_posix() + break + + # Raise an error if the _v2-entry-point cannot be found + if not entry_point: + home: str = Path().home().as_posix() + dir: str = Path(__file__).cwd().as_posix() + msg: str = ( + f"Path to _v2-entry-point cannot be found in: {home}/.local/share or {dir}" + ) + raise FileNotFoundError(msg) if not Path(env.get("PROTONPATH") + "/proton").is_file(): err: str = "The following file was not found in PROTONPATH: proton"