Naxess
7a6e9e5070
Change category of unsnap check to timing
...
Makes more sense, as this is typically the result of timing changes.
2021-04-27 02:32:57 +02:00
Naxess
9e49ecb573
Remove unused virtual
keywords
...
Added these in a previous iteration, where I had the mania variant inherit this class.
No longer necessary as `IHasColumn` was used to make this check more generic.
2021-04-27 02:23:06 +02:00
Naxess
a3c1b1fd52
Fix accessibility of areConcurrent
2021-04-27 01:24:38 +02:00
Naxess
ce258febf6
Rename CheckUnsnaps
-> CheckUnsnappedObjects
...
Will potentially have `CheckUnsnappedKiai` or similar later, so this is worth specifying.
Also consistent with `CheckConcurrentObjects`, which will likely have a `CheckConcurrentLines` later.
2021-04-26 20:32:44 +02:00
Naxess
b9e4f73f78
Add concurrent objects check to BeatmapVerifier
2021-04-26 20:28:59 +02:00
Naxess
a3570e18dd
Add concurrent objects check
...
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.
We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
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