15 unstable releases (4 breaking)

0.7.3 May 11, 2022
0.7.0 Mar 10, 2022
0.6.1 Nov 25, 2021
0.5.0 Oct 7, 2020
0.4.0 Jul 24, 2020

#2 in #wars

MIT license

215KB
4K SLoC

evtclib

Latest Version Rust Documentation License

evtclib is a Rust library that allows you to parse .evtc files, as generated by the arcdps addon 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.
  • Optional: serde integration for (de)serialization support (enable the serde feature).

evtclib is currently in beta-stage. Not all evtc events are supported, and the API is not yet set in stone.

Example

use std::fs::File;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Parse a log
    let log = evtclib::process_file("Skorvald/20200421-183243.evtc")?;
    // Do work on the log
    for player in log.players() {
        println!("Player {} participated!", player.account_name());
    }
    Ok(())
}

You can also check out examples/loginfo.rs or run it on a log file:

cargo run --example=loginfo -- path/to/log.zevtc

License

This project is licensed under the MIT license (LICENSE or https://opensource.org/licenses/MIT).

Dependencies

~2.7–3.5MB
~67K SLoC