Commit Graph

878 Commits

Author SHA1 Message Date
Arthur Araujo
78037fa477 Handle new combo on HandleReverse 2024-03-25 04:19:14 -03:00
Arthur Araujo
6fa663c8ca Make check ruleset specific 2024-03-22 14:48:22 -03:00
Dean Herbert
fc05268fc3
Apply NRT to DrawableOsuEditorRuleset too 2024-03-11 14:45:52 +08:00
Berkan Diler
a891303484 Use ArgumentOutOfRangeException throw helper methods 2024-03-05 10:20:30 +01: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
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
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
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
Bartłomiej Dach
288ac930e4
Use new icons in editor
Some that exist on figma are purposefully not used due to an editorial
request from @peppy.
2023-12-27 17:42:18 +01:00
Dean Herbert
c2d3dcdd9c
Fix slider tests and incorrect nullability handling around freehandToolboxGroup 2023-12-13 15:15:49 +09:00
OliBomby
7b49db05d1 Update default parameters to be slightly better 2023-12-07 01:15:42 +01: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
22287f3a7f decrease max tolerance 2023-12-06 16:36:24 +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
4cd6efc8f7 update default parameters 2023-12-03 20:53:05 +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
bf972a04ee
Merge pull request #25409 from Tom94/bspline-sliders
Add free-hand drawing of sliders to the editor
2023-11-21 16:28:14 +09:00
Bartłomiej Dach
ed38746823
Fix spacer appearing on top of menu 2023-11-21 16:14:41 +09:00
Bartłomiej Dach
d83b2e24e7
Merge pull request #25371 from RatinFX/open-editor-timestamp
Implement opening editor timestamp links
2023-11-21 15:48:36 +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
92728ea564
Simplify toolbox initialisation 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
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