Added game Wickets.
This commit is contained in:
1 parent
aafc97ee58
commit
17c1f0f77d
7 files changed
+91
-5
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# Linux Game Manager Core Map
|
||||
|
||||
Last refreshed: 2026-10-04
|
||||
Last refreshed: 2026-10-30
|
||||
|
||||
## Top-Level Structure
|
||||
|
||||
@@ -9,16 +9,17 @@ Last refreshed: 2026-10-04
|
||||
- `.launch/`: Per-game launch scripts (`.game`) and runnable entries (`.sh`, usually symlinks).
|
||||
- `.update/`: Optional per-game update scripts expected to define `run_update()`.
|
||||
- `.includes/ipfs.sh`: Central associative array of IPFS download URLs, expanded against the configured gateway at startup.
|
||||
- `.includes/wickets.sh`: Shared Wickets installer/updater; resolves the latest GitHub release and preserves portable saves.
|
||||
- `speech/speak_window_title.sh`: Accessibility helper for announcing focused window titles.
|
||||
- `README.md`: Project summary and high-level behavior notes.
|
||||
- `.files/`: Game-specific auxiliary assets/scripts used by some installers or launchers.
|
||||
|
||||
## Catalog Snapshot
|
||||
|
||||
- Installers: 46 (`.install/*.sh`)
|
||||
- Launcher definitions: 46 (`.launch/*.game`)
|
||||
- Launcher runnable entries: 36 (`.launch/*.sh`, both symlinks and files)
|
||||
- Update scripts: 9 (`.update/*.sh`)
|
||||
- Installers: 49 (`.install/*.sh`)
|
||||
- Launcher definitions: 49 (`.launch/*.game`)
|
||||
- Launcher runnable entries: 11 (`.launch/*.sh`, both symlinks and files; varies with local installations)
|
||||
- Update scripts: 11 (`.update/*.sh`)
|
||||
|
||||
Regenerate this snapshot with:
|
||||
|
||||
@@ -34,6 +35,7 @@ python3 .codex/skills/linux-game-manager-dev/scripts/audit_game_catalog.py
|
||||
- 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.
|
||||
- Wickets resolves the latest stable GitHub release on each install/update, extracts its Linux x64 tarball into staging, and overlays `${installPath}/Wickets` while preserving `saves`. A `.lgm-version` marker records the release installed by the manager.
|
||||
- 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.
|
||||
|
||||
2. **Launch flow**
|
||||
@@ -52,6 +54,7 @@ python3 .codex/skills/linux-game-manager-dev/scripts/audit_game_catalog.py
|
||||
- `game_update` lists `.update/*.sh`.
|
||||
- Selected updater is sourced.
|
||||
- `run_update()` is called and must exist.
|
||||
- Wickets requires an existing installation, refreshes release metadata even with cached archives, and exits after an up-to-date notice if `.lgm-version` matches. Its own in-game updater is also available from 1.2.0 onward.
|
||||
|
||||
## CLI Surface
|
||||
|
||||
|
||||
@@ -106,6 +106,7 @@ python3 .codex/skills/linux-game-manager-dev/scripts/audit_game_catalog.py
|
||||
- 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.
|
||||
- Wickets shares install/update logic in `.includes/wickets.sh`; its versioned tarball has one top-level directory, and portable saves must survive updates. Always refresh GitHub release metadata rather than reusing a cached latest-release response.
|
||||
- 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