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

479 Commits

Author SHA1 Message Date
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
OliBomby
82919998da dont light up tail piece when hovering anchor 2024-06-04 18:26:32 +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
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
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
Bartłomiej Dach
2be50c1a2a
Merge branch 'master' into undo_sliderpoint_curvetype_change 2024-05-24 10:45:31 +02: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
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
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
This reverts commit d7d569cf4e.
2024-05-22 16:29:39 +08:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3 2024-05-21 14:36:16 +08:00
Andrei Zavatski
614cbdf0a4 Reduce container nesting in PathControlPointPiece 2024-05-18 22:51:58 +03: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
Dean Herbert
94cbe1838f
Replace usages of is null with == null 2024-04-03 01:50:39 +08: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
Arthur Araujo
450e7016bc Bind StackHeight changes to visual update methods 2024-03-30 21:23:05 -03: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
kongehund
0da67e64b3 Fix deselecting slider adding control points 2024-02-06 00:28:39 +01: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
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
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
B3nn1
eea87090fb Make changeHandler save changes to PathTypes 2024-01-06 19:25:49 +01:00
OliBomby
f7cb6b9ed0 Fix all repeat sliders being draggable 2023-12-20 12:58:32 +01:00
OliBomby
66f4dcc578 fix repeat sliders half 2023-12-20 02:32:20 +01:00
OliBomby
1365a1b7be fix tests 2023-12-20 01:57:11 +01:00
OliBomby
1258a9d378 Find closest distance value to mouse 2023-12-20 01:48:42 +01:00
OliBomby
22a0bc7d9d Add basic slider distance control 2023-12-20 00:05:32 +01:00
Dean Herbert
c2d3dcdd9c
Fix slider tests and incorrect nullability handling around freehandToolboxGroup 2023-12-13 15:15:49 +09:00
OliBomby
a2ec75d824 Fix illegal circle arc with center out of polygon 2023-12-07 00:57:29 +01:00
OliBomby
89859b85b7 add controllable leniency 2023-12-07 00:43:34 +01:00
OliBomby
1930476192 Add circle arc segments 2023-12-07 00:26:13 +01:00
OliBomby
a8f3a0533a Use 4th order BSpline by default 2023-12-06 16:35:59 +01:00
OliBomby
060141866c Update SliderPlacementBlueprint.cs 2023-12-03 22:06:07 +01:00
OliBomby
b3d1a9ee2e Dont snap expected distance while drawing
This makes it 10 billion times smoother to draw, very nice
2023-12-03 22:03:51 +01:00
OliBomby
ca55a7b2bf call builder finish before ending curve 2023-12-03 21:43:37 +01:00
OliBomby
bcf2effae9 Remove the Linear segment simplification because it just makes things harder to edit afterwards if it made some segment linear type when you actually intended there to be some curve 2023-12-03 21:22:04 +01:00
OliBomby
34b5264616 fix the linear segment 2023-12-03 21:13:27 +01:00
OliBomby
ba2cc0243c update comment 2023-12-03 21:10:01 +01:00
OliBomby
8873824107 fix control points being cleared 2023-12-03 20:53:25 +01:00
OliBomby
595bc9398a update to new builder control point signature 2023-12-03 20:14:00 +01:00
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