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
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +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
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
OliBomby
9f8d7bccba
fix usings
2023-04-26 17:34:02 +02:00
OliBomby
d97daee96b
remove all non-test usage of SampleControlPoint
2023-04-26 13:55:39 +02:00
Dean Herbert
7344d34d5b
Move where
class specs to next line
2023-01-26 17:12:41 +09:00
Dean Herbert
13937cf555
Merge branch 'master' into stream-tool-2
2023-01-26 16:08:20 +09:00
Dean Herbert
73f083a316
Refactor how additional points are provided to avoid confusion
2023-01-23 14:13:46 +09:00
Wleter
f8d8a627b8
change property name
2023-01-18 22:00:39 +01:00
Wleter
ab78dd0436
add collection of selection points.
2023-01-18 21:34:23 +01:00
Dean Herbert
ecb4727aec
Fix formatting issues
2023-01-18 17:33:14 +09:00
Wleter
00f15d19f9
fix double newlines
2023-01-17 21:11:21 +01:00
Wleter
e5863fbaf1
add ScreenSpaceEndPoint field
2023-01-10 21:20:09 +01:00
Wleter
38bb7ac0c7
add fields for path's end location
2023-01-10 21:16:34 +01:00
Dean Herbert
192536643c
Fix some more inspections
2022-12-16 20:21:19 +09:00
OliBomby
d458c3a012
Fix variable which didnt get renamed
2022-12-07 10:13:40 +01:00
OliBomby
10b5900710
made PathControlPointVisualiser generic
2022-12-07 10:13:40 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
12606122e3
Fix sliders not correctly taking on full available length after changing curve type
2022-11-17 13:59:07 +09:00
Bartłomiej Dach
23134aea61
Update outdated comment
2022-11-04 19:48:19 +01:00
Dean Herbert
36c08b69fe
Fix failing tests
2022-11-04 20:47:49 +09:00
Dean Herbert
20021551bb
Fix editor selection behaviour regressions due to new path visualiser optimisation
2022-11-04 19:36:59 +09:00
Dan Balasescu
74f3b9b18d
Merge pull request #20965 from peppy/reduce-slider-blueprint-overhead
...
Only draw path visualiser when hovered or single slider is selected
2022-10-28 16:01:30 +09:00
Dean Herbert
300ffbb500
Don't bother checking for null editorBeatmap
2022-10-28 14:35:55 +09:00
Dean Herbert
10c658e440
Ensure updateVisualDefinition
is called once on load
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-28 14:34:24 +09:00
Dean Herbert
7faf5cd1f6
Fix one more null edge case
2022-10-28 01:20:17 +09:00
Dean Herbert
361153f598
Fix nullref in tests due to missing EditorBeatmap
dependency
2022-10-27 19:05:50 +09:00
Dean Herbert
0c7672e124
Avoid unnecessarily refreshing SliderBodyPiece
's path
2022-10-27 16:02:04 +09:00
Dean Herbert
2f172b66cf
Block hover if a multi-selection is made to avoid overlapping path visualisers
2022-10-27 14:52:46 +09:00
Dean Herbert
097d310d74
Only draw path visualiser when hovered or single slider is selected
2022-10-27 14:40:14 +09:00
OliBomby
b22e201289
Fixed stream convert float precision edge case
2022-10-08 23:43:23 +02:00
B3nn1
112bbe2296
Always use Parent.ToScreenSpace() in PathControlPointVisualiser
2022-09-21 18:56:22 +02:00
B3nn1
5d54354588
Add missing ToScreenSpace() call
2022-09-21 18:53:25 +02:00
B3nn1
368229f324
Remove unnecessary brackets
2022-09-21 01:25:01 +02:00
B3nn1
fe9e8635fc
Fix snapping of already existing slider control points in the editor
2022-09-21 01:04:39 +02:00
B3nn1
b0a3c9152a
Enable snapping for slider control points in the editor
2022-09-19 21:33:38 +02:00
Dean Herbert
c203a030c1
Update osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/PathControlPointPiece.cs
...
Co-authored-by: apollo <83023433+apollo-dw@users.noreply.github.com>
2022-09-15 04:28:07 +09:00
Dean Herbert
87384db872
Fix slider rotation causing thousands of new drawables to be created
2022-09-15 00:51:08 +09:00
Dean Herbert
89e128c0f3
Fix bindable event binds to HitObject
directly
2022-09-12 17:35:56 +09:00
Dean Herbert
f1d9b225a7
Remove probably pointless comment
2022-09-05 16:40:10 +09:00
Dean Herbert
8af8adf22d
Fix incorrect slider length in timeline when non-default velocity is inherited from previous object
2022-09-05 16:17:26 +09:00
Dean Herbert
03dcfed384
Merge branch 'master' into slider-splitter
2022-08-26 19:10:33 +09:00
Dean Herbert
47cb163015
Refactor splitting logic and comments slightly
2022-08-26 19:09:03 +09:00
Dean Herbert
f54047d17b
Move selection clearing to top
2022-08-26 18:55:20 +09:00
Dean Herbert
3ca4bdc087
Add ToArray()
calls to removal iteration for safety
2022-08-25 15:13:38 +09:00
Dean Herbert
091c51e664
Fix SliderPath.Version
bindings not being correctly cleaned up on path changes
2022-08-25 15:00:32 +09:00
OliBomby
631ea9a3ed
added a gap between objects and made it theoretically possible to retain sample control point
2022-08-23 23:29:59 +02:00
OliBomby
1f9cdff013
remove these lines
2022-08-23 22:19:40 +02:00
Dean Herbert
885ea4270b
Reorder context menu items and tidy up surrounding code
2022-08-20 14:03:54 +09:00
OliBomby
d1519343f6
Improved visual tests for slider splitting
2022-08-19 18:29:01 +02:00
OliBomby
89eb0a4079
Added TestScene for slider splitting
2022-08-19 01:10:54 +02:00
OliBomby
cb6339a20b
added slider splitting option
2022-08-18 01:29:03 +02:00
Dean Herbert
0ff5547b83
Make changeHandler
optional in convertToStream
method to match new implementation
2022-08-17 13:35:44 +09:00
Dean Herbert
06ae30a7d2
Fix slider velocity not using previous value if slider is not adjacent
2022-07-19 22:54:11 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
be3d4c9bf5
Add circle overlap marker, bringing back stable-like visibility of circles in the past
2022-05-12 19:27:32 +09:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance
2022-05-05 19:55:55 +09:00
Dean Herbert
977e6d8a80
Add xmldoc for IDistanceSnapProvider
and related properties
2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a
Add xmldoc and rename methods in IPositionSnapProvider
for legibility
2022-05-05 15:58:21 +09:00
Salman Ahmed
59cf3ff50f
Move distancing methods from IPositionSnapProvider
to IDistanceSnapProvider
2022-04-28 05:48:45 +03:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Bartłomiej Dach
c09f6ee052
Use slider snapping more liberally to match user expectations
...
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
c6a5ac1c5f
Fix control point additions without a drag not being undoable
2021-12-23 09:32:52 +01:00
Bartłomiej Dach
cbda637d66
Fix drag after placement moving last placed point sometimes
...
More specifically, if the left mouse button was just pressed without a
drag, `OnDragEnd()` wouldn't fire, and the next drag would start moving
the last placed control point around regardless of where the mouse was.
2021-12-23 09:25:10 +01:00
Dean Herbert
b0df787b1a
Move public method up and add xmldoc to second public method
2021-12-23 14:13:57 +09:00
Bartłomiej Dach
c3fada1926
Replace assertion with soft null check
...
Surrounding `OnDrag{Start,End}` methods did so already.
2021-12-22 10:33:08 +01:00
Bartłomiej Dach
6330fa5dc5
Select newly created control point
2021-12-22 10:33:07 +01:00