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
Dan Balasescu
17a531209c
Use SliderTailHit result for slider tails (non-classic-mod)
2023-12-30 10:38:47 +09:00
rushiiMachine
cf39bb7a18
Fix spinner max bonus not respecting ISamplePlaybackDisabler
...
The spinner max bonus was loaded through SkinnableSound instead of PausableSkinnableSound, leading to it not respecting the case where sample playback is globally disabled through ISamplePlaybackDisabler, and can be easily heard in situations like during the catchup period after seeking using the ArgonSongProgressBar with song volume at 0
2023-12-27 12:55:49 -08:00
Bartłomiej Dach
7e557152fb
Fix relax mod not considering full follow area radius when automatically holding sliders
...
Closes https://github.com/ppy/osu/issues/25947 .
Regressed in https://github.com/ppy/osu/pull/25776 with the changes to
`DrawableSliderBall`.
I would have liked to include tests, but relax mod is a bit untestable,
because it disengages completely in the presence of a replay:
7e09164d70/osu.Game.Rulesets.Osu/Mods/OsuModRelax.cs (L49-L58)
Additionally, `RulesetInputManager` disengages completely from parent
inputs when there is a replay active:
7e09164d70/osu.Game/Rulesets/UI/RulesetInputManager.cs (L116)
which means there is really no easy way to control positional input
while still having relax logic work. So I'm hoping the fix could be
considered obvious enough to not require test coverage.
2023-12-22 12:50:42 +01:00
Dan Balasescu
6b4b2a57fc
Expose only as one method
2023-12-21 14:58:23 +09:00
Dan Balasescu
4e3b994142
Relocate HitResult numeric score to ScoreProcessor
2023-12-21 14:52:31 +09:00
Dean Herbert
9b383e3276
Add support for showing tick misses
2023-12-20 20:23:19 +09:00
Dan Balasescu
fe5e071e70
Fix sliding sample playing before Slider's start time
2023-12-19 17:01:52 +09:00
Dan Balasescu
2b33aec124
Require slider head to be judged before ticks
2023-12-17 21:26:48 +09:00
Dan Balasescu
fddfa33e49
Fix 1-frame issues due to referencing external value
2023-12-17 20:19:25 +09:00
Dan Balasescu
9b02bd712b
Only track if in slider ball after any ticks missed
2023-12-17 20:12:02 +09:00
Dan Balasescu
fbe48d7be8
Fix tail being missed too early
2023-12-17 20:11:15 +09:00
Dan Balasescu
f77884b62f
Only hit passed-through ticks if none were missed
2023-12-17 19:57:48 +09:00
Dean Herbert
c0e96927aa
Merge branch 'master' into slider-late-hit-lenience
2023-12-17 13:00:01 +09:00
Dan Balasescu
12210017e4
Use the cursor position to test nested object validity
2023-12-15 17:05:14 +09:00
Dan Balasescu
6bd190c55d
Refactor all slider input into SliderInputManager
2023-12-15 16:13:32 +09:00
Dan Balasescu
599fdb0128
Add lenience for late-hit of slider heads
2023-12-15 14:14:58 +09:00
Bartłomiej Dach
605269f65f
Extract preempt durations to shared constants
2023-12-14 20:41:12 +01:00
Dan Balasescu
3f67538d61
Allow slider to be tracked before its start time
2023-12-13 16:59:41 +09:00
Dean Herbert
039f8e6242
Add note about shared code
2023-11-24 10:25:23 +09:00
Dan Balasescu
7998204cfe
Fix combo/combo colouring issues around spinners
2023-11-23 13:54:05 +09:00
Dan Balasescu
a8cf105beb
Merge pull request #25342 from peppy/slider-combo-matching-2
...
Fix osu! (slider) combo not matching expectations when classic mod is disabled
2023-11-10 15:07:05 +09:00
Dan Balasescu
44c0442f4f
Adjust comment on Slider's judgement
2023-11-10 14:00:34 +09:00