Commit Graph

586 Commits

Author SHA1 Message Date
c7e7aa5962 Don't draw distance snap grid on the start time of the next object 2022-05-06 17:05:52 +09:00
19cf9dc20b Merge branch 'snapping-tidy-distance' 2022-05-05 16:51:32 +09:00
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
bb086800b1 Remove ugly playfield border 2022-05-04 13:41:30 +09:00
835898dd30 Introduce DistancedHitObjectComposer and supersede OsuToolboxComposite 2022-04-28 06:44:50 +03:00
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
66c730c382 Change distance spacing keybind to Ctrl+Alt 2022-04-27 17:11:23 +03:00
0738cd028f Give snapping toolbox enough hover delay for interaction with expand button
With 0 delay, if the `SettingsToolboxGroup` has been contracted via
button, there's no chance to be able to expand it via button again.

This is temporary at best just to keep things working somewhat, not sure
if the expansion logic will still be required in editor redesign, so
deciding to roll with it for now.
2022-04-24 08:53:11 +03:00
8ed39009fd Encapsulate distance spacing control handling to a "distance toolbox composite"
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
19ee05c232 Add "distance spacing" multiplier for osu! ruleset
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
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
ee24713002 Fix single sliders not being flippable due to incorrect precondition 2022-01-06 14:37:13 +09:00
6779503e57 Refactor logic to avoid TimelineSelectionHandler having to block base calls 2022-01-05 16:56:54 +09:00
866ae3472b Add global flip hotkeys 2022-01-05 16:48:07 +09:00
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
c6a5ac1c5f Fix control point additions without a drag not being undoable 2021-12-23 09:32:52 +01:00
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
b0df787b1a Move public method up and add xmldoc to second public method 2021-12-23 14:13:57 +09:00
c3fada1926 Replace assertion with soft null check
Surrounding `OnDrag{Start,End}` methods did so already.
2021-12-22 10:33:08 +01:00
6330fa5dc5 Select newly created control point 2021-12-22 10:33:07 +01:00
e22745397d Fix right click deselecting clicked path piece with control held 2021-12-22 08:55:26 +01:00
e715bff535 Fix selections including head not correctly dragging if not started from head 2021-12-21 12:35:48 +01:00
5ef4e23335 Fix selecting control points without control not deselecting other selected points 2021-12-20 22:41:24 +01:00
bf8c87e9b7 Fix releasing mouse after drag deselecting dragged point 2021-12-20 22:41:23 +01:00
d2417beeac Implement drag operation for multiple path control points 2021-12-20 21:29:57 +01:00
a9408485cc Change control point piece selection logic to allow dragging multiple 2021-12-20 21:18:38 +01:00
b0ca82e1e5 Move slider path point drag handling to visualiser 2021-12-20 20:56:06 +01:00
8aa04864ce Add support for converting sliders with repeats to streams 2021-11-11 23:25:49 +01:00
0cd3f98598 Ensure samples & sample points are carried over during conversion 2021-11-11 21:43:06 +01:00
27707d52ec Implement slider-to-stream conversion 2021-11-11 21:01:30 +01:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
901f107b2e Merge branch 'master' into slider-timeline-velcotiy-adjust-v2 2021-10-14 17:25:51 +09:00
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
ac471a0ec1 Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2 2021-10-01 17:46:58 +09:00
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
59d6a718d6 Fix value not being loaded from beatmap in case of most dense grid setting 2021-09-21 20:09:34 +09:00
d15bd5a15e Store grid size back to beatmap on change 2021-09-20 20:39:39 +02:00
0d7dac03f4 Start with largest grid size 2021-09-20 20:34:22 +02:00
52542374e8 Fix rectangular grid snap being always active 2021-09-20 20:14:28 +02:00
b5af01f456 Always show rectangular grid in osu! composer 2021-09-20 20:13:06 +02:00
cdef6d0cf5 Add key binding support for grid mode cycle 2021-09-20 16:43:15 +09:00
4e094b2127 Implement grid size toggling matching stable 2021-09-19 20:26:02 +02:00
e1738025d4 Add basic integration of rectangular grid to osu! composer 2021-09-19 18:07:20 +02:00
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
2114a4729c Set a sane default for new slider blueprints 2021-09-14 18:28:27 +09:00
0500cd578a Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-06 21:06:12 +09:00
d4e5a612ea Update IPositionalSnapProvider to take a HitObject as reference, rather than raw time
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00