evtclib
=======
[](https://crates.io/crates/evtclib)
[](https://docs.rs/evtclib)
`evtclib` is a Rust library that allows you to parse `.evtc` files, as
generated by the [arcdps addon](https://www.deltaconnected.com/arcdps/) for the
Guild Wars 2 video game.
Features:
* A low-level parsing interface with structs mimicking the arcdps C structs.
* A high-level interface, intended for consumption within Rust applications.
* Support for reading zipped evtc files (`.evtc.zip` or `.zevtc`).
* Backwards compatible for older revisions of the evtc format.
`evtclib` is currently in beta-stage. Not all evtc events are supported, and
the API is not yet set in stone.
Example
-------
```rust
use std::fs::File;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Open a file for processing
let mut file = File::open("Skorvald/20200421-183243.evtc")?;
// Parse the raw content of the file
let raw_log = evtclib::raw::parse_file(&mut file)?;
// Process the file to do the nitty-gritty low-level stuff done
let log = evtclib::process(&raw_log)?;
// Do work on the log
for player in log.players() {
println!("Player {} participated!", player.account_name());
}
Ok(())
}
```
License
-------
This project is licensed under the MIT license (`LICENSE` or
https://opensource.org/licenses/MIT).