return run(cmd, cwd=dir).returncode
-def start_sh(start: PurePath) -> int:
- cmd = [ start.as_posix() ]
+def start_sh(dir: PurePath, link: PurePath, opt: str = None) -> int:
+ if (opt):
+ startsh = dir.joinpath(f"start-{opt}.sh")
+ else:
+ startsh = dir.joinpath("start.sh")
- return run(cmd, cwd=start.parent).returncode
+ if (not startsh.exists()):
+ return 404;
+
+ cmd = startsh.as_posix()
+ return run(cmd, cwd=dir).returncode
def supports(self, game: Game):
return game.dir.joinpath("start.sh").exists()
- def _start(self, game: Game, opt: str = None):
- start = game.dir.resolve().joinpath("start.sh")
-
+ def _start(self, game: Game, opt: str = None):
self._running(game)
- rep = start_sh(start)
+ rep = start_sh(game.dir.resolve(), game.library.dir.resolve(), opt)
if (rep != 0):
self._error(game, rep)