wow_world_base 0.3.0

Base definitions and functions for World of Warcraft game servers
Documentation
//! Crate containing common enumerators, flags and structs for World of Warcraft emulation.
//!
//! ## Usage
//!
//! To add only the base items run the following command:
//!
//! ```bash
//! cargo add --features 'vanilla tbc wrath' wow_world_base
//! ```
//!
//! The library is split into the top level modules:
//!
//! * [`vanilla`] for items valid for version 1.12.x.
//! * [`tbc`] for items valid for version 2.4.3.8606.
//! * [`wrath`] for items valid for version 3.3.5.12340.
//! * [`shared`] for items that are valid for multiple versions.
//!
//! These are also exported through the regular modules, so for example if you are working with vanilla it is only necessary to export items from [`vanilla`].
//!
//! The remaining top level modules contain various functions and constants that are generally valid.
//!
//! ## Features/Serde support
//!
//! This crate has the following features:
//!
//! * `vanilla`, for client version 1.12.x.
//! * `tbc`, for client version 2.4.3.8606.
//! * `wrath`, for client version 3.3.5.x.
//! * `shared`, for types that are used by more than one version. These are also enabled by any of the other version features, this is specifically if you want only the shared types.
//! * `extended`, for additional functions and data that is not just simple enums and structs.
//! * `serde`, for [`serde`](https://docs.rs/serde/latest/serde/) support, namely deriving [`Serialize`](https://docs.rs/serde/latest/serde/trait.Serialize.html) and [`Deserialize`](https://docs.rs/serde/latest/serde/trait.Deserialize.html).
//!
//! ## Auto Generation
//!
//! This crate is partially auto generated by the `wowm` files in the
//! [`wow_messages` repository](https://github.com/gtker/wow_messages/).
//!
//! ## Sources
//!
//! Values and names are determined based on previous emulator efforts, experimentation, and reverse engineering.
//!
#![forbid(unsafe_code)]
#![warn(
    clippy::complexity,
    clippy::correctness,
    clippy::perf,
    clippy::missing_panics_doc,
    clippy::style,
    clippy::missing_const_for_fn,
    clippy::doc_markdown,
    clippy::unseparated_literal_suffix,
    clippy::approx_constant,
    clippy::upper_case_acronyms,
    non_camel_case_types
)]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
#![cfg_attr(docsrs, feature(doc_cfg))]

pub(crate) mod errors;
pub use errors::*;

#[cfg(feature = "extended")]
pub(crate) mod extended;
#[cfg(feature = "extended")]
pub use extended::top_level::*;

#[rustfmt::skip]
#[allow(unused, non_snake_case, clippy::missing_errors_doc, clippy::doc_markdown)]
pub(crate) mod inner;
pub use inner::*;

pub(crate) mod manual;