1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-21 18:07:19 +08:00

Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.

HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
This commit is contained in:
ekrctb 2021-04-21 11:32:01 +09:00
parent 44ff08cce4
commit 73d3da1687

View File

@ -239,6 +239,11 @@ namespace osu.Game.Rulesets.Objects.Drawables
lifetimeEntry = newEntry;
// LifetimeStart is already computed using HitObjectLifetimeEntry's InitialLifetimeOffset.
// We override this with DHO's InitialLifetimeOffset for a non-pooled DHO.
if (newEntry is SyntheticHitObjectEntry)
lifetimeEntry.LifetimeStart = HitObject.StartTime - InitialLifetimeOffset;
LifetimeStart = lifetimeEntry.LifetimeStart;
LifetimeEnd = lifetimeEntry.LifetimeEnd;