1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 01:23:44 +08:00
Commit Graph

1320 Commits

Author SHA1 Message Date
Dan Balasescu
4806ea54f1
Only optimise Catmull segments in osu ruleset 2024-04-01 17:22:50 +09:00
Bartłomiej Dach
c9bbeeb49a
Merge branch 'master' into heatmap-misses 2024-03-18 14:43:24 +01:00
Dean Herbert
fcc35a6acc
Fix cross-talk between pooled DrawableSliderRepeat usage causing incorrect rotation 2024-03-08 11:37:13 +08:00
Dean Herbert
646edb239a
Merge pull request #27429 from bdach/rewind-slider-tracking
Fix slider tracking state not restoring correctly in all cases on rewind
2024-03-07 22:41:12 +08:00
Dean Herbert
b53b752e54
Update usage of MathUtils 2024-03-06 12:13:12 +08:00
Bartłomiej Dach
876b806423
Store tracking history to slider judgement result instead 2024-02-29 12:11:50 +01:00
Bartłomiej Dach
1d1db951f0
Reset slider input manager state completely on new object application
Kind of scary this wasn't happening already.

Mirrors `SpinnerRotationTracker`.
2024-02-29 11:59:19 +01:00
Bartłomiej Dach
d05b31933f
Fix slider tracking state not restoring correctly in all cases on rewind 2024-02-29 11:59:15 +01:00
Bartłomiej Dach
b5ce2642aa
Fix subscribing to ApplyCustomUpdateState too much 2024-02-28 13:20:41 +01:00
Bartłomiej Dach
bbdd85020c
Fix slider tails sometimes not dimming correctly
Originally noticed during review of another change:
https://github.com/ppy/osu/pull/27369#issuecomment-1966140198.

`DrawableOsuHitObject` tries to solve the initial dimming of objects
by applying transform to a list of dimmable parts. For plain drawables
this is safe, but if one of the parts is a DHO, it is not safe,
because drawable transforms can be cleared at will.

In particular, on first use of a drawable slider,
`UpdateInitialTransforms()` would fire via `LoadComplete()` on the
`DrawableSlider`, but *then*, also via `LoadComplete()`,
the `DrawableSliderTail` would update its own state and by doing so
inadvertently clear the dim transform just added by the slider.

To fix, ensure dim transforms are applied to DHOs
via `ApplyCustomUpdateState`.
2024-02-27 11:45:03 +01:00
Bartłomiej Dach
087a2a741a
Merge pull request #27369 from Detze/incorrect-slider-head-dim
Fix slider head being incorrectly dimmed twice
2024-02-27 11:17:34 +01:00
Detze
91d7bd1026 Don't dim slider head in DrawableSlider 2024-02-24 21:56:44 +01:00
Andrei Zavatski
1fb19e7129 Reduce allocations in DrawableSpinner 2024-02-24 20:18:30 +03:00
Andrei Zavatski
572f693eec Fix failing tests related to slider ticks 2024-02-17 23:28:35 +03:00
Dean Herbert
0df6e8f595
Remove list allocations in UpdateNestedSamples 2024-02-18 03:23:34 +08:00
Dean Herbert
0714a4fc1e
Revert sample lookup logic that was not allocating anything 2024-02-18 03:18:50 +08:00
Andrei Zavatski
22f5a66c02 Reduce allocations during beatmap selection 2024-02-17 15:46:38 +03:00
Dan Balasescu
1f13124b38
Always process position as long as it's hittable
For example... If a hitobject is pressed but the result is a shake, this
will stop processing hits.
2024-02-07 03:52:56 +09:00
Dan Balasescu
e2867986c5
Add xmldocs 2024-02-07 03:52:14 +09:00
Dan Balasescu
38f7913b31
Fix inverted condition 2024-02-07 03:50:56 +09:00
Dan Balasescu
9b8f206486
Enable NRT for DrawableHitCircle to clean up 2024-02-07 03:38:07 +09:00
Dan Balasescu
5850d6a578
Show near-misses on the results-screen heatmap 2024-02-06 22:30:22 +09:00
Dan Balasescu
c18cd65081
Merge pull request #26694 from chandler14362/hit-object-result-allocations
Avoid closure allocations when applying hit object results
2024-02-06 17:49:26 +09:00
Bartłomiej Dach
3e29a9c334
Merge pull request #26877 from smoogipoo/adjust-default-minresult
Adjust default min result of `SliderTailHit`, remove override
2024-02-05 14:15:38 +01:00
Bartłomiej Dach
fb80d76b4a
Apply further changes to remove remaining weirdness 2024-02-05 13:37:38 +01:00
Bartłomiej Dach
39fe078984
Merge branch 'master' into hit-object-result-allocations 2024-02-05 13:24:10 +01:00
Bartłomiej Dach
efe6bb25b1
Refactor result application around again to remove requirement for fields
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-02-05 13:21:01 +01:00
Bartłomiej Dach
dfea2ade6d
Revert incorrect end position optimisation
Closes https://github.com/ppy/osu/issues/26867.

Reverts 882f490390
and ce643aa68f.

The applied optimisation may have been valid as long as it was
constrained to `Slider`. But it is not, as `SliderTailCircle` stores a
local copy of the object position. And as the commit message of
ce643aa68f states, this could be bypassed
by some pretty hacky delegation from `SliderTailCircle.Position` to the
slider, but it'd also be pretty hacky because it would make flows like
`PositionBindable` break down.

Long-term solution is to probably remove bindables from hitobjects.
2024-01-31 12:45:42 +01:00
Dan Balasescu
0642a0ee11
Adjust default min result of SliderTailHit, remove override 2024-01-31 18:01:29 +09:00
Dean Herbert
fbc923b47e
Revert "Merge pull request #26870 from smoogipoo/adjust-default-minresult"
This reverts commit 1acff746ee, reversing
changes made to 696ecda398.
2024-01-31 17:51:38 +09:00
Dan Balasescu
9b1bbe5f48
Adjust default min result of SliderTailHit, remove override 2024-01-31 16:12:05 +09:00
Bartłomiej Dach
2667cb8b36
Merge pull request #26703 from peppy/smaller-slider-misses
Adjust slider tick / end defaults again
2024-01-29 13:51:07 +01:00
Dean Herbert
a3199333bb
Merge pull request #26698 from EVAST9919/slider-sample-alloc
Reduce sliding sample allocations in `DrawableSlider`
2024-01-29 20:37:32 +09:00
Dean Herbert
034f8c0388
Also fix spinner case 2024-01-29 20:36:59 +09:00
Dean Herbert
b6fa50c312
Reduce allocation overheads in SliderInputManager 2024-01-26 17:49:20 +09:00
Chandler Stowell
93bd3ce5ae update DrawableHitCircle.ApplyResult to pass this to its callback 2024-01-25 11:25:41 -05:00
Dean Herbert
fd9527d523
Remove weird red fade that didn't work 2024-01-25 19:31:57 +09:00
Dean Herbert
107b37494e
Update triangles skin judgment display 2024-01-25 19:31:57 +09:00
Andrei Zavatski
21b11092d6 Fix slider sliding samples allocation 2024-01-25 04:06:15 +03:00
Chandler Stowell
d2775680e6 use stack to pass action state when applying hit results
this removes closure allocations
2024-01-24 13:13:45 -05:00
Salman Ahmed
57b2d018a9 Fix slider sometimes not updating relative anchor position 2024-01-22 02:07:32 +03:00
OliBomby
96ffe8e737 change wording 2024-01-15 12:51:08 +01:00
OliBomby
86382f4408 Clarify comment 2024-01-15 12:49:40 +01:00
OliBomby
ce643aa68f revert overwriting Position getter in SliderTailCircle
It would have very weird implications when combined with the position bindable which would be all wrong and stuff
2024-01-13 13:54:04 +01:00
OliBomby
fca9b1f536 Fix so it reacts to PathVersion with Scheduler 2024-01-13 12:50:39 +01:00
OliBomby
882f490390 lazy load slider tail position 2024-01-13 01:32:37 +01:00
Dean Herbert
5970a68e2d
Use invalidation based logic for child anchor position updpates in DrawableSlider 2024-01-09 14:17:33 +09:00
Dean Herbert
962c8ba4ac
Reset child anchor position cache on hitobject position change 2024-01-07 20:55:28 +09:00
Dean Herbert
5cc4a586ac
Avoid iteration over NestedHitObjects in silder's Update unless necessary 2024-01-07 14:31:22 +09:00
Dean Herbert
35eff639cb
Remove unnecessary second iteration over NestedHitObjects 2024-01-07 14:31:22 +09:00