Dean Herbert
35df381717
Merge branch 'master' into tcm-resume
2024-03-20 01:25:40 +08:00
Bartłomiej Dach
c9bbeeb49a
Merge branch 'master' into heatmap-misses
2024-03-18 14:43:24 +01:00
Dan Balasescu
0beaa8e8c5
Merge branch 'master' into tcm-resume
2024-03-14 12:22:46 +09:00
Dan Balasescu
e0f1f70b82
Adjust NRT to prevent future issues
...
This way, it will yet at us if the setter is ever moved out of the ctor.
2024-03-11 15:52:40 +09:00
Dean Herbert
fc05268fc3
Apply NRT to DrawableOsuEditorRuleset
too
2024-03-11 14:45:52 +08:00
Dean Herbert
091425db30
Fix nullability hint
2024-03-11 14:43:58 +08:00
Dean Herbert
f3d154a995
Add inline comment explaining optimisation
2024-03-11 11:28:15 +08:00
Dean Herbert
2be6d1f1c6
Apply NRT to OsuPlayfield
2024-03-11 11:26:03 +08:00
Andrei Zavatski
6ff4b1d7e3
Don't update SubTreeMasking in OsuPlayfield
2024-03-10 15:42:03 +03: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
Bartłomiej Dach
3d8fdc52a4
Merge pull request #27501 from turbedi/throw_helper
...
Use ThrowHelper methods in more places
2024-03-07 11:36:21 +01:00
Dean Herbert
b53b752e54
Update usage of MathUtils
2024-03-06 12:13:12 +08:00
Dean Herbert
6455c0583b
Update usage of CircularProgress.Current
2024-03-06 12:13:10 +08:00
Berkan Diler
a891303484
Use ArgumentOutOfRangeException throw helper methods
2024-03-05 10:20:30 +01:00
Dan Balasescu
bce3bd55e5
Fix catch by moving cursor-specific handling local
2024-03-04 16:08:17 +09: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
Dean Herbert
4506ad23a0
Merge pull request #27401 from bdach/fix-slider-tail-dim
...
Fix slider tails sometimes not dimming correctly
2024-02-28 22:28:17 +08:00
Bartłomiej Dach
b5ce2642aa
Fix subscribing to ApplyCustomUpdateState
too much
2024-02-28 13:20:41 +01:00
Bartłomiej Dach
71b1fbb9d0
Merge pull request #27383 from Detze/slider-border-thickness
...
Rewrite legacy slider path rendering to match stable better
2024-02-28 10:02:46 +01:00
Salman Ahmed
b3aa9e25d2
Disable legacy slider AA for now
2024-02-27 23:18:29 +03: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
Salman Ahmed
83af9dfb39
Fix aa_width
being incorrect
2024-02-27 02:43:02 +03:00
Salman Ahmed
18e26e39fe
Remove SliderBorderSize
for simplicity
2024-02-27 02:20:34 +03:00
Salman Ahmed
2f54775182
Add stable code references
2024-02-27 02:17:02 +03:00
Salman Ahmed
81e6a6d96a
Rewrite LegacySliderBody
rendering to perfectly match stable
2024-02-27 02:11:32 +03:00
Salman Ahmed
e01722a266
Revert "Match stable's slider border thickness more closely"
...
This reverts commit 3502ec456d
.
2024-02-27 01:30:20 +03:00
Salman Ahmed
8363c39da8
Revert "Match stable's slider border thickness perfectly"
...
This reverts commit 8032ce9225
.
2024-02-27 01:30:20 +03:00
Detze
8032ce9225
Match stable's slider border thickness perfectly
2024-02-26 18:37:27 +01:00
Detze
3502ec456d
Match stable's slider border thickness more closely
2024-02-26 04:36:09 +01:00
Dean Herbert
e8d2abc4f7
Merge pull request #27364 from EVAST9919/spinner-alloc
...
Reduce osu spinner allocations
2024-02-25 09:36:02 +08:00
Dean Herbert
e12f8c03ee
Reset lastRecord
on resetState
for good measure
2024-02-25 08:18:19 +08:00
Detze
91d7bd1026
Don't dim slider head in DrawableSlider
2024-02-24 21:56:44 +01:00
Andrei Zavatski
9e90f7fb0d
Store last enqueued RotationRecord in SpinnerSpmCalculator
2024-02-24 20:36:06 +03:00
Andrei Zavatski
1fb19e7129
Reduce allocations in DrawableSpinner
2024-02-24 20:18:30 +03:00
Dean Herbert
a3429986bc
Merge branch 'master' into spinner-stutter
2024-02-25 00:13:48 +08:00
Dean Herbert
824d671cce
Simplify implementation
2024-02-25 00:12:20 +08:00
Andrei Zavatski
2696620d12
Completely remove transform flow for spm counter
2024-02-24 17:09:49 +03:00
Andrei Zavatski
4bba0eaf4b
Remove repeated TimeStarted check
2024-02-24 16:42:44 +03:00
Andrei Zavatski
9b526912e9
Fix incorrect operator
2024-02-24 16:41:53 +03:00
Andrei Zavatski
e7d8ca3292
Fix Argon and Trianles spinner stutter
2024-02-24 14:22:34 +03:00
Andrei Zavatski
31dabaefaa
Reduce smoke allocations
2024-02-23 18:21:11 +03:00
Salman Ahmed
bbf3f6b56c
Fix old-style legacy spinner fade in not matching stable
2024-02-22 16:31:13 +03:00
Dean Herbert
1f4ab7a0e8
Merge branch 'slider-input-alloc' into update-framework
2024-02-21 21:45:14 +08:00
Bartłomiej Dach
cd1acf1ef9
Merge pull request #27288 from peppy/fix-follow-circle-animation
...
Fix classic skin follow circles animating from incorrect starting point
2024-02-21 10:53:56 +01:00
Dean Herbert
a137fa5480
Fix classic skin follow circles animating from incorrect starting point
2024-02-21 15:43:53 +08:00
Dean Herbert
a11a83ac48
Improve comment regarding scale adjust of approach circles
2024-02-21 13:44:04 +08:00
Dean Herbert
86e3b597b4
Fix LegacyApproachCircle
incorrectly applying scaling factor
2024-02-21 13:18:51 +08:00
Andrei Zavatski
3791ab30c4
Reduce allocations in HitCircleOverlapMarker
2024-02-19 20:55:43 +03:00
Andrei Zavatski
29900353d9
Reduce allocations in SliderSelectionBlueprint
2024-02-19 20:26:15 +03:00
Andrei Zavatski
3059ddf3b2
Fix allocations in SliderInputManager
2024-02-19 01:08:40 +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
Salman Ahmed
ce903987e7
Fix cursor ripples being added on release positions in replays
2024-02-17 00:53:53 +03:00
Bartłomiej Dach
7f76ff1f5d
Merge pull request #27145 from tsunyoku/legacy-relax-replays-key-presses
...
Create key-presses when watching legacy Relax replays
2024-02-14 10:06:06 +01:00
Bartłomiej Dach
22e9c4a3b5
Use private interface rather than weird inheritance
2024-02-13 10:20:06 +01:00
James Wilson
5101979ac0
only use LegacyReplayPressHandler
on legacy replays
2024-02-13 00:34:06 +00:00
Givikap120
5639155009
Update OsuModTraceable.cs
2024-02-12 23:31:00 +02:00
Givikap120
6402f23f02
Added Traceable support for pp
2024-02-12 21:00:15 +02:00
tsunyoku
cc733ea809
add inline comment for supposedly backwards ternary
2024-02-12 18:00:05 +00:00
tsunyoku
2a02566283
refactor down
and wasLeft
management into respective PressHandler
classes
2024-02-12 17:45:00 +00:00
tsunyoku
581ae2f679
handle key presses when watching legacy relax replays
2024-02-12 12:51:35 +00:00
tsunyoku
c5f392c17d
only compute flashlight in osu! difficulty calculations when required
2024-02-10 15:25:03 +00:00
Bartłomiej Dach
6954a185c4
Merge branch 'master' into deselect-slider-adds-control-point-bug
2024-02-10 15:35:03 +01:00
Berkan Diler
6adf0ac01e
Use new LINQ Order() instead of OrderBy() when possible
2024-02-08 18:01:00 +01: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
44b1515cc5
Remove LangVersion redefintions
2024-02-07 03:28:40 +09:00
Bartłomiej Dach
d150d69abf
Merge branch 'master' into heatmap-misses
2024-02-06 18:02:50 +01:00
Bartłomiej Dach
2a11d37995
Merge pull request #27062 from smoogipoo/fix-heatmap-offset
...
Fix hit accuracy heatmap points being offset
2024-02-06 18:02:30 +01:00
Dan Balasescu
99d716f8fc
Make miss points into crosses
2024-02-06 22:30:22 +09:00
Dan Balasescu
5850d6a578
Show near-misses on the results-screen heatmap
2024-02-06 22:30:22 +09:00
Dan Balasescu
891346f795
Fix hit accuracy heatmap points being offset
2024-02-06 21:56:52 +09:00
Dean Herbert
d784934bce
Merge pull request #26935 from bdach/new-mods-for-pp
...
Allow a few new mods and mod settings for pp
2024-02-06 20:54:20 +08:00
Bartłomiej Dach
a84f53b169
Allow pp for Blinds
...
The mod does impact pp, but it requires no extra difficulty attributes
(https://github.com/ppy/osu/pull/26935#issuecomment-1925734171 ).
2024-02-06 13:03:05 +01: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
c093fe6bcf
Merge pull request #26763 from frenzibyte/fix-relax-mod
...
Fix relax mod not respecting tracking state of sliders when triggering actions
2024-02-06 09:41:44 +01:00
kongehund
0da67e64b3
Fix deselecting slider adding control points
2024-02-06 00:28:39 +01:00
Bartłomiej Dach
f65449375e
Merge branch 'master' into scrolling-alloc
2024-02-05 19:59:47 +01: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
Dean Herbert
cc5e1e0af3
Merge pull request #26957 from smoogipoo/net8
...
Update to .NET 8 + C# 12
2024-02-05 20:59:31 +08: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
Andrei Zavatski
e2e3c61c9c
Use AliveEntries where we don't need startTime order
2024-02-03 19:54:08 +03:00
Dan Balasescu
6e4d52863c
Upgrade to .NET 8 SDK
2024-02-02 21:28:51 +09:00
Bartłomiej Dach
f89923aeae
Annotate mods that give pp
2024-01-31 14:59:35 +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
Dean Herbert
ebf637bd3c
Adjust slider tick / end misses to show slightly longer
2024-01-31 17:41:26 +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
760368709a
Mark some delegates as static because we can
2024-01-29 16:16:28 +09:00
Salman Ahmed
ee4fe1c068
Fix relax mod not handling objects close to a previous slider's follow area
2024-01-28 23:11:42 +03: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
OliBomby
c2d57dc77c
Merge remote-tracking branch 'upstream/master' into edit-nodesample
2024-01-25 11:33:29 +01: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
Dean Herbert
0175f6e0b8
Add new judgement drawable for argon slider misses
2024-01-25 19:31:57 +09:00
Dean Herbert
dda96d7106
Rename JudgementPiece
to TextJudgementPiece
2024-01-25 19:31:57 +09:00
Nguyên Minh Hồ
d5b70ed09a
Move CanRotatePlayfieldOrigin bindable to generic rotation handler
2024-01-25 16:58:44 +07:00
Nguyên Minh Hồ
2fa52de87a
Fix formatting
2024-01-25 16:29:44 +07:00
Nguyên Minh Hồ
94ada87cba
Un-hardcode tooltip from EditorRadioButton and add disabled tooltip for rotation popover
2024-01-25 14:32:48 +07:00
Nguyên Minh Hồ
500bed0121
Split editor toolbox radio button disabling logic from EditorRadioButton, then add disabling logic for rotate popover
2024-01-25 14:24:35 +07:00
Nguyên Minh Hồ
601ba9f194
Change rotate tool button to be enabled on single circle.
...
Inject osu ruleset specific rotate handler instead of generic handler.
2024-01-25 12:16:35 +07:00
Nguyên Minh Hồ
e1f8bc9692
Rename CanRotate property of SelectionRotationHandler to a more descriptive name
2024-01-25 12:10:50 +07: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
Dean Herbert
b272d34960
Merge pull request #26630 from peppy/s-rank-change
...
Change S rank to require no miss
2024-01-24 13:27:40 +09:00
Andrei Zavatski
da992ccc55
Implement per-axis triangles clamping
2024-01-23 04:54:27 +03:00
Bartłomiej Dach
cb8ec48717
Make RankFromScore()
's dictionary param readonly
...
Just to make sure nobody tries any "funny" business.
2024-01-22 19:56:30 +01:00
Bartłomiej Dach
5bae9074aa
Merge branch 'master' into s-rank-change
2024-01-22 19:54:53 +01:00
Dean Herbert
c8521b49cd
Change S rank to require no miss
2024-01-22 21:43:32 +09:00
Dean Herbert
47e9846315
Adjust slider tick / end miss animations to be less busy
2024-01-22 18:48:48 +09:00
Dean Herbert
993e733fce
Merge pull request #26598 from frenzibyte/fix-storyboard-sprites-2
...
Remove handling for non-legacy texture lookup paths in `LegacySkin`
2024-01-22 17:50:55 +09:00
Salman Ahmed
57b2d018a9
Fix slider sometimes not updating relative anchor position
2024-01-22 02:07:32 +03:00
Andrei Zavatski
1393f52b2b
Rename Masking to ClampToDrawable
2024-01-21 05:20:42 +03:00
Andrei Zavatski
e003ecb593
Change default masking value to true
2024-01-21 04:57:48 +03:00
OliBomby
9b9485f656
fix adjust axes detection
2024-01-20 15:39:38 +01:00
OliBomby
1596776a81
fix imports
2024-01-20 15:15:49 +01:00
OliBomby
e1f3f7d988
fix possible NaN in clamped scale
2024-01-20 14:49:47 +01:00
OliBomby
a4f771ec08
refactor CanScale properties
2024-01-20 01:13:01 +01:00
OliBomby
26c0d1077a
Refactor scale handling in editor to facilitate reuse
2024-01-20 00:22:53 +01:00
Bartłomiej Dach
3853f63b74
Merge pull request #26567 from peppy/cusor-scale-rate
...
Fix cursor scale animation not matching stable on classic skins
2024-01-18 13:59:49 +01:00
Salman Ahmed
1527ab89ef
Refactor DefaultApproachCircle
/LegacyApproachCircle
to make sense
2024-01-18 11:16:26 +03:00
Salman Ahmed
06da7f74de
Merge branch 'master' into fix-storyboard-sprites-2
2024-01-17 18:43:25 +03:00
Salman Ahmed
eaa748f075
Remove unused using directive
2024-01-17 18:35:34 +03:00
Salman Ahmed
ed1e66b8f9
Fix enabling beatmap skin cause hitobjects to use LegacyApproachCircle
regardless of selected skin
2024-01-17 16:36:09 +03:00
Salman Ahmed
e54d20ea93
Remove ancient osu-resources lookup path from legacy skin textures
2024-01-17 16:33:14 +03:00
Bartłomiej Dach
d0e9402761
Fix flashlight not dimming if slider head is hit early
...
Closes https://github.com/ppy/osu/issues/26551
Fix is a bit nuclear (`OnUpdate` should be considered last resort),
but I don't see many better alternatives here as
`ApplyCustomUpdateState` does not work...
2024-01-16 18:56:50 +01:00
Justin
7736445659
Merge branch 'master' into spinner-speed-fix
2024-01-17 01:40:53 +11:00
Dean Herbert
c45daa373e
Fix cursor scale animation not matching stable on classic skins
2024-01-16 17:15:25 +09:00
Justin
e3ab7b1e9f
Update disctop to use turnratio like stable
2024-01-16 17:22:22 +11:00
Dean Herbert
2fdbc501c2
Merge pull request #26499 from OliBomby/slider-performance
...
Fix lag when dragging first slider control point in editor
2024-01-16 13:22:49 +09:00
Bartłomiej Dach
71d0543213
Merge pull request #26545 from frenzibyte/fix-resume-cursor-transition-abused
...
Fix pop-in scale transition in resume overlay affecting input area
2024-01-15 20:06:16 +01:00
Dean Herbert
23815b2045
Merge pull request #26547 from bdach/cursor-ripple-pool-wrong
...
Fix cursor ripple pool not loading pooled drawables ahead of time
2024-01-15 22:56:50 +09:00
Bartłomiej Dach
399fc8195a
Fix cursor ripple pool not loading pooled drawables ahead of time
...
Increment the counter over at
https://github.com/ppy/osu-framework/pull/6136 .
2024-01-15 13:22:22 +01:00
OliBomby
96ffe8e737
change wording
2024-01-15 12:51:08 +01:00
Dean Herbert
6b844ed8b6
Split out judgement pooling concepts from OsuPlayfield
for reuse
2024-01-15 20:50:09 +09:00