1pub mod trackers;
9pub mod types;
10pub mod calc {
11 pub mod on_hit;
12 pub use on_hit::*;
13 mod general;
14 pub use general::*;
15 mod knockback;
16 pub use knockback::*;
17}
18pub mod enums {
19 pub mod attack;
20 pub use attack::Attack;
21
22 mod bitflag_impl;
23 pub use bitflag_impl::BitFlags;
24 pub use bitflag_impl::Buttons;
25 pub mod buttons;
26 pub use buttons::{ControllerInput, EngineInput, StickRegion};
27
28 pub mod character;
29 pub use character::{Character, Costume};
30
31 mod general;
32 pub use general::*;
33
34 mod item;
35 pub use item::*;
36
37 pub mod stage;
38 pub use stage::StageID;
39
40 mod state;
41 pub use state::*;
42}
43pub mod checks;
44pub mod constants {
45 use std::f32::consts::PI;
46
47 pub const SHIELD_HEALTH_MAX: f32 = 60.0;
49
50 pub const TRIGGER_MAX: f32 = 1.0;
52 pub const TRIGGER_MIN: f32 = 43.0 / 140.0;
54 pub const Z_ANALOG: f32 = 49.0 / 140.0;
56
57 pub const SHIELD_REGEN_RATE: f32 = 0.07;
59
60 pub const KB_DECAY: f32 = 0.051;
66
67 pub const TUMBLE_THRESHOLD: f32 = 80.0;
69
70 pub const FIRST_FRAME_INDEX: i32 = -123;
71
72 pub const MAX_TOURNAMENT_GAME_LENGTH: usize = 28924;
74
75 pub const DI_MAX_DEGREES: f32 = 18.0;
77
78 pub const DI_MAX_RADS: f32 = 18.0 * (PI / 180.0);
82
83 pub const ASDI_DIST: f32 = 3.0;
85 pub const SDI_DIST: f32 = 6.0;
87}
88
89#[macro_export]
91macro_rules! mf {
92 ($frames:expr) => {
93 TryInto::<usize>::try_into($frames + 123).unwrap()
94 };
95}
96
97pub mod prelude {
98 pub use crate::calc::*;
99 pub use crate::constants::*;
100 pub use crate::enums::*;
101 pub use crate::mf;
102 pub use crate::types::*;
103 pub use crate::pos;
104 pub use crate::vel;
105 pub use crate::stick_pos;
106}