Commit Graph

680 Commits

Author SHA1 Message Date
965a1ead36 Disallow zero-length slider blueprint placements 2021-04-16 14:38:30 +09:00
5c0ef55691 Rename SliderPlacementState to make way for more generic version 2021-04-16 14:09:35 +09:00
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
03ba04e8ce Split out general checks into its own verifier class (and remove static usage) 2021-04-13 19:50:22 +09:00
304fe5cd34 Add CheckBackground to OsuBeatmapVerifier 2021-04-13 10:41:02 +02:00
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
c8cb4286f6 Add reference for screen bounding box numbers 2021-04-13 10:35:06 +02:00
fbc6fb8fc5 Split out common logic into private method and add inline comment for future visitors 2021-04-13 15:35:57 +09:00
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
d9e3276d0e Don't update path type once immediately 2021-04-12 19:18:22 +02:00
19a154ddf1 Rename checkOrigin -> check
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
bb720c23a0 Remove check ctors and locals 2021-04-12 17:12:37 +02:00
62c1812282 Remove redundant parameter naming 2021-04-12 23:37:47 +09:00
36bd235021 Move nested classes to bottom of file 2021-04-12 23:36:10 +09:00
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
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
8bf85d737c Change Metadata into a get property 2021-04-12 15:52:29 +09:00
8c31e96cdf Change some methods to get properties 2021-04-12 15:52:18 +09:00
f78239c7f2 Move enums out of nesting 2021-04-12 15:52:18 +09:00
1c553b5d48 Checker -> BeatmapVerifier 2021-04-12 15:29:05 +09:00
14bd5bdc77 Merge branch 'master' into verify-tab 2021-04-12 15:14:37 +09:00
dac733cced Fix field name and accessibility 2021-04-10 15:49:57 +02:00
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
bc4f3351f3 Replace checks with realistic ones 2021-04-10 13:03:16 +02:00
d1007ff26a Move components to more appropriate spot 2021-04-10 13:02:22 +02:00
f64b2095bf Carry over the previous path type 2021-04-09 11:04:00 +02:00
9a675a2219 Correct 4+ point perfect curves to Bezier 2021-04-08 12:33:43 +02:00
be4520fe33 Fix index out of range possibility 2021-04-08 11:46:00 +02:00
0341023d13 Improve UX of selecting PerfectCurve 2021-04-08 09:06:28 +02:00
725edfcbf3 Add path type menu change method 2021-04-08 09:05:35 +02:00
d6490899e2 Simplify slider path bindings
Adds a slight performance overhead, but solves the memory leak and makes the code much easier to follow.
2021-04-08 03:21:56 +02:00
d1d56c636a Convert pathTypes to local variable
Not entirely sure what holds the reference to pathTypes now (the binding to`slider.Path.ControlPoints` maybe?), but this does seem to work still.
2021-04-08 01:43:06 +02:00
b8ab1c7682 Track path type changes for PointsInSegment 2021-04-07 17:19:12 +02:00
9c4604e3c5 Add example checks 2021-04-07 14:36:53 +02:00
0343ef7f14 Add ruleset-specific checker 2021-04-07 14:36:43 +02:00
7e47922fb7 Merge branch 'master' into circular-arc-freeze 2021-04-01 17:09:45 +02:00
5022a78e80 Check current point instead of start point
Since each control point will call this when the path updates, the previous would correct the start segment 3 times instead of just once.

This fixes that.
2021-03-31 20:25:46 +02:00
75b8f2535f Move updatePathTypes to PathControlPointPiece
Here we produce a local bound copy of the path version, and bind it to update the path type.

This way, if the path version updates (i.e. any control point changes type or position), we check that all control points have a well-defined path.

Additionally, if the control point piece is disposed of, the GB should also swoop up the subscription because of the local bound copy.
2021-03-31 20:09:56 +02:00
b82247aabe Add inline comments and use Vector2.Zero 2021-03-30 14:13:16 +09:00
eda45e0e28 Merge branch 'master' into scale-breaking-bounds 2021-03-30 14:05:19 +09:00
70d5b616f2 Add scaling path type recovery 2021-03-29 15:49:49 +02:00
17b16d4f89 Clarify purpose of getClampedScale() 2021-03-29 14:17:30 +02:00
1d99a63f17 Limit minimum size for single slider scaling 2021-03-29 14:16:27 +02:00
690debe507 Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy 2021-03-29 19:31:16 +09:00
9a02f3868c return a string instead 2021-03-29 17:29:05 +08:00
a50c4be8ab Add missing space 2021-03-26 17:41:36 +01:00
305c2e31cf Clarify todo comment 2021-03-26 16:53:17 +01:00
25ea60cb92 Remove return values from HandleScale submethods 2021-03-26 16:40:10 +01:00
5d272bef97 Remember ContolPoint positions instead of recalculating them 2021-03-26 16:31:04 +01:00
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