Dean Herbert
6be5917eb0
Remove necessity for custom mania interface caching
2020-05-27 23:15:16 +09:00
Dean Herbert
9a060cfb3a
Allow drag selections to occur from outside the playfield
2020-05-27 20:44:15 +09:00
Dan Balasescu
b5de30ef3d
Merge branch 'master' into editor-scrolling-playfield-support
2020-05-26 14:46:58 +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
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
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
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
ee6ea08cf8
Cleanup handling of hitobject updates
2020-04-09 20:16:44 +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
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