Buttons and actions
Lives in: screens.json buttons · theme buttons / named packs
What menu and HUD buttons do, and how they look.
Actions you use most
| Action | Effect |
|---|---|
new_game | Start from the beginning (optional new_game:<story_id> for multi-pack) |
continue | Resume autosave / continue slot |
screen:<id> | Open that screen |
close | Pop the top screen |
quit | Leave the game |
save / load | Open your save/load screens (when you built them) |
Hooks can use the same strings, e.g. "on_click": "screen:pause". Conditions: "show_if": "has_autosave" (and similar) hide a button until it makes sense.
Full screen structure: Title, pause and settings screens.
How buttons look
| Surface | Where |
|---|---|
| Title / pause / settings / HUD | Theme root buttons (and optional named button packs) |
| Story choice rows | Choice packs — Choice and input looks |
Typical theme keys (flat or textured): normal / hover / pressed / focus colours or textures, corner radius, padding, font colours. Named packs under themes/ can override a screen’s button look the same way choice packs do — Reusing settings.
Default click / hover sounds come from game.json → sounds unless the pack sets click_sfx / hover_sfx — Music and sounds by default.
Usually you need
| Want | Do |
|---|---|
| Title “New Game” | Menu button hook "on_click": "new_game" |
| Open pause | "on_click": "screen:pause" |
| Hide Continue until a save exists | "show_if": "has_autosave" |
| Match choice buttons | Choice pack — not theme buttons |
Next
Polish for menus: Transitions · Cursor · or back to Theme and the dialogue box