M Cargo.lock => Cargo.lock +7 -0
@@ 3337,6 3337,13 @@ dependencies = [
]
[[package]]
+name = "savefile_decoder"
+version = "0.1.0"
+dependencies = [
+ "starkingdoms-common",
+]
+
+[[package]]
name = "scoped-futures"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
M Cargo.toml => Cargo.toml +2 -1
@@ 2,7 2,8 @@
members = [
"server",
"starkingdoms-backplane",
- "starkingdoms-common"
+ "starkingdoms-common",
+ "savefile_decoder"
]
resolver = "2"
A savefile_decoder/Cargo.toml => savefile_decoder/Cargo.toml +9 -0
@@ 0,0 1,9 @@
+[package]
+name = "savefile_decoder"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+starkingdoms-common = { version = "0.1", path = "../starkingdoms-common" }<
\ No newline at end of file
A savefile_decoder/src/main.rs => savefile_decoder/src/main.rs +10 -0
@@ 0,0 1,10 @@
+use std::fs;
+
+use starkingdoms_common::unpack_savefile;
+
+fn main() {
+ let save = std::env::args().next();
+ let key = fs::read_to_string("/etc/starkingdoms/app_key").unwrap();
+ let save_data = unpack_savefile(&key, save).unwrap();
+ println!("{:#?}", save_data);
+}
M starkingdoms-common/src/lib.rs => starkingdoms-common/src/lib.rs +1 -1
@@ 20,7 20,7 @@ use serde::{Deserialize, Serialize};
use sha2::Sha256;
use std::error::Error;
-#[derive(Serialize, Deserialize)]
+#[derive(Serialize, Deserialize, Debug)]
pub struct SaveData {
// ----------------------------------------------------------------------
// HEY YOU