diff options
| author | LLLL Colonq <llll@colonq> | 2025-04-03 21:31:55 -0400 |
|---|---|---|
| committer | LLLL Colonq <llll@colonq> | 2025-04-03 21:31:55 -0400 |
| commit | 4ba01304ede403816de069357ca5aeff535ccac7 (patch) | |
| tree | 9dd69c0ac84ab788e6cb95543cc5962907b9861d /src/save.rs | |
| parent | 1e0f17abbc9ae45aee8d9dde875fad3aabcac18b (diff) | |
Binary saves
Diffstat (limited to 'src/save.rs')
| -rw-r--r-- | src/save.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/save.rs b/src/save.rs index 0f0d20b..3f244cc 100644 --- a/src/save.rs +++ b/src/save.rs @@ -26,8 +26,10 @@ pub fn save<W>(id: &str, data: &W) where W: serde::Serialize { let pd = directories::ProjectDirs::from("", "milkfat", id).expect("failed to get save directory"); let _ = std::fs::create_dir_all(pd.data_dir()); let path = pd.data_dir().join("teleia.save"); - let file = std::fs::File::create(&path).expect("failed to open save file"); - serde_json::to_writer(file, data).expect("failed to write save file"); + let mut file = std::fs::File::create(&path).expect("failed to open save file"); + // serde_json::to_writer(file, data).expect("failed to write save file"); + bincode::serde::encode_into_std_write(data, &mut file, bincode::config::standard()) + .expect("failed to write save file"); } #[cfg(not(target_arch = "wasm32"))] @@ -35,6 +37,7 @@ pub fn load<W>(id: &str) -> Option<W> where W: serde::de::DeserializeOwned { let pd = directories::ProjectDirs::from("", "milkfat", id).expect("failed to get save directory"); let _ = std::fs::create_dir_all(pd.data_dir()); let path = pd.data_dir().join("teleia.save"); - let file = std::fs::File::open(&path).ok()?; - serde_json::from_reader(file).ok() + let mut file = std::fs::File::open(&path).ok()?; + // serde_json::from_reader(file).ok() + bincode::serde::decode_from_std_read(&mut file, bincode::config::standard()).ok() } |
