Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08: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
Dean Herbert
e9730d4782
Move default sample addition to inside PlacementBlueprint
...
This isn't actually required to fix the behaviour but it does feel like
a better place to put this logic.
2021-02-11 17:16:18 +09:00
Dean Herbert
04fa32bc34
Rename and add xmldoc for smooth seeking method
2021-01-15 16:14:21 +09:00
Dean Herbert
3ad2eeaff5
Fix outdated xmldoc
2020-11-30 18:35:30 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
smoogipoo
3957697c48
Add pooling support to the editor
2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +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
Bartłomiej Dach
202fe09306
Group selection actions back up in SelectionHandler
2020-10-28 22:06:48 +01:00
Dean Herbert
27c1a4c4d3
Move right-click deletion logic to be handled at a SelectionBlueprint level
2020-10-27 12:53:54 +09:00
Bartłomiej Dach
3f8c4c57d0
Fix code style issues & restructure
2020-10-26 22:16:28 +01:00
Bartłomiej Dach
7c388f1132
Move editor playfield border locally to osu! composer
2020-10-19 21:20:13 +02:00
Bartłomiej Dach
4267d23d59
Move border to more appropriate namespace
2020-10-19 20:56:34 +02:00
Bartłomiej Dach
053c7a69a6
Fix code style issues & compilation failures
2020-10-19 20:22:48 +02:00
Dean Herbert
22bde43106
Merge branch 'master' into visible-playfield-boundary
2020-10-19 18:05:28 +09:00
Dean Herbert
beec0e4193
Hide children of SelectionBlueprint when not selected
2020-10-09 14:03:13 +09:00
Dean Herbert
575046e5fd
Don't update reply on add/remove (will be automatically handled by change handler events)
2020-10-02 18:21:13 +09:00
Dean Herbert
b7c276093d
Add fallback case when EditorChangeHandler is not present (for tests)
2020-10-02 16:21:51 +09:00
Dean Herbert
501e02db09
Only regenerate autoplay on editor state change
2020-10-02 15:44:37 +09:00
Dean Herbert
524c2b678c
Forcefully regenerate autoplay on editor changes
2020-09-28 15:48:42 +09:00
Dean Herbert
ff7c904996
Add autoplay mod in editor specific ruleset construction
2020-09-28 15:48:42 +09:00
Dean Herbert
8e6bf516d9
Merge branch 'master' into editor-ternary-buttons
2020-09-25 18:30:59 +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
Dan Balasescu
7b09f73fe5
Merge branch 'master' into new-combo-toggle
2020-09-25 17:33:12 +09:00
Dan Balasescu
e1fc8d76fb
Merge branch 'master' into editor-dont-block-keys-unnecessarily
2020-09-25 17:31:41 +09:00
Dean Herbert
b70a20e7f1
Avoid consuming keystrokes in editor when a modifier key is held down
2020-09-25 16:56:39 +09:00
Dean Herbert
da820c815e
Add shortcut keys to toolbox gorup titles
2020-09-25 16:46:06 +09:00
Dean Herbert
a6298c60eb
Fix button spacing
2020-09-25 16:44:37 +09:00
Dean Herbert
ae68dcd962
Add ternary toggle buttons to editor toolbox selection
2020-09-25 16:38:12 +09:00
Dean Herbert
e009264f10
Add new combo toggle to main composer interface
2020-09-25 14:10:30 +09:00
Dean Herbert
bca774a0d4
Allow BlueprintContainer to specify toggles
2020-09-25 14:09:31 +09:00
Dean Herbert
3c191cfe25
Add basic xmldoc to HitObjectComposer
2020-09-25 14:08:47 +09:00
Dean Herbert
325bfdbf71
Fix hard crash on hitting an out of range key (Q~P)
2020-09-25 13:25:42 +09:00
Dean Herbert
6ebea3f6f2
Add ability to toggle editor toggles using keyboard shortcuts (Q~P)
2020-09-24 16:24:25 +09:00
Joehu
c5b684bd2e
Fix typo in log when beatmap fails to load
2020-09-23 00:30:20 -07:00
Dean Herbert
432c3e17eb
Fix toolbox becoming inoperable due to incorrect ordering
2020-09-11 20:23:34 +09:00
Dean Herbert
139a5acd1b
Fix editor hitobjects getting masked weirdly
...
Closes #10124
2020-09-11 20:16:50 +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
Dan Balasescu
53a9804455
Merge branch 'master' into add-editor-tool-icons
2020-09-09 21:21:56 +09:00
Dean Herbert
d210e05629
Add a touch of spacing between toolbox groups
2020-09-09 19:20:11 +09:00
Dean Herbert
fb2aced3ac
Add toggle for distance snap
2020-09-09 19:15:35 +09:00
Dean Herbert
d3957e6155
Move title specification for settings groups to constructor
...
Using an abstract property was awkward for this as it is being consumed
in the underlying constructor but could not be dynamically set in time from a
derived class.
2020-09-09 18:50:31 +09:00
Dean Herbert
c9f5005efd
Add icons for editor toolbox tools
2020-09-09 18:40:01 +09:00
Yao Chung Hu
96f39dd350
Merge remote-tracking branch 'upstream/master' into visible-playfield-boundary
2020-09-05 01:50:13 -05:00
Dean Herbert
127330b8f9
Add 1ms lenience to avoid potential precision issues
2020-08-25 20:57:31 +09:00
Dean Herbert
6c7475f085
Fix snapped distances potentially exceeding the source distance
...
This results in slider placement including "excess" length, where the
curve is not applied to the placed path. This is generally not what we
want.
I considered adding a bool parameter (or enum) to change the
floor/rounding mode, but on further examination I think this is what we
always expect from this function.
2020-08-25 18:58:01 +09:00
Yao Chung Hu
0d95b768aa
Rename and Move EditorPlayfieldBorder to PlayfieldBorder for general purpose
2020-07-10 07:34:48 -05:00
Dean Herbert
780611a954
Merge branch 'master' into taiko-editor
2020-06-01 15:39:02 +09:00
Dean Herbert
19be111da0
Move incorrect placed full stop
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-05-31 22:33:10 +09:00
Dean Herbert
590931b17c
Pass hitobjects as a parameter to CreateBlueprintContainer
2020-05-29 16:45:47 +09:00
Dean Herbert
597f284805
Tidy up and complete xmldoc for HitObjectComposer
2020-05-29 16:45:47 +09:00
Dean Herbert
b2fad91589
Add swell and drumroll blueprints
2020-05-29 16:45:47 +09:00
Dean Herbert
46689a2fbc
Tidy up and complete xmldoc for HitObjectComposer
2020-05-29 11:46:32 +09:00
Dan Balasescu
1a2392aa83
Merge branch 'master' into remove-unused-mania-rprop
2020-05-28 14:57:10 +09:00
Dean Herbert
6be5917eb0
Remove necessity for custom mania interface caching
2020-05-27 23:15:16 +09:00
Dan Balasescu
0891c47d09
Merge pull request #9124 from peppy/editor-hide-non-alive-blueprints-default
...
Hide non-alive selection blueprints by default
2020-05-27 21:29:53 +09:00
Dean Herbert
9a060cfb3a
Allow drag selections to occur from outside the playfield
2020-05-27 20:44:15 +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
0cc6d6d97c
Merge pull request #9033 from smoogipoo/applydefaults-cancellation
...
Add cancellation token support to CreateNestedHitObjects()
2020-05-26 12:04:06 +09:00
Dan Balasescu
98f3d790df
Merge pull request #9107 from peppy/editor-remove-size-propagation
...
Remove unnecessary size propagation in HitObjectComposer
2020-05-25 23:55:26 +09:00
Dean Herbert
e7442ec3a2
Remove need for ManiaSnapResult
2020-05-25 19:33:03 +09:00
Dean Herbert
af5fac471e
Remove unnecessary size propagation in HitObjectComposer
2020-05-25 19:29:46 +09:00
smoogipoo
ebe2e97372
Merge branch 'master' into editor-clock-transform
2020-05-25 19:01:04 +09:00
smoogipoo
bc35bc5efb
Merge branch 'master' into applydefaults-cancellation
2020-05-25 16:45:30 +09:00
smoogipoo
cd65fc860b
Remove extra default application
2020-05-25 16:15:55 +09:00
Dean Herbert
b44beb4137
Remove double resolution of EditorClock
2020-05-25 15:40:45 +09:00
Dean Herbert
ed83ef202a
Merge branch 'master' into editor-clock-cache
2020-05-25 15:39:42 +09:00
Dan Balasescu
2f9cc0c15a
Merge pull request #9078 from peppy/editor-move-distance-snap-grid
...
Move distance snap grid to osu! HitObjectComposer
2020-05-25 15:05:30 +09:00
Dean Herbert
decdc58de5
Merge branch 'editor-clock-cache' into editor-clock-transform
2020-05-24 12:55:47 +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
83f4ba107f
Fix defaults not being applied correctly to blueprints after StartTime is changed
2020-05-22 22:42:17 +09:00
Dean Herbert
3e0ee310d0
Remove now incorrect comment
2020-05-22 18:30:39 +09:00
Dean Herbert
d18eb663b1
Add tweening seek support to EditorClock
2020-05-22 16:47:52 +09:00
Dean Herbert
dd09d7830d
Cache and resolve editor clock as EditorClock in all cases
2020-05-22 16:44:06 +09:00
Dean Herbert
8a47e2431b
Move distance snap grid implementation to OsuHitObjectComposer
2020-05-21 17:13:22 +09:00
Dean Herbert
b1fd7da824
Merge branch 'master' into editor-position-snap
2020-05-21 15:47:20 +09:00
Dean Herbert
776b842fdb
Remove unused using
2020-05-21 14:53:36 +09:00
Dean Herbert
a9a1c00cf1
Move responsibility placement blueprint's StartTime set to within
2020-05-21 14:50:33 +09:00
Dean Herbert
e09a1bf546
Only seek forwards if not already beyond the placed object
2020-05-20 21:50:52 +09:00
Dean Herbert
b5a7023312
Seek to start time after placement, not end
2020-05-20 21:46:52 +09:00
Dean Herbert
7c9fbb6fcf
Split out classes
2020-05-20 21:03:03 +09:00
Dean Herbert
82d6549161
Pass down snap result and remove local TimeAt usage
2020-05-20 21:01:29 +09:00
Dean Herbert
970bd86d2e
Remove local TimeAt usage in mania placement
2020-05-20 21:01:29 +09:00
Dean Herbert
23bf0d000e
Implement mania beat snapping support
2020-05-20 21:01:19 +09:00
Dean Herbert
ffb8d48fc3
Fix osu!mania editor placement regressions
2020-05-20 21:01:03 +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
98125102a7
Add cancellation token support to CreateNestedHitObjects()
2020-05-15 18:07:41 +09:00
smoogipoo
f38b64d201
Fix placement blueprints handling double clicks
2020-04-13 13:57:15 +09:00
smoogipoo
ee6ea08cf8
Cleanup handling of hitobject updates
2020-04-09 20:16:44 +09:00
Dean Herbert
b65e839bd2
Simplify blueprints by removing visible state
2020-02-13 10:00:09 +09:00
Dean Herbert
0fe41fd50a
Fix blueprint showing even when mouse outside of container
2020-02-13 09:03:48 +09:00
Dan Balasescu
f3c47dc8c9
Merge branch 'master' into seek-to-endtime-on-placement
2020-02-10 14:53:11 +09:00
Dean Herbert
91203c2b12
Merge branch 'master' into placement-display-in-timeline
2020-02-08 01:50:24 +09:00
Dean Herbert
678eb8ec31
Reduce accessibility to set
...
Co-Authored-By: Dan Balasescu <smoogipoo@smgi.me>
2020-02-08 00:12:23 +09:00
Dean Herbert
2e50e56d7c
Seek to previous object endtime after successful placement
2020-02-07 19:12:09 +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
e08437c5dc
Track placement object in EditorBeatmap
2020-02-07 18:03:14 +09:00
Dean Herbert
e31d69c749
Add commit status to EndPlacement; call BeginPlacement on initial movement
2020-02-07 18:02:48 +09:00
Dan Balasescu
a6a285bc09
Merge branch 'master' into fix-editor-snapping-inaccuracy
2020-02-07 17:20:42 +09:00
Dean Herbert
8990152315
Fix duration snapping still being incorrect
2020-02-07 16:43:50 +09:00
Dean Herbert
3aa18abd99
Fix typo in xmldoc
...
Co-Authored-By: Tree <thewildtree@outlook.com>
2020-02-07 16:22:59 +09:00
Dean Herbert
f63bf06373
Fix incorrect distance snap grid being displayed when in selection mode
2020-02-07 16:09:54 +09:00
Dean Herbert
63c595ed97
Make EditorBeatmap a component and move UpdateHitObject to it
2020-02-05 17:48:21 +09:00
Berkan Diler
9596030e1d
Make use of ElementAtOrDefault() when possible
2020-01-31 18:32:47 +01:00
Dan Balasescu
77b1bf3ee2
Merge pull request #7648 from peppy/keyboard-composition-tools
...
Allow selecting composition tools using 1-4 keys
2020-01-29 17:29:11 +09:00
Dan Balasescu
37c7fe30fa
Merge branch 'master' into keyboard-composition-tools
2020-01-29 16:52:47 +09:00
Dan Balasescu
66b8d38d42
Merge branch 'master' into selection-composition-conformity
2020-01-29 16:52:45 +09:00
Dan Balasescu
65ac412ff8
Merge branch 'master' into fix-beat-snap
2020-01-29 15:32:27 +09:00
Dean Herbert
8e2159e4eb
Ensure selection tool correctly matches selection state
...
- When a selection is made (via the timeline) the selection tool should become the select tool.
- When the selection tool is changed to anything *but* the select tool, the selection should be cleared.
2020-01-28 15:13:12 +09:00
Dean Herbert
7e0c45de6d
Allow selecting composition tools using 1-4 keys
2020-01-28 15:09:03 +09:00
Dean Herbert
e81d3c51ed
Move select tool to an actual tool implementation
...
Also tidies up radio button action firing so calling Select actually fires the associated action in all cases.
2020-01-28 15:05:29 +09:00
Dean Herbert
58654f28b6
Fix beat snap implementation being incorrect
2020-01-28 12:48:24 +09:00
smoogipoo
027778acc1
Fix slider circles not being selected by default
2020-01-24 17:51:24 +09:00
Dean Herbert
289be7a17b
Merge branch 'i-beat-snapping' into timeline-maybe
2020-01-23 15:45:33 +09:00
Dean Herbert
ccf911884b
Remove passed in BaetDivisor
2020-01-23 15:31:56 +09:00
Dean Herbert
098d643955
Move beat snapping to its own interface
2020-01-23 14:39:56 +09:00
Dean Herbert
56c044c44a
Move beat snapping to its own interface
2020-01-23 14:30:25 +09:00
Dean Herbert
98aaf38649
Fix playfield movement regressing
2020-01-21 23:58:51 +09:00
Dean Herbert
24a466ab24
Avoid null by calling initial OnDeselected later
2020-01-21 17:36:21 +09:00
Dean Herbert
8f16c1cb04
Add non-hiding selection state
2020-01-21 14:21:00 +09:00
Dean Herbert
bd96cf94a6
Begin refactoring SelectionBlueprint to handle non-drawable HitObjects
2020-01-21 12:47:14 +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
8c378dc625
Move EditorBeatmap construction/conversion to Editor
2019-12-30 14:51:14 +09:00
smoogipoo
6069d98ced
Remove generic editor beatmap
2019-12-27 19:39:30 +09:00
smoogipoo
5861eca80d
Make DrawableRuleset take a converted beatmap
2019-12-12 15:58:11 +09:00
Dean Herbert
9f4c8db395
Add xmldoc
2019-12-06 12:17:41 +09:00
Dean Herbert
d8620a70fb
Make work in editor
2019-12-05 20:12:25 +09:00
smoogipoo
10fd5ef5a7
Merge context menus
2019-11-12 15:02:27 +09:00
smoogipoo
e924a5d51e
Disable ruleset input in the editor
2019-11-11 13:04:43 +09:00
smoogipoo
f3ddc4c00b
Advance editor clock after a snapped placement
2019-11-07 14:08:02 +09:00
smoogipoo
64d900b387
Disable input for non-selected blueprints
2019-11-05 11:33:37 +09:00
smoogipoo
41ae66d517
Update slider when control points change
2019-10-31 18:24:38 +09:00
smoogipoo
9f28b1905b
Expose composer method to update hitobject
2019-10-31 18:15:19 +09:00
Dan Balasescu
3692846367
Merge branch 'master' into snapping-refactor
2019-10-25 18:26:14 +09:00
smoogipoo
4ca6a5a0cc
Interface the distance snap provider
2019-10-25 16:50:21 +09:00
smoogipoo
607b4d874a
Refactor flow of snapping through HitObjectComposer
2019-10-25 16:40:30 +09:00
Dean Herbert
fa3350ce2d
Refactor blueprint movement and selection events ( #6588 )
...
Refactor blueprint movement and selection events
2019-10-24 22:58:03 +09:00
smoogipoo
d83b9ef0e4
Rename grid snapping methods
2019-10-24 18:18:04 +09:00
smoogipoo
f45f17339c
Implement slider path distance snapping
2019-10-24 18:17:30 +09:00
smoogipoo
e04c77178c
Move selection events to BlueprintContainer
2019-10-24 14:58:02 +09:00
smoogipoo
714c89faa4
Move selection drag events to BlueprintContainer
2019-10-24 14:57:58 +09:00
smoogipoo
c03fa01fd9
Remove unnecessary set
2019-10-23 17:51:16 +09:00