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
Bartłomiej Dach
4fcb902341
Merge branch 'master' into grids-1
2024-06-03 12:33:51 +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
Bartłomiej Dach
84513343d6
Remove unused fields
2024-05-29 10:18:22 +02:00
Bartłomiej Dach
9bd4b0d613
Rename method
2024-05-29 10:04:51 +02:00
Bartłomiej Dach
ba40737356
Simplify logic
2024-05-29 10:01:04 +02:00
Bartłomiej Dach
96a8bdf920
Use more generic tooltip copy
2024-05-29 09:59:19 +02:00
Bartłomiej Dach
bd5060965f
Simplify toolbox button enable logic
2024-05-29 09:49:16 +02:00
Bartłomiej Dach
4a8273b6ed
Rename another method
2024-05-29 09:43:09 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming
2024-05-29 09:40:29 +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
OliBomby
9a18ba2699
disable playfield centre origin when scaling slider and simplify logic
2024-05-28 18:27:01 +02:00
OliBomby
9548585b15
fix axis checkboxes being disabled in playfield origin scale
2024-05-28 17:24:31 +02:00
OliBomby
d143a697d2
refactor CanScaleFromPlayfieldOrigin and GetClampedScale to derived class
2024-05-28 17:12:16 +02:00
OliBomby
7cdc755c16
Bind axis checkbox disabled state to CanScaleX/Y
2024-05-28 16:57:24 +02:00
OliBomby
8eb23f8a60
remove redundant CanScaleFromSelectionOrigin
2024-05-28 16:19:57 +02:00
OliBomby
a89ba33b47
rename CanScaleSelectionOrigin/PlayfieldOrigin to make clear its not the origin being scaled
2024-05-28 16:14:16 +02:00
OliBomby
d4489545f2
add axis toggles
2024-05-25 21:44:08 +02:00
OliBomby
37530eebcc
Enable scale buttons at the correct times
2024-05-25 20:35:06 +02:00
OliBomby
4eeebdf60c
calculate max scale bounds for scale slider
2024-05-25 20:17:27 +02:00
OliBomby
88314dc584
select all input text on popup for an easy typing experience
2024-05-25 18:41:31 +02:00
OliBomby
6aa92bcc45
Add simple scale tool
2024-05-25 18:31:19 +02:00
Bartłomiej Dach
9f19ab092d
Merge branch 'master' into grids-1
2024-05-24 14:39:55 +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
Bartłomiej Dach
d8ba95f877
Remove leftover log
...
whooops.
2024-05-23 15:13:42 +02:00
Bartłomiej Dach
8a2dd4d816
Merge branch 'master' into scaling
2024-05-23 15:10:40 +02:00
Bartłomiej Dach
3e34b2d37e
Bring back clamping in osu! scale handler
...
Being able to flip doesn't really feel all that good and `master` was
already clamping, so let's just bring that back for now. Flipping can be
reconsidered in a follow-up if it actually can be made to behave well.
2024-05-23 15:01:29 +02:00
Bartłomiej Dach
f7bcccacb0
Simplify original state management in osu! scale handler
2024-05-23 15:01:29 +02: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
OliBomby
8df5f22b4e
Merge remote-tracking branch 'upstream/master' into scaling
2024-05-15 23:05:19 +02: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
Dean Herbert
51e9348d27
Merge pull request #26702 from honguyenminh/fix-rotate-editor-button-disabled
...
Fix rotate tool button in editor disabled when selecting 1 circle
2024-04-02 14:31:43 +08:00
Nguyên Minh Hồ
6642702fa9
Update plurals in editor rotate button tooltip
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2024-04-02 12:36:44 +07:00
Dean Herbert
eca242c1c7
Change tooltip text slightly
2024-04-02 13:17:16 +08:00
Dean Herbert
ed5dd5c8cd
Bind using local bindables to avoid potentially event pollution
2024-04-02 13:04:34 +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
Nguyên Minh Hồ
1adba68357
Merge branch 'fix-rotate-editor-button-disabled' of https://github.com/honguyenminh/osu into fix-rotate-editor-button-disabled
2024-03-31 16:00:58 +07:00
Nguyên Minh Hồ
86def7e263
Change editor rotate button disabled tooltip text
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-03-31 16:00:47 +07:00
Arthur Araujo
450e7016bc
Bind StackHeight
changes to visual update methods
2024-03-30 21:23:05 -03:00
Nguyên Minh Hồ
b445e27ad6
Aggregate two CanRotate bindable for enabling the Rotate button
2024-03-30 17:54:27 +07:00
Nguyên Minh Hồ
6f782266b5
Fix inspection
2024-03-30 17:28:57 +07:00
Nguyên Minh Hồ
5d497ba4a8
Simplify TooltipText for EditorRadioButton
2024-03-30 16:04:22 +07:00
Nguyên Minh Hồ
8d6358a138
Fix editor rotation allowing spinner only bug
2024-03-30 16:02:31 +07:00
Nguyên Minh Hồ
9950395e5f
Merge branch 'fix-rotate-editor-button-disabled' of https://github.com/honguyenminh/osu into fix-rotate-editor-button-disabled
2024-03-30 13:57:44 +07:00
Nguyên Minh Hồ
113dbcd10f
Merge branch 'master' into fix-rotate-editor-button-disabled
2024-03-30 13:56:31 +07:00
Bartłomiej Dach
21201e616d
Merge pull request #27723 from 64ArthurAraujo/editor-fix-reverse-selection
...
Fix reverse selection not updating new combo location
2024-03-28 11:25:17 +01:00
Bartłomiej Dach
2f786ffc32
Simplify implementation
2024-03-28 10:12:27 +01:00
Arthur Araujo
01a72d5afa
Fix combo not reversing properly depending on the order of selection
2024-03-26 12:10:40 -03:00
Bartłomiej Dach
1866b4b6b1
Refactor abstract check to reduce duplication
2024-03-26 11:13:03 +01:00
Bartłomiej Dach
9b923b1909
Fix code quality issues
2024-03-26 10:55:49 +01:00
Arthur Araujo
10683de578
Use order of new combo flags instead of StartTime
2024-03-26 04:59:47 -03:00
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
OliBomby
460c584dca
fix code quality
2024-01-01 16:21:33 +01:00
OliBomby
09852bc46b
fix horizontal vs vertical flips being mixed up when rotation angle is too big
2024-01-01 15:51:55 +01:00
OliBomby
078fe5a78c
Rotate popover rotates around grid center
2024-01-01 15:51:55 +01:00
OliBomby
e803b0215f
flip along grid axis
2024-01-01 15:51:55 +01:00
OliBomby
6bb72a9fcc
Revert "Remove other grid types"
...
This reverts commit de14da95fa
.
2024-01-01 15:46:07 +01:00
OliBomby
de14da95fa
Remove other grid types
2024-01-01 15:44:20 +01:00
OliBomby
39f4a1aa8e
conflict fixes
2024-01-01 15:34:05 +01:00
OliBomby
594b6fe167
Add back the old keybind for cycling grid spacing
2024-01-01 15:27:51 +01:00
OliBomby
20e338b892
also hide grid from points button when not hovered
2024-01-01 15:24:32 +01:00
OliBomby
33e559f835
add integer keyboard step to sliders
2024-01-01 15:22:56 +01:00
OliBomby
904ea2e436
move OutlineTriangle code down
2024-01-01 15:22:23 +01:00
OliBomby
e47d570e68
improve UI
2024-01-01 15:21:12 +01:00
OliBomby
493e3a5f7a
use G to change grid type
2024-01-01 15:19:44 +01:00
OliBomby
9a8c41f6ca
Saving exact grid spacing
2024-01-01 15:14:15 +01:00
OliBomby
f649fa106f
Added bindables and binding with BindTo
2024-01-01 15:13:11 +01:00
OliBomby
d0ca3f2b2b
Add circular grid
2024-01-01 15:13:11 +01:00
OliBomby
8a331057b0
Make it actually possible to change grid type
2024-01-01 15:13:10 +01:00
OliBomby
040fd5ef9c
Add option to change grid type
2024-01-01 15:13:10 +01:00
OliBomby
8ef9bdf861
clarify comment
2024-01-01 15:13:10 +01:00
OliBomby
351cfbff3e
Fix snapping going out of bounds
2024-01-01 15:13:10 +01:00
OliBomby
f223487e1c
improve code
2024-01-01 15:13:10 +01:00
OliBomby
b16c232490
add basic control by grid tool box
2024-01-01 15:13:10 +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
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
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