Struct peace_performance::TaikoPP [−][src]
pub struct TaikoPP<'m> { /* fields omitted */ }
Expand description
Calculator for pp on osu!taiko maps.
Example
let map: Beatmap = ... let pp_result: PpResult = TaikoPP::new(&map) .mods(8 + 64) // HDDT .combo(1234) .misses(1) .accuracy(98.5) .calculate(); println!("PP: {} | Stars: {}", pp_result.pp(), pp_result.stars()); let next_result = TaikoPP::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
TaikoAttributeProvider
is implemented by f32
, StarResult
,
and by PpResult
meaning you can give the star rating,
the result of a star calculation, or the result of a pp calculation.
If you already calculated the stars 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.
Set acc value
If it is used to calculate the PP of multiple different ACCs, it should be called from high to low according to the ACC value, otherwise it is invalid.
Examples:
// valid let acc_100 = { c.set_accuracy(100.0); c.calculate().await }; let acc_99 = { c.set_accuracy(99.0); c.calculate().await }; let acc_98 = { c.set_accuracy(98.0); c.calculate().await }; let acc_95 = { c.set_accuracy(95.0); c.calculate().await }; // invalid let acc_95 = { c.set_accuracy(95.0); c.calculate().await }; let acc_98 = { c.set_accuracy(98.0); c.calculate().await }; let acc_99 = { c.set_accuracy(99.0); c.calculate().await }; let acc_100 = { c.set_accuracy(100.0); c.calculate().await };
Amount of passed objects for partial plays, e.g. a fail.
Trait Implementations
Auto Trait Implementations
impl<'m> RefUnwindSafe for TaikoPP<'m>
impl<'m> UnwindSafe for TaikoPP<'m>
Blanket Implementations
Mutably borrows from an owned value. Read more