Dean Herbert
55b80f70f6
Change "playfield" skin layer to respect shifting playfield border in osu! ruleset
2024-06-28 18:12:20 +09:00
Dean Herbert
fd6b77ea92
Fix distance snap control being removed
2024-06-27 23:59:38 +09:00
Dean Herbert
b293eb7930
Remove redundant array spec
2024-06-27 22:19:06 +09:00
Bartłomiej Dach
1b741dada3
Show distance in pixels to previous/next object in osu! hitobject inspector
2024-06-27 14:46:57 +02:00
Dan Balasescu
779d2e8172
Support increased visibility for first object with traceable mod
2024-06-27 16:00:22 +09:00
Bartłomiej Dach
b339d6a00c
Fix editor performance regression with hitmarkers active
2024-06-26 16:26:32 +02:00
Dean Herbert
dc817b62cc
Fix editor performance dropping over time when hit markers are enabled
...
There's probably a better solution but let's hotfix this for now.
2024-06-26 01:06:37 +09:00
Bartłomiej Dach
2fda45cad4
Fix crashes when opening scale/rotation popovers during selection box operations
2024-06-25 15:20:59 +02:00
Bartłomiej Dach
2cb18820ea
Fix incorrect slider judgement positions when classic mod is active
...
Regressed in https://github.com/ppy/osu/pull/27977 .
Bit ad-hoc but don't see how to fix without just reverting the change.
2024-06-25 10:07:58 +02:00
Dean Herbert
df43a1c6cc
Add note about every-frame-transforms
2024-06-23 03:31:40 +08:00
Olivier Schipper
4c6741e8aa
Fix exception type
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-06-20 17:27:38 +02:00
Bartłomiej Dach
225b309ba3
Reimplement stable polygon tool
...
Addresses https://github.com/ppy/osu/discussions/19970 .
While yes, https://github.com/ppy/osu/pull/26303 is also a thing,
in discussing with users I don't think that grids are going to be able
to deprecate this feature.
Logic transcribed verbatim from stable.
2024-06-20 16:29:46 +02:00
Bartłomiej Dach
ad2cd0ba8f
Adjust behaviour of hit animations toggle to match user expectations
2024-06-20 13:42:32 +02:00
Dean Herbert
57774ae767
Merge branch 'master' into slider-anchor-type-switching
2024-06-20 19:01:22 +09:00
OliBomby
956bdbca50
fix tests
2024-06-20 00:17:16 +02:00
OliBomby
b24bfa2908
click to choose length instead of drag
2024-06-20 00:02:43 +02:00
OliBomby
d7fee53d67
Merge remote-tracking branch 'upstream/master' into free-sliders
2024-06-19 23:15:41 +02:00
OliBomby
efc8e1431a
activate length change with context menu
2024-06-19 23:15:35 +02:00
OliBomby
f2bd6fac47
fix codefactor
2024-06-19 21:10:30 +02:00
OliBomby
ce4567f87b
adjust rotation bounds based on grid type
2024-06-19 20:46:55 +02:00
Bartłomiej Dach
5fe21f16b9
Fix test failures
2024-06-18 10:41:26 +02:00
Bartłomiej Dach
87888ff0bb
Extend slider selection box bounds to contain all control points inside
...
Previously, the selection box was only guaranteed to contain the actual
body of the slider itself, the control point nodes were allowed to exit
it. This lead to a lot of weird interactions with the selection box
controls (rotation/drag handles, also the buttons under/over it) as the
slider anchors could overlap with them.
To bypass this issue entirely just ensure that the selection box's size
does include the control point nodes at all times.
2024-06-18 10:28:36 +02:00
Bartłomiej Dach
a3326086f7
Adjust hotkeys to address feedback
2024-06-18 08:25:05 +02:00
Bartłomiej Dach
310265c43f
Add slider placement binding description in tooltip
2024-06-18 08:16:25 +02:00
Dean Herbert
316125d47a
Merge pull request #23443 from OliBomby/edit-nodesample
...
Make NodeSamples editable
2024-06-18 11:12:02 +09:00
Bartłomiej Dach
683d5310b1
Implement direct choice of slider control point path type via Alt
-number
2024-06-17 18:33:36 +02:00
Bartłomiej Dach
a631d245da
Fix test failure
2024-06-17 18:14:33 +02:00
Bartłomiej Dach
88bdc12022
Add ability to cycle through available types when selecting single control point on a slider
2024-06-17 15:56:48 +02:00
Bartłomiej Dach
16ea8f67b0
Add ability to start a new segment during placement via S
key
2024-06-17 15:56:48 +02:00
Bartłomiej Dach
b5f0e58524
Add ability to better control slider control point type during placement via Tab
2024-06-17 15:56:48 +02:00
Bartłomiej Dach
1b00d0181a
Fix playfield border size not updating in editor on circle size change
2024-06-17 09:36:01 +02:00
Bartłomiej Dach
97003b3679
Account for osu! circle radius when drawing playfield border
...
Addresses https://github.com/ppy/osu/discussions/13167 .
2024-06-17 09:08:43 +02:00
Bartłomiej Dach
25b2dfa601
Fix stack leniency not applying immediately after change
2024-06-10 14:34:22 +02:00
Bartłomiej Dach
86b13074a0
Merge branch 'master' into edit-nodesample
2024-06-06 13:42:25 +02:00
OliBomby
fe738a0951
Fix missing container inject
2024-06-05 18:12:02 +02:00
OliBomby
d8994786f6
Merge remote-tracking branch 'upstream/master' into grids-2
2024-06-05 17:18:48 +02:00
OliBomby
82919998da
dont light up tail piece when hovering anchor
2024-06-04 18:26:32 +02:00
Bartłomiej Dach
5fcea01c13
Merge branch 'master' into ruleset-specific-combo-counter
2024-06-04 15:44:11 +02:00
OliBomby
34c4ee7de8
add CanBeNull attribute to LastRepeat
2024-06-03 13:38:42 +02:00
OliBomby
484e04acfb
Merge branch 'free-sliders' of https://github.com/OliBomby/osu into free-sliders
2024-06-03 13:24:01 +02:00
Olivier Schipper
77b47ad2b4
simplify nullability annotation
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-06-03 13:23:39 +02:00
OliBomby
bb38cb4137
simplify tracking changes in shift key status
2024-06-03 13:18:36 +02:00
Bartłomiej Dach
4fcb902341
Merge branch 'master' into grids-1
2024-06-03 12:33:51 +02:00
OliBomby
ca41c84ba2
trim excess control points on drag end
2024-06-01 21:15:54 +02:00
OliBomby
7254096c90
fix isDragging being always true
2024-06-01 20:28:39 +02:00
Bartłomiej Dach
b2722521fa
Merge branch 'master' into account-for-sliders-in-accuracy-pp
2024-05-31 07:41:04 +02:00
Dean Herbert
b46222db19
Merge pull request #28359 from smoogipoo/autopilot-resume-overlay
...
Use delayed resume overlay for autopilot
2024-05-30 19:52:58 +09:00
Dan Balasescu
f6a59bee9a
Use delayed resume overlay for autopilot
2024-05-30 19:17:18 +09:00
Bartłomiej Dach
8916f08f86
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>
2024-05-30 09:03:02 +02:00
Bartłomiej Dach
a6c776dac8
Use hopefully safer implementation of anchoring judgements to objects
2024-05-29 11:11:43 +02:00
Bartłomiej Dach
22a2adb5e6
Revert unrelated changes
2024-05-29 10:57:30 +02:00
Bartłomiej Dach
9fb7cc5900
Merge branch 'master' into magnetised-judgements
2024-05-29 10:56:53 +02:00
Bartłomiej Dach
84513343d6
Remove unused fields
2024-05-29 10:18:22 +02:00
Bartłomiej Dach
7b7e439d03
Merge branch 'master' into scale-tool
2024-05-29 10:15:48 +02:00
Bartłomiej Dach
9bd4b0d613
Rename method
2024-05-29 10:04:51 +02:00
Bartłomiej Dach
ba40737356
Simplify logic
2024-05-29 10:01:04 +02:00
Bartłomiej Dach
96a8bdf920
Use more generic tooltip copy
2024-05-29 09:59:19 +02:00
Bartłomiej Dach
bd5060965f
Simplify toolbox button enable logic
2024-05-29 09:49:16 +02:00
Bartłomiej Dach
4a8273b6ed
Rename another method
2024-05-29 09:43:09 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming
2024-05-29 09:40:29 +02:00
Aurelian
b74f66e335
SliderBall's rotation updates based on CurvePositionAt
2024-05-28 19:38:33 +02:00
OliBomby
203e9284eb
End circle only gets brighter once shift is held
2024-05-28 19:01:53 +02:00
OliBomby
2261d65b01
Merge remote-tracking branch 'upstream/master' into free-sliders
2024-05-28 18:42:34 +02:00
OliBomby
9a18ba2699
disable playfield centre origin when scaling slider and simplify logic
2024-05-28 18:27:01 +02:00
OliBomby
9548585b15
fix axis checkboxes being disabled in playfield origin scale
2024-05-28 17:24:31 +02:00
OliBomby
d143a697d2
refactor CanScaleFromPlayfieldOrigin and GetClampedScale to derived class
2024-05-28 17:12:16 +02:00
OliBomby
7cdc755c16
Bind axis checkbox disabled state to CanScaleX/Y
2024-05-28 16:57:24 +02:00
OliBomby
8eb23f8a60
remove redundant CanScaleFromSelectionOrigin
2024-05-28 16:19:57 +02:00
OliBomby
a89ba33b47
rename CanScaleSelectionOrigin/PlayfieldOrigin to make clear its not the origin being scaled
2024-05-28 16:14:16 +02:00
js1086
c25e1bdeb5
Use correct operation for 0 difficulty case
2024-05-26 14:21:47 +01:00
js1086
61afda1089
Fix NaN case when difficulty is 0
2024-05-26 11:24:06 +01:00
Fina
8dea601329
Merge branch 'master' into estimation-removal
2024-05-25 14:21:34 -07:00
OliBomby
d4489545f2
add axis toggles
2024-05-25 21:44:08 +02:00
OliBomby
37530eebcc
Enable scale buttons at the correct times
2024-05-25 20:35:06 +02:00
OliBomby
4eeebdf60c
calculate max scale bounds for scale slider
2024-05-25 20:17:27 +02:00
OliBomby
88314dc584
select all input text on popup for an easy typing experience
2024-05-25 18:41:31 +02:00
OliBomby
6aa92bcc45
Add simple scale tool
2024-05-25 18:31:19 +02:00
Fina
6c9e906b2d
Revert "merged givi's accuracy changes"
...
This reverts commit 1f55c1413b
.
2024-05-24 14:00:42 -07:00
Fina
1f55c1413b
merged givi's accuracy changes
...
stat acc save me
2024-05-24 13:50:26 -07:00
Bartłomiej Dach
9f19ab092d
Merge branch 'master' into grids-1
2024-05-24 14:39:55 +02:00
Bartłomiej Dach
2be50c1a2a
Merge branch 'master' into undo_sliderpoint_curvetype_change
2024-05-24 10:45:31 +02:00
Dean Herbert
c7a89c35af
Merge pull request #28285 from tsunyoku/rank-traceable
...
Set `Ranked` to `true` for `OsuModTraceable`
2024-05-24 11:39:30 +08:00
js1086
20c54ab697
Apply code quality changes
2024-05-23 19:08:32 +01:00
Dan Balasescu
863f7151e0
Merge pull request #28288 from Hecatia-Lapislazuli/selection-mathing-slider-size
...
Fix path blueprint becoming desynced from slider path size
2024-05-24 00:19:34 +09:00
Dan Balasescu
b1c7afd75b
Move to ctor
2024-05-23 23:45:04 +09:00
Bartłomiej Dach
d8ba95f877
Remove leftover log
...
whooops.
2024-05-23 15:13:42 +02:00
Bartłomiej Dach
8a2dd4d816
Merge branch 'master' into scaling
2024-05-23 15:10:40 +02:00
Bartłomiej Dach
3e34b2d37e
Bring back clamping in osu! scale handler
...
Being able to flip doesn't really feel all that good and `master` was
already clamping, so let's just bring that back for now. Flipping can be
reconsidered in a follow-up if it actually can be made to behave well.
2024-05-23 15:01:29 +02:00
Bartłomiej Dach
f7bcccacb0
Simplify original state management in osu! scale handler
2024-05-23 15:01:29 +02:00
Aurelian
f17f70dca7
Changed Size to be handled by AutoSizeAxes
2024-05-23 14:36:49 +02:00
Aurelian
c3a2a1361d
SliderBody's Size getter updates size to the body/path's Size
2024-05-22 18:42:23 +02:00
tsunyoku
97fe59cb24
set Ranked
to true
for OsuModTraceable
2024-05-22 10:38:47 +01:00
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
...
This reverts commit d7d569cf4e
.
2024-05-22 16:29:39 +08:00
danielthirtle
c1efcc054c
Change miss penalty (nerf longer maps)
2024-05-21 21:03:53 +12:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3
2024-05-21 14:36:16 +08:00
Dan Balasescu
976c6c4f25
Merge pull request #28235 from tsunyoku/optimise-rhythm-evaluator-loop-logic
...
Reduce `Previous` calls in `RhythmEvaluator` by optimising loop logic
2024-05-20 20:31:46 +09:00
James Wilson
f31928875b
Reduce Previous
calls in RhythmEvaluator
by optimising loop logic
2024-05-19 16:26:51 +01:00
James Wilson
609268786f
remove unneeded extra Previous
calls from RhythmEvaluator
2024-05-19 13:29:49 +01:00
Andrei Zavatski
614cbdf0a4
Reduce container nesting in PathControlPointPiece
2024-05-18 22:51:58 +03:00
OliBomby
8df5f22b4e
Merge remote-tracking branch 'upstream/master' into scaling
2024-05-15 23:05:19 +02:00
Dan Balasescu
ff0c0d54c9
Fix taps on judged circles changing cursor position
2024-05-14 01:23:55 +09:00
apollo-dw
9b60abe486
Merge branch 'ppy:master' into no-combo-scaling
2024-05-11 13:24:16 +01:00
Dan Balasescu
3b8b56cbcb
Apply required changes after framework masking updates
2024-05-09 20:18:53 +09:00
Andrei Zavatski
e319a3e885
Don't perform masking updates in PathControlPointVisualiser
2024-05-04 22:07:08 +03:00
Andrei Zavatski
cf313cd67f
Use single path to display slider control point connections
2024-05-04 21:53:48 +03:00
Bartłomiej Dach
94275f148e
Fix adding slider control points via context menu not undoing correctly
...
Closes https://github.com/ppy/osu/issues/27985 .
2024-04-25 09:01:47 +02:00
DavidBeh
8c2a4eb78a
Fix formatting
2024-04-24 12:40:23 +02:00
DavidBeh
16190a4ed7
Made judgements follow DrawableOsuHitObjects. Enabled judgements for depth mod
2024-04-24 00:23:45 +02:00
DavidBeh
7dac5afd90
Enabled judgements for repel (but not in depth). Updated comments in repel, mag, depth
2024-04-23 23:57:27 +02:00
DavidBeh
f863ea30e1
Made judgements always on and disabled follow paths again
2024-04-23 23:31:23 +02:00
DavidBeh
3a914b9337
Fixed judgements with MG mod without causing side effects
2024-04-23 23:24:51 +02:00
DavidBeh
331f1f31b0
Attempt to position DrawableOsuJudgement based on its DrawableOsuHitObject instead of DrawableOsuHitObject.HitObject
2024-04-23 19:19:11 +02:00
DavidBeh
beee76d64a
enabled and fixed judgements for the magnetised mod
2024-04-22 20:25:43 +02:00
Dean Herbert
fb1d20bd39
Comment in some clarification
2024-04-22 15:07:11 +08:00
Dan Balasescu
0170c04baf
Fix cursormiddle
not using the same source as cursor
2024-04-22 15:01:28 +09:00
Dan Balasescu
40c48f903b
Add failing test
2024-04-22 15:01:28 +09:00
Fina
4fe55d437a
Renamed useSliderHead to useClassicSlider (and refactored code accordingly)
2024-04-20 14:16:02 -07:00
Fina
d1dcac08c6
fix code formatting
2024-04-19 16:11:26 -07:00
Fina
4a7b8138ae
Re-add bool useSliderHead
...
oops
2024-04-19 16:07:54 -07:00
Fina
759a82655c
Clamp estimatedSliderEndsDrop
2024-04-19 16:04:49 -07:00
Fina
77814ec69f
Fix getting slider head drops
2024-04-19 16:04:17 -07:00
Fina
ca246015d5
Add bool useSliderHead
2024-04-19 16:03:46 -07:00
Dan Balasescu
362a7b2c77
Remove unused members from GameplaySkinComponentLookup
2024-04-19 18:03:13 +09:00
TextAdventurer12
e2a5d1904b
adjust count difficult strains formula
2024-04-17 01:21:06 +12:00
Bartłomiej Dach
e5e345712e
Fix resume overlay not appearing after pausing inside window but outside of actual playfield area
...
Related to https://github.com/ppy/osu/discussions/27871 (although does
not actually fix the issue with the pause button, _if_ it is to be
considered an issue - the problem there is that the gameplay cursor
gets hidden, so the other condition in the modified check takes over).
Regressed in
bce3bd55e5
.
Reasoning for breakage is silent change in `this` when moving the
`Contains()` check (`DrawableRuleset` will encompass screen bounds,
while `OsuResumeOverlay` is only as big as the actual playfield).
2024-04-16 13:45:09 +02:00
Bartłomiej Dach
f9873968a5
Apply NRT in OsuResumeOverlay
2024-04-16 13:39:06 +02:00
Dan Balasescu
0e218ee271
Merge pull request #27148 from Givikap120/traceable_pp
...
Add Traceable performance calculation support
2024-04-16 04:54:57 +09:00
Givikap120
4a21ff9726
removed duplication
2024-04-13 13:59:09 +03:00
Givikap120
feb9b5bdb8
Make traceable pp match HD
2024-04-13 13:42:57 +03:00
TextAdventurer12
b32d73ec9b
adjust weighting function
2024-04-13 02:43:33 +12:00
Fina
dd17c898b3
removed large tick misses from effectivemisscount
2024-04-11 19:07:48 -07:00
Fina
2dd49036ed
Cap Buzz Slider Related Misses
...
After letting the comments @Flamiii left brew for a while, I realized they were very much right about the buzz slider thing. As such, I've implemented a quick and dirty untested fix that will hopefully have zero unintended side-effects :)
I don't see this as a permanent or final solution yet. There's definitely some potential issues/inaccuracies that could arise with maps like Notch Hell or IOException's Black Rover, but afaik this implementation would not cause any issues that stable doesn't already have.
2024-04-10 20:31:52 -07:00
Bartłomiej Dach
518addf323
Merge branch 'master' into fix-catmull-bulbs
2024-04-10 11:25:02 +02:00
TextAdventurer12
9f5f6b5d37
stop capping difficult strains per note
2024-04-06 21:39:27 +13:00
Dean Herbert
94cbe1838f
Replace usages of is null
with == null
2024-04-03 01:50:39 +08:00
Dean Herbert
51e9348d27
Merge pull request #26702 from honguyenminh/fix-rotate-editor-button-disabled
...
Fix rotate tool button in editor disabled when selecting 1 circle
2024-04-02 14:31:43 +08:00
Nguyên Minh Hồ
6642702fa9
Update plurals in editor rotate button tooltip
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2024-04-02 12:36:44 +07:00
Dean Herbert
eca242c1c7
Change tooltip text slightly
2024-04-02 13:17:16 +08:00
Dean Herbert
ed5dd5c8cd
Bind using local bindables to avoid potentially event pollution
2024-04-02 13:04:34 +08:00
Dan Balasescu
4806ea54f1
Only optimise Catmull segments in osu ruleset
2024-04-01 17:22:50 +09:00
Dan Balasescu
099ad22a92
Use local bindable instead
...
Binding events directly to an external bindable will cause that
bindable to hold a permanent reference to the current object.
We use `GetBoundCopy()` or otherwise a local bindable + `.BindTo()` to create a
weak-referenced copy of the target bindable. When the local bindable's
lifetime expires, so does the external bindable's reference to it.
2024-04-01 15:31:35 +09:00
Nguyên Minh Hồ
1adba68357
Merge branch 'fix-rotate-editor-button-disabled' of https://github.com/honguyenminh/osu into fix-rotate-editor-button-disabled
2024-03-31 16:00:58 +07:00
Nguyên Minh Hồ
86def7e263
Change editor rotate button disabled tooltip text
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-03-31 16:00:47 +07:00
Arthur Araujo
450e7016bc
Bind StackHeight
changes to visual update methods
2024-03-30 21:23:05 -03:00
Nguyên Minh Hồ
b445e27ad6
Aggregate two CanRotate bindable for enabling the Rotate button
2024-03-30 17:54:27 +07:00
Nguyên Minh Hồ
6f782266b5
Fix inspection
2024-03-30 17:28:57 +07:00
Nguyên Minh Hồ
5d497ba4a8
Simplify TooltipText for EditorRadioButton
2024-03-30 16:04:22 +07:00
Nguyên Minh Hồ
8d6358a138
Fix editor rotation allowing spinner only bug
2024-03-30 16:02:31 +07:00
Nguyên Minh Hồ
9950395e5f
Merge branch 'fix-rotate-editor-button-disabled' of https://github.com/honguyenminh/osu into fix-rotate-editor-button-disabled
2024-03-30 13:57:44 +07:00
Nguyên Minh Hồ
113dbcd10f
Merge branch 'master' into fix-rotate-editor-button-disabled
2024-03-30 13:56:31 +07:00
Bartłomiej Dach
21201e616d
Merge pull request #27723 from 64ArthurAraujo/editor-fix-reverse-selection
...
Fix reverse selection not updating new combo location
2024-03-28 11:25:17 +01:00
Bartłomiej Dach
2f786ffc32
Simplify implementation
2024-03-28 10:12:27 +01:00
Arthur Araujo
01a72d5afa
Fix combo not reversing properly depending on the order of selection
2024-03-26 12:10:40 -03:00
Bartłomiej Dach
b74f8dba41
Merge branch 'master' into verify-abnormal-difficulty-settings
2024-03-26 11:13:16 +01:00
Bartłomiej Dach
1866b4b6b1
Refactor abstract check to reduce duplication
2024-03-26 11:13:03 +01:00
Bartłomiej Dach
9b923b1909
Fix code quality issues
2024-03-26 10:55:49 +01:00
Arthur Araujo
10683de578
Use order of new combo flags instead of StartTime
2024-03-26 04:59:47 -03:00
Arthur Araujo
78037fa477
Handle new combo on HandleReverse
2024-03-25 04:19:14 -03:00
Fina
58bc184e0a
Use sliderend data for all non-legacy scores
...
As per suggestion by givikap, I was not aware that non-legacy cl scores stored this data
2024-03-23 14:43:26 -07:00
Arthur Araujo
6fa663c8ca
Make check ruleset specific
2024-03-22 14:48:22 -03:00
Fina
6fe478c865
Add slider ticks and reverse arrows to effective misscount
...
Very much open to discussion on if these should be weighed differently
2024-03-21 23:49:54 -07:00
Fina
b0d20e68ae
Update OsuPerformanceCalculator.cs
2024-03-21 23:31:45 -07:00
Fina
eb30b4aa38
Merge branch 'estimation-removal' into dropped-tail-fix
2024-03-21 23:29:45 -07:00
Fina
840845527f
Use miss count for effective miss count
...
No need to estimate misses for non-CL scores.
2024-03-21 23:24:37 -07:00
Fina
3dafdc01bb
Revert "Make length bonus account for sliders, use proper misscount for classic"
...
This reverts commit 941c0487a4
.
2024-03-21 23:17:10 -07:00
Fina
4db6f288d3
Use actual sliderends dropped instead of estimating
...
Score data for non-CL scores includes sliderends dropped, meaning no need to estimate.
CL scores are still estimated.
2024-03-21 23:15:36 -07:00
Fina
941c0487a4
Make length bonus account for sliders, use proper misscount for classic
2024-03-21 19:02:36 -07:00
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
Sheepposu
7687ab63ed
fix code formatting
2024-02-27 22:03:45 -05:00
Sheepposu
29e5f409ba
remove skinnable
...
better to add skinnable elements later
2024-02-27 21:51:54 -05: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
Sheepposu
822ecb7106
remove unnecessary changes
2024-02-23 23:52:17 -05:00
Sheepposu
8cdd9c9ddc
skinning changes
...
improve default design
2024-02-23 23:46:50 -05:00
Sheepposu
c95e85368f
remove old files
2024-02-23 23:45:58 -05:00
Sheepposu
4d669c56a2
implement pooling
...
Uses pooling for all analysis objects and creates the lifetime entries from replay data when the analysis container is constructed.
2024-02-23 23:32:35 -05:00
Andrei Zavatski
31dabaefaa
Reduce smoke allocations
2024-02-23 18:21:11 +03:00
Sheepposu
2a1fa8ccac
fix OsuAnalysisSettings text not updating
2024-02-22 22:34:38 -05:00
Sheepposu
45444b39d4
fix formatting issues
2024-02-22 19:01:52 -05:00
Salman Ahmed
bbf3f6b56c
Fix old-style legacy spinner fade in not matching stable
2024-02-22 16:31:13 +03:00
Sheepposu
af13389a9e
fix hit marker skinnables
2024-02-22 07:31:56 -05:00
Sheepposu
35b89966bc
revert mod visibility toggle
2024-02-21 23:23:40 -05:00
TextAdventurer12
0db910deb9
cap each note at adding 1 difficult strain count
2024-02-22 15:20:32 +13:00
TextAdventurer12
7d34542c12
use difficulty instead of topstrain
2024-02-22 15:14:56 +13: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
Sheepposu
1d552e7c90
move skin component logic
2024-02-20 22:28:25 -05: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
Sheepposu
288eed53df
new features + improvements
...
Hit & aim markers are skinnable. Hidden can be toggled off. Aim line with skinnable color was added. The fadeout time is based on the approach rate. Cursor hide fixed.
2024-02-10 02:02:26 -05: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
tsunyoku
8ccb14f19f
include slider count in accuracy pp if slider head accuracy is in use
2024-02-06 13:08:17 +00: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
Sheppsu
d255976279
Merge branch 'ppy:master' into replay-analysis-settings
2024-02-06 03:13:09 -05: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
Sheepposu
b5dbf24d27
early replay analysis settings version
...
committing early version for others in the discussion to do their own testing with it
2024-02-01 10:19:09 -05: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
OliBomby
86382f4408
Clarify comment
2024-01-15 12:49:40 +01:00
Salman Ahmed
13517869f6
Apply scale transitions in resume overlay cursor to local container
2024-01-15 14:03:23 +03:00
Dean Herbert
6c0e968727
Merge pull request #26512 from OliBomby/slider-pathtype-update
...
Fix glitchy path type correction for sliders in the editor
2024-01-15 16:19:24 +09:00
Bartłomiej Dach
0b2b1fc588
Fix flashlight dim being applied before slider start time
...
Closes https://github.com/ppy/osu/issues/26515 .
Compare https://github.com/ppy/osu/pull/26053 .
2024-01-14 13:05:02 +01:00
OliBomby
243b7b6fda
fix code quality
2024-01-13 23:17:38 +01:00
OliBomby
83e108071a
fix wrong path type being displayed
2024-01-13 22:51:33 +01:00
OliBomby
39908f5425
remove Validating event and instead call validation explicitly on edits
2024-01-13 22:39:09 +01:00
OliBomby
da4d83f8ca
remove the need for caching points in segment
2024-01-13 21:41:33 +01:00
OliBomby
b4f9878b46
working jank solution
2024-01-13 20:39:49 +01:00
OliBomby
f5d6d52d4c
Move logic for caching segments and updating path types to PathControlPointVisualiser
2024-01-13 14:47: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
e1186080b8
simplify scheduling logic
2024-01-13 02:24:33 +01:00
OliBomby
5fa7f6ec53
make drawables that update from path version update once per frame
2024-01-13 02:21:32 +01:00
OliBomby
882f490390
lazy load slider tail position
2024-01-13 01:32:37 +01:00
Bartłomiej Dach
7c9adc7ad3
Fix incorrect score conversion on selected beatmaps due to incorrect difficultyPeppyStars
rounding
...
Fixes issue that occurs on *about* 246 beatmaps and was first described
by me on discord:
https://discord.com/channels/188630481301012481/188630652340404224/1154367700378865715
and then rediscovered again during work on
https://github.com/ppy/osu/pull/26405 :
https://gist.github.com/bdach/414d5289f65b0399fa8f9732245a4f7c#venenog-on-ultmate-end-by-blacky-overdose-631
It so happens that in stable, due to .NET Framework internals, float
math would be performed using x87 registers and opcodes.
.NET (Core) however uses SSE instructions on 32- and 64-bit words.
x87 registers are _80 bits_ wide. Which is notably wider than _both_
float and double. Therefore, on a significant number of beatmaps,
the rounding would not produce correct values due to insufficient
precision.
See following gist for corroboration of the above:
https://gist.github.com/bdach/dcde58d5a3607b0408faa3aa2b67bf10
Thus, to crudely - but, seemingly accurately, after checking across
all ranked maps - emulate this, use `decimal`, which is slow, but has
bigger precision than `double`. The single known exception beatmap
in whose case this results in an incorrect result is
https://osu.ppy.sh/beatmapsets/1156087#osu/2625853
which is considered an "acceptable casualty" of sorts.
Doing this requires some fooling of the compiler / runtime (see second
inline comment in new method). To corroborate that this is required,
you can try the following code snippet:
Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3f).Select(x => x.ToString("X2"))));
Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3).Select(x => x.ToString("X2"))));
Console.WriteLine();
decimal d1 = (decimal)1.3f;
decimal d2 = (decimal)1.3;
decimal d3 = (decimal)(double)1.3f;
Console.WriteLine(string.Join(' ', decimal.GetBits(d1).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
Console.WriteLine(string.Join(' ', decimal.GetBits(d2).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
Console.WriteLine(string.Join(' ', decimal.GetBits(d3).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
which will print
66 66 A6 3F
CD CC CC CC CC CC F4 3F
0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
8C 5D 89 FB 3B 76 00 00 00 00 00 00 00 00 0E 00
Note that despite `d1` being converted from a less-precise floating-
-point value than `d2`, it still is represented 100% accurately as
a decimal number.
After applying this change, recomputation of legacy scoring attributes
for *all* rulesets will be required.
2024-01-10 19:30:18 +01:00