Naxess
9b9c473616
Remove redundant string formatting
2021-04-26 16:17:38 +02:00
Naxess
7b9ed924be
Rename snapping methods
...
Further separates them from `IBeatSnapProvider`'s `SnapTime`, and groups them together more, to prevent confusion between the two interfaces.
Also changes the xmldoc of the reference time to that of `IBeatSnapProvider` for consistency.
2021-04-26 16:07:30 +02:00
smoogipoo
fd5fbaf0db
Rename ruleset wrapper class
2021-04-26 15:37:42 +09:00
Naxess
049e42fa85
Move snapping responsibility to IBeatmap
...
Seems `EditorBeatmap` already implements a different kind of `SnapTime` from `IBeatSnapProvider`, so method names here aren't great.
This is very similar to what https://github.com/ppy/osu/pull/12558 is doing, so may need to do some duplicate resolution later, especially surrounding `ClosestBeatSnapDivisor`.
Worth noting that this change makes 1/7, 1/5, etc unsupported for now, as we now rely on `BindableBeatDivisor.VALID_DIVISORS`.
2021-04-26 05:07:24 +02:00
Naxess
6fd77e536d
Add unsnap check
2021-04-25 05:34:54 +02:00
Dean Herbert
9a7bf8109f
Allow certain mouse input to pass through PlacementBlueprints
to the selection logic
2021-04-22 15:44:12 +09:00
Naxess
4510e795e1
Fix category of audio quality check
2021-04-20 02:13:26 +02:00
Naxess
c633f15565
Add audio quality check
2021-04-20 01:36:03 +02:00
Naxess
40ae856dfc
Show 2 decimals for background filesize
2021-04-20 01:34:05 +02:00
Naxess
14c626ffcb
Use the playable beatmap for file presence checks
2021-04-20 01:33:19 +02:00
Naxess
8656176ab8
Add the playable beatmap as check argument
...
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.
So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.
This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Naxess
9a69ca34a6
Add audio presence check
2021-04-18 02:07:57 +02:00
Naxess
010720de74
Factor out general file presence checking
...
This allows us to use the same method of checking for other files that should exist, for example the audio file.
By using the same method, they all share test cases too.
2021-04-18 02:07:33 +02:00
Naxess
56bf49c85c
Take IWorkingBeatmap
instead of WorkingBeatmap
...
This makes testing much easier, and allows for checking of any class deriving from that interface, including `WorkingBeatmap`.
2021-04-18 01:21:20 +02:00
Naxess
abf512532e
Clean up check logic
...
Makes use of the new `BeatmapSet.GetPathForFile` method and removes dependency on `WorkingBeatmap` specifically, allowing us to switch to `IWorkingBeatmap` later.
2021-04-18 01:19:25 +02:00
Naxess
cb41c89935
Don't return low res and too low res at the same time
2021-04-17 20:10:07 +02:00
Naxess
62c54e00cb
Add check for background resolution and filesize
2021-04-17 18:01:04 +02:00
Naxess
448574e7e6
Use WorkingBeatmap
instead of IBeatmap
...
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.
Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Dean Herbert
119c9b4294
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 14:11:33 +09:00
Dean Herbert
cb4f64133e
Add xmldoc to interfaces
2021-04-13 23:30:20 +09:00
Naxess
69da804f81
Add missing period
2021-04-13 13:57:56 +02:00
Dean Herbert
0d6890243f
Fix typo in xmldoc
2021-04-13 20:18:18 +09:00
Dean Herbert
03ba04e8ce
Split out general checks into its own verifier class (and remove static
usage)
2021-04-13 19:50:22 +09:00
Naxess
aa5fe2e9fc
Rename BeatmapVerifier
-> IBeatmapVerifier
2021-04-13 11:02:01 +02:00
Naxess
60c2494b31
Make BeatmapVerifier
an interface
2021-04-13 10:40:56 +02:00
Naxess
6d3f9fa9ce
Use is
class instead of Equals
with template index
...
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d8088777ea
Add Equals
method to IssueTemplate
...
This will be useful in tests.
2021-04-13 01:21:34 +02:00
Naxess
19a154ddf1
Rename checkOrigin
-> check
...
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Naxess
bb720c23a0
Remove check ctors and locals
2021-04-12 17:12:37 +02:00
Dean Herbert
62c1812282
Remove redundant parameter naming
2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021
Move nested classes to bottom of file
2021-04-12 23:36:10 +09:00
Naxess
6d50d01186
Make IssueTemplate.Check
readonly
2021-04-12 16:23:05 +02:00
Naxess
caaaba5950
Rename Check
-> ICheck
2021-04-12 16:20:53 +02:00
Naxess
008dbc7dd6
Reverse IssueType
ordering
...
Reversed both in the enum and where it's displayed, so ends up the same in the end.
2021-04-12 15:49:13 +02:00
Naxess
7c4f6d2b62
Rework template usage
...
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
2021-04-12 15:47:26 +02:00
Naxess
65ebdd8f7a
Move check origin from IssueTemplate
to Issue
...
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.
2021-04-12 10:08:08 +02:00
Dean Herbert
8bf85d737c
Change Metadata into a get property
2021-04-12 15:52:29 +09:00
Dean Herbert
78bbc8f5c8
Tidy some remaining code
2021-04-12 15:52:18 +09:00
Dean Herbert
8c31e96cdf
Change some methods to get properties
2021-04-12 15:52:18 +09:00
Dean Herbert
f78239c7f2
Move enums out of nesting
2021-04-12 15:52:18 +09:00
Dean Herbert
3551322f1d
Fix formatting of colour getter
2021-04-12 15:52:18 +09:00
Dean Herbert
257acf9cd8
Colour constants to private
2021-04-12 15:52:18 +09:00
Dean Herbert
136627b9ac
Wrap xmldoc less and make a few fixes
2021-04-12 15:52:18 +09:00
Dean Herbert
1c553b5d48
Checker -> BeatmapVerifier
2021-04-12 15:29:05 +09:00
Dean Herbert
14bd5bdc77
Merge branch 'master' into verify-tab
2021-04-12 15:14:37 +09:00
Naxess
3289bb0379
Merge Check
and BeatmapCheck
...
We're probably not going to need GeneralChecks or BeatmapsetChecks.
The verify tab is only available to a single difficulty at a time, and we already have access to the rest of the set through `IBeatmap`.
2021-04-10 14:56:30 +02:00
Naxess
bc4f3351f3
Replace checks with realistic ones
2021-04-10 13:03:16 +02:00
Naxess
b30e41b805
Fix comment; mode -> ruleset
2021-04-10 13:02:36 +02:00
Naxess
d1007ff26a
Move components to more appropriate spot
2021-04-10 13:02:22 +02:00
Naxess
b24ce66a0d
Add check/issue classes
2021-04-07 14:35:33 +02:00
Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Dean Herbert
e9730d4782
Move default sample addition to inside PlacementBlueprint
...
This isn't actually required to fix the behaviour but it does feel like
a better place to put this logic.
2021-02-11 17:16:18 +09:00
Dean Herbert
04fa32bc34
Rename and add xmldoc for smooth seeking method
2021-01-15 16:14:21 +09:00
Dean Herbert
3ad2eeaff5
Fix outdated xmldoc
2020-11-30 18:35:30 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
smoogipoo
3957697c48
Add pooling support to the editor
2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
Dean Herbert
9f333ac58a
Add the ability to delete slider control points using shift+right click
...
Closes https://github.com/ppy/osu/issues/10672 .
In two minds about how this should be implemented but went in this
direction initially. The other way would be to add local handling of
Shift-Right Click inside PathControlPointPiece (which is already doing
mouse handling itself).
2020-11-03 20:46:33 +09:00
Bartłomiej Dach
202fe09306
Group selection actions back up in SelectionHandler
2020-10-28 22:06:48 +01:00
Dean Herbert
27c1a4c4d3
Move right-click deletion logic to be handled at a SelectionBlueprint level
2020-10-27 12:53:54 +09:00
Bartłomiej Dach
3f8c4c57d0
Fix code style issues & restructure
2020-10-26 22:16:28 +01:00
Bartłomiej Dach
7c388f1132
Move editor playfield border locally to osu! composer
2020-10-19 21:20:13 +02:00
Bartłomiej Dach
4267d23d59
Move border to more appropriate namespace
2020-10-19 20:56:34 +02:00
Bartłomiej Dach
053c7a69a6
Fix code style issues & compilation failures
2020-10-19 20:22:48 +02:00
Dean Herbert
22bde43106
Merge branch 'master' into visible-playfield-boundary
2020-10-19 18:05:28 +09:00
Dean Herbert
beec0e4193
Hide children of SelectionBlueprint when not selected
2020-10-09 14:03:13 +09:00
Dean Herbert
575046e5fd
Don't update reply on add/remove (will be automatically handled by change handler events)
2020-10-02 18:21:13 +09:00
Dean Herbert
b7c276093d
Add fallback case when EditorChangeHandler is not present (for tests)
2020-10-02 16:21:51 +09:00
Dean Herbert
501e02db09
Only regenerate autoplay on editor state change
2020-10-02 15:44:37 +09:00
Dean Herbert
524c2b678c
Forcefully regenerate autoplay on editor changes
2020-09-28 15:48:42 +09:00
Dean Herbert
ff7c904996
Add autoplay mod in editor specific ruleset construction
2020-09-28 15:48:42 +09:00
Dean Herbert
8e6bf516d9
Merge branch 'master' into editor-ternary-buttons
2020-09-25 18:30:59 +09:00
Dean Herbert
346d14d40b
Rename variables to match
2020-09-25 17:45:19 +09:00
Dean Herbert
22511c36c3
Ensure toggles are not instantiated more than once for safety
2020-09-25 17:43:09 +09:00
Dan Balasescu
7b09f73fe5
Merge branch 'master' into new-combo-toggle
2020-09-25 17:33:12 +09:00
Dan Balasescu
e1fc8d76fb
Merge branch 'master' into editor-dont-block-keys-unnecessarily
2020-09-25 17:31:41 +09:00
Dean Herbert
b70a20e7f1
Avoid consuming keystrokes in editor when a modifier key is held down
2020-09-25 16:56:39 +09:00
Dean Herbert
da820c815e
Add shortcut keys to toolbox gorup titles
2020-09-25 16:46:06 +09:00
Dean Herbert
a6298c60eb
Fix button spacing
2020-09-25 16:44:37 +09:00
Dean Herbert
ae68dcd962
Add ternary toggle buttons to editor toolbox selection
2020-09-25 16:38:12 +09:00
Dean Herbert
e009264f10
Add new combo toggle to main composer interface
2020-09-25 14:10:30 +09:00
Dean Herbert
bca774a0d4
Allow BlueprintContainer to specify toggles
2020-09-25 14:09:31 +09:00
Dean Herbert
3c191cfe25
Add basic xmldoc to HitObjectComposer
2020-09-25 14:08:47 +09:00
Dean Herbert
325bfdbf71
Fix hard crash on hitting an out of range key (Q~P)
2020-09-25 13:25:42 +09:00
Dean Herbert
6ebea3f6f2
Add ability to toggle editor toggles using keyboard shortcuts (Q~P)
2020-09-24 16:24:25 +09:00
Joehu
c5b684bd2e
Fix typo in log when beatmap fails to load
2020-09-23 00:30:20 -07:00
Dean Herbert
432c3e17eb
Fix toolbox becoming inoperable due to incorrect ordering
2020-09-11 20:23:34 +09:00
Dean Herbert
139a5acd1b
Fix editor hitobjects getting masked weirdly
...
Closes #10124
2020-09-11 20:16:50 +09:00
Dan Balasescu
6f6adb61d7
Merge pull request #10099 from peppy/add-editor-tool-icons
...
Add icons for editor toolbox tools
2020-09-09 22:22:58 +09:00
Dan Balasescu
53a9804455
Merge branch 'master' into add-editor-tool-icons
2020-09-09 21:21:56 +09:00
Dean Herbert
d210e05629
Add a touch of spacing between toolbox groups
2020-09-09 19:20:11 +09:00
Dean Herbert
fb2aced3ac
Add toggle for distance snap
2020-09-09 19:15:35 +09:00
Dean Herbert
d3957e6155
Move title specification for settings groups to constructor
...
Using an abstract property was awkward for this as it is being consumed
in the underlying constructor but could not be dynamically set in time from a
derived class.
2020-09-09 18:50:31 +09:00
Dean Herbert
c9f5005efd
Add icons for editor toolbox tools
2020-09-09 18:40:01 +09:00
Yao Chung Hu
96f39dd350
Merge remote-tracking branch 'upstream/master' into visible-playfield-boundary
2020-09-05 01:50:13 -05:00
Dean Herbert
127330b8f9
Add 1ms lenience to avoid potential precision issues
2020-08-25 20:57:31 +09:00
Dean Herbert
6c7475f085
Fix snapped distances potentially exceeding the source distance
...
This results in slider placement including "excess" length, where the
curve is not applied to the placed path. This is generally not what we
want.
I considered adding a bool parameter (or enum) to change the
floor/rounding mode, but on further examination I think this is what we
always expect from this function.
2020-08-25 18:58:01 +09:00
Yao Chung Hu
0d95b768aa
Rename and Move EditorPlayfieldBorder to PlayfieldBorder for general purpose
2020-07-10 07:34:48 -05:00
Dean Herbert
780611a954
Merge branch 'master' into taiko-editor
2020-06-01 15:39:02 +09:00
Dean Herbert
19be111da0
Move incorrect placed full stop
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-05-31 22:33:10 +09:00
Dean Herbert
590931b17c
Pass hitobjects as a parameter to CreateBlueprintContainer
2020-05-29 16:45:47 +09:00
Dean Herbert
597f284805
Tidy up and complete xmldoc for HitObjectComposer
2020-05-29 16:45:47 +09:00
Dean Herbert
b2fad91589
Add swell and drumroll blueprints
2020-05-29 16:45:47 +09:00
Dean Herbert
46689a2fbc
Tidy up and complete xmldoc for HitObjectComposer
2020-05-29 11:46:32 +09:00
Dan Balasescu
1a2392aa83
Merge branch 'master' into remove-unused-mania-rprop
2020-05-28 14:57:10 +09:00
Dean Herbert
6be5917eb0
Remove necessity for custom mania interface caching
2020-05-27 23:15:16 +09:00
Dan Balasescu
0891c47d09
Merge pull request #9124 from peppy/editor-hide-non-alive-blueprints-default
...
Hide non-alive selection blueprints by default
2020-05-27 21:29:53 +09:00
Dean Herbert
9a060cfb3a
Allow drag selections to occur from outside the playfield
2020-05-27 20:44:15 +09:00
Dean Herbert
f5c974dd89
Hide non-alive selection blueprints by default
2020-05-27 13:40:16 +09:00
Dan Balasescu
b5de30ef3d
Merge branch 'master' into editor-scrolling-playfield-support
2020-05-26 14:46:58 +09:00
Dean Herbert
0cc6d6d97c
Merge pull request #9033 from smoogipoo/applydefaults-cancellation
...
Add cancellation token support to CreateNestedHitObjects()
2020-05-26 12:04:06 +09:00
Dan Balasescu
98f3d790df
Merge pull request #9107 from peppy/editor-remove-size-propagation
...
Remove unnecessary size propagation in HitObjectComposer
2020-05-25 23:55:26 +09:00
Dean Herbert
e7442ec3a2
Remove need for ManiaSnapResult
2020-05-25 19:33:03 +09:00
Dean Herbert
af5fac471e
Remove unnecessary size propagation in HitObjectComposer
2020-05-25 19:29:46 +09:00
smoogipoo
ebe2e97372
Merge branch 'master' into editor-clock-transform
2020-05-25 19:01:04 +09:00
smoogipoo
bc35bc5efb
Merge branch 'master' into applydefaults-cancellation
2020-05-25 16:45:30 +09:00
smoogipoo
cd65fc860b
Remove extra default application
2020-05-25 16:15:55 +09:00
Dean Herbert
b44beb4137
Remove double resolution of EditorClock
2020-05-25 15:40:45 +09:00
Dean Herbert
ed83ef202a
Merge branch 'master' into editor-clock-cache
2020-05-25 15:39:42 +09:00
Dan Balasescu
2f9cc0c15a
Merge pull request #9078 from peppy/editor-move-distance-snap-grid
...
Move distance snap grid to osu! HitObjectComposer
2020-05-25 15:05:30 +09:00
Dean Herbert
decdc58de5
Merge branch 'editor-clock-cache' into editor-clock-transform
2020-05-24 12:55:47 +09:00
Dean Herbert
a3a9810344
Merge branch 'master' into editor-clock-cache
2020-05-23 00:44:04 +09:00
Dean Herbert
1311fd2f64
Merge branch 'master' into editor-move-distance-snap-grid
2020-05-23 00:42:43 +09:00
Dean Herbert
83f4ba107f
Fix defaults not being applied correctly to blueprints after StartTime is changed
2020-05-22 22:42:17 +09:00
Dean Herbert
3e0ee310d0
Remove now incorrect comment
2020-05-22 18:30:39 +09:00
Dean Herbert
d18eb663b1
Add tweening seek support to EditorClock
2020-05-22 16:47:52 +09:00
Dean Herbert
dd09d7830d
Cache and resolve editor clock as EditorClock in all cases
2020-05-22 16:44:06 +09:00
Dean Herbert
8a47e2431b
Move distance snap grid implementation to OsuHitObjectComposer
2020-05-21 17:13:22 +09:00
Dean Herbert
b1fd7da824
Merge branch 'master' into editor-position-snap
2020-05-21 15:47:20 +09:00
Dean Herbert
776b842fdb
Remove unused using
2020-05-21 14:53:36 +09:00
Dean Herbert
a9a1c00cf1
Move responsibility placement blueprint's StartTime set to within
2020-05-21 14:50:33 +09:00
Dean Herbert
e09a1bf546
Only seek forwards if not already beyond the placed object
2020-05-20 21:50:52 +09:00
Dean Herbert
b5a7023312
Seek to start time after placement, not end
2020-05-20 21:46:52 +09:00
Dean Herbert
7c9fbb6fcf
Split out classes
2020-05-20 21:03:03 +09:00
Dean Herbert
82d6549161
Pass down snap result and remove local TimeAt usage
2020-05-20 21:01:29 +09:00
Dean Herbert
970bd86d2e
Remove local TimeAt usage in mania placement
2020-05-20 21:01:29 +09:00
Dean Herbert
23bf0d000e
Implement mania beat snapping support
2020-05-20 21:01:19 +09:00
Dean Herbert
ffb8d48fc3
Fix osu!mania editor placement regressions
2020-05-20 21:01:03 +09:00
Dean Herbert
c46bfc2532
Create SnapResult class to hold various snapping results
2020-05-20 21:00:47 +09:00
Dean Herbert
3354d48a38
Change snapping to be screen space coordinate based
2020-05-20 21:00:29 +09:00
smoogipoo
98125102a7
Add cancellation token support to CreateNestedHitObjects()
2020-05-15 18:07:41 +09:00
smoogipoo
f38b64d201
Fix placement blueprints handling double clicks
2020-04-13 13:57:15 +09:00
smoogipoo
ee6ea08cf8
Cleanup handling of hitobject updates
2020-04-09 20:16:44 +09:00
Dean Herbert
b65e839bd2
Simplify blueprints by removing visible state
2020-02-13 10:00:09 +09:00
Dean Herbert
0fe41fd50a
Fix blueprint showing even when mouse outside of container
2020-02-13 09:03:48 +09:00
Dan Balasescu
f3c47dc8c9
Merge branch 'master' into seek-to-endtime-on-placement
2020-02-10 14:53:11 +09:00
Dean Herbert
91203c2b12
Merge branch 'master' into placement-display-in-timeline
2020-02-08 01:50:24 +09:00
Dean Herbert
678eb8ec31
Reduce accessibility to set
...
Co-Authored-By: Dan Balasescu <smoogipoo@smgi.me>
2020-02-08 00:12:23 +09:00
Dean Herbert
2e50e56d7c
Seek to previous object endtime after successful placement
2020-02-07 19:12:09 +09:00
Dean Herbert
a6531bf73e
Don't show distance snap grid for spinners (for now)
2020-02-07 19:09:23 +09:00
Dean Herbert
e08437c5dc
Track placement object in EditorBeatmap
2020-02-07 18:03:14 +09:00
Dean Herbert
e31d69c749
Add commit status to EndPlacement; call BeginPlacement on initial movement
2020-02-07 18:02:48 +09:00
Dan Balasescu
a6a285bc09
Merge branch 'master' into fix-editor-snapping-inaccuracy
2020-02-07 17:20:42 +09:00
Dean Herbert
8990152315
Fix duration snapping still being incorrect
2020-02-07 16:43:50 +09:00
Dean Herbert
3aa18abd99
Fix typo in xmldoc
...
Co-Authored-By: Tree <thewildtree@outlook.com>
2020-02-07 16:22:59 +09:00
Dean Herbert
f63bf06373
Fix incorrect distance snap grid being displayed when in selection mode
2020-02-07 16:09:54 +09:00
Dean Herbert
63c595ed97
Make EditorBeatmap a component and move UpdateHitObject to it
2020-02-05 17:48:21 +09:00
Berkan Diler
9596030e1d
Make use of ElementAtOrDefault() when possible
2020-01-31 18:32:47 +01:00
Dan Balasescu
77b1bf3ee2
Merge pull request #7648 from peppy/keyboard-composition-tools
...
Allow selecting composition tools using 1-4 keys
2020-01-29 17:29:11 +09:00
Dan Balasescu
37c7fe30fa
Merge branch 'master' into keyboard-composition-tools
2020-01-29 16:52:47 +09:00
Dan Balasescu
66b8d38d42
Merge branch 'master' into selection-composition-conformity
2020-01-29 16:52:45 +09:00
Dan Balasescu
65ac412ff8
Merge branch 'master' into fix-beat-snap
2020-01-29 15:32:27 +09:00
Dean Herbert
8e2159e4eb
Ensure selection tool correctly matches selection state
...
- When a selection is made (via the timeline) the selection tool should become the select tool.
- When the selection tool is changed to anything *but* the select tool, the selection should be cleared.
2020-01-28 15:13:12 +09:00
Dean Herbert
7e0c45de6d
Allow selecting composition tools using 1-4 keys
2020-01-28 15:09:03 +09:00
Dean Herbert
e81d3c51ed
Move select tool to an actual tool implementation
...
Also tidies up radio button action firing so calling Select actually fires the associated action in all cases.
2020-01-28 15:05:29 +09:00
Dean Herbert
58654f28b6
Fix beat snap implementation being incorrect
2020-01-28 12:48:24 +09:00
smoogipoo
027778acc1
Fix slider circles not being selected by default
2020-01-24 17:51:24 +09:00
Dean Herbert
289be7a17b
Merge branch 'i-beat-snapping' into timeline-maybe
2020-01-23 15:45:33 +09:00
Dean Herbert
ccf911884b
Remove passed in BaetDivisor
2020-01-23 15:31:56 +09:00
Dean Herbert
098d643955
Move beat snapping to its own interface
2020-01-23 14:39:56 +09:00
Dean Herbert
56c044c44a
Move beat snapping to its own interface
2020-01-23 14:30:25 +09:00
Dean Herbert
98aaf38649
Fix playfield movement regressing
2020-01-21 23:58:51 +09:00
Dean Herbert
24a466ab24
Avoid null by calling initial OnDeselected later
2020-01-21 17:36:21 +09:00
Dean Herbert
8f16c1cb04
Add non-hiding selection state
2020-01-21 14:21:00 +09:00
Dean Herbert
bd96cf94a6
Begin refactoring SelectionBlueprint to handle non-drawable HitObjects
2020-01-21 12:47:14 +09:00
smoogipoo
5f178b7755
General refactorings
2020-01-16 11:54:03 +09:00
Dean Herbert
d57f55f053
Apply remaining changes required to restore previous functionality
2020-01-15 19:09:49 +09:00
Dean Herbert
ee332e0d42
Split out BlueprintContainer functionality further
2020-01-02 18:21:16 +09:00
smoogipoo
8c378dc625
Move EditorBeatmap construction/conversion to Editor
2019-12-30 14:51:14 +09:00
smoogipoo
6069d98ced
Remove generic editor beatmap
2019-12-27 19:39:30 +09:00
smoogipoo
5861eca80d
Make DrawableRuleset take a converted beatmap
2019-12-12 15:58:11 +09:00
Dean Herbert
9f4c8db395
Add xmldoc
2019-12-06 12:17:41 +09:00
Dean Herbert
d8620a70fb
Make work in editor
2019-12-05 20:12:25 +09:00
smoogipoo
10fd5ef5a7
Merge context menus
2019-11-12 15:02:27 +09:00
smoogipoo
e924a5d51e
Disable ruleset input in the editor
2019-11-11 13:04:43 +09:00
smoogipoo
f3ddc4c00b
Advance editor clock after a snapped placement
2019-11-07 14:08:02 +09:00
smoogipoo
64d900b387
Disable input for non-selected blueprints
2019-11-05 11:33:37 +09:00
smoogipoo
41ae66d517
Update slider when control points change
2019-10-31 18:24:38 +09:00
smoogipoo
9f28b1905b
Expose composer method to update hitobject
2019-10-31 18:15:19 +09:00
Dan Balasescu
3692846367
Merge branch 'master' into snapping-refactor
2019-10-25 18:26:14 +09:00
smoogipoo
4ca6a5a0cc
Interface the distance snap provider
2019-10-25 16:50:21 +09:00
smoogipoo
607b4d874a
Refactor flow of snapping through HitObjectComposer
2019-10-25 16:40:30 +09:00
Dean Herbert
fa3350ce2d
Refactor blueprint movement and selection events ( #6588 )
...
Refactor blueprint movement and selection events
2019-10-24 22:58:03 +09:00
smoogipoo
d83b9ef0e4
Rename grid snapping methods
2019-10-24 18:18:04 +09:00
smoogipoo
f45f17339c
Implement slider path distance snapping
2019-10-24 18:17:30 +09:00
smoogipoo
e04c77178c
Move selection events to BlueprintContainer
2019-10-24 14:58:02 +09:00
smoogipoo
714c89faa4
Move selection drag events to BlueprintContainer
2019-10-24 14:57:58 +09:00
smoogipoo
c03fa01fd9
Remove unnecessary set
2019-10-23 17:51:16 +09:00
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
e3fa5f1da3
Merge branch 'master' into beatsnap-grid-integration
2019-10-21 18:44:34 +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
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
f1d7e7e7f6
Merge branch 'placement-blueprint-starttime' into beatsnap-grid-integration
2019-10-18 13:49:09 +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
79b2c7b480
Make BeginPlacement() set the hitobject start time
2019-10-16 20:04:15 +09:00
smoogipoo
c1db11fa06
More removal of "drag"
2019-10-08 19:24:58 +09:00
smoogipoo
08d043f447
Move selection relative to the hitobject start positions
2019-10-08 18:57:03 +09:00
Dean Herbert
6fce646369
Merge branch 'master' into placement-blueprint-movement
2019-10-04 19:05:56 +08:00
smoogipoo
652acac87f
Move placement movement event to BlueprintContainer
2019-10-03 16:14:42 +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
dad0fa2dca
Bind disposal
2019-08-29 16:31:40 +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
8c67f58e2d
Disable frame-stable playback in the editor
2019-08-15 18:25:31 +09:00
Arphox
07e17518e9
Fix all "Maintainability" CodeFactor issues
2019-06-11 10:28:16 +02: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
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36: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
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
9bf48863b0
Fix DrawableRuleset drawable creation method's name
2019-03-25 00:00:29 +09:00
Dean Herbert
5f288650bf
Fix misses/typos
2019-03-20 14:49:33 +09:00
Dean Herbert
3b7a76aa4e
Fix typo
2019-03-20 11:22:34 +09:00
Dean Herbert
e0ab40b082
Rename missed files
2019-03-19 23:56:12 +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
Dean Herbert
5254b07680
Merge remote-tracking branch 'upstream/master' into inter-column-movements
2018-11-30 11:57:53 +09:00
Dean Herbert
7ffc597a8e
Fix one-frame issues
2018-11-29 14:55:20 +09:00
Dean Herbert
3d46ac7d35
Remove unnecessary high frequency input
2018-11-29 13:21:11 +09:00
smoogipoo
f9f300b215
Fix drag breaking if scrolling while dragging
2018-11-26 16:08:56 +09:00
Dean Herbert
4cfeb1b9a1
Merge branch 'master' into note-placement
2018-11-26 14:35:31 +09:00
Dean Herbert
c944e8bb29
Merge branch 'master' into fix-deletion-crash
2018-11-26 14:20:02 +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
Dean Herbert
1da2006dea
Merge branch 'master' into note-placement
2018-11-22 19:44:39 +09:00
smoogipoo
dc8cd51e15
Implement mania note deletion
2018-11-20 17:26:00 +09:00
smoogipoo
f27bd3ef3e
OpenTK -> osuTK
2018-11-20 17:14:59 +09:00
smoogipoo
d5b937f88f
Fix post-merge issue
2018-11-19 19:17:03 +09:00
Dan Balasescu
8cee4141e8
Merge branch 'master' into note-placement
2018-11-19 19:08:53 +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
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
6d43baf4bf
Make show/hide only invoked once each
2018-11-13 13:12:11 +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
c6350c6efd
Remove IHasEditablePosition
2018-11-08 13:03:11 +09:00
smoogipoo
5d51719572
Make selection blueprints handle position adjustments
2018-11-07 16:21:32 +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
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
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
Dean Herbert
85a7325911
Fix placement masks handling scroll events
2018-10-31 17:23:27 +09:00
Dean Herbert
3207a585c6
Add missing xmldoc
2018-10-31 12:01:10 +09:00
smoogipoo
2b141a2bc1
Make PlacementMask abstract
2018-10-25 19:10:59 +09:00
smoogipoo
ea6db8b793
Make the hitobject masks move within their placement/selection
2018-10-25 18:16:25 +09:00
smoogipoo
0e841628b6
Implement hitobject deletion
2018-10-18 16:36:06 +09:00
smoogipoo
5a5e91eaed
Add a way to re-invoke ApplyDefaults on placement object
2018-10-17 18:36:47 +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
08e3fe1def
Add PlacementStarted event, rename placement methods
2018-10-17 14:37:45 +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
e931aa3d9e
Move positional modifications to HitCirclePlacementMask
2018-10-04 13:43:50 +09:00
smoogipoo
7809ce9361
Fix 1-frame position discrepancy
2018-10-03 17:05:22 +09:00
smoogipoo
934b687965
Fix selection masks not being added for new objects
2018-10-03 16:49:59 +09:00
smoogipoo
34ed60830c
Keep the placement hitobject time up-to-date
2018-10-03 16:44:37 +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
ekrctb
50091252e2
Adapt signature change of event handlers
2018-10-02 12:02:55 +09:00
ekrctb
99fc04c8af
Change signature to new event handler
2018-10-02 12:02:47 +09:00
smoogipoo
a8f156584b
Update framework with positional/non-positional changes
2018-09-26 14:01:15 +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
Dean Herbert
d868d81b59
Merge branch 'master' into centralise-judgement-display
2018-07-23 02:58:49 +09:00
Dean Herbert
0f37758314
Update framework
2018-07-21 16:21:53 +09: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
44cf2aa7a3
Sync changes on composition tools
2018-05-22 09:00:11 +03:00
AlFasGD
61a18b952f
Remove useless things
2018-05-21 23:24:10 +03:00
AlFasGD
d504a44dfb
Implement mask layering (incomplete)
2018-05-21 23:08:04 +03:00
DrabWeb
ec53927d8e
Add selection to DrawableRoom.
2018-05-10 22:48:07 -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