fruits: fixed droplet timings

This commit is contained in:
MaxOhn
2022-03-16 19:10:51 +01:00
parent 2f9087825d
commit 1999f92b57
2 changed files with 15 additions and 6 deletions
+1
View File
@@ -1,6 +1,7 @@
## Upcoming
- osu: Fix panic on maps with 0 objects
- fruits: Fixed droplet timings on juicestreams with span count >1
- Fixed timing point parsing on some (older) maps where "uninherited" value did not coincide with beat length
- Fixed handling .osu files with missing difficulty attributes
- Added `AttributeProvider` impl for `{Mode}PerformanceAttributes`
+14 -6
View File
@@ -131,15 +131,23 @@ impl FruitOrJuice {
// Reverse tick
slider_objects.push((pos, h.start_time + time_offset));
let new_ticks = params.ticks.iter().enumerate().map(|(i, (pos, time))| {
(*pos, *time + time_offset + time_add * i as f64)
});
// Actual ticks
if span_idx & 1 == 1 {
slider_objects.extend(new_ticks.rev());
let tick_iter = params
.ticks
.iter()
.rev()
.zip(params.ticks.iter())
.map(|((pos, _), (_, time))| (*pos, *time + time_offset));
slider_objects.extend(tick_iter);
} else {
slider_objects.extend(new_ticks);
let tick_iter = params
.ticks
.iter()
.map(|(pos, time)| (*pos, *time + time_offset));
slider_objects.extend(tick_iter);
}
}