Dean Herbert
e9f371a581
Refactor slider settings class
2023-11-21 09:59:49 +09:00
Dean Herbert
638c8f1adc
Get rid of weird cruft and non-standard flow
2023-11-21 00:25:23 +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
Bartłomiej Dach
364a3f75e1
Compile regexes
2023-11-20 22:03:25 +09:00
Bartłomiej Dach
b6215b2809
Rename and document SelectFromTimestamp
2023-11-20 21:57:14 +09:00
Dean Herbert
492fd06c62
Remove unnecessary null override
2023-11-20 19:21:23 +09:00
Bartłomiej Dach
4061417ac8
Decrease default value for slider tolerance
...
Highly subjective change, but at 50 the drawing just did not feel
responsive enough to input.
2023-11-20 15:54:46 +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
5d1bac6d7a
Remove IToolboxAttachment
for now
...
The interface doesn't really do anything useful right now because
it enforces a common contract, but all usages of the contract
go through the concrete implementation, and it inflates
the already-huge diff.
2023-11-20 13:17:43 +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
Bartłomiej Dach
b6e3e42445
Merge branch 'master' into bspline-sliders
2023-11-20 12:03:29 +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
ratinfx
fab6fc9adb
Updated comments, renamed method
2023-11-12 15:09:15 +01:00
ratinfx
4e7c40f1d7
Do Split and Parse before checking HitObjects
2023-11-12 14:58:46 +01:00
cs
54b8244a18
CI Fixup
2023-11-11 15:02:06 +01:00
ratinfx
4e1e19728c
Refactor HitObject selection in Composer
2023-11-11 14:02:42 +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
Dean Herbert
35e11c7c63
Rename diagonal scale variable and update xmldoc
2023-11-10 17:55:02 +09:00
Dean Herbert
ec3b6e47fb
Change selection handling to adjust Size
instead of Scale
for edge nodes
2023-11-10 14:22:28 +09:00
ratinfx
aa87e0a44d
HitObject Selection logic and separation for gamemodes
...
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
Bartłomiej Dach
dcfd6a0a8a
Remove DistancedHitObjectComposer
inheritance from osu! composer
2023-10-19 11:46:30 +02: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
41a8239e49
Remvoe null default for mods which can't be null
2023-09-20 15:27:50 +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
Bartłomiej Dach
3c191ff9ea
Expand allowable rotation range to [-360, 360]
2023-08-19 15:09:59 +02:00
Dean Herbert
63080d049f
Adjust icons slightly
2023-08-17 19:08:18 +09:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor
2023-08-16 11:37:52 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler
a Component
2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor
2023-07-30 19:29:06 +02:00
Dean Herbert
eac6271bd0
Add new property to avoid overlapping usages
2023-07-25 18:14:03 +09:00
Dean Herbert
2f7d38d98b
Merge branch 'master' into fix-editor-blueprint-input-extension
2023-07-25 18:14:02 +09:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler
to use SelectionRotationHandler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba904fd77b
Migrate osu! rotation handling to SelectionRotationHandler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class
2023-07-23 18:24:20 +02:00
Dean Herbert
b58354ac64
Fix playfield getting cut off (again) at tall aspect ratios
2023-07-21 15:20:20 +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
dd8774a640
Vertically centre the editor osu! playfield
2023-07-14 13:21:28 +09:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Dean Herbert
95ad18ed2e
Reduce the radius of note-to-note snapping in osu! editor
...
Stable uses `0.15f`, but for whatever reason that feels too large still.
I've ballparked this.
Addresses https://github.com/ppy/osu/discussions/23806 .
2023-06-08 17:44:33 +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
804671ca74
Split out grid snapping modes into "relative" and "global" types
2023-05-25 21:41:19 +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
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
...
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
67f83f246b
Add more padding around playfield in editor to avoid overlap with tool areas
...
Closes #23130 .
2023-05-02 15:37:02 +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
45e3e3623b
Fix spinners being selectable for too long after they fade in the editor
...
The actual visual extension is only applied to `HitCircle`s (which does include slider
start / end), and should not be applied to spinners in the first place.
Addresses https://github.com/ppy/osu/discussions/22949 .
2023-03-28 18:49:59 +09:00
Bartłomiej Dach
49443f0b55
Inline temporary variable
2023-02-04 14:36:30 +01:00
Bartłomiej Dach
a1343dacc1
Merge branch 'master' into SnapToReverseSlider
2023-02-04 14:14:37 +01:00
Wleter
60f6484073
fix spaces
2023-02-03 16:13:37 +01:00
Wleter
f7f13cb9d9
fix formatting
2023-02-03 16:13:04 +01:00
Wleter
20e220df56
prioritize closest snap position
2023-02-03 16:05:16 +01:00
Wleter
23e9bdd554
check every snap position in blueprint
2023-02-02 14:22:30 +01: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
ee62f3c0d3
Fix test failure
...
Similar to SliderPlacementBlueprint.
2022-12-02 18:32:43 +09:00
Dean Herbert
45ea183cc3
Fix being able to place zero-length spinners
...
Also always snap a spinner's end time using beat snap (matches stable).
2022-12-02 17:57:15 +09: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
Dean Herbert
ada039151b
Add the ability to toggle off hit marker displays in the editor
2022-11-08 18:07:06 +09:00
Dean Herbert
e02c477008
Merge pull request #21017 from andy840119/remove-nullable-disable-in-the-checks
...
Remove nullable disable in the checks.
2022-11-06 18:39:03 +09:00
andy840119
b0673636ca
Remove nullable disable annotation in the osu ruleset.
2022-11-05 16:49:55 +08: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
Bartłomiej Dach
d657005ffa
Merge branch 'master' into avoid-unnecessary-path-updates
2022-10-27 20:07:46 +02:00
Dean Herbert
7faf5cd1f6
Fix one more null edge case
2022-10-28 01:20:17 +09:00