fix(linux): Launch games from relative folder paths #451

Merged
Matt-Mc merged 1 commit from fix/launcher-relative-path into main 2026-11-08 16:49:22 +00:00
Matt-Mc commented 2026-11-08 02:53:52 +00:00 (Migrated from github.com)

Passing a relative game folder to hookshot-launch enters that folder and then resolves the same relative path again when starting the executable. For example, ./Games/Hookshot attempts to launch ./Games/Hookshot/Games/Hookshot/hookshot from the original working directory.

Run ./hookshot after changing into the selected folder. Add four regression cases covering plain and ./-prefixed relative paths containing spaces, supplied either as arguments or through out= in the saved configuration. The existing Linux CI launcher check already runs this test file.

Validation:

  • Ran the actual original and modified launchers against temporary dummy game folders using the bundled Git POSIX shell on Windows: all four relative-path cases failed before (exit 127) and passed after (exit 0).
  • Absolute paths, missing-game errors, working directory, and removal of builder library environment variables passed the focused shell checks.
  • Python syntax validation and git diff --check passed.
  • The native Linux Python launcher suite has not been run locally; Linux CI remains pending. No game build or GPU test was needed for this launcher-only change.

Refs #391. This addresses relative-path launching only; the broader portability and configurable-launcher request remains open.

Passing a relative game folder to `hookshot-launch` enters that folder and then resolves the same relative path again when starting the executable. For example, `./Games/Hookshot` attempts to launch `./Games/Hookshot/Games/Hookshot/hookshot` from the original working directory. Run `./hookshot` after changing into the selected folder. Add four regression cases covering plain and `./`-prefixed relative paths containing spaces, supplied either as arguments or through `out=` in the saved configuration. The existing Linux CI launcher check already runs this test file. Validation: - Ran the actual original and modified launchers against temporary dummy game folders using the bundled Git POSIX shell on Windows: all four relative-path cases failed before (exit 127) and passed after (exit 0). - Absolute paths, missing-game errors, working directory, and removal of builder library environment variables passed the focused shell checks. - Python syntax validation and `git diff --check` passed. - The native Linux Python launcher suite has not been run locally; Linux CI remains pending. No game build or GPU test was needed for this launcher-only change. Refs #391. This addresses relative-path launching only; the broader portability and configurable-launcher request remains open.
Commenting is not possible because the repository is archived.
No description provided.