Struct rosu_pp::OsuPP [−][src]
pub struct OsuPP<'map> { /* fields omitted */ }
Expand description
Performance calculator on osu!standard maps.
Example
use rosu_pp::{OsuPP, Beatmap};
let map: Beatmap = ...
let pp_result = OsuPP::new(&map)
.mods(8 + 64) // HDDT
.combo(1234)
.misses(1)
.accuracy(98.5) // should be set last
.calculate();
println!("PP: {} | Stars: {}", pp_result.pp(), pp_result.stars());
let next_result = OsuPP::new(&map)
.attributes(pp_result) // reusing previous results for performance
.mods(8 + 64) // has to be the same to reuse attributes
.accuracy(99.5)
.calculate();
println!("PP: {} | Stars: {}", next_result.pp(), next_result.stars());
Implementations
Create a new performance calculator for osu!standard maps.
Provide the result of a previous difficulty or performance calculation. If you already calculated the attributes for the current map-mod combination, be sure to put them in here so that they don’t have to be recalculated.
Specify mods through their bit values.
Amount of passed objects for partial plays, e.g. a fail.
If you want to calculate the performance after every few objects, instead of
using OsuPP
multiple times with different passed_objects
, you should use
OsuGradualPerformanceAttributes
.
Provide parameters through an OsuScoreState
.
Generate the hit results with respect to the given accuracy between 0
and 100
.
Be sure to set misses
beforehand!
In case of a partial play, be also sure to set passed_objects
beforehand!
Calculate all performance related values, including pp and stars.
Trait Implementations
Auto Trait Implementations
impl<'map> RefUnwindSafe for OsuPP<'map>
impl<'map> UnwindSafe for OsuPP<'map>
Blanket Implementations
Mutably borrows from an owned value. Read more