Repository navigation
fix(launch): resolve Start/Resume + harden shell opens - #252
Closed
TheMrBakit wants to merge 1 commit into
Closed
TheMrBakit wants to merge 1 commit into
TheMrBakit wants to merge 1 commit into
Conversation
- Windows game launch now passes the FULL exe path (FS.list_dir returns bare filenames) and launches via OS.create_process argument array instead of a cmd /C string, fixing Start/Resume buttons that silently did nothing. - Add --basepath so Cataclysm finds its data/ dir (OS.create_process has no cwd), replacing the old 'cd /d game_dir' behaviour. - Replace OS.shell_open with Helpers.safe_shell_open across call sites to avoid shell-injection via crafted URLs/paths. - Rename tex_solzrized_light.tres -> tex_Solarized_Light.tres (case fix).
Contributor
Author
|
Closing didn't finish the fixes |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
FS.list_dir()returns bare filenames, so the previouscmd /C "start <bare.exe> ..."had no resolvable path and silently failed. Now launches viaOS.create_processwith the full exe path (Paths.game_dir.path_join(matches[0])).cmd /Cstring with an argument array, so world names containing spaces/quotes can't be reinterpreted as shell syntax.--basepath <game_dir>/so Cataclysm finds itsdata/directory (Godot'sOS.create_processcannot set a working dir, which the oldcd /d game_dirprovided).OS.shell_open(...)withHelpers.safe_shell_open(...)across call sites (links, game dir, user dir, install paths) to prevent shell injection via crafted URLs/paths.tex_solzrized_light.tres→tex_Solarized_Light.tres(case fix).Verification
godot --headless --checkpasses (no script/parse errors).Known caveat (not a launcher bug)
On a locally-built Cataclysm-BN (
914eab6-dirty), passing--world <name>via CLI crashes the game (access violation). This build dies on the--worldflag specifically; loading the same world from the in-game Load menu works. The launcher now emits a correct--worldargument — the crash is game-side and independent of this change. Resume will crash on that build until the game's--worldCLI path is fixed upstream.Files changed
14 files, +134/−49 (GDScript, scene, icon rename). No
.import/cache churn included.🤖 Generated with Hermes Agent