quakeworld
A rust library for working with quakeworld.
available features
-
protocol
- quakeworld::protocol::message::Message - reading data types from a byte array
- quakeworld::protocol::types - data types
-
mvd
- quakeworld::mvd::Mvd - parsing mvd file format
-
state
- quakeworld::state::State - using Message types to create a game state
-
utils
- quakeworld::utils::AsciiConverter - converting byte arrays to printable ascii
- quakeworld::utils::Userinfo - parsing userinfo strings
- quakeworld::utils::trace - functions to print message read traces (see here for an example
-
crc
- quakeworld::crc - checksum functions
-
ascii_strings - when reading strings they will be converted to printable ascii, original bytes are also being kept see here
Features that are enabled by default are protocol, mvd, and util.
Everything is serializable via serde (json,...). Supports wasm as target ('it compiles' cargo build --target wasm32-unknown-unknown)
Goals
probably in order of being implemented too
- qwd - qwd format parsing
- mvd - creating a mvd from states
Documentation
could be better, aka non existing at the moment