Fixed Monkeyspank.
This commit is contained in:
1 parent
0bfaff29ff
commit
fbb974fa19
6 files changed
+66
-17
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# Linux Game Manager Core Map
|
||||
|
||||
Last refreshed: 2026-09-20
|
||||
Last refreshed: 2026-10-04
|
||||
|
||||
## Top-Level Structure
|
||||
|
||||
@@ -15,10 +15,10 @@ Last refreshed: 2026-09-20
|
||||
|
||||
## Catalog Snapshot
|
||||
|
||||
- Installers: 43 (`.install/*.sh`)
|
||||
- Launcher definitions: 43 (`.launch/*.game`)
|
||||
- Launcher runnable entries: 32 (`.launch/*.sh`, both symlinks and files)
|
||||
- Update scripts: 5 (`.update/*.sh`)
|
||||
- Installers: 46 (`.install/*.sh`)
|
||||
- Launcher definitions: 46 (`.launch/*.game`)
|
||||
- Launcher runnable entries: 36 (`.launch/*.sh`, both symlinks and files)
|
||||
- Update scripts: 9 (`.update/*.sh`)
|
||||
|
||||
Regenerate this snapshot with:
|
||||
|
||||
@@ -31,6 +31,7 @@ python3 .codex/skills/linux-game-manager-dev/scripts/audit_game_catalog.py
|
||||
1. **Install flow**
|
||||
- `game_installer` builds menu from `.install/*.sh`.
|
||||
- Selected installer is sourced in the current shell.
|
||||
- Monkey Spank clones its required submodules recursively and stops installation if cloning fails.
|
||||
- Shared downloads try `curl` first, fall back to `wget` when available, validate archive payloads before install, and reject obvious HTML error pages for unknown file types.
|
||||
- `download_named()` shares the same cache validation path as `download()`, so resolved asset URLs must still produce a valid payload for their file extension.
|
||||
- If `.launch/<game>.game` exists and `.launch/<game>.sh` does not, the manager creates a symlink using the repository root, even if the installer changed directories.
|
||||
@@ -39,6 +40,7 @@ python3 .codex/skills/linux-game-manager-dev/scripts/audit_game_catalog.py
|
||||
- `game_launcher` enumerates `.launch/*.sh` entries.
|
||||
- Entries with first line `#//` are skipped.
|
||||
- Selected launcher is sourced/executed.
|
||||
- Monkey Spank runs from its repository directory so relative sound and text assets resolve; its explicit directory assignment also identifies the removal root.
|
||||
- Text-terminal launchers can fall back to `xterm`, which inherits the requested working directory before executing the game command.
|
||||
|
||||
3. **Removal flow**
|
||||
|
||||
@@ -104,6 +104,8 @@ python3 .codex/skills/linux-game-manager-dev/scripts/audit_game_catalog.py
|
||||
- Use camelCase variable names.
|
||||
- Use snake_case for function names.
|
||||
- Keep scripts robust when sourced in the manager shell.
|
||||
- Clone games with required submodules using `git clone --recurse-submodules` and stop installation on clone failure.
|
||||
- Launch games that load relative assets from their own directory. Monkey Spank uses `${installPath}/monkeyspank` as its working directory and removal root.
|
||||
- Avoid introducing unnecessary colorized output.
|
||||
- For edited bash scripts, run shellcheck and fix all errors.
|
||||
- If `shellcheck` is not installed, prompt the user to install it first (see `references/tooling-prereqs.md`).
|
||||
|
||||
Reference in new issue
Block a user