//! This is the base library for the Maraiah tool set. This library contains
//! functions and structures for reading many file formats, primarily those used
//! by Marathon, Marathon 2, and Marathon Infinity.
//!
//! Maraiah comes with a set of almost fully portable tools written in Rust,
//! including binary file reading, safe C-like `enum` reading, improved error
//! handling, FFI tools, fixed point numbers, and image and sound structures.
//!
//! Maraiah also comes with APIs for working with various data formats,
//! primarily Marathon's. It also handles Macintosh PICT files, PPM, TARGA, RIFF
//! WAVE, and more.
//!
//! # Features
//!
//! Maraiah supports serializing and deserializing through `serde` with the
//! `serde_obj` feature.
#![deny(anonymous_parameters)]
#![deny(bare_trait_objects)]
#![deny(elided_lifetimes_in_paths)]
#![deny(unreachable_pub)]
#![warn(trivial_casts)]
#![warn(trivial_numeric_casts)]
#![warn(unused_import_braces)]
#![warn(unused_qualifications)]
#![deny(clippy::all)]
#![deny(clippy::clone_on_ref_ptr)]
#![deny(clippy::copy_iterator)]
#![deny(clippy::decimal_literal_representation)]
#![deny(clippy::doc_markdown)]
#![deny(clippy::empty_enum)]
#![deny(clippy::empty_line_after_outer_attr)]
#![deny(clippy::explicit_into_iter_loop)]
#![deny(clippy::explicit_iter_loop)]
#![deny(clippy::fallible_impl_from)]
#![deny(clippy::filter_map)]
#![deny(clippy::filter_map_next)]
#![deny(clippy::find_map)]
#![deny(clippy::float_arithmetic)]
#![deny(clippy::float_cmp_const)]
#![deny(clippy::invalid_upcast_comparisons)]
#![deny(clippy::items_after_statements)]
#![deny(clippy::large_digit_groups)]
#![deny(clippy::map_flatten)]
#![deny(clippy::match_same_arms)]
#![deny(clippy::mem_forget)]
#![deny(clippy::missing_const_for_fn)]
#![deny(clippy::multiple_inherent_impl)]
#![deny(clippy::mut_mut)]
#![deny(clippy::mutex_integer)]
#![deny(clippy::needless_borrow)]
#![deny(clippy::needless_continue)]
#![deny(clippy::option_map_unwrap_or)]
#![deny(clippy::option_map_unwrap_or_else)]
#![deny(clippy::panicking_unwrap)]
#![deny(clippy::print_stdout)]
#![deny(clippy::pub_enum_variant_names)]
#![deny(clippy::redundant_clone)]
#![deny(clippy::redundant_closure_for_method_calls)]
#![deny(clippy::replace_consts)]
#![deny(clippy::result_map_unwrap_or_else)]
#![deny(clippy::result_unwrap_used)]
#![deny(clippy::similar_names)]
#![deny(clippy::single_match_else)]
#![deny(clippy::string_add)]
#![deny(clippy::string_add_assign)]
#![deny(clippy::unnecessary_unwrap)]
#![deny(clippy::unseparated_literal_suffix)]
#![deny(clippy::use_self)]
#![deny(clippy::used_underscore_binding)]

#[macro_use] extern crate bitflags;

#[macro_use] mod cbitfield;
#[macro_use] mod cenum;
#[macro_use] mod doc;
#[macro_use] pub mod err;
#[macro_use] pub mod ffi;
#[macro_use] pub mod bin;

pub mod bit;
pub mod cksum;
pub mod defl;
pub mod file;
pub mod fixed;
pub mod image;
pub mod machdr;
pub mod map;
pub mod meta;
pub mod shp;
pub mod snd;
pub mod sound;
pub mod text;
pub mod xfer;

// EOF
