diff --git a/src/catch/performance/mod.rs b/src/catch/performance/mod.rs index 2645b951..7b9620a7 100644 --- a/src/catch/performance/mod.rs +++ b/src/catch/performance/mod.rs @@ -404,6 +404,13 @@ impl<'map> CatchPerformance<'map> { }, } + self.combo = Some(best_state.max_combo); + self.fruits = Some(best_state.fruits); + self.droplets = Some(best_state.droplets); + self.tiny_droplets = Some(best_state.tiny_droplets); + self.tiny_droplet_misses = Some(best_state.tiny_droplet_misses); + self.misses = Some(best_state.misses); + best_state } @@ -773,7 +780,9 @@ mod test { state = state.misses(misses); } + let first = state.generate_state(); let state = state.generate_state(); + assert_eq!(first, state); let expected = brute_force_best( acc, diff --git a/src/mania/performance/mod.rs b/src/mania/performance/mod.rs index 09631530..9400e1b2 100644 --- a/src/mania/performance/mod.rs +++ b/src/mania/performance/mod.rs @@ -749,6 +749,13 @@ impl<'map> ManiaPerformance<'map> { } } + self.n320 = Some(n320); + self.n300 = Some(n300); + self.n200 = Some(n200); + self.n100 = Some(n100); + self.n50 = Some(n50); + self.misses = Some(misses); + ManiaScoreState { n320, n300, @@ -1230,7 +1237,9 @@ mod tests { state = state.misses(misses); } + let first = state.generate_state(); let state = state.generate_state(); + assert_eq!(first, state); let expected = brute_force_best( acc, diff --git a/src/osu/performance/mod.rs b/src/osu/performance/mod.rs index a851ab57..95ec37b9 100644 --- a/src/osu/performance/mod.rs +++ b/src/osu/performance/mod.rs @@ -476,6 +476,12 @@ impl<'map> OsuPerformance<'map> { cmp::min(combo, max_possible_combo) }); + self.combo = Some(max_combo); + self.n300 = Some(n300); + self.n100 = Some(n100); + self.n50 = Some(n50); + self.misses = Some(misses); + OsuScoreState { max_combo, n300, @@ -1047,7 +1053,9 @@ mod test { state = state.misses(misses); } + let first = state.generate_state(); let state = state.generate_state(); + assert_eq!(first, state); let mut expected = brute_force_best( acc, diff --git a/src/taiko/performance/mod.rs b/src/taiko/performance/mod.rs index 7b1e5b03..0c6fa508 100644 --- a/src/taiko/performance/mod.rs +++ b/src/taiko/performance/mod.rs @@ -292,6 +292,11 @@ impl<'map> TaikoPerformance<'map> { cmp::min(combo, max_possible_combo) }); + self.combo = Some(max_combo); + self.n300 = Some(n300); + self.n100 = Some(n100); + self.misses = Some(misses); + TaikoScoreState { max_combo, n300, @@ -642,7 +647,9 @@ mod test { state = state.misses(misses); } + let first = state.generate_state(); let state = state.generate_state(); + assert_eq!(first, state); let mut expected = brute_force_best( acc,