diff --git a/mrpci-core/src/state.rs b/mrpci-core/src/state.rs index 8154da0..d34993c 100644 --- a/mrpci-core/src/state.rs +++ b/mrpci-core/src/state.rs @@ -726,7 +726,10 @@ impl GameState { ev } - fn save_data(&self) -> SaveData { + /// The whole restorable moment, in memory. Public because save slots + /// aren't always files: the browser build hands this straight to + /// localStorage instead of `saves/`. + pub fn save_data(&self) -> SaveData { SaveData { room: self.world.current, ego: (self.ego.x, self.ego.y), @@ -743,7 +746,9 @@ impl GameState { } } - fn restore_data(&mut self, d: SaveData) -> Vec { + /// Restore a moment produced by [`GameState::save_data`] — the same path + /// death and `RestoreGame` take, minus the filesystem. + pub fn restore_data(&mut self, d: SaveData) -> Vec { self.inventory = d.inventory.clone(); self.taken = d.taken.clone(); self.scored = d.scored.clone();