Skip to content

Clickable menu for line, vehicle and scenario selection - #45

Merged
vanlueckn merged 1 commit into
mainfrom
t3code/menu-content-selection-clickable
Aug 16, 2026
Merged

Clickable menu for line, vehicle and scenario selection#45
vanlueckn merged 1 commit into
mainfrom
t3code/menu-content-selection-clickable

Conversation

@vanlueckn

Copy link
Copy Markdown
Collaborator

Summary

  • Interactive main menu with three sequential pages: line selection → vehicle selection → scenario selection, each with built-in defaults
  • Dual input support: keyboard (↑/↓ to select, Enter to confirm, Esc to go back) and mouse (hover to select, left click to confirm)
  • Full Fira Mono font bundled in binary (SIL OFL 1.1) to render umlauts and special characters correctly in German UI (replaces ASCII-only Bevy default)
  • Unified menu rendering: mod manager on same menu system as content selection; toggles apply on start, no runtime restart needed
  • Menu selections stored in Selection resource; CLI flags take precedence over menu choices
  • Documentation updates: README clarified to show new menu flow; STATUS.md and MODS.md simplified to remove seasonal variant and night lighting details (moved to ch. 14 reference, not core feature)

Testing

  • Menu navigation: confirm ↑/↓ keys scroll through line/vehicle/scenario lists; Enter selects; Esc returns to previous page; main menu "start" flows through all three in sequence
  • Mouse interaction: hover highlights rows, left click confirms selection
  • Selection persistence: verify selected items are stored in Selection resource and used to build the simulation
  • Mod manager: F9 opens same mod list in-game; menu manager works on main menu with clickable rows
  • CLI precedence: run with --line, --loco, --scenario flags and verify they override menu selections
  • Font rendering: start app and confirm German umlauts (ä, ö, ü) and symbols render correctly in all UI text (HUD, menu, mod panel)
  • Built-in defaults: run app with no mods enabled; verify example line, BR 101 vehicle, and no scenario are offered as defaults
  • State machine: confirm GameState::MenuGameState::Driving transition works after all selections; world is built only on leaving menu

- Three-page selection flow: line → vehicle (loco) → scenario
- Keyboard (↑/↓, Enter, Esc) and mouse (hover, click) input on same index
- CLI flags (--line, --loco, --scenario) take precedence, menu is fallback
- Replace Bevy's ASCII font with full Fira Mono (SIL OFL 1.1) for German umlauts and symbols
- Unify mod manager with menu on same clickable row system
- Add i18n keys for new pages
@vanlueckn
vanlueckn merged commit 9dec220 into main Aug 16, 2026
3 checks passed
@vanlueckn
vanlueckn deleted the t3code/menu-content-selection-clickable branch August 16, 2026 19:01
vanlueckn added a commit that referenced this pull request Aug 16, 2026
…d details (#47)

* docs(readme): update key bindings and menu description

- Add missing key bindings: Y (wipers), 6/7/8 (AFB), 9/0 (lights), ,/. (instrument dimmer)
- Remove obsolete U (train type switch) — no longer used
- Update compressor labeling (drop "air")
- Clarify main menu as clickable interface for line/vehicle/scenario selection (PR #45)
- Fix F9 mod manager description for clarity

* docs(readme): fix scenario syntax and add missing U key binding

- Fix scenario example: edge: (2) → edge: EdgeId(2) (correct RON syntax)
- Add missing U key binding: Train type switch (Zugartschalter)
  O → M → U cycling at standstill (active feature, was undocumented)

* docs(readme): expand editor features and cab/terrain descriptions

- Add route editor DGM tile tool and terrain pull-in documentation
- Document mouse controls for 3D cab (left click/drag/wheel and right look)
- Expand vehicle editor scope: cab, displays, sounds, and rendering details
- Add route editor tool palette table with keyboard shortcuts and actions
- Document terrain splatting, tree spawning, and streaming implementation
- Clarify editor feature coverage in program table (switches, objects, vegetation)
- Update release workflow note: signal editor built from source
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant