quakeworld 0.2.3

A collection of quakeworld related libraries.
Documentation
quakeworld
=====
A rust library for working with quakeworld. 
### available features
 * protocol
   * [quakeworld::protocol::message::Message]./src/protocol/message/mod.rs - reading data types from a byte array
   * [quakeworld::protocol::types]./src/protocol/types.rs - data types

* network
   * [quakeworld::network::channel::Channel]./src/protocol/channel.rs - keeps track of connection sequences
   * [quakeworld::network::connection::client::Client]./src/protocol/connection/client.rs - client implementation that handles packets and provides packets that need to be send to keep up a connection with a server. See [here]./example/client.rs for a minimal client implimentation. Only tested with `mvdsv 0.36-dev`.

 * mvd
   * [quakeworld::mvd::Mvd]./src/mvd/mod.rs - parsing mvd file format

 * state
   * [quakeworld::state::State]./src/state/mod.rs - using Message types to create a game state

 * utils 
   * [quakeworld::utils::AsciiConverter]./src/utils/ascii_converter.rs - converting byte arrays to printable ascii
   * [quakeworld::utils::Userinfo]./src/utils/userinfo.rs - parsing userinfo strings
   * [quakeworld::utils::trace]./src/utils/trace.rs - functions to print message read traces (see [here]./examples/trace.rs for an example

 * crc
   * [quakeworld::crc]./src/crc/mod.rs - checksum functions 

 * ascii_strings - when reading strings they will be converted to printable ascii, original bytes are also being kept see [here]./src/protocol/types.rs#L12

Features that are enabled by default are protocol, mvd, and util.  
Everything is serializable via [serde](https://github.com/serde-rs/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

### Example
  * [minimal mvd parser]./examples/mvd_parser.rs
  * [minimal client]./examples/client.rs
  * [quakeworld swiss army knife]https://github.com/jogi1/qwsak
  * [more elaborate mvd parser]https://github.com/jogi1/statyr soon™