Bartłomiej Dach
63481e8e60
Merge pull request #25539 from default0/fix-slider-drawing-with-snap
...
Fix freehand-drawn sliders with distance snap
2023-11-27 11:25:50 +09:00
Bartłomiej Dach
3da8a0cbed
Fix undo being broken when ctrl-click and dragging new point
2023-11-23 14:01:17 +09:00
Bartłomiej Dach
e8d3d26d16
Fix slider length not updating when adding new anchor via ctrl-click
2023-11-23 10:07:40 +09:00
cs
95b12082ae
Update to respect distance snap
...
This will cause freehand drawing to respect distance snap, instead
changing the drawn path to start from the sliders start position
and "snap" in a linear fashion to the cursor position from the
position indicated by distance snap
2023-11-22 10:14:44 +01:00
cs
f7fce1d714
Fix freehand-drawn sliders with distance snap
2023-11-22 09:55:32 +01:00
Dean Herbert
21bf288277
Merge pull request #25520 from peppy/context-menu-spacers
...
Allow context menus to have visible spacers
2023-11-21 16:56:36 +09:00
Bartłomiej Dach
ed38746823
Fix spacer appearing on top of menu
2023-11-21 16:14:41 +09:00
Dean Herbert
cc33e12125
Fix dragging after one point already placed incorrectly entering drawing mode
2023-11-21 15:38:12 +09:00
Dean Herbert
a210469956
Reorder methods
2023-11-21 15:38:12 +09:00
Dean Herbert
016de7be6a
Simplify drag handling code in SliderPlacementBlueprint
2023-11-21 15:38:12 +09:00
Dean Herbert
cf6f66b84f
Remove redundant Clear()
call
2023-11-21 15:38:12 +09:00
Dean Herbert
e69e78ad41
Refactor b-spline path conversion code to better handle linear segments
2023-11-21 15:38:12 +09:00
Dean Herbert
0a5444d091
Fix using the incorrect position for the first point
2023-11-21 15:38:12 +09:00
Dean Herbert
314a7bf6f1
Simplify AddOnce
call to avoid self
argument
2023-11-21 15:38:12 +09:00
Dean Herbert
9718a80249
Add visible spacer between "inherit" and other curve types
2023-11-21 14:24:19 +09:00
Dean Herbert
3680024e31
Fix tolerance not being transferred to blueprint in all cases
2023-11-21 11:15:00 +09:00
Dean Herbert
e9f371a581
Refactor slider settings class
2023-11-21 09:59:49 +09:00
Dean Herbert
6f5c468a83
Rename settings class
2023-11-21 00:21:44 +09:00
Dean Herbert
750bbc8a19
Simplify null checks
2023-11-21 00:18:36 +09:00
Dean Herbert
492fd06c62
Remove unnecessary null override
2023-11-20 19:21:23 +09:00
Bartłomiej Dach
43dbd65708
Show Catmull as a control point type option if selection already contains it
2023-11-20 15:53:25 +09:00
Bartłomiej Dach
affef85f25
Remove ISliderDrawingSettingsProvider
...
Seems like excessive abstraction.
2023-11-20 13:02:51 +09:00
Bartłomiej Dach
831884a64b
Remove unused enum member
2023-11-20 13:00:12 +09:00
Bartłomiej Dach
f46945a294
Avoid one unnecessary path update from B-spline builder
2023-11-20 12:42:16 +09:00
Bartłomiej Dach
518dcc567b
Null-check drawingSettingsProvider
...
As it's annotated as an optional dependency.
2023-11-20 12:41:24 +09:00
cs
360864fd7b
Hide catmull curve type when possible
2023-11-15 07:45:28 +01:00
cs
520642975b
Fix control point hover text and context menu
2023-11-15 07:45:09 +01:00
cs
ceeaf5b67c
CI fixes and small tweaks
2023-11-15 07:09:33 +01:00
Thomas Müller-Höhne
90ec6895d1
Automatic red control point generation & corner threshold
2023-11-14 16:53:01 +09:00
cs
fa976a5aa0
Fix code style/quality issues
2023-11-13 08:25:27 +01:00
Thomas Müller-Höhne
e6b4dfba36
Fix doubled control point at beginning of drawn slider
2023-11-13 12:49:59 +09:00
Thomas Müller-Höhne
c24b3543ab
Fix OnDragStart on macOS
2023-11-13 12:47:12 +09:00
cs
54b8244a18
CI Fixup
2023-11-11 15:02:06 +01:00
cs
3f85aa79c5
Add free-hand drawing of sliders to the editor
2023-11-11 13:33:25 +01:00
Thomas Müller-Höhne
926636cc03
Generalize Bezier curves to BSplines of Nth degree
2023-11-11 13:32:53 +01:00
Bartłomiej Dach
3ab083b696
Split IPositionSnapProvider
from IDistanceSnapProvider
...
In preparation to remove `DistancedHitObjectComposer`, split off
`IPositionSnapProvider` from `IDistanceSnapProvider`.
`DistancedHitObjectComposer` was not touching `IPositionSnapProvider`'s
only interface member at all, it was just forwarding it for subclasses
to override to their own leisure.
2023-10-19 11:45:24 +02:00
Dean Herbert
5341a335a6
Bypass Parent
nullability checks for now
2023-10-17 17:48:45 +09:00
Dean Herbert
81485c548c
Move LegacyLastTickOffset
specification to generation code and stop passing everywhere
2023-09-29 14:32:29 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions
2023-09-26 16:40:32 +09:00
Dean Herbert
8e16b1d507
Simplify some maximum size specs
2023-09-20 12:48:15 +09:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
Dean Herbert
eac6271bd0
Add new property to avoid overlapping usages
2023-07-25 18:14:03 +09:00
Dean Herbert
4a6a5b174a
Fix editor blueprints being selectable for too long when hit markers are enabled
...
Addresses https://github.com/ppy/osu/discussions/24163 .
2023-07-19 14:59:22 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Bartłomiej Dach
e35201cb99
Don't snap non-head slider nodes to distance grid during placement either
...
1cd69220ef
only disabled snapping the
aforementioned nodes to distance grid for already-placed sliders.
`SliderPlacementBlueprint` has its own logic for placement, so the fix
needs to be mirrored there too.
2023-05-26 19:51:20 +02:00
Dean Herbert
1cd69220ef
Fix slider path placement snapping non-head nodes to distanced snapping grid
...
As discussed at https://github.com/ppy/osu/discussions/23531 .
2023-05-25 21:41:43 +09:00
Dean Herbert
b58ab28765
Make EditorClock
non-nullable in PlacementBlueprint
2023-05-17 21:40:52 +09:00
Dean Herbert
f443cfb93e
Move blueprint validity conditions to allow more correct external usage of EndPlacement
...
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.
By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
OliBomby
c44f71a737
remove all regular usage of DifficultyControlPoint
2023-04-26 17:55:38 +02:00