1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 09:27:29 +08:00

Only take initial judgement position from object instead of following

Looks less bad with mods like depth active.

Co-authored-by: Dean Herbert <pe@ppy.sh>
This commit is contained in:
Bartłomiej Dach 2024-05-30 09:03:02 +02:00
parent a6c776dac8
commit 8916f08f86
No known key found for this signature in database

View File

@ -17,6 +17,8 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
[Resolved] [Resolved]
private OsuConfigManager config { get; set; } = null!; private OsuConfigManager config { get; set; } = null!;
private bool positionTransferred;
[BackgroundDependencyLoader] [BackgroundDependencyLoader]
private void load() private void load()
{ {
@ -36,16 +38,20 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
Lighting.ResetAnimation(); Lighting.ResetAnimation();
Lighting.SetColourFrom(JudgedObject, Result); Lighting.SetColourFrom(JudgedObject, Result);
positionTransferred = false;
} }
protected override void Update() protected override void Update()
{ {
base.Update(); base.Update();
if (JudgedObject is DrawableOsuHitObject osuObject && JudgedObject.IsInUse) if (!positionTransferred && JudgedObject is DrawableOsuHitObject osuObject && JudgedObject.IsInUse)
{ {
Position = osuObject.ToSpaceOfOtherDrawable(osuObject.OriginPosition, Parent!); Position = osuObject.ToSpaceOfOtherDrawable(osuObject.OriginPosition, Parent!);
Scale = new Vector2(osuObject.HitObject.Scale); Scale = new Vector2(osuObject.HitObject.Scale);
positionTransferred = true;
} }
} }