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
smoogipoo
5dd5a070e0
Show placement grid from hitobjects at the current time
2019-10-18 19:03:19 +09:00
Dean Herbert
99ea45da41
Merge pull request #6474 from smoogipoo/osu-beatsnapping-grid
...
Implement osu!'s beat snapping grid
2019-10-18 16:27:03 +09:00
smoogipoo
f1d7e7e7f6
Merge branch 'placement-blueprint-starttime' into beatsnap-grid-integration
2019-10-18 13:49:09 +09:00
smoogipoo
c4704f6a29
Add beat snap grid to the composer
2019-10-18 12:47:52 +09:00
smoogipoo
5ccdd2b203
Mask the osu! beatsnap grid
2019-10-18 12:38:43 +09:00
Dean Herbert
f3ed71d336
Move scoring distance constant to a central/shared location
2019-10-17 16:36:47 +09:00
Dean Herbert
f92331531c
Rename grid to DistanceSnap to be more in line with its purpose
2019-10-17 15:32:02 +09:00
smoogipoo
79b2c7b480
Make BeginPlacement() set the hitobject start time
2019-10-16 20:04:15 +09:00
Dean Herbert
f3c38ae089
Merge branch 'master' into osu-beatsnapping-grid
2019-10-13 18:38:57 +09:00
smoogipoo
45835f97a1
Split out grids into separate files
2019-10-11 18:41:17 +09:00
smoogipoo
2e2768870f
Merge remote-tracking branch 'origin/master' into editor-selection-movement-params
2019-10-10 16:38:41 +09:00
smoogipoo
8b661e624d
Remove drag from class/method namings + refactor
2019-10-08 19:08:31 +09:00
smoogipoo
08d043f447
Move selection relative to the hitobject start positions
2019-10-08 18:57:03 +09:00
smoogipoo
e265beb289
Fix merge error
2019-10-07 18:49:59 +09:00
Dean Herbert
179cde917b
Merge branch 'master' into rework-selection-updates
2019-10-06 15:00:56 +08:00
smoogipoo
652acac87f
Move placement movement event to BlueprintContainer
2019-10-03 16:14:42 +09:00
smoogipoo
90ad1c5166
Add more tests for slider selection blueprint
2019-10-01 19:33:27 +09:00
smoogipoo
ba5c9547e1
Add more tests for hitcircle selection blueprint
2019-10-01 19:33:15 +09:00
smoogipoo
bddaead72e
Make hitobject pieces able to update dynamically
2019-09-27 18:45:22 +09:00
smoogipoo
4fc37d1137
Remove SliderPiece + HitObjectPiece
2019-09-27 18:01:55 +09:00
smoogipoo
f64fe22f36
Remove bindables from osu! selection blueprints
2019-09-27 18:00:24 +09:00
smoogipoo
6641811125
Add EditorWorkingBeatmap for reuse of the playable beatmap
2019-08-29 19:41:12 +09:00
Dean Herbert
e50b70d615
Centralise osu! circle radius specification
2019-07-22 14:40:02 +09:00
smoogipoo
d7c09e7dbd
Merge remote-tracking branch 'origin/master' into fix-new-inspections
...
# Conflicts:
# osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
# osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
# osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
# osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
# osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
# osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
# osu.Game/Graphics/OsuFont.cs
# osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
# osu.Game/Overlays/Profile/Header/BadgeContainer.cs
# osu.Game/Overlays/Profile/ProfileHeader.cs
# osu.Game/Screens/Select/PlaySongSelect.cs
# osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0222424aef
Make mods IReadOnlyList<Mod> gamewide
...
Prevents potential multiple evaluations of enumerable.
2019-04-10 17:20:36 +09:00
smoogipoo
c584967eb1
Remove mods from workingbeatmap
2019-04-09 12:59:32 +09:00
Dean Herbert
c39c37a18d
Apply more missed cases
2019-04-01 12:44:46 +09:00
Dean Herbert
612db31c38
Apply newline additions
2019-04-01 12:16:32 +09:00
Dean Herbert
d53e6f7e0e
Remove unused references
2019-03-31 01:34:50 +09:00
Dean Herbert
42eaabe24c
Fix editor blueprints being misplaced
...
Regressed with PlayfieldAdjustmentContainer changes.
2019-03-31 01:29:37 +09:00
Dean Herbert
785433bb74
Merge branch 'master' into universal-playfield-adjust
2019-03-29 11:25:54 +09:00
Dean Herbert
fbc97edc55
Add base cursor class to retrieve true visibility state
2019-03-26 13:41:30 +09:00
Dean Herbert
ed3746e166
Make PlayfieldAdjustmentContainer universal
2019-03-26 13:32:44 +09:00
Dean Herbert
7254b765b0
Fix gameplay cursor showing in editor
2019-03-20 19:26:24 +09:00
Dean Herbert
baea7230bc
Rename RulesetContainer to DrawableRuleset
2019-03-19 23:47:31 +09:00
Dean Herbert
3ccc76e18f
Merge remote-tracking branch 'upstream/master' into cursor-in-playfield
2019-03-08 14:50:46 +09:00
Dean Herbert
340997f505
Rename remaining usage of PathWidth naming convention
2019-03-07 20:21:59 +09:00
David Zhao
b3e046c4d1
Rename PathWidth to PathRadius
2019-03-07 17:39:19 +09:00
Dean Herbert
62716851a1
Revert some unnecessary changes
2019-03-06 17:41:54 +09:00
Dean Herbert
acf518c208
Move cursor inside playfield
2019-03-06 17:41:54 +09:00
Dean Herbert
367bc53a06
Revert some more instances of 'e' variable names
2019-02-22 20:15:25 +09:00
smoogipoo
d8c55bc729
Adjust namespaces
2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f
Update with framework bindable changes
2019-02-21 18:56:34 +09:00
ProgrammaticNajel
2058604ef3
Typo fix
2019-01-26 23:10:13 +08:00
ProgrammaticNajel
0797f5d644
Update SliderPlacementBlueprint.cs
2019-01-26 22:56:31 +08:00
ProgrammaticNajel
e71b13683a
Add null check
2019-01-26 22:55:33 +08:00
ProgrammaticNajel
e939f75f4b
Transform screen mouse coordinates to local space coordinates.
2019-01-26 18:19:01 +08:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
smoogipoo
f9f300b215
Fix drag breaking if scrolling while dragging
2018-11-26 16:08:56 +09:00
smoogipoo
56032a4522
Merge branch 'mania-selection-movement' into inter-column-movements
...
# Conflicts:
# osu.Game.Rulesets.Mania/Edit/Blueprints/ManiaSelectionBlueprint.cs
# osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
2018-11-26 11:45:48 +09:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
smoogipoo
55edeb095d
SelectionBox -> SelectionHandler
2018-11-19 16:58:11 +09:00
smoogipoo
4cbda97b1e
Move positional adjustment to SelectionBox
2018-11-16 17:12:24 +09:00
smoogipoo
df7515b66f
Pass all selected hitobjects to the selection blueprints
2018-11-15 21:01:09 +09:00
Dean Herbert
1501e05c04
Merge branch 'master' into fix-mask-disposal
2018-11-14 21:27:37 +09:00
Dean Herbert
84d16ee71b
Merge branch 'master' into placement-hiding
2018-11-14 16:59:41 +09:00
smoogipoo
050af88be9
Fix post-merge issues
2018-11-14 14:29:22 +09:00
smoogipoo
29422345f7
Merge remote-tracking branch 'origin/master' into fix-mask-disposal
...
# Conflicts:
# osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/PathControlPointVisualiser.cs
# osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/SliderCirclePiece.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderHead.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTail.cs
# osu.Game.Rulesets.Osu/Objects/Slider.cs
2018-11-14 14:03:25 +09:00
smoogipoo
819cba31ce
Fix spinners not starting placement with the first click
2018-11-13 12:52:44 +09:00
smoogipoo
f3ba429701
Make sure control points is internally initialised
2018-11-12 17:14:06 +09:00
smoogipoo
d594ce3530
Revert "Make SliderPath.ControlPoints read-only"
...
This reverts commit 3b88d94793
.
# Conflicts:
# osu.Game/Rulesets/Objects/SliderPath.cs
2018-11-12 16:20:38 +09:00
smoogipoo
3b88d94793
Make SliderPath.ControlPoints read-only
2018-11-12 14:03:54 +09:00
smoogipoo
51e4feeda7
Adjust to new path structure
2018-11-12 13:55:14 +09:00
smoogipoo
54ab256c8e
Instantiate a new path rather than setting properties on it
...
# Conflicts:
# osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs
# osu.Game.Rulesets.Catch/Objects/JuiceStream.cs
# osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs
# osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
# osu.Game/Rulesets/Objects/SliderPath.cs
2018-11-12 13:50:19 +09:00
smoogipoo
13279f707b
Cleanups
2018-11-09 14:19:50 +09:00
smoogipoo
cc8531790a
Use bindables for hitobject events
2018-11-09 13:58:46 +09:00
smoogipoo
5d51719572
Make selection blueprints handle position adjustments
2018-11-07 16:21:32 +09:00
smoogipoo
2612fd3099
Adjust ruleset-specific namespaces
2018-11-07 16:10:21 +09:00
smoogipoo
85f96ad62f
Fix a few missed renames
2018-11-06 18:07:53 +09:00
smoogipoo
bd775af274
PlacementMask -> PlacementBlueprint
2018-11-06 18:04:03 +09:00
smoogipoo
11be820efe
CreateMaskFor -> CreateBlueprintFor
2018-11-06 18:03:21 +09:00
smoogipoo
f2a5f28ea2
SelectionMask -> SelectionBlueprint
2018-11-06 17:56:04 +09:00
Dean Herbert
63cbc8e0e8
Merge branch 'master' into slider-placement
2018-11-02 19:45:34 +09:00
Dean Herbert
e6ee3dc73e
Use framework helper functions for path approximation
2018-11-02 19:26:29 +09:00
smoogipoo
2ac4f2b6af
Lock spinners to centre of screen
2018-11-01 19:24:58 +09:00
smoogipoo
d78348f178
Reduce duplicate code
2018-11-01 19:23:37 +09:00
smoogipoo
1aae123ff5
Make approximators share an interface
2018-11-01 19:16:44 +09:00
Dean Herbert
1265d5ac0b
Merge branch 'master' into spinner-placement-2
2018-11-01 18:05:44 +09:00
Dean Herbert
c1304eca1b
Merge remote-tracking branch 'upstream/master' into slider-placement
2018-11-01 17:59:37 +09:00
Dean Herbert
bb2f8deb18
ControlPoint -> PathControlPoint
...
Also Curve -> Path.
2018-11-01 03:56:51 +09:00
smoogipoo
ffec532079
Fix segment control points not changing in unison
2018-10-31 19:02:47 +09:00
smoogipoo
d2fbf05137
Reduce size of control point
2018-10-31 18:01:53 +09:00
smoogipoo
aec1d95f04
Implement spinner placement
2018-10-29 18:37:28 +09:00
smoogipoo
e04ad8357d
Make spinner piece respond to scale changes
2018-10-29 18:37:12 +09:00
smoogipoo
af1de01ed6
Add a spinner selection mask
2018-10-29 18:23:23 +09:00
smoogipoo
2ae7b42244
Fix control points disappearing if moved offscreen
2018-10-29 16:15:15 +09:00
smoogipoo
5998d6454b
Use ControlPointVisualiser instead of custom implementation
2018-10-29 15:56:17 +09:00
smoogipoo
08b16be3b8
Merge branch 'slider-controlpoint-masks' into slider-placement
...
# Conflicts:
# osu.Game.Rulesets.Osu/Edit/Masks/SliderMasks/Components/SliderBodyPiece.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
2018-10-29 15:55:38 +09:00
smoogipoo
c1fffde10d
Fix broken conditional
2018-10-29 15:52:28 +09:00
smoogipoo
acd703c27b
Make sliders respond to control point changes
2018-10-29 15:36:43 +09:00
smoogipoo
b0f5ace0e8
Implement slider control point visualisation
2018-10-29 15:29:34 +09:00
smoogipoo
660cd24750
Make sliders respond to scale changes
2018-10-29 15:26:28 +09:00
smoogipoo
a9f1484e8b
Fix some post-rebase issues
2018-10-29 15:26:28 +09:00
smoogipoo
4fa511043e
Use common body piece
2018-10-29 15:26:28 +09:00
smoogipoo
b28f44087d
Bring up to date with further placement changes
2018-10-29 15:26:28 +09:00
smoogipoo
6310c183fa
Modify slider position directly
2018-10-29 15:26:07 +09:00
smoogipoo
8fa783b4c5
Use begin/end placement methods
2018-10-29 15:26:07 +09:00
smoogipoo
a491fb42df
Set slider start time when head is placed
2018-10-29 15:26:07 +09:00