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

+69
View File
@@ -198,3 +198,72 @@ tile.marked = marked for digging
# ---- language selection
langsel.title = Language
langsel.hint = Click a language. You can change it later in the settings.
# ---- menus
menu.subtitle = Dig. Build. Defend. Conquer.
menu.continue = Continue
menu.new = New Game
menu.load = Load Game
menu.save = Save Game
menu.settings = Settings
menu.help = Help
menu.resume = Resume
menu.main = Main Menu
menu.back = Back
menu.paused = Paused
menu.drop_hint = Tip: you can also drop a .dcsave file onto the game window to load it.
# ---- settings
set.tab.sound = Language & Sound
set.tab.camera = Camera
set.tab.graphics = Graphics
set.tab.game = Game
set.tab.keys = Keys
set.language = Language
set.volume = Sound volume
set.music = Music volume
set.mute = Mute
set.rotate_speed = Rotation speed
set.zoom_speed = Zoom speed
set.edge_scroll = Screen edge scrolling
set.invert = Invert mouse rotation
set.outlines = Tile outlines
set.wall_detail = Wall detail
set.lights = Light sources
set.ui_scale = Interface size
set.game_speed = Game speed
set.hints = Hints
set.keys_hint = Click an action and press a key. Keys already in use are swapped.
set.press_key = Press a key for: {0}
set.esc_cancel = Esc cancels
set.reset_keys = Reset keys
val.on = On
val.off = Off
val.low = Low
val.medium = Medium
val.high = High
val.normal = Normal
val.large = Large
# ---- key binding names
key.cam_forward = Camera forward
key.cam_back = Camera back
key.cam_left = Camera left
key.cam_right = Camera right
key.rotate_left = Rotate left
key.rotate_right = Rotate right
key.tilt_up = Tilt up
key.tilt_down = Tilt down
key.pause = Pause
key.mute = Sound on/off
key.volume_up = Volume up
key.volume_down = Volume down
key.outlines = Tile outlines
key.help = Help
# ---- savegames
save.saved = Game saved: {0}
save.loaded = Game loaded.
save.err_invalid = This file is not a valid DungeonCraft savegame.
save.err_version = This savegame comes from a newer version of DungeonCraft.
save.choose = Choose a savegame file ...