osu/osu.Game.Rulesets.Mania
Bartłomiej Dach bf0040447c
Fix legacy mania note body animation not resetting sometimes
Hopefully closes https://github.com/ppy/osu/issues/28284.

As far as I can tell this is a somewhat difficult one to reproduce
because it relies on a specific set of circumstances (at least the
reproduction case that I found does). The reset to frame 0 would
previously be called explicitly when `isHitting` changed:

    182ca145c7/osu.Game.Rulesets.Mania/Skinning/Legacy/LegacyBodyPiece.cs (L144)

However, it can be the case that `bodyAnimation` is not loaded at the
point of this call. This is significant because
`SkinnableTextureAnimation` contains this logic:

    182ca145c7/osu.Game/Skinning/LegacySkinExtensions.cs (L192-L211)

which cannot be moved any earlier (because any earlier the `Clock` may
no longer be correct), and also causes the animation to be seeked
forward while it is stopped.

I can't figure out a decent way to layer this otherwise (by scheduling
or whatever), so this commit is just applying the nuclear option of just
seeking back to frame 0 on every update frame in which the body piece is
not being hit.
2024-05-28 15:29:15 +02:00
..
Beatmaps Fully qualify LegacyBeatmapConversionDifficultyInfo 2024-04-01 17:02:32 +09:00
Configuration
Difficulty Refactor score simulator to use GetColumnCount() 2024-03-28 22:58:39 +09:00
Edit Remove redundant cast 2024-05-14 18:41:15 +02:00
Judgements
MathUtils
Mods Fix missing event unbinds 2024-03-07 21:10:11 +09:00
Objects Apply further changes to remove remaining weirdness 2024-02-05 13:37:38 +01:00
Properties
Replays Fix mania Autoplay mod missing 0ms hold notes 2023-12-11 21:10:14 +08:00
Scoring Use new LINQ Order() instead of OrderBy() when possible 2024-02-08 18:01:00 +01:00
Skinning Fix legacy mania note body animation not resetting sometimes 2024-05-28 15:29:15 +02:00
UI Do not change mania column width on mobile platforms 2024-05-16 08:21:52 +02:00
DualStageVariantGenerator.cs
ManiaFilterCriteria.cs Don't re-filter unless mods may change the filter 2024-04-15 21:07:36 +09:00
ManiaInputManager.cs
ManiaRuleset.cs Remove touch mod addition to mania 2024-05-14 22:38:31 +08:00
ManiaSettingsSubsection.cs
ManiaSkinComponentLookup.cs Remove unused members from GameplaySkinComponentLookup 2024-04-19 18:03:13 +09:00
osu.Game.Rulesets.Mania.csproj Upgrade to .NET 8 SDK 2024-02-02 21:28:51 +09:00
SingleStageVariantGenerator.cs
VariantMappingGenerator.cs