diff --git a/src/menu.rs b/src/menu.rs index 96943f8..476c689 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -803,7 +803,7 @@ pub fn handle_input( MenuAction::ResetSettings => { ew_sfx.send(audio::PlaySfxEvent(audio::Sfx::PowerDown)); *settings = Settings::default(); - *prefs = Preferences::default(); + prefs.reset(); // prefs.save(); // prefs are saved by the GameEvents already ew_game.send(GameEvent::SetShadows(Turn::Unchanged)); ew_game.send(GameEvent::SetFullscreen(Turn::Unchanged)); diff --git a/src/var.rs b/src/var.rs index 15e8169..19b9abf 100644 --- a/src/var.rs +++ b/src/var.rs @@ -543,6 +543,14 @@ impl Preferences { } } } + + pub fn reset(&mut self) { + *self = Preferences::default(); + + // why is this necessary?... + self.light_amp = Preferences::default_light_amp(); + self.flashlight_power = Preferences::default_flashlight_power(); + } } fn file_is_readable(file_path: &str) -> bool {