diff --git a/src/error.rs b/src/error.rs index b5f7e6a..7914a44 100644 --- a/src/error.rs +++ b/src/error.rs @@ -6,10 +6,10 @@ pub enum Error { ZipError(#[from] zip::result::ZipError), #[error("Protocol Buffers error")] - DecodeFailed(#[from] prost::DecodeError), + ProtobufError(#[from] prost::DecodeError), #[error("Pickle error")] - UnpickleFailed(#[from] serde_pickle::Error), + PickleError(#[from] serde_pickle::Error), #[error("I/O error")] IoError(#[from] std::io::Error), @@ -19,7 +19,7 @@ pub enum Error { #[cfg(feature = "meta")] #[error("JSON error")] - JsonDecodeFailed(#[from] serde_json::Error), + JsonError(#[from] serde_json::Error), #[error("invalid magic: {0:#X}, expected: {1:#X}")] InvalidMagic(u32, u32), diff --git a/src/models/data/summary.rs b/src/models/data/summary.rs index 4b0f545..208948f 100644 --- a/src/models/data/summary.rs +++ b/src/models/data/summary.rs @@ -23,7 +23,7 @@ pub struct Summary { pub camouflage_slot: u8, #[serde(rename(deserialize = "avgMmr"))] - pub average_mmr: Vec, + pub average_mmr: Vec>, #[serde(rename(deserialize = "playerWaitTimes"))] pub player_wait_times: HashMap, diff --git a/tests/data.rs b/tests/data.rs index 6c85bb4..e1dd368 100644 --- a/tests/data.rs +++ b/tests/data.rs @@ -22,7 +22,7 @@ fn data_ok() -> Result<()> { assert!(header.summary.is_mouse_enabled); assert_eq!(header.summary.matchmaker_type, 2); assert_eq!(header.summary.camouflage_slot, 1); - assert_eq!(header.summary.average_mmr, [59.29457753400008, 99.34182121604681]); + assert_eq!(header.summary.average_mmr, [Some(59.29457753400008), Some(99.34182121604681)]); assert_eq!( header.summary.account_database_ids, [ diff --git a/tests/replays/1682194799_malinovka_d48e8c0e45e2e2fcaf75cb139492575e.wotbreplay b/tests/replays/1682194799_malinovka_d48e8c0e45e2e2fcaf75cb139492575e.wotbreplay new file mode 100644 index 0000000..00bffc5 Binary files /dev/null and b/tests/replays/1682194799_malinovka_d48e8c0e45e2e2fcaf75cb139492575e.wotbreplay differ