1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 16:57:48 +08:00
Commit Graph

907 Commits

Author SHA1 Message Date
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
smoogipoo
9540e53e32 Initial controlpoint implementation 2018-10-29 15:26:07 +09:00
smoogipoo
2c4616dbb1 Adjust visual display of the placement curve 2018-10-29 15:26:07 +09:00
smoogipoo
402950b132 Implement path drawing 2018-10-29 15:26:07 +09:00
smoogipoo
bd915e8dca Implement initial slider placement (linear) 2018-10-29 15:26:06 +09:00
smoogipoo
38ce8f8af1 Refactor SliderSelectionMask 2018-10-29 15:26:06 +09:00
smoogipoo
9b19050faf Update with slider body changes 2018-10-29 15:25:20 +09:00
smoogipoo
22c545ea8c Make circle piece respond to hitobject scale 2018-10-26 15:26:19 +09:00
smoogipoo
4a507c66ee Cleanup 2018-10-26 15:26:08 +09:00
smoogipoo
f674fcf2c8 Merge branch 'mask-separation' into editor-mask-placement
# Conflicts:
#	osu.Game.Rulesets.Mania/Edit/ManiaHitObjectComposer.cs
#	osu.Game.Rulesets.Osu/Edit/OsuHitObjectComposer.cs
#	osu.Game.Tests/Visual/TestCaseHitObjectComposer.cs
2018-10-26 14:05:30 +09:00
smoogipoo
ea3c960b5b Mask -> Piece for components 2018-10-26 13:51:03 +09:00
smoogipoo
9656186b64 Make the hitobject masks move within their placement/selection
# Conflicts:
#	osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMasks/Components/HitCircleMask.cs
#	osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMasks/HitCircleSelectionMask.cs
#	osu.Game.Rulesets.Osu/Edit/Masks/HitCirclePlacementMask.cs
#	osu.Game/Rulesets/Edit/PlacementMask.cs
2018-10-26 13:45:31 +09:00
smoogipoo
4051864bb4 Re-namespace 2018-10-26 13:39:19 +09:00
smoogipoo
e1db2bbc25 Split visuals of HitCircleSelectionMask into HitCircleMask 2018-10-26 13:31:44 +09:00
smoogipoo
677d0d4a19 Renamespace ruleset masks 2018-10-26 13:31:38 +09:00
smoogipoo
8703db5cc1 Rename HitObjectMask -> SelectionMask 2018-10-26 13:31:23 +09:00
smoogipoo
e14719e440 Mask -> Piece for non-mask components 2018-10-25 18:28:10 +09:00
smoogipoo
d19f80835b Adjust namespaces 2018-10-25 18:26:28 +09:00
smoogipoo
ea6db8b793 Make the hitobject masks move within their placement/selection 2018-10-25 18:16:25 +09:00
smoogipoo
f42f9cffe3 Make HitCirclePlacementMask directly modify hitcircle position 2018-10-17 18:16:34 +09:00
smoogipoo
d36ac59ca2 Reduce complexity of creating edit ruleset containers 2018-10-17 18:06:00 +09:00
smoogipoo
08e3fe1def Add PlacementStarted event, rename placement methods 2018-10-17 14:37:45 +09:00
smoogipoo
f384c7228e Fix post-merge issues 2018-10-16 17:28:23 +09:00
smoogipoo
70f1d17b7e Merge remote-tracking branch 'origin/master' into editor-mask-placement
# Conflicts:
#	osu.Game.Rulesets.Catch/UI/CatchRulesetContainer.cs
#	osu.Game.Rulesets.Mania/Edit/ManiaEditRulesetContainer.cs
#	osu.Game.Rulesets.Osu/Edit/OsuEditRulesetContainer.cs
#	osu.Game/Rulesets/UI/RulesetContainer.cs
2018-10-16 17:28:16 +09:00
smoogipoo
b56d09c83b Set hitobject placement time manually 2018-10-10 15:32:59 +09:00
smoogipoo
ff559a3a1b Merge remote-tracking branch 'origin/master' into playfield-scaling-rework
# Conflicts:
#	osu.Game.Rulesets.Catch/UI/CatchPlayfield.cs
#	osu.Game/Rulesets/UI/Scrolling/ScrollingPlayfield.cs
2018-10-05 10:40:16 +09:00
smoogipoo
d0007c047a PlayfieldLayer -> PlayfieldAdjustmentContainer 2018-10-05 10:39:18 +09:00
smoogipoo
e931aa3d9e Move positional modifications to HitCirclePlacementMask 2018-10-04 13:43:50 +09:00
smoogipoo
6a65802528 Fix hitcircle selections not responding to stacking changes 2018-10-04 12:19:11 +09:00
smoogipoo
3420e0c7eb Re-implement composition tools + implement placement masks 2018-10-03 16:27:26 +09:00
smoogipoo
540a010fbb Implement an intermediary EditRulesetContainer 2018-10-03 15:36:24 +09:00
smoogipoo
28b0ab6123 Split visuals of HitCircleSelectionMask into HitCircleMask 2018-10-03 14:35:26 +09:00
smoogipoo
1164108a95 Renamespace ruleset masks 2018-10-03 13:45:41 +09:00
smoogipoo
4cdb6dcea5 Rename HitObjectMask -> SelectionMask 2018-10-03 13:28:00 +09:00
smoogipoo
a8f156584b Update framework with positional/non-positional changes 2018-09-26 14:01:15 +09:00
smoogipoo
0bc2bcaf14 Remove GetAspectAdjustedSize() and PlayfieldArea 2018-09-21 15:14:49 +09:00
smoogipoo
a166d03ede Remove duplicate implementation of the Osu playfield layer 2018-09-21 14:43:38 +09:00
smoogipoo
826dc6ceb7 Make Playfield not a ScalableContainer 2018-09-21 14:02:32 +09:00
smoogipoo
1139f0dbf2 Centralise method of disabling playfield judgements 2018-07-20 17:04:33 +09:00
smoogipoo
268c14813b Fix resharper warnings 2018-05-07 11:38:41 +09:00
smoogipoo
4ecdea8b2e Remove now-unnecessary IsForCurrentRuleset property of RulesetContainer 2018-05-07 10:17:54 +09:00
smoogipoo
c9e4a07e12 Merge remote-tracking branch 'origin/master' into remove-approachcircle-hax
# Conflicts:
#	osu.Game.Rulesets.Osu/Edit/OsuEditPlayfield.cs
#	osu.Game.Rulesets.Osu/UI/OsuPlayfield.cs
2018-04-20 18:04:43 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
smoogipoo
cea3e1c7f5 Remove now unnecessary approachcircle proxy disables
Prereqs:
- [ ] ppy/osu-framework#1505
2018-04-09 18:44:50 +09:00
Dean Herbert
6c125683d4
Merge branch 'master' into selectionlayer-rewrite 2018-04-04 20:47:36 +09:00
Dean Herbert
b7325d73e8 Don't inherit VisbilityContainer 2018-04-04 20:44:11 +09:00
smoogipoo
d4cb00e08f Don't display judgements in OsuEditPlayfield 2018-04-04 17:12:41 +09:00
smoogipoo
4ad776bfde Make slider circle masks not handle mouse input at all 2018-03-30 14:15:46 +09:00
smoogipoo
3129c2cc75 Fix slider circle masks blocking input for now 2018-03-29 22:41:49 +09:00
smoogipoo
6d4f94756e Rewrite the way drag + click selections happen
The general idea here is that we need the masks to handle mouse down events, as they need to handle the drag (mousedown -> drag immediately).

I've rewritten the editor selections to use events, as there are some 3 different components that handle/trigger selections in different ways.

1. All selections/deselections now propagate through `HitObjectMask.Select()`/`HitObjectMask.Deselect()`.
2. Components that react to changes in the selection bind to the masks' `Selected`/`Deselected` events, and track them/change their states locally.
3. Masks provide a `SingleSelectionRequested` event which is invoked on the mouse-down event. Various components bind to this event to perform state changes locally in this scenario.
4. `DragBox` now handles all drag input locally. It triggers `Select`/`Deselect` on the masks it needs to.
5. `SelectionBox` handles the display of itself locally.
6. `SelectionBox` handles movement of groups of masks locally.
7. `HitObjectMasks` handles movement of itself locally.
2018-03-29 22:07:23 +09:00
Dean Herbert
a0691168cb Merge remote-tracking branch 'upstream/master' into editor-hitobject-movement 2018-03-14 15:35:24 +09:00
Dean Herbert
81f82d98a1 Rework a lot of naming and structure 2018-03-14 15:18:21 +09:00
smoogipoo
8c4bcb4a04 Only accept drag movement on the overlays 2018-03-12 17:33:10 +09:00
smoogipoo
2d9fcdcbd0 Fix slider circle overlays moving with the endpoints 2018-03-12 17:18:50 +09:00
smoogipoo
4a48136e4f Make hitobject positions adjustable 2018-03-09 23:12:34 +09:00
smoogipoo
e62fab6cc2 Fix overlay positions/sizes due to sliders now being fixed 2018-03-01 14:34:31 +09:00
Dan Balasescu
6cc54a464c
Merge branch 'master' into editor-hitobject-overlays 2018-02-22 14:25:27 +09:00
smoogipoo
844e87aafe Use the true head position rather than capturing current position 2018-02-22 14:25:10 +09:00
Dean Herbert
a3336f2577
Merge branch 'master' into fix-editor-osu-scale 2018-02-22 14:14:41 +09:00
smoogipoo
604b0fa20a Fix post-merge issues 2018-02-22 14:11:06 +09:00
smoogipoo
5faec5c2f1 Add a separate property to control playfield area 2018-02-21 20:54:33 +09:00
smoogipoo
9a9f53ddfd Remove 0.75 scale from osu! playfield in the editor 2018-02-21 11:10:43 +09:00
smoogipoo
4934ef7429 Add playfield aspect ratio + scaling modifications to composer layers 2018-02-21 11:07:42 +09:00
smoogipoo
ad2f556133 Add hitobject overlays to selected hitobjects 2018-02-20 18:01:45 +09:00
smoogipoo
8f25a5da66 Add playfield aspect ratio + scaling modifications to composer layers 2018-02-20 14:01:33 +09:00
smoogipoo
512e4d2c9f Rewrite the way that cursor overrides are done game-wide 2018-01-12 18:13:17 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo
def2e5bd17 Make editor discard approach circles
Temporary solution for now.
2017-12-22 22:16:54 +09:00
smoogipoo
677f3653eb Hide osu! playfield cursor 2017-11-30 19:19:34 +09:00
smoogipoo
efa39f38ca CI fixes 2017-11-30 18:49:08 +09:00
smoogipoo
456bbe25f3 Implement toolbox into HitObjectComposer 2017-11-30 16:58:14 +09:00
smoogipoo
309eb4edd7 Integrate HitObjectComposer into Compose
Also removes the other rulesets' HitObjectComposers for now.
2017-11-29 17:46:21 +09:00
smoogipoo
8c30fd490c Add HitObjectComposer class 2017-11-29 16:22:11 +09:00