From 4ba01304ede403816de069357ca5aeff535ccac7 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Thu, 3 Apr 2025 21:31:55 -0400 Subject: Binary saves --- src/save.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/save.rs') 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(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(id: &str) -> Option 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() } -- cgit v1.2.3