1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 10:02:54 +08:00
Commit Graph

248 Commits

Author SHA1 Message Date
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
Dean Herbert
143d47ec93
Merge pull request #7538 from peppy/decouple-blueprint-container
Decouple blueprint container to allow usage in timeline
2020-01-23 16:13:51 +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
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
f3ddc4c00b Advance editor clock after a snapped placement 2019-11-07 14:08:02 +09:00
smoogipoo
9f28b1905b Expose composer method to update hitobject 2019-10-31 18:15:19 +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
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
c03fa01fd9 Remove unnecessary set 2019-10-23 17:51:16 +09:00
smoogipoo
2c9b11cdfd Move variable outside of if block 2019-10-23 17:49:21 +09:00
smoogipoo
64682611bb Fix distance snapping grid not updating on scroll 2019-10-23 16:39:14 +09:00
Dean Herbert
b157aaead1 Merge remote-tracking branch 'upstream/master' into beatsnap-grid-integration 2019-10-21 17:09:43 +09:00
smoogipoo
190a83da6e Refresh the grid after a placement 2019-10-18 19:04:08 +09:00
Dean Herbert
07286c0cfc Fix editor's clock not being processed unless composer is loaded 2019-10-18 18:21:53 +09:00
smoogipoo
31313ec9e1 Fix potential nullref 2019-10-18 17:56:31 +09:00
smoogipoo
463079e148 Implement placement snapping 2019-10-18 13:48:59 +09:00
smoogipoo
cb301a4661 Improve performance of intra-frame updates/deletions 2019-10-18 13:18:57 +09:00
smoogipoo
b047e05d86 Fix bad variable names 2019-10-18 13:18:16 +09:00
smoogipoo
ba4402207a Implement selection time snapping 2019-10-18 12:53:38 +09:00
smoogipoo
1dc7c59853 Implement selection position snapping 2019-10-18 12:53:27 +09:00
smoogipoo
c4704f6a29 Add beat snap grid to the composer 2019-10-18 12:47:52 +09:00
smoogipoo
d3e38f5e5a Make the editor beatmap protected 2019-10-18 12:40:31 +09:00
smoogipoo
2c13043c42 Hook up the event to HitObjectComposer 2019-10-03 14:40:00 +09:00
smoogipoo
6ab2b20c70 Add an interface for working beatmaps 2019-08-29 19:38:44 +09:00
smoogipoo
714ee312da Rename DrawableEditRuleset -> DrawableEditRulesetWrapper 2019-08-29 18:20:43 +09:00
smoogipoo
87e28ab1f9 Remove non-generic DrawableEditRuleset 2019-08-29 18:12:29 +09:00
smoogipoo
59296d12f3 Refactor HitObjectComposer 2019-08-29 18:02:50 +09:00
smoogipoo
0fbdcabb6f Re-use a single beatmap processor 2019-08-29 17:21:52 +09:00
smoogipoo
b40143cb73 Remove unnecessary comment 2019-08-29 17:18:34 +09:00
smoogipoo
5db813b7a4 Add secondary interface for further abstraction 2019-08-29 16:26:39 +09:00
smoogipoo
7927b684d3 Hook up + use editor beatmap 2019-08-29 16:06:40 +09:00
smoogipoo
6949c96aaa Add initial EditorBeatmap structure 2019-08-29 15:17:27 +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
6896ec7731 Remove unnecessary method 2019-04-01 10:39:55 +09:00
Dean Herbert
42eaabe24c Fix editor blueprints being misplaced
Regressed with PlayfieldAdjustmentContainer changes.
2019-03-31 01:29:37 +09:00
Dean Herbert
5f288650bf Fix misses/typos 2019-03-20 14:49:33 +09:00
Dean Herbert
baea7230bc Rename RulesetContainer to DrawableRuleset 2019-03-19 23:47:31 +09:00
Dean Herbert
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
Dean Herbert
ca5c8d37d1 Use leased bindables 2019-02-01 16:44:06 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
smoogipoo
55edeb095d SelectionBox -> SelectionHandler 2018-11-19 16:58:11 +09:00
smoogipoo
d5464702fa Fix post-merge issue 2018-11-15 20:56:34 +09:00
smoogipoo
eddba44d0f Merge branch 'note-placement' into inter-column-movements 2018-11-15 20:53:57 +09:00
smoogipoo
c963fc7cd2 Reduce chaining 2018-11-14 18:34:13 +09:00
smoogipoo
fbc20d2d4d Hide placement when cursor is not in the playfield 2018-11-13 12:52:04 +09:00
smoogipoo
3a1fee59fb Implement note placement 2018-11-12 18:24:18 +09:00
Dean Herbert
4783df1d4b Fix compose mode not working 2018-11-09 11:36:06 +09:00
smoogipoo
52f4923c8e Remove intermediate Screens namespace 2018-11-06 18:28:22 +09:00
smoogipoo
ac25718c5a Renamespace compose-mode components 2018-11-06 18:14:46 +09:00
smoogipoo
27d82052f4 BorderLayer -> EditorPlayfieldBorder 2018-11-06 18:10:46 +09:00
smoogipoo
11be820efe CreateMaskFor -> CreateBlueprintFor 2018-11-06 18:03:21 +09:00
smoogipoo
90c813618a Merge PlacementContainer into BlueprintContainer 2018-11-06 18:02:55 +09:00
smoogipoo
f2a5f28ea2 SelectionMask -> SelectionBlueprint 2018-11-06 17:56:04 +09:00
smoogipoo
ad2836a61e MaskSelection -> SelectionBox 2018-11-06 17:52:47 +09:00
smoogipoo
26c9390c16 HitObjectMaskLayer -> BlueprintContainer 2018-11-06 17:36:10 +09:00
smoogipoo
0e841628b6 Implement hitobject deletion 2018-10-18 16:36:06 +09:00
smoogipoo
b7435c0c5f Fix border layer not working 2018-10-17 18:29:30 +09:00
smoogipoo
6eb7a030d0 Fix placement container not being refreshed upon placement 2018-10-17 18:11:44 +09:00
smoogipoo
d36ac59ca2 Reduce complexity of creating edit ruleset containers 2018-10-17 18:06:00 +09:00
smoogipoo
969477dadd Remove placement events, make everything pass top-down 2018-10-17 17:43:16 +09:00
smoogipoo
62635c5ab8 Add container to handle placement mask 2018-10-17 16:17:49 +09:00
smoogipoo
4ea4ec0d25 Move placement handling events to a higher level 2018-10-17 15:46:30 +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
934b687965 Fix selection masks not being added for new objects 2018-10-03 16:49:59 +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
4cdb6dcea5 Rename HitObjectMask -> SelectionMask 2018-10-03 13:28:00 +09:00
smoogipoo
826dc6ceb7 Make Playfield not a ScalableContainer 2018-09-21 14:02:32 +09:00
Dean Herbert
aead4be134 Merge remote-tracking branch 'upstream/master' into AlFasGD-mania-mask-container 2018-07-23 06:36:10 +02:00
smoogipoo
1139f0dbf2 Centralise method of disabling playfield judgements 2018-07-20 17:04:33 +09:00
smoogipoo
b7721edc80 Remove more unnecessary changes 2018-07-19 18:25:28 +09:00
smoogipoo
9b7d01397b Add ruleset config to HitObjectComposer 2018-07-17 16:53:32 +09:00
smoogipoo
9f730dd784 Merge branch 'editor-composer-cleanup' into mania-mask-container
# Conflicts:
#	osu.Game/Rulesets/Edit/HitObjectComposer.cs
#	osu.Game/Screens/Edit/Screens/Compose/Layers/HitObjectMaskLayer.cs
2018-07-17 16:00:46 +09:00
smoogipoo
3905a9105c Add a playfield method to retrieve all hitobjects 2018-07-17 15:51:10 +09:00
smoogipoo
0b66f63f7d Invert flow order of hitobjects between composer and mask layers 2018-07-17 15:35:32 +09:00
smoogipoo
55475d129f Merge remote-tracking branch 'origin/master' into mania-mask-container
# Conflicts:
#	osu.Game.Rulesets.Mania/Objects/Drawables/DrawableHoldNote.cs
2018-06-07 19:19:20 +09:00
smoogipoo
72cc53aded Rename GameBeatmap -> BindableBeatmap 2018-06-06 20:16:20 +09:00
smoogipoo
8004b8af4d Privatise the OsuGame beatmap, add local beatmap to OsuTestCase 2018-05-23 17:38:02 +09:00
AlFasGD
d504a44dfb Implement mask layering (incomplete) 2018-05-21 23:08:04 +03:00
smoogipoo
4ecdea8b2e Remove now-unnecessary IsForCurrentRuleset property of RulesetContainer 2018-05-07 10:17:54 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
smoogipoo
fbc50d6030 Merge master into editor-clock 2018-04-12 13:35:53 +09:00
smoogipoo
248be8e35f HitObjectComposer no longer needs a beat divisor 2018-04-06 18:21:45 +09:00
smoogipoo
c7abd56fc4 Give editor a custom clock to handle seeking 2018-04-06 18:11:37 +09:00
Huo Yaoyuan
b842f682eb Use Linq.Append and Prepend. 2018-04-02 12:06:34 +08:00
smoogipoo
786e6242e1 Make bdl beat divisor nullable 2018-03-20 14:01:06 +09:00
smoogipoo
b1d09500f2 Integrate beat snap divisor into editor seeking 2018-03-19 20:42:06 +09:00
smoogipoo
e25d1f6982 Pass down editor clocks through DI 2018-03-19 16:27:52 +09:00
Dean Herbert
4b83278cf4
Merge branch 'master' into fix-editor-clocks 2018-03-16 23:32:54 +09:00
smoogipoo
6f7163769d Adjust comment for readability 2018-03-16 19:57:14 +09:00
Dean Herbert
bca4b620b6
Merge branch 'master' into editor-wheel-movement 2018-03-16 15:56:51 +09:00
smoogipoo
fc15c63a88 Re-order methods 2018-03-15 18:28:08 +09:00
smoogipoo
c937ef5d24 Fix not being able to scroll before the first timing point 2018-03-15 18:26:53 +09:00
smoogipoo
c8f6a6980b Move clock construction to Editor 2018-03-15 17:27:37 +09:00
smoogipoo
9e0aeec574 Use a decoupled clock for accurate clock times 2018-03-15 17:03:33 +09:00
smoogipoo
50f9d810dd Add more testcases + fix up seeking a bit more 2018-03-15 15:40:52 +09:00
smoogipoo
0da3ae0944 Add some basic tests + fixes to seek/seekforward functionality 2018-03-14 20:52:48 +09:00
Dean Herbert
81f82d98a1 Rework a lot of naming and structure 2018-03-14 15:18:21 +09:00
smoogipoo
299de4b866 Rewrite seeking to better handle timing point boundaries 2018-03-13 16:54:34 +09:00
smoogipoo
df352c98d6 Change wheel direction to match stable 2018-03-13 14:30:50 +09:00
smoogipoo
e580819621 Rename to seekAmount 2018-03-13 14:08:43 +09:00
smoogipoo
6c148930b5 Don't skip beats when scrolling in the direction of the closest beat 2018-03-13 14:02:37 +09:00
smoogipoo
8acba47a2b Implement mouse wheel movement in the editor 2018-03-13 11:23:44 +09:00
smoogipoo
4103c66cff Move selection overlay to HitObjectOverlayLayer for extensibility 2018-03-10 00:48:57 +09:00
smoogipoo
ad72d3816b Allow dragging anywhere in a capture box to move objects 2018-03-09 23:43:50 +09:00
smoogipoo
278b25bcbd Fix border being the wrong size 2018-02-23 15:29:56 +09:00
smoogipoo
45c579630d Make selectionLayer handle input below object overlays 2018-02-22 14:34:37 +09:00
smoogipoo
07252254eb Fix post-merge issues 2018-02-22 14:22:04 +09:00
smoogipoo
99e9eb81f2 Merge remote-tracking branch 'origin/master' into editor-hitobject-overlays 2018-02-22 14:16:01 +09:00
Dean Herbert
7c942eb592 Tidy up layer container logic 2018-02-22 13:42:36 +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
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Dean Herbert
6f5f4f76e5 Use Logger.Error when exceptions are involved 2017-12-25 18:21:15 +09:00
smoogipoo
666dcdbd62 Give HitObjectComposer a SelectionLayer 2017-12-11 22:20:02 +09:00
smoogipoo
a80059032c Remove PlayfieldOverlay 2017-12-02 20:24:10 +09:00
smoogipoo
5a7c4772bd Remove PlayfieldUnderlay for now 2017-12-02 19:53:20 +09:00
smoogipoo
c0c051aa32 Remove unused parameter for now 2017-11-30 21:58:41 +09:00
smoogipoo
e8cbde3ae1 Add overlay/underlay 2017-11-30 21:56:19 +09:00
smoogipoo
7e34b0f08d Remove SelectionTool, make Select the default tool 2017-11-30 19:53:52 +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
e5353bb53e Add border to playfield, add shadow to toolbox buttons 2017-11-30 17:38:55 +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