Title screen, pause menu, settings dialog and savegames

- title screen (continue/new/load/settings/help) and Esc pause menu
- settings: language & sound, camera, graphics, game, rebindable keys;
  stored in localStorage and in every savegame (always applied on load)
- savegames as JSON (.dcsave): download, load via file picker or drag & drop
- autosave to localStorage every 2 minutes and when the tab is hidden/closed
- configurable wall detail, light count, interface size, game speed, hints
- audio behind a cargo feature so native tests run (cargo test --no-default-features)
- savegame round-trip test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-02 23:08:33 +01:00
1 parent fbf6f223fc
commit fb7dab3683
17 files changed
+1742 -345

No files matched your search

+8 -1
View File
@@ -4,7 +4,14 @@ version = "0.1.0"
edition = "2021"
[dependencies]
macroquad = { version = "0.4", features = ["audio"] }
macroquad = { version = "0.4" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
[features]
default = ["audio"]
# macroquad audio (needs libasound natively); disable for native tests: cargo test --no-default-features
audio = ["macroquad/audio"]
[profile.release]
opt-level = 3