Commit Graph

3091 Commits

Author SHA1 Message Date
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
a2fc9c398f Rename CreateChecker -> CreateBeatmapVerifier 2021-04-12 10:08:30 +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
e2470d757e Merge branch 'master' into legacy-spm-counter 2021-04-12 12:52:52 +09:00
a42714540b Add follow delay setting to osu! flashlight mod 2021-04-10 23:04:15 -07: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
cceb10cc85 Merge pull request #12337 from Naxesss/slider-path-segments
Improve UX of correcting invalid slider path types
2021-04-09 19:26:49 +09:00
f64b2095bf Carry over the previous path type 2021-04-09 11:04:00 +02:00
f2e811928b Rework slider hackery to not overwrite Samples 2021-04-09 15:28:08 +09:00
8efa381d3a Actually use whistle sample for sliderwhistle 2021-04-08 23:13:16 +09:00
7d291ed7d7 Don't serialise OriginalSamples 2021-04-08 20:57:50 +09:00
7713c8a45f Add support for sliderwhistle 2021-04-08 20:20:09 +09: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
a8839792fd Merge branch 'master' into circular-arc-freeze 2021-04-08 14:33:03 +09: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
784552022f Merge pull request #12303 from smoogipoo/fix-last-control-point-segmenting
Make last control point not able to make an implicit segment
2021-04-06 13:35:55 +09:00
42e816fcae Add failing tests 2021-04-05 17:48:29 +09:00
85d2b1232a Refactor to abstract out strain logic into StrainSkill class
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
9c3d15171c Reword xmldoc slightly 2021-04-02 18:00:28 +09:00
5ac36a2462 Switch AlwaysPlaySample to SamplePlaysOnlyOnHit in DrawableSliderTail for conformity 2021-04-02 03:56:23 -05:00
48e9985782 Make "AlwaysPlayTailSample" a mod setting rather than a hardcoded constant. 2021-04-02 03:10:28 -05:00
5063cd957f Force hit sample to play when Classic mod is enabled 2021-04-02 02:54:35 -05: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
9504fe3f3c Inline add of spm calculation (no need for it to be a separate call) 2021-03-30 13:43:05 +09:00