1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! In the below example we:
//! *   Create a Fighter from an exported brawl fighter directory.
//!     This is the raw data from the fighter folder, stored in a tree of structs
//! *   Create a HighLevelFighter from an exported brawl fighter directory.
//!     This contains processed data from the Fighter struct, stored in a tree of structs
//! ```rust,no_run
//! use brawllib_rs::fighter::Fighter;
//! use brawllib_rs::high_level_fighter::HighLevelFighter;
//! use std::fs;
//!
//! for fighter in Fighter::load(fs::read_dir("some/real/dir/fighter").unwrap(), None, false) {
//!     println!("Fighter name: {}", fighter.cased_name);
//!     println!("The name of the first model file name: {}", fighter.models[0].name);
//!
//!     let hl_fighter = HighLevelFighter::new(&fighter);
//!     println!("Hurtboxes on the 4th frame of 'Run' action {:#?}", hl_fighter.actions.iter().find(|x| x.name == "Run").unwrap().frames[4].hurt_boxes);
//! }
//! ```

#[macro_use] extern crate serde_derive;
#[macro_use] extern crate bitflags;
#[macro_use] extern crate log;

pub mod arc;
pub mod bres;
pub mod chr0;
pub mod fighter;
pub mod high_level_fighter;
pub mod mbox;
pub mod mdl0;
pub mod misc_section;
pub mod resources;
pub mod sakurai;
pub mod script;
pub mod script_ast;
pub mod script_runner;
pub mod math;
mod util;