A Rust library for parsing SpyParty replays.
It parses everything that is currently documented about the header, but the rest of the replay is currently undocumented (and constantly changing) and therefore not parsed.
It currently supports versions 2 to 6 (the most current) of the replay.
Add this to your Cargo.toml
:
[dependencies]
spyparty = "0.1"
and then try:
use std::fs::File;
use spyparty::{Replay, Map};
let mut file = File::open("tests/basicv6.replay").unwrap();
let replay = Replay::from_reader(&mut file).unwrap();
assert_eq!(replay.header.replay_version, 6);
assert_eq!(replay.header.result_data.map, Map::Teien);
A lot of the work reverse engineering the replay was done by LtHummus with his Python project, SpyPartyParse. This was also helped by checker (SpyParty's almighty creator), who has now documented the replay header for us over on the SpyParty beta forums (you need to own the game to see these).