A rust library for working with quakeworld.
-
protocol
- quakeworld::protocol::message::Message - reading data types from a byte array
- quakeworld::protocol::types - data types
-
network
- quakeworld::network::channel::Channel - keeps track of connection sequences
- quakeworld::network::connection::client::Client - client implementation that handles packets and provides packets that need to be send to keep up a connection with a server. See here for a minimal client implimentation. Only tested with
mvdsv 0.36-dev.
-
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
-
pak
- quakeworld::pak - pak rading/writing
-
vfs
- quakeworld::vfs - mounting files, directories, and pak files in a virtual filesystem
-
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 "mvd", "utils", "protocol", "state", "network", "trace", "connection", "crc" and "pak"
Everything is serializable via serde (json,...). Supports wasm as target ('it compiles' cargo build --target wasm32-unknown-unknown)
probably in order of being implemented too
- qwd - qwd format parsing
- mvd - creating a mvd from states
could be better, aka non existing at the moment
- minimal mvd parser
- minimal client
- minimal pak parser
- trace feature example
- quakeworld swiss army knife
Spoike, Bigfoot, fte, and quake specs for all the information