spyparty

A library for parsing SpyParty replays

10 releases

0.1.9 May 4, 2020
0.1.8 Apr 19, 2019
0.1.2 Mar 22, 2019
Download history 71/week @ 2024-07-29 194/week @ 2024-09-30

194 downloads per month

MIT license

505KB
1.5K SLoC

spyparty-rs

Latest version Documentation Minimum Rust version License

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.

Usage

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);

Notes

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).

Dependencies

~2.2–3MB
~55K SLoC