aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md34
1 files changed, 29 insertions, 5 deletions
diff --git a/README.md b/README.md
index e910f2f..c68be25 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,44 @@
evtclib
=======
+[![Latest Version](https://img.shields.io/crates/v/evtclib.svg)](https://crates.io/crates/evtclib)
+[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](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.
-It supports a low-level parsing interface and a higher-level interface which
-interprets some of the data and converts it to a more appropriate interface.
+Features:
-`evtclib` uses `cargo` as its build tool and as such can be included as a
-dependency in other Rust projects. API docs can be generated locally by running
-`cargo doc`.
+* 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
-------