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
@@ -197,3 +197,72 @@ tile.marked = zum Graben markiert
# ---- Sprachauswahl
langsel.title = Sprache
langsel.hint = Klicke eine Sprache an. Du kannst sie später in den Einstellungen ändern.
# ---- Menüs
menu.subtitle = Graben. Bauen. Verteidigen. Erobern.
menu.continue = Fortsetzen
menu.new = Neues Spiel
menu.load = Spiel laden
menu.save = Spiel speichern
menu.settings = Einstellungen
menu.help = Hilfe
menu.resume = Weiterspielen
menu.main = Hauptmenü
menu.back = Zurück
menu.paused = Pause
menu.drop_hint = Tipp: Du kannst eine .dcsave-Datei auch einfach aufs Spielfenster ziehen, um sie zu laden.
# ---- Einstellungen
set.tab.sound = Sprache & Ton
set.tab.camera = Kamera
set.tab.graphics = Grafik
set.tab.game = Spiel
set.tab.keys = Tasten
set.language = Sprache
set.volume = Effekt-Lautstärke
set.music = Musik-Lautstärke
set.mute = Stumm
set.rotate_speed = Drehgeschwindigkeit
set.zoom_speed = Zoomgeschwindigkeit
set.edge_scroll = Bildschirmrand-Scrollen
set.invert = Mausdrehung umkehren
set.outlines = Kachel-Umrisse
set.wall_detail = Wanddetail
set.lights = Lichtquellen
set.ui_scale = Oberflächengröße
set.game_speed = Spieltempo
set.hints = Hinweise
set.keys_hint = Aktion anklicken und Taste drücken. Bereits belegte Tasten werden getauscht.
set.press_key = Taste drücken für: {0}
set.esc_cancel = Esc bricht ab
set.reset_keys = Tasten zurücksetzen
val.on = An
val.off = Aus
val.low = Niedrig
val.medium = Mittel
val.high = Hoch
val.normal = Normal
val.large = Groß
# ---- Namen der Tastenbelegung
key.cam_forward = Kamera vor
key.cam_back = Kamera zurück
key.cam_left = Kamera links
key.cam_right = Kamera rechts
key.rotate_left = Links drehen
key.rotate_right = Rechts drehen
key.tilt_up = Neigen hoch
key.tilt_down = Neigen runter
key.pause = Pause
key.mute = Ton an/aus
key.volume_up = Lauter
key.volume_down = Leiser
key.outlines = Kachel-Umrisse
key.help = Hilfe
# ---- Spielstände
save.saved = Spiel gespeichert: {0}
save.loaded = Spiel geladen.
save.err_invalid = Diese Datei ist kein gültiger DungeonCraft-Spielstand.
save.err_version = Dieser Spielstand stammt aus einer neueren DungeonCraft-Version.
save.choose = Spielstand-Datei auswählen ...
+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 ...