osu_file_parser/osu_file/difficulty/
mod.rs1pub mod error;
2
3use crate::osu_file::types::Decimal;
4
5use crate::helper::macros::*;
6
7pub use error::*;
8
9versioned_field!(HPDrainRate, Decimal, no_versions, |s| { s.parse() } -> (),,);
10versioned_field!(CircleSize, Decimal, no_versions, |s| { s.parse() } -> (),,);
11versioned_field!(OverallDifficulty, Decimal, no_versions, |s| { s.parse() } -> (),,);
12versioned_field!(ApproachRate, Decimal, no_versions, |s| { s.parse() } -> (),,);
13versioned_field!(SliderMultiplier, Decimal, no_versions, |s| { s.parse() } -> (),,);
14versioned_field!(SliderTickRate, Decimal, no_versions, |s| { s.parse() } -> (),,);
15
16general_section!(
17 pub struct Difficulty {
19 pub hp_drain_rate: HPDrainRate,
21 pub circle_size: CircleSize,
23 pub overall_difficulty: OverallDifficulty,
25 pub approach_rate: ApproachRate,
27 pub slider_multiplier: SliderMultiplier,
29 pub slider_tickrate: SliderTickRate,
31 },
32 ParseError,
33 "",
34 {
35 3..=4,
36 SliderMultipler: 1,
37 SliderTickRate: 1,
38 }
39);