fruits: fixed droplet timings
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
## Upcoming
|
## Upcoming
|
||||||
|
|
||||||
- osu: Fix panic on maps with 0 objects
|
- 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 timing point parsing on some (older) maps where "uninherited" value did not coincide with beat length
|
||||||
- Fixed handling .osu files with missing difficulty attributes
|
- Fixed handling .osu files with missing difficulty attributes
|
||||||
- Added `AttributeProvider` impl for `{Mode}PerformanceAttributes`
|
- Added `AttributeProvider` impl for `{Mode}PerformanceAttributes`
|
||||||
|
|||||||
@@ -131,15 +131,23 @@ impl FruitOrJuice {
|
|||||||
// Reverse tick
|
// Reverse tick
|
||||||
slider_objects.push((pos, h.start_time + time_offset));
|
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
|
// Actual ticks
|
||||||
if span_idx & 1 == 1 {
|
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 {
|
} else {
|
||||||
slider_objects.extend(new_ticks);
|
let tick_iter = params
|
||||||
|
.ticks
|
||||||
|
.iter()
|
||||||
|
.map(|(pos, time)| (*pos, *time + time_offset));
|
||||||
|
|
||||||
|
slider_objects.extend(tick_iter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user