nanashi-1
2d2bfac5e9
used firstHitObject.Samples
as samples for mergedHitObject
2022-08-25 17:49:38 +08: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
Dean Herbert
36e202c70e
Add inline comment explaining necessity to use AddRange
for slider transform operations
2022-08-20 11:38:43 +09:00
OliBomby
65f7ecec83
moving all controlpoints at once for slider
2022-08-20 00:26:04 +02: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
615c5cf6ae
Merge branch 'master' into slider-merger
2022-08-17 13:36:15 +09:00
Dean Herbert
0ff5547b83
Make changeHandler
optional in convertToStream
method to match new implementation
2022-08-17 13:35:44 +09:00
Dean Herbert
ee153a345c
Add a few more overlooked beatmap save states on setup screen modifications
2022-08-16 16:31:56 +09:00
Dean Herbert
0833a6fb9a
Avoid multiple iteration of LINQ query using a local
2022-08-16 15:39:23 +09:00
Dean Herbert
7cc9fdbaa0
Simplify context menu check by using existing mergeable object list
2022-08-16 15:39:23 +09:00
Dean Herbert
ecb9351bab
Remove unnecessary null pre-checks
2022-08-16 15:36:43 +09:00
Dean Herbert
e636fcd9b8
Use DI'd components from parent class rather than fetching locally
2022-08-16 15:35:32 +09:00
OliBomby
3abc333813
added hotkey for merging selection
2022-08-15 17:18:55 +02:00
OliBomby
3525dfb0f1
added merging feature
2022-08-12 01:17:33 +02:00
Dean Herbert
06ae30a7d2
Fix slider velocity not using previous value if slider is not adjacent
2022-07-19 22:54:11 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
...
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
Dean Herbert
cf3ead8047
Remove unused local
2022-05-13 22:06:30 +09:00
Dean Herbert
d9782b5ef6
Remove redundant parenthesis
2022-05-13 21:31:49 +09:00
Dean Herbert
38b8baf095
Remove unused border colour
2022-05-13 21:28:50 +09:00
Dean Herbert
1529162318
Remove circle scaling (apparently the fixed scale is required for spacing)
2022-05-13 21:28:45 +09:00
Dean Herbert
0318944b80
Fix incorrect alive criteria causing clicking future objects to be too greedy
2022-05-12 23:37:29 +09:00
Dean Herbert
0c335592b3
Tidy up interpolation and move const
to new home
2022-05-12 19:44:07 +09:00
Dean Herbert
f22ff4e087
Remove editor animation toggling (replaced by overlap markers)
2022-05-12 19:28:56 +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
Dean Herbert
1b2c07e142
Extend lifetime of OsuSelectionBlueprint
to allow for lingering display
2022-05-12 19:25:51 +09:00
Dean Herbert
c0abce918f
Add enum
to snap method as alternative to mutliple nested invocations
2022-05-12 16:19:07 +09:00
Dean Herbert
c7e7aa5962
Don't draw distance snap grid on the start time of the next object
2022-05-06 17:05:52 +09:00
Dean Herbert
19cf9dc20b
Merge branch 'snapping-tidy-distance'
2022-05-05 16:51:32 +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
Dean Herbert
bb086800b1
Remove ugly playfield border
2022-05-04 13:41:30 +09:00
Salman Ahmed
835898dd30
Introduce DistancedHitObjectComposer
and supersede OsuToolboxComposite
2022-04-28 06:44:50 +03:00
Salman Ahmed
59cf3ff50f
Move distancing methods from IPositionSnapProvider
to IDistanceSnapProvider
2022-04-28 05:48:45 +03:00
Salman Ahmed
66c730c382
Change distance spacing keybind to Ctrl+Alt
2022-04-27 17:11:23 +03:00
Salman Ahmed
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
Salman Ahmed
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
Salman Ahmed
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
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
Dean Herbert
ee24713002
Fix single sliders not being flippable due to incorrect precondition
2022-01-06 14:37:13 +09:00
Dean Herbert
6779503e57
Refactor logic to avoid TimelineSelectionHandler
having to block base calls
2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b
Add global flip hotkeys
2022-01-05 16:48:07 +09: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
Bartłomiej Dach
e22745397d
Fix right click deselecting clicked path piece with control held
2021-12-22 08:55:26 +01:00
Bartłomiej Dach
e715bff535
Fix selections including head not correctly dragging if not started from head
2021-12-21 12:35:48 +01:00
Bartłomiej Dach
5ef4e23335
Fix selecting control points without control not deselecting other selected points
2021-12-20 22:41:24 +01:00
Bartłomiej Dach
bf8c87e9b7
Fix releasing mouse after drag deselecting dragged point
2021-12-20 22:41:23 +01:00
Bartłomiej Dach
d2417beeac
Implement drag operation for multiple path control points
2021-12-20 21:29:57 +01:00
Bartłomiej Dach
a9408485cc
Change control point piece selection logic to allow dragging multiple
2021-12-20 21:18:38 +01:00
Bartłomiej Dach
b0ca82e1e5
Move slider path point drag handling to visualiser
2021-12-20 20:56:06 +01:00
Bartłomiej Dach
8aa04864ce
Add support for converting sliders with repeats to streams
2021-11-11 23:25:49 +01:00
Bartłomiej Dach
0cd3f98598
Ensure samples & sample points are carried over during conversion
2021-11-11 21:43:06 +01:00
Bartłomiej Dach
27707d52ec
Implement slider-to-stream conversion
2021-11-11 21:01:30 +01:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
smoogipoo
901f107b2e
Merge branch 'master' into slider-timeline-velcotiy-adjust-v2
2021-10-14 17:25:51 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
ac471a0ec1
Merge branch 'no-more-difficulty-control-points-info' into slider-timeline-velcotiy-adjust-v2
2021-10-01 17:46:58 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
Dean Herbert
59d6a718d6
Fix value not being loaded from beatmap in case of most dense grid setting
2021-09-21 20:09:34 +09:00
Bartłomiej Dach
d15bd5a15e
Store grid size back to beatmap on change
2021-09-20 20:39:39 +02:00
Bartłomiej Dach
0d7dac03f4
Start with largest grid size
2021-09-20 20:34:22 +02:00
Bartłomiej Dach
52542374e8
Fix rectangular grid snap being always active
2021-09-20 20:14:28 +02:00
Bartłomiej Dach
b5af01f456
Always show rectangular grid in osu! composer
2021-09-20 20:13:06 +02:00
Dean Herbert
cdef6d0cf5
Add key binding support for grid mode cycle
2021-09-20 16:43:15 +09:00
Bartłomiej Dach
4e094b2127
Implement grid size toggling matching stable
2021-09-19 20:26:02 +02:00
Bartłomiej Dach
e1738025d4
Add basic integration of rectangular grid to osu! composer
2021-09-19 18:07:20 +02:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
2114a4729c
Set a sane default for new slider blueprints
2021-09-14 18:28:27 +09:00
Dean Herbert
0500cd578a
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-06 21:06:12 +09:00
Dean Herbert
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
Bartłomiej Dach
a2d2ed2ef6
Add stack leniency setting for osu!
2021-09-02 23:29:14 +02:00
Dean Herbert
17f6efc6fe
Fix missed cases of incorrect .Value
usage
...
Changing from `Bindable` to `Nullable` comes with its issues...
2021-08-26 14:02:57 +09:00
Dean Herbert
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
ekrctb
3d88a745cd
Fix osu editor transforms not specified in the absolute time
2021-08-18 14:27:16 +09:00
smoogipoo
fbaa480b3e
Fix out-of-order hits in editor causing exceptions
2021-08-12 10:08:54 +09:00
ekrctb
cc01b9e639
Extract SliderPath
reverse logic to be used in other rulesets
2021-07-22 16:14:43 +09:00
Dean Herbert
adda96ac86
Merge pull request #13962 from ekrctb/platform-action
...
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
ekrctb
1bac471b49
Adapt to PlatformAction
type change
2021-07-21 16:12:53 +09:00
ekrctb
1bff4373b3
Allow specifying flipping support of selection box different from scaling
2021-07-21 15:59:45 +09:00
Naxess
3a5912e35e
Add new checks to verifiers
2021-07-13 10:53:25 +02:00
Naxess
53c0298b5e
Add too short spinners check and tests
2021-07-13 10:51:40 +02:00
Naxess
fec9448301
Add too short sliders check and tests
2021-07-13 10:50:41 +02:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
Dean Herbert
6c3d2315d0
Merge pull request #13606 from Naxesss/low-diff-checks
...
Add low difficulty spacing checks
2021-06-22 16:29:37 +09:00
Dean Herbert
e9339d6100
Move some inline comments on const
s to xmldoc instead
2021-06-22 15:16:19 +09:00
Naxess
2f3f4f3e4b
Add new checks to verifier
2021-06-21 15:30:45 +02:00
Naxess
fcb918d0e1
Add time distance equality check
2021-06-21 15:30:23 +02:00
Naxess
3eb088f89a
Add low difficulty overlaps check
2021-06-21 15:30:04 +02:00
Bartłomiej Dach
afc89b39d9
Use StateUpdateTime
for transform clearing logic
...
`MainCirclePiece` specifies a state transform starting at
`StateUpdateTime`, which is earlier than the previously-used
`HitStateUpdateTime`. Change the transform clearing logic to use the
former to ensure that exactly all animation transforms are cleared.
2021-06-18 16:04:11 +02:00
Bartłomiej Dach
e94fbd83e2
Ensure editor ruleset animation disable execution order
2021-06-18 16:04:11 +02:00
Bartłomiej Dach
e2a370f602
Add coverage for hit circle fade-out duration
2021-06-18 16:04:11 +02:00
smoogipoo
3db995c778
Fix sliders jumping around the screen on movement
2021-05-24 17:15:57 +09:00
Dean Herbert
bb2fae55ce
Merge branch 'master' into refactor-selection-rotate-logic
2021-05-21 19:19:54 +09:00
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +09:00
Dean Herbert
27e81d6504
Implement proper rotation algorithm for skin editor
2021-05-20 18:21:16 +09:00
Dean Herbert
a0f67ef3bc
Move scaling logic out of OsuSelectionHandler
for reuse
2021-05-19 17:37:28 +09:00
Dean Herbert
d661e98fa6
Move common functionality out of OsuSelectionHandler
and implement flip support
2021-05-18 18:34:06 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
...
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
532c41c82e
Remove nested blueprints from sliders
2021-05-18 14:19:11 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
Naxess
19800f5f7f
Move IBeatmap
arg into context
2021-05-13 11:24:22 +02:00
Naxess
b7bc42e0d3
Rename "playableBeatmap" check arg to "beatmap"
...
The working beatmap is now in the context, so it's easier to distinguish beatmap type, hence no need for this prefix.
2021-05-12 02:34:16 +02:00
Naxess
c13b93e6f1
Replace IWorkingBeatmap
arg with BeatmapVerifierContext
in checks
...
This simplifies passing of contextual information by enabling addition without needing to refactor lots of classes.
See next commit for example.
2021-05-12 02:29:18 +02:00
Dean Herbert
01d732bb65
Revert "Refactor SliderSelectionBlueprint
to not reference blueprint pieces for input handling"
...
This reverts commit 54fe10c82a
.
2021-05-08 23:33:03 +09:00
Dean Herbert
63e267a3be
Revert "Trim redundant this
qualifier"
...
This reverts commit df630d9428
.
2021-05-08 23:32:52 +09:00
Bartłomiej Dach
df630d9428
Trim redundant this
qualifier
2021-05-08 14:53:19 +02:00
Dean Herbert
54fe10c82a
Refactor SliderSelectionBlueprint
to not reference blueprint pieces for input handling
2021-05-07 10:36:03 +09:00
Dean Herbert
39067e6926
Fix slider input handling potentially being offset after composer area resize
...
Closes https://github.com/ppy/osu/issues/12671 .
2021-05-06 17:19:19 +09:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Dean Herbert
f586bc46e6
Avoid using EditorBeatmap.SelectedHitObjects
2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Dean Herbert
ec1c336b0a
Fix a couple of inspections
2021-04-27 13:23:14 +09:00
Dean Herbert
8795c5f082
Update osu! editor transform logic to allow adjustments to DrawableSliderRepeat
and DrawableSliderTail
2021-04-26 15:27:10 +09:00
Dean Herbert
e8d83f2f99
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 14:33:30 +09:00
Dean Herbert
0f70469d1c
Only apply custom editor overrides if hit animations is disabled
2021-04-21 19:44:17 +09:00
Dean Herbert
f2824a222a
Adjust existing fades to close match stable editor
2021-04-21 19:41:15 +09:00
Naxess
8656176ab8
Add the playable beatmap as check argument
...
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.
So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.
This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Naxess
56bf49c85c
Take IWorkingBeatmap
instead of WorkingBeatmap
...
This makes testing much easier, and allows for checking of any class deriving from that interface, including `WorkingBeatmap`.
2021-04-18 01:21:20 +02:00
Naxess
448574e7e6
Use WorkingBeatmap
instead of IBeatmap
...
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.
Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Dean Herbert
401bf368a7
Merge branch 'fix-slider-scale-crash' into fix-slider-zero-length
2021-04-16 16:58:19 +09:00
Dean Herbert
8de68e0ebf
Fix div-by-zero when scaling a 1-dimensional slider
2021-04-16 16:55:26 +09:00
Dean Herbert
ff408b852e
Handle scaling a slider below minimum length
2021-04-16 15:45:24 +09:00
Dean Herbert
89373638be
Handle control point deletion when the resulting slider would be too short to be useful
2021-04-16 15:45:24 +09:00
Dean Herbert
2949a6bbdc
Handle control point drag revert
2021-04-16 15:45:24 +09:00
Dean Herbert
d38e294d96
Centralise length validation function
2021-04-16 15:45:24 +09:00
Dean Herbert
965a1ead36
Disallow zero-length slider blueprint placements
2021-04-16 14:38:30 +09:00
Dean Herbert
5c0ef55691
Rename SliderPlacementState
to make way for more generic version
2021-04-16 14:09:35 +09:00
Dean Herbert
1ff4e2076f
Merge branch 'master' into verify-tab
2021-04-13 23:05:48 +09:00
Dean Herbert
03ba04e8ce
Split out general checks into its own verifier class (and remove static
usage)
2021-04-13 19:50:22 +09:00
Naxess
304fe5cd34
Add CheckBackground
to OsuBeatmapVerifier
2021-04-13 10:41:02 +02:00
Naxess
60c2494b31
Make BeatmapVerifier
an interface
2021-04-13 10:40:56 +02:00
Naxess
c8cb4286f6
Add reference for screen bounding box numbers
2021-04-13 10:35:06 +02:00
Dean Herbert
fbc6fb8fc5
Split out common logic into private method and add inline comment for future visitors
2021-04-13 15:35:57 +09:00
Naxess
6d3f9fa9ce
Use is
class instead of Equals
with template index
...
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d9e3276d0e
Don't update path type once immediately
2021-04-12 19:18:22 +02:00
Naxess
19a154ddf1
Rename checkOrigin
-> check
...
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Naxess
bb720c23a0
Remove check ctors and locals
2021-04-12 17:12:37 +02:00
Dean Herbert
62c1812282
Remove redundant parameter naming
2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021
Move nested classes to bottom of file
2021-04-12 23:36:10 +09:00
Naxess
7c4f6d2b62
Rework template usage
...
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
2021-04-12 15:47:26 +02:00
Naxess
65ebdd8f7a
Move check origin from IssueTemplate
to Issue
...
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.
2021-04-12 10:08:08 +02:00
Dean Herbert
8bf85d737c
Change Metadata into a get property
2021-04-12 15:52:29 +09:00
Dean Herbert
8c31e96cdf
Change some methods to get properties
2021-04-12 15:52:18 +09:00
Dean Herbert
f78239c7f2
Move enums out of nesting
2021-04-12 15:52:18 +09:00
Dean Herbert
1c553b5d48
Checker -> BeatmapVerifier
2021-04-12 15:29:05 +09:00
Dean Herbert
14bd5bdc77
Merge branch 'master' into verify-tab
2021-04-12 15:14:37 +09:00
Naxess
dac733cced
Fix field name and accessibility
2021-04-10 15:49:57 +02:00
Naxess
3289bb0379
Merge Check
and BeatmapCheck
...
We're probably not going to need GeneralChecks or BeatmapsetChecks.
The verify tab is only available to a single difficulty at a time, and we already have access to the rest of the set through `IBeatmap`.
2021-04-10 14:56:30 +02:00
Naxess
bc4f3351f3
Replace checks with realistic ones
2021-04-10 13:03:16 +02:00
Naxess
d1007ff26a
Move components to more appropriate spot
2021-04-10 13:02:22 +02:00
Naxess
f64b2095bf
Carry over the previous path type
2021-04-09 11:04:00 +02:00
Naxess
9a675a2219
Correct 4+ point perfect curves to Bezier
2021-04-08 12:33:43 +02:00
Naxess
be4520fe33
Fix index out of range possibility
2021-04-08 11:46:00 +02:00
Naxess
0341023d13
Improve UX of selecting PerfectCurve
2021-04-08 09:06:28 +02:00
Naxess
725edfcbf3
Add path type menu change method
2021-04-08 09:05:35 +02:00
Naxess
d6490899e2
Simplify slider path bindings
...
Adds a slight performance overhead, but solves the memory leak and makes the code much easier to follow.
2021-04-08 03:21:56 +02:00
Naxess
d1d56c636a
Convert pathTypes
to local variable
...
Not entirely sure what holds the reference to pathTypes now (the binding to`slider.Path.ControlPoints` maybe?), but this does seem to work still.
2021-04-08 01:43:06 +02:00
Naxess
b8ab1c7682
Track path type changes for PointsInSegment
2021-04-07 17:19:12 +02:00
Naxess
9c4604e3c5
Add example checks
2021-04-07 14:36:53 +02:00
Naxess
0343ef7f14
Add ruleset-specific checker
2021-04-07 14:36:43 +02:00
Naxess
7e47922fb7
Merge branch 'master' into circular-arc-freeze
2021-04-01 17:09:45 +02:00
Naxess
5022a78e80
Check current point instead of start point
...
Since each control point will call this when the path updates, the previous would correct the start segment 3 times instead of just once.
This fixes that.
2021-03-31 20:25:46 +02:00
Naxess
75b8f2535f
Move updatePathTypes to PathControlPointPiece
...
Here we produce a local bound copy of the path version, and bind it to update the path type.
This way, if the path version updates (i.e. any control point changes type or position), we check that all control points have a well-defined path.
Additionally, if the control point piece is disposed of, the GB should also swoop up the subscription because of the local bound copy.
2021-03-31 20:09:56 +02:00
Dean Herbert
b82247aabe
Add inline comments and use Vector2.Zero
2021-03-30 14:13:16 +09:00
Dean Herbert
eda45e0e28
Merge branch 'master' into scale-breaking-bounds
2021-03-30 14:05:19 +09:00
Naxess
70d5b616f2
Add scaling path type recovery
2021-03-29 15:49:49 +02:00
Leon Gebler
17b16d4f89
Clarify purpose of getClampedScale()
2021-03-29 14:17:30 +02:00
Leon Gebler
1d99a63f17
Limit minimum size for single slider scaling
2021-03-29 14:16:27 +02:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy
2021-03-29 19:31:16 +09:00
Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08:00
Leon Gebler
a50c4be8ab
Add missing space
2021-03-26 17:41:36 +01:00
Leon Gebler
305c2e31cf
Clarify todo comment
2021-03-26 16:53:17 +01:00
Leon Gebler
25ea60cb92
Remove return values from HandleScale submethods
2021-03-26 16:40:10 +01:00
Leon Gebler
5d272bef97
Remember ContolPoint positions instead of recalculating them
2021-03-26 16:31:04 +01:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Naxess
51f0477df4
Move bounding box logic to framework
2021-03-26 04:42:46 +01:00
Naxess
ce9130ca50
Remove determinant limit
...
This has since been added into the framework through https://github.com/ppy/osu-framework/pull/4302
2021-03-25 17:38:55 +01:00
Naxess
9df059b01d
Add bounding box limit
2021-03-24 17:25:28 +01:00
Leon Gebler
e67ab3cca7
Change single slider scaling to a method that works
2021-03-24 12:24:11 +01:00
Leon Gebler
3d471d239f
Clamp multi-object scale instead of cancelling it
2021-03-24 12:24:11 +01:00
Leon Gebler
def0e5c42e
Fix off-by-one error in isQuadInBounds
2021-03-24 12:24:11 +01:00
Naxess
e0240ab9d9
Increase exterior threshold
2021-03-24 05:55:34 +01:00
Naxess
4ae3eaaac6
Move path type correction
...
This is better because `PathControlPointVisualizer` is local to the editor, meaning there is no chance that this could affect gameplay.
2021-03-24 03:02:19 +01:00
Naxess
0bcd38e661
Simplify path type maintenance when dragging
2021-03-24 02:57:47 +01:00
Naxess
5ee280f941
Update PointsInSegment when adding/removing points
...
There was a bug where if you created a slider, moved the last point, and then added a point such that it became a PerfectCurve, it would fail to recover after becoming a Bezier.
This fixes that.
2021-03-24 02:56:32 +01:00
Naxess
067178e537
Maintain path type when dragging/placing
2021-03-22 15:59:06 +01:00
Bartłomiej Dach
e67c759eef
Mark control point visualiser as possibly-null
2021-03-19 22:44:31 +01:00
Bartłomiej Dach
9634560d4b
Fix control point visualiser crashing after deselections
...
`SliderSelectionBlueprint.OnDeselected()` would expire the
`ControlPointVisualiser` on deselection, leading to its removal from the
blueprint and eventual disposal, but still kept a separate reference to
said visualiser in another field.
This could lead to that stale reference to a disposed child getting read
in `ReceivePositionalInputAt()`, crashing quite a ways down over at the
framework side on futilely trying to compute the bounding box of a
drawable with no parent.
2021-03-19 21:40:22 +01:00
Dean Herbert
27c38db14d
Add tooltips for slider path nodes which aren't inheriting
2021-03-19 16:58:08 +09:00
Dean Herbert
5f31304d05
Give each type of slider path type a unique colour to help visually distinguish them
2021-03-19 14:00:26 +09:00
Leon Gebler
877e19421b
Refactor movement while scaling
2021-02-23 21:02:00 +01:00
Leon Gebler
2a4139a207
Refactor isQuadInBounds
2021-02-23 21:02:00 +01:00
Leon Gebler
71b30bdbbb
Adjust tuple usage
2021-02-23 21:02:00 +01:00
Leon Gebler
3491021f72
Move moveSelection into HandleMovement
2021-02-23 21:02:00 +01:00
Leon Gebler
33985d9e7c
Rewrite scaling bounds check to behave more intuively
2021-02-21 18:11:32 +01:00
Leon Gebler
2c6f92d12f
Move bounds check from moveSelection to HandleMovement
2021-02-21 17:38:50 +01:00
Leon Gebler
562a4cefdb
Simplify HandleScale by extracting methods
2021-02-21 12:12:32 +01:00
Leon Gebler
0b8009938a
Prevent selection from breaking playfield bounds when scaling
2021-02-21 00:14:39 +01:00
Leon Gebler
cc4c5f72d8
Move logic to keep selection in bounds into it's own method
2021-02-21 00:14:39 +01:00
smoogipoo
3aa3692ed4
Disable snaking out when tracking is disabled
2021-02-05 15:56:13 +09:00
Dan Balasescu
95963f2fa2
Merge pull request #11526 from peppy/fix-editor-repeat-slider-adjustment
...
Fix sliders with an even number of repeats not allowing rotation/scale transforms
2021-01-18 18:56:25 +09:00
Dean Herbert
2f1d4bf51b
Add missing braces
2021-01-18 17:13:47 +09:00
Dean Herbert
c79ab63743
Fix sliders with an even number of repeats not allowing rotation/scale transforms
2021-01-18 16:59:16 +09:00
Dean Herbert
02d2b2742b
Fix selection box not updating with hitcircles/sliders far in the future or past
2021-01-18 16:57:36 +09:00
Dean Herbert
87176edca1
Fix crash when attempting to scale two hitobjects on the same axis
2020-12-22 12:52:57 +09:00
ekrctb
245be2c5ed
Adjust namespace
2020-12-04 20:21:53 +09:00
Dan Balasescu
be3fed3072
Merge pull request #11024 from peppy/fix-slider-point-drag-offset
...
Fix slider control point dragging not correctly accounting for drag deadzone
2020-12-02 11:10:06 +09:00
Dean Herbert
b256c54619
Scale slider control point display in line with circle size
2020-12-01 14:17:36 +09:00
Dean Herbert
c8c1848bb8
Fix slider control point dragging not correctly accounting for drag deadzone
2020-12-01 13:46:30 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap
2020-11-26 17:06:47 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added
2020-11-24 16:09:57 +09:00
ekrctb
5247ebaf53
Restore accidently removed comment
2020-11-22 18:51:16 +09:00
ekrctb
295ca38cda
Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added
2020-11-21 15:25:16 +09:00
ekrctb
4345d8dcb6
Event -> virtual method
2020-11-21 15:20:33 +09:00
ekrctb
82aefa3868
Rework and rename to OnNewDrawableHitObject.
...
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
smoogipoo
96abee3fde
Fix silent NRE in slider selection blueprint
2020-11-20 22:43:10 +09:00
ekrctb
cd16a3fa61
Use event instead of using custom pools (osu)
2020-11-20 17:56:47 +09:00
Dean Herbert
b547abafb2
Fix slider right click context menus not being shown outside the valid playfield area
...
Closes #10816 .
2020-11-20 13:46:23 +09:00
kamp
2d66423fbd
Simplify inequality
2020-11-17 23:04:38 +01:00
kamp
c8fb49d540
Apply suggestions and remove redundant updateConnectingPath call
2020-11-17 22:23:46 +01:00
kamp
c6618f08aa
Fix slider control point connections not being updated
2020-11-16 21:26:08 +01:00
kamp
268bbcf77d
Clamp selection movement instead of refusing to move on borders
2020-11-15 14:22:46 +01:00
Dean Herbert
deea75b2e9
Fix typo in comment
2020-11-14 18:05:51 +09:00
Dean Herbert
7ac4d2c4be
Move "drawable" to first prefix
2020-11-14 18:05:30 +09:00
Dean Herbert
90f37ff4ab
Rejig namespaces
2020-11-14 18:04:59 +09:00
Dean Herbert
354e748e45
Merge branch 'master' into osu-hitobject-pooling-playfield
2020-11-14 15:44:00 +09:00
Bartłomiej Dach
3985fb1fa7
Merge branch 'master' into allow-reversing-spinners
2020-11-13 19:48:40 +01:00
smoogipoo
5b60f32c7f
Move implementation into OsuPlayfield
2020-11-14 01:03:23 +09:00
smoogipoo
f7f70d41df
Add osu! editor pooling support
2020-11-13 17:28:26 +09:00
smoogipoo
942ecde0e1
Merge branch 'master' into pooling-editor-support
2020-11-13 17:23:35 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
kamp
66544544d3
Merge branch 'master' into allow-reversing-spinners
2020-11-13 00:40:49 +01:00
kamp
45ce6cc82d
Allow spinners to be reversed
2020-11-13 00:36:47 +01:00
kamp
1439c0f392
Prevent SelectionBox handles from appearing when a stack of circles is selected
2020-11-12 23:19:29 +01:00
kamp
42c543472d
Remove unnecessary null coalesce
2020-11-07 01:56:41 +01:00
kamp
b47a2a03d5
Fix nullref when quickdeleting slider that hasn't been selected yet
2020-11-07 01:53:14 +01:00
Dan Balasescu
f230250faf
Merge branch 'master' into editor-slider-control-point-quick-delete
2020-11-06 21:47:37 +09:00
Dean Herbert
3f24fabb57
Add change handler support for contorl point deletion
2020-11-05 15:05:43 +09:00
Dean Herbert
242ec1ca82
Don't override PathControlPointVisualiser's positional handling
...
It turns out it was relying on this to deselect control points on
clicking away from them.
2020-11-05 14:58:30 +09:00
Dean Herbert
eed9894d3a
Remove usage of case-when (caught me off-gaurd)
2020-11-05 13:58:41 +09:00
smoogipoo
9a7fcadabc
Use BDL for top-level osu! DHOs
2020-11-05 13:51:46 +09:00
Dean Herbert
9f333ac58a
Add the ability to delete slider control points using shift+right click
...
Closes https://github.com/ppy/osu/issues/10672 .
In two minds about how this should be implemented but went in this
direction initially. The other way would be to add local handling of
Shift-Right Click inside PathControlPointPiece (which is already doing
mouse handling itself).
2020-11-03 20:46:33 +09:00
Dean Herbert
267b399f9f
Add some simple border styles
2020-10-20 13:59:03 +09:00
Bartłomiej Dach
7c388f1132
Move editor playfield border locally to osu! composer
2020-10-19 21:20:13 +02:00
Bartłomiej Dach
f41879ee7c
Show current hit circle placement in timeline
2020-10-10 17:54:37 +02:00
Dean Herbert
681e88af40
Merge branch 'master' into editor-fix-button-states-after-paste
2020-10-09 20:51:09 +09:00
Dan Balasescu
ecfb7e94c5
Merge branch 'master' into fix-editor-batch-handling
2020-10-09 20:06:06 +09:00
Dan Balasescu
62690e4873
Merge pull request #10432 from peppy/editor-reverse-pattern
...
Add "reverse pattern" support to editor selection handler
2020-10-09 19:19:24 +09:00
Dean Herbert
3838f405dd
Fix missed usages
2020-10-09 18:50:05 +09:00
Dean Herbert
a0af2eb6c8
Private protect setters
2020-10-09 16:54:43 +09:00
Dean Herbert
6b9e94ae93
Avoid retaining slider selection blueprints FBO backing textures after deselection
2020-10-09 14:05:00 +09:00
Dean Herbert
34d1439f8e
Only update slider selection blueprints paths when visible
2020-10-09 14:04:26 +09:00
Dean Herbert
2a790c76d5
Add reverse implementation for osu!
2020-10-09 06:32:33 +09:00
Dean Herbert
afed832b19
Tidy up EditorBeatmap slightly
2020-10-08 18:06:49 +09:00
Dan Balasescu
6d50a1ed7d
Merge branch 'master' into osu-selection-flip-rotate-buttons
2020-10-05 19:17:33 +09:00
Dean Herbert
b6dc8bb2d3
Fix remaining manual degree-to-radian conversions
2020-10-01 18:10:05 +09:00
Dean Herbert
538973e394
Use float methods for math operations
2020-10-01 17:06:05 +09:00
Dean Herbert
983b693858
Add flip logic to OsuSelectionHandler
2020-10-01 16:24:50 +09:00
Dean Herbert
02f14ab4b0
Rename operation start/end to be more encompassing
2020-10-01 16:24:09 +09:00
Dean Herbert
7fad9ce34a
Simplify HandleScale method
2020-09-30 15:20:25 +09:00
Dean Herbert
f1298bed79
Combine scale operations and tidy up scale drag handle construction
2020-09-30 15:08:56 +09:00
Dean Herbert
313b0d149f
Refactor scale and rotation operations to share code better
...
Also adds support for scaling individual sliders.
2020-09-30 14:41:33 +09:00
Dean Herbert
39b55a85df
Move a lot of the implementation to base SelectionHandler
2020-09-30 13:52:57 +09:00
Dean Herbert
99a3801267
Tidy up scale/rotation operation code
2020-09-30 13:02:05 +09:00
Dean Herbert
5ae6b2cf5b
Fix syntax
2020-09-29 20:10:17 +09:00
Dean Herbert
a2e2cca396
Add proper change handler support
2020-09-29 20:08:56 +09:00
Dean Herbert
934db14e03
Add rotation support
2020-09-29 20:08:56 +09:00
Dean Herbert
33b24b6f46
Refactor to be able to get a quad for the current selection
2020-09-29 20:08:56 +09:00
Dean Herbert
0a10e40ce0
Add scaling support to osu! editor
2020-09-29 20:08:56 +09:00
Dan Balasescu
1b6ef60f36
Merge branch 'master' into editor-fix-slider-drag-after-snaking
2020-09-28 17:45:04 +09:00
Dean Herbert
63b5b8b841
Fix sliders not dragging correctly after snaking has begun
...
Closes #10278 .
2020-09-28 17:33:00 +09:00
Dean Herbert
5237fa7bf2
Remove unused local in case statement
2020-09-28 16:37:54 +09:00
Dean Herbert
467a16bf75
Fix fade out extension logic (and make it generally look better for sliders)
2020-09-28 16:21:20 +09:00
Dean Herbert
346d14d40b
Rename variables to match
2020-09-25 17:45:19 +09:00
Dean Herbert
22511c36c3
Ensure toggles are not instantiated more than once for safety
2020-09-25 17:43:09 +09:00
Dean Herbert
ae68dcd962
Add ternary toggle buttons to editor toolbox selection
2020-09-25 16:38:12 +09:00
Dean Herbert
0f8551e9ea
Merge branch 'editor-ternary-states' into new-combo-toggle
2020-09-25 15:36:33 +09:00
Dean Herbert
bca774a0d4
Allow BlueprintContainer to specify toggles
2020-09-25 14:09:31 +09:00
Dean Herbert
d9e8ac6842
Add support for slider end snapping
2020-09-24 16:24:35 +09:00
Dean Herbert
44be0ab762
Add basic osu! object to object snapping
2020-09-24 16:24:35 +09:00
Dan Balasescu
625c146460
Merge pull request #10199 from peppy/fix-editor-binding-crash
...
Fix bindings not correctly being cleaned up in OsuHitObjectComposer
2020-09-23 12:38:18 +09:00
Dan Balasescu
53788968c8
Merge pull request #10205 from peppy/fix-composer-distance-snap-selection
...
Fix compose mode not showing distance snap grid when entering with a selection
2020-09-23 11:55:42 +09:00
Dean Herbert
b1f7cfbd5b
Reduce children levels in RingPiece
2020-09-22 17:34:21 +09:00
Dean Herbert
8e43266460
Fix compose mode not showing distance snap grid when entering with a selection
2020-09-22 16:02:07 +09:00
Dean Herbert
842f8bea55
Fix bindings not correctly being cleaned up in OsuHitObjectComposer
2020-09-21 18:15:33 +09:00
Dan Balasescu
6f6adb61d7
Merge pull request #10099 from peppy/add-editor-tool-icons
...
Add icons for editor toolbox tools
2020-09-09 22:22:58 +09:00
Dean Herbert
fb2aced3ac
Add toggle for distance snap
2020-09-09 19:15:35 +09:00
Dean Herbert
c9f5005efd
Add icons for editor toolbox tools
2020-09-09 18:40:01 +09:00
Dean Herbert
8fa8c561e7
Pass hitobjects as a parameter to CreateBlueprintContainer
2020-05-29 12:20:50 +09:00
Dean Herbert
f5c974dd89
Hide non-alive selection blueprints by default
2020-05-27 13:40:16 +09:00
Dan Balasescu
b5de30ef3d
Merge branch 'master' into editor-scrolling-playfield-support
2020-05-26 14:46:58 +09:00
Dean Herbert
e7442ec3a2
Remove need for ManiaSnapResult
2020-05-25 19:33:03 +09:00
smoogipoo
ebe2e97372
Merge branch 'master' into editor-clock-transform
2020-05-25 19:01:04 +09:00
Dean Herbert
decdc58de5
Merge branch 'editor-clock-cache' into editor-clock-transform
2020-05-24 12:55:47 +09:00
Dean Herbert
a8dbfe2791
Fix distance snap grid not disappearing when exiting playfield
2020-05-23 10:57:17 +09:00
Dean Herbert
bc82c2d3b7
Move drawable addition above event bindings
2020-05-23 10:44:53 +09:00
Dean Herbert
a3a9810344
Merge branch 'master' into editor-clock-cache
2020-05-23 00:44:04 +09:00
Dean Herbert
1311fd2f64
Merge branch 'master' into editor-move-distance-snap-grid
2020-05-23 00:42:43 +09:00
Dean Herbert
af30d1201f
Fix slider path control point blueprint not working correctly
2020-05-22 18:57:28 +09:00
Dean Herbert
d18eb663b1
Add tweening seek support to EditorClock
2020-05-22 16:47:52 +09:00
Dean Herbert
8a47e2431b
Move distance snap grid implementation to OsuHitObjectComposer
2020-05-21 17:13:22 +09:00
Dean Herbert
a9a1c00cf1
Move responsibility placement blueprint's StartTime set to within
2020-05-21 14:50:33 +09:00
Dean Herbert
82d6549161
Pass down snap result and remove local TimeAt usage
2020-05-20 21:01:29 +09:00
Dean Herbert
c46bfc2532
Create SnapResult class to hold various snapping results
2020-05-20 21:00:47 +09:00
Dean Herbert
3354d48a38
Change snapping to be screen space coordinate based
2020-05-20 21:00:29 +09:00
smoogipoo
ca692f30e6
Do full placement on mouse down
2020-04-24 12:27:56 +09:00
smoogipoo
8d5732aabd
Make placements happen on mouse down
2020-04-23 12:17:11 +09:00
Dean Herbert
2b2ab2bf19
Show new segments as red points even when hovered
2020-04-13 21:59:23 +09:00
smoogipoo
4cfc686683
Fix excption with 0 control points
2020-04-13 21:41:18 +09:00
Dean Herbert
63de493c85
Merge branch 'master' into fix-red-point-placement
2020-04-13 20:56:50 +09:00
Dean Herbert
64422fbf6d
Merge pull request #8697 from smoogipoo/more-change-state-support
...
Add change state support to more Editor components
2020-04-13 20:19:04 +09:00
smoogipoo
9a65aa18d7
Fix connections hidden due to overlapping controlpoints
2020-04-13 16:13:14 +09:00
smoogipoo
2c20328a70
Rework control point placement for better progression
2020-04-13 15:31:46 +09:00
smoogipoo
e17d5bdbaf
Improve red slider control point placement logic
2020-04-13 13:57:40 +09:00
smoogipoo
575b061dd7
Add change state support to more editor components
2020-04-09 22:02:42 +09:00
smoogipoo
ee6ea08cf8
Cleanup handling of hitobject updates
2020-04-09 20:16:44 +09:00
Dean Herbert
5b3f0bbb0a
Merge branch 'master' into fix-editor-time-change-display
2020-02-13 23:55:52 +09:00
Dean Herbert
0fe41fd50a
Fix blueprint showing even when mouse outside of container
2020-02-13 09:03:48 +09:00
Dean Herbert
85a4437837
Fix editor custom FadeOut causing overlapping issues by removing existing FadeOut
2020-02-12 19:03:22 +09:00
Dean Herbert
91203c2b12
Merge branch 'master' into placement-display-in-timeline
2020-02-08 01:50:24 +09:00
smoogipoo
51edd88277
Add back fade
2020-02-08 00:28:52 +09:00
Dean Herbert
830afe5209
Make spinner blueprint update values more frequently. Also handle right-click
2020-02-07 19:09:47 +09:00
Dean Herbert
a6531bf73e
Don't show distance snap grid for spinners (for now)
2020-02-07 19:09:23 +09:00
Dean Herbert
e31d69c749
Add commit status to EndPlacement; call BeginPlacement on initial movement
2020-02-07 18:02:48 +09:00
smoogipoo
811ddb02a4
General refactoring
2020-01-24 17:50:36 +09:00
smoogipoo
6fc6a376ee
Fix incorrect slider selection point
2020-01-24 17:50:09 +09:00
Dean Herbert
289be7a17b
Merge branch 'i-beat-snapping' into timeline-maybe
2020-01-23 15:45:33 +09:00
Dean Herbert
7c62cc3ac3
Merge remote-tracking branch 'smoogipoo/void-mouse-up-returns' into update-framework
2020-01-22 22:57:52 +09:00
smoogipoo
7b2f58eb30
Apply OnRelease method signature refactorings
2020-01-22 13:22:34 +09:00
Dean Herbert
bd96cf94a6
Begin refactoring SelectionBlueprint to handle non-drawable HitObjects
2020-01-21 12:47:14 +09:00
smoogipoo
bfb056c612
Apply input method signature refactorings
2020-01-20 18:17:21 +09:00
smoogipoo
5f178b7755
General refactorings
2020-01-16 11:54:03 +09:00
Dean Herbert
d57f55f053
Apply remaining changes required to restore previous functionality
2020-01-15 19:09:49 +09:00
Dean Herbert
ee332e0d42
Split out BlueprintContainer functionality further
2020-01-02 18:21:16 +09:00
smoogipoo
6069d98ced
Remove generic editor beatmap
2019-12-27 19:39:30 +09:00
smoogipoo
6da581f3fe
Snap based on end position/time of the previous object
2019-12-17 16:35:40 +09:00
Dean Herbert
eed2984bef
Update sdk and InspectCode version ( #7208 )
...
Update sdk and InspectCode version
2019-12-16 19:46:12 +09:00
Dean Herbert
5e98f65b52
Merge branch 'master' into separate-path-connection
2019-12-16 11:16:00 +09:00
Huo Yaoyuan
c457571da6
Use index and range expressions
2019-12-15 20:17:35 +08:00
smoogipoo
5861eca80d
Make DrawableRuleset take a converted beatmap
2019-12-12 15:58:11 +09:00
Dean Herbert
42a01a10dd
Merge remote-tracking branch 'upstream/master' into separate-path-connection
2019-12-11 20:14:29 +09:00
Dean Herbert
50377e7286
Add summary xmldoc
2019-12-11 20:14:16 +09:00
Dean Herbert
47b6b01739
Rename class to signify it is a drawable
2019-12-11 20:11:48 +09:00
Dean Herbert
697e200856
Move control point removal to SliderSelectionBlueprint ( #7154 )
...
Move control point removal to SliderSelectionBlueprint
2019-12-11 19:27:53 +09:00
Dean Herbert
d027c982e4
Merge branch 'master' into separate-path-connection
2019-12-11 19:03:14 +09:00
Dean Herbert
a106e2a53f
Refactor distance snap grid to not require hitobjects ( #7138 )
...
Refactor distance snap grid to not require hitobjects
2019-12-11 19:02:29 +09:00
Dean Herbert
23959f3a3c
Move control point removal to SliderSelectionBlueprint
2019-12-11 18:58:35 +09:00
Dean Herbert
d82ba3e7f7
Curve -> Curve type
2019-12-11 18:20:28 +09:00
Dean Herbert
03040d1750
Don't show inherit menu item when first control point is selected
2019-12-11 18:18:16 +09:00
Dean Herbert
97ca2e2753
Add missing bezier option to menu
2019-12-11 17:58:59 +09:00
Dean Herbert
cda6757f52
Merge branch 'master' into path-type-menuitem
2019-12-11 16:43:55 +09:00
Dean Herbert
f515bdc599
Merge branch 'master' into separate-path-connection
2019-12-11 16:43:04 +09:00
Dean Herbert
632b1b9ee9
Merge branch 'master' into path-visualiser-refactor
2019-12-11 16:24:45 +09:00
Dean Herbert
f593caf0ea
Remove unused class
2019-12-10 18:08:51 +09:00
Dan Balasescu
42a979b495
Merge branch 'master' into path-visualiser-refactor
2019-12-10 16:33:45 +09:00
smoogipoo
94a298a82d
Refactor distance snap grid to not require hitobjects
2019-12-10 16:00:09 +09:00
Dean Herbert
5f3d163772
Merge branch 'master' into segmented-slider-paths-3
2019-12-10 14:28:20 +09:00
smoogipoo
e9ec6591a9
Separate path connections from control points
2019-12-10 11:20:08 +09:00
Dean Herbert
1db218f908
Don't show count when deleting only one control point
...
Reads better.
2019-12-10 03:29:25 +09:00
smoogipoo
1b14b0e5b6
Fix pieces blocking context menu
2019-12-10 00:08:38 +09:00
smoogipoo
9b318d2869
Add right-click menu item to change path type
2019-12-10 00:07:07 +09:00
smoogipoo
0ee303f7d6
Remove unused using
2019-12-09 22:45:44 +09:00
smoogipoo
2c4c190f15
Fix control points not adding to last segment
2019-12-09 22:44:47 +09:00
smoogipoo
bd2b0af269
Consider having only 1 control point as being deleted
2019-12-09 22:36:19 +09:00
smoogipoo
af90b45c40
Refactor path visualisers to use bindables
2019-12-09 20:49:59 +09:00
smoogipoo
2dbf94f3ab
Make placement blueprint add an initial segment
2019-12-09 18:10:40 +09:00
smoogipoo
883d5bc11d
Remove automatic slider path offsetting
2019-12-09 17:54:22 +09:00
smoogipoo
53f7c753fb
General cleanups
2019-12-09 16:44:19 +09:00
smoogipoo
4905709ea4
Remove unused usings
2019-12-09 13:19:21 +09:00
smoogipoo
41437242a2
Add initial path type progression support
2019-12-06 19:39:25 +09:00
smoogipoo
52dd7bf716
Fix deleting the first control point not working
2019-12-06 18:49:14 +09:00
smoogipoo
16f8341a02
Handle control point positional updates within SliderPath
2019-12-06 18:49:01 +09:00
smoogipoo
2b5f9515de
Fix multiple control point deletions
2019-12-06 17:03:54 +09:00
smoogipoo
d29ccdc25e
Fix selection blueprint not re-snapping the path
2019-12-06 16:36:08 +09:00
smoogipoo
b4e1b5fa98
Explose + use the full calculated length of the path
2019-12-06 15:53:19 +09:00
smoogipoo
a89a23fe08
Use linq to simplify some expressions
2019-12-06 13:08:35 +09:00
smoogipoo
247609388f
Clean up unused/unnecessary properties
2019-12-06 12:31:22 +09:00
smoogipoo
3ebbf62b2a
Initial game-wide update with the new SliderPath
2019-12-05 19:53:36 +09:00
Huo Yaoyuan
c0fe91a84c
Merge branch 'master' into sharpen
2019-11-26 18:21:50 +08:00
Dean Herbert
c2e85a2057
Apply CornerExponent fixes
2019-11-22 19:49:20 +09:00
Huo Yaoyuan
818553027b
Merge branch 'master' into sharpen
2019-11-21 23:42:46 +08:00
smoogipoo
031b686ee9
Only accept input while hovered
2019-11-13 17:38:34 +09:00
smoogipoo
d835def4ab
Add point count to the menu item text
2019-11-13 17:36:46 +09:00
smoogipoo
c56503ee88
Select single control point on right click
2019-11-13 17:29:00 +09:00
smoogipoo
9c52d239b4
Return null to allow passthrough
2019-11-13 16:56:48 +09:00
smoogipoo
4c0bca5c07
Add ability to delete control points via right-click option
2019-11-13 16:38:15 +09:00
Huo Yaoyuan
7d7b9e36b2
Use compound assignment.
2019-11-12 19:53:50 +08:00
smoogipoo
a0884fe9d4
Fix being able to add while not selected
2019-11-12 15:07:54 +09:00
smoogipoo
93d8cd38ca
Implement addition via ctrl+click
2019-11-12 15:02:27 +09:00
smoogipoo
407ca41ba4
Simplify using existing tools
2019-11-12 15:02:27 +09:00
smoogipoo
316dcae614
Use squared distance
2019-11-12 15:02:27 +09:00
smoogipoo
13b11996e0
Improve closest segment algorithm
2019-11-12 15:02:27 +09:00
smoogipoo
10fd5ef5a7
Merge context menus
2019-11-12 15:02:27 +09:00
smoogipoo
461f76926f
Add right-click menu to support control point addition
2019-11-12 15:02:01 +09:00
Dean Herbert
8402fb1490
Move to const and add some xmldoc for future visitors
2019-11-12 10:02:42 +09:00
smoogipoo
3b13ad480a
Increase fade-out time of hitobjects in the editor
2019-11-11 13:06:41 +09:00
smoogipoo
b1da81571f
Implement slider head control point snapping
2019-11-07 14:00:12 +09:00
smoogipoo
2c1bfd62ef
Disallow selections to be moved outside of the playfield
2019-11-06 17:28:04 +09:00
smoogipoo
2588534eda
Skin entire selection, add xmldocs
2019-11-06 16:04:20 +09:00
smoogipoo
020b08b450
Initial implementation of limited distance snap
2019-11-06 15:27:48 +09:00
Dean Herbert
52dba69a64
Implement slider control point deletion ( #6679 )
...
Implement slider control point deletion
Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-11-05 19:15:15 +09:00
smoogipoo
d77882c21b
Fix slider selection input handled outside path
2019-11-05 17:31:52 +09:00
smoogipoo
7c20a589f2
Remove unused usings
2019-11-05 13:56:21 +09:00
smoogipoo
c8beb5296f
Use PlatformAction.Delete instead of Delete key
2019-11-05 13:26:44 +09:00
smoogipoo
08bd811326
Merge remote-tracking branch 'origin/master' into slider-controlpoint-deletion
...
# Conflicts:
# osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/PathControlPointVisualiser.cs
2019-11-05 13:07:06 +09:00
Dean Herbert
66253a0bd4
Handle selection on mouse down instead of click
...
This is how other elements work, and feels better with drag preselection
2019-11-05 02:21:50 +09:00
Dean Herbert
bcf8a6d514
Fix slider creation regressing with path selection changes
2019-11-03 19:59:37 +09:00
Dean Herbert
f69a641d35
Merge branch 'master' into slider-controlpoint-deletion
2019-11-03 19:32:10 +09:00
Dean Herbert
1155aacd90
Update sliders when control points change ( #6680 )
...
Update sliders when control points change
2019-11-03 19:05:48 +09:00
Dean Herbert
f849926049
Merge branch 'master' into slider-controlpoint-deletion
2019-11-03 19:05:17 +09:00
Dean Herbert
4dbdfcdd3c
Change control to toggle rather than always select
2019-11-03 18:41:29 +09:00
smoogipoo
41ae66d517
Update slider when control points change
2019-10-31 18:24:38 +09:00
smoogipoo
18f374eec6
Deselect deleted control points
2019-10-31 17:58:33 +09:00
smoogipoo
78194cfa6e
Implement slider control point deletions
2019-10-31 17:54:09 +09:00
smoogipoo
43b2cbb865
Implement slider control point deletion
2019-10-31 17:39:57 +09:00
smoogipoo
20aeb7aaff
Implement multiple selection
2019-10-31 17:25:30 +09:00
smoogipoo
8d50b155e8
Make selection happen on click only
2019-10-31 17:13:10 +09:00
smoogipoo
cfdf710676
Add test
2019-10-31 16:51:58 +09:00
smoogipoo
e23a75c64a
Implement control point selection
2019-10-31 16:23:54 +09:00
Dean Herbert
194e501f86
Merge branch 'master' into snapping-refactor
2019-10-26 14:20:08 +09:00
smoogipoo
da6ee05dd6
Fix not being able to drag non-snaked sliders
2019-10-25 18:37:44 +09:00
smoogipoo
607b4d874a
Refactor flow of snapping through HitObjectComposer
2019-10-25 16:40:30 +09:00
smoogipoo
a6458fdeab
Re-use slider type
2019-10-24 19:04:24 +09:00
smoogipoo
b7af4acdbf
Allow not having a composer
2019-10-24 19:04:00 +09:00
smoogipoo
0af5706db6
Snap path during control point movement
2019-10-24 19:02:59 +09:00
smoogipoo
f45f17339c
Implement slider path distance snapping
2019-10-24 18:17:30 +09:00
smoogipoo
436941cda3
Add comment
2019-10-23 17:58:44 +09:00
smoogipoo
b903edca45
Don't snap slider control point placement
2019-10-23 16:03:16 +09:00
Dean Herbert
e3fa5f1da3
Merge branch 'master' into beatsnap-grid-integration
2019-10-21 18:44:34 +09:00
smoogipoo
c34d3362df
Fix hit circles selection area being too large
2019-10-21 17:14:08 +09:00
Dean Herbert
b157aaead1
Merge remote-tracking branch 'upstream/master' into beatsnap-grid-integration
2019-10-21 17:09:43 +09:00
smoogipoo
38c2c328ff
Rename HitObject -> DrawableObject in selection blueprints
2019-10-21 17:04:56 +09:00
smoogipoo
96649e0a6a
Fix selection blueprints not respecting stacking
2019-10-21 15:03:49 +09:00