1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 13:22:55 +08:00
Commit Graph

3092 Commits

Author SHA1 Message Date
Dean Herbert
6164902eba
Merge pull request #12510 from smoogipoo/fix-wiggle-slider-tails
Fix slider tails wiggling independently
2021-04-21 11:30:13 +09:00
smoogipoo
e454037d82 Add to comment 2021-04-21 10:32:13 +09:00
Dan Balasescu
397df41570
Merge pull request #12507 from peppy/fix-cursor-position-rotated
Fix click-to-resume cursor location being incorrect when playfield is transformed
2021-04-21 10:29:35 +09:00
smoogipoo
9d423201ed Fix slider tails wiggling independently 2021-04-21 10:29:18 +09:00
Dean Herbert
4910d8f56c Fix click-to-resume cursor location being incorrect when playfield is transformed
Closes #12501.
2021-04-21 00:12:49 +09:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
Add background and audio checks
2021-04-21 00:10:32 +09:00
Dan Balasescu
86772869da
Merge pull request #12498 from peppy/barrel-roll-faster-spin
Allow faster roll speed selection in "Barrel Roll" mod
2021-04-20 20:39:45 +09:00
Dean Herbert
ac0ed72d04 Keep hitcircles aligned with view in "Barrel Roll" mod 2021-04-20 18:36:11 +09:00
Dean Herbert
f11b068dee Allow faster roll speed selection in "Barrel Roll" mod 2021-04-20 18:22:58 +09:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks 2021-04-20 02:36:13 +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
Dean Herbert
510e54ff54 Update framework 2021-04-19 23:41:21 +09: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
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
Salman Ahmed
c1082ddb9a
Add space before the unit
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-04-17 06:28:07 +03:00
Salman Ahmed
892a8a7cd2 Remove unnecessary comma 2021-04-17 04:23:48 +03:00
Salman Ahmed
78c8508784 Remove unused using directive
gotta git gud
2021-04-17 03:52:08 +03:00
Salman Ahmed
d5a1e00feb Improve "barrel roll" mod settings description 2021-04-17 03:32:47 +03:00
Dean Herbert
f824105075 Merge branch 'master' into fix-slider-zero-length 2021-04-16 18:47:22 +09:00
Dan Balasescu
7648d6f7fb
Merge pull request #12443 from peppy/fix-slider-scale-crash
Fix div-by-zero when scaling a 1-dimensional slider
2021-04-16 17:31:42 +09:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
Dean Herbert
401bf368a7 Merge branch 'fix-slider-scale-crash' into fix-slider-zero-length 2021-04-16 16:58:19 +09:00
Dean Herbert
8de68e0ebf Fix div-by-zero when scaling a 1-dimensional slider 2021-04-16 16:55:26 +09:00
Dean Herbert
ff408b852e Handle scaling a slider below minimum length 2021-04-16 15:45:24 +09:00
Dean Herbert
89373638be Handle control point deletion when the resulting slider would be too short to be useful 2021-04-16 15:45:24 +09:00
Dean Herbert
2949a6bbdc Handle control point drag revert 2021-04-16 15:45:24 +09:00
Dean Herbert
d38e294d96 Centralise length validation function 2021-04-16 15:45:24 +09:00
Dean Herbert
965a1ead36 Disallow zero-length slider blueprint placements 2021-04-16 14:38:30 +09:00
ekrctb
a965e8a75d Remove AutoGenerator workaround of now-fixed issue 2021-04-16 14:13:41 +09:00
ekrctb
91c7d8d26c Introduce StartFrame and EndFrame to simplify the replay interpolation code 2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de Make FramedReplayInputHandler.CurrentTime non-null 2021-04-16 14:13:41 +09:00
Dean Herbert
5c0ef55691 Rename SliderPlacementState to make way for more generic version 2021-04-16 14:09:35 +09:00
Dan Balasescu
587973be25
Merge pull request #12405 from frenzibyte/top-left-cursor
Add support for legacy skin's `CursorCentre` setting
2021-04-16 00:30:53 +09:00
smoogipoo
34859a4760 Invalidate drawnode on change 2021-04-15 23:37:05 +09:00
Dan Balasescu
3374895e40
Merge branch 'master' into mod-barrel-roll 2021-04-15 22:15:26 +09:00
smoogipoo
1a987dfbc0 Fix gameplay cursor showing offscreen 2021-04-15 21:16:38 +09:00
Dean Herbert
698a9d3fed Add rotation direction setting 2021-04-15 14:40:03 +09:00
Dean Herbert
23eb1c655c Add missing description 2021-04-15 14:37:47 +09:00
Dean Herbert
7469849e7c Merge branch 'abstract-mod-description' into mod-barrel-roll 2021-04-15 14:37:17 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
Dean Herbert
0d32290cd5 Show roll speed in rotations-per-minute 2021-04-15 13:15:52 +09:00
Dean Herbert
362a5a39d0 Scale the playfield to avoid off-screen objects 2021-04-15 13:15:42 +09:00
Dean Herbert
a209415942 Add "Barrel Roll" mod 2021-04-14 16:52:29 +09:00
Salman Ahmed
367dafab56 Apply CursorCentre to old-style legacy cursor trail 2021-04-14 08:20:18 +03:00
Salman Ahmed
ad53ababe8 Fix wrong default
Ah, soz
2021-04-14 08:16:46 +03:00
Salman Ahmed
bf5ed12b75 Add support for legacy skin CursorCentre setting 2021-04-14 06:33:54 +03:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +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
304fe5cd34 Add CheckBackground to OsuBeatmapVerifier 2021-04-13 10:41:02 +02:00
Naxess
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
Naxess
c8cb4286f6 Add reference for screen bounding box numbers 2021-04-13 10:35:06 +02:00
Dean Herbert
fbc6fb8fc5 Split out common logic into private method and add inline comment for future visitors 2021-04-13 15:35:57 +09: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
d9e3276d0e Don't update path type once immediately 2021-04-12 19:18:22 +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
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
a2fc9c398f Rename CreateChecker -> CreateBeatmapVerifier 2021-04-12 10:08:30 +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
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
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
Dean Herbert
e2470d757e
Merge branch 'master' into legacy-spm-counter 2021-04-12 12:52:52 +09:00
Joseph Madamba
a42714540b Add follow delay setting to osu! flashlight mod 2021-04-10 23:04:15 -07:00
Naxess
dac733cced Fix field name and accessibility 2021-04-10 15:49:57 +02: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
d1007ff26a Move components to more appropriate spot 2021-04-10 13:02:22 +02:00
Dean Herbert
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
Naxess
f64b2095bf Carry over the previous path type 2021-04-09 11:04:00 +02:00
smoogipoo
f2e811928b Rework slider hackery to not overwrite Samples 2021-04-09 15:28:08 +09:00
smoogipoo
8efa381d3a Actually use whistle sample for sliderwhistle 2021-04-08 23:13:16 +09:00
smoogipoo
7d291ed7d7 Don't serialise OriginalSamples 2021-04-08 20:57:50 +09:00
smoogipoo
7713c8a45f Add support for sliderwhistle 2021-04-08 20:20:09 +09:00
Naxess
9a675a2219 Correct 4+ point perfect curves to Bezier 2021-04-08 12:33:43 +02:00
Naxess
be4520fe33 Fix index out of range possibility 2021-04-08 11:46:00 +02:00
Naxess
0341023d13 Improve UX of selecting PerfectCurve 2021-04-08 09:06:28 +02:00
Naxess
725edfcbf3 Add path type menu change method 2021-04-08 09:05:35 +02:00
Dean Herbert
a8839792fd
Merge branch 'master' into circular-arc-freeze 2021-04-08 14:33:03 +09:00
Naxess
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
Naxess
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
Naxess
b8ab1c7682 Track path type changes for PointsInSegment 2021-04-07 17:19:12 +02:00
Naxess
9c4604e3c5 Add example checks 2021-04-07 14:36:53 +02:00
Naxess
0343ef7f14 Add ruleset-specific checker 2021-04-07 14:36:43 +02:00
Dean Herbert
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
smoogipoo
42e816fcae Add failing tests 2021-04-05 17:48:29 +09:00
Samuel Cattini-Schultz
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
smoogipoo
9c3d15171c Reword xmldoc slightly 2021-04-02 18:00:28 +09:00
Amber
5ac36a2462 Switch AlwaysPlaySample to SamplePlaysOnlyOnHit in DrawableSliderTail for conformity 2021-04-02 03:56:23 -05:00
Amber
48e9985782 Make "AlwaysPlayTailSample" a mod setting rather than a hardcoded constant. 2021-04-02 03:10:28 -05:00
Amber
5063cd957f Force hit sample to play when Classic mod is enabled 2021-04-02 02:54:35 -05:00
Naxess
7e47922fb7
Merge branch 'master' into circular-arc-freeze 2021-04-01 17:09:45 +02:00
Naxess
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
Naxess
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
Dean Herbert
b82247aabe Add inline comments and use Vector2.Zero 2021-03-30 14:13:16 +09:00
Dean Herbert
eda45e0e28 Merge branch 'master' into scale-breaking-bounds 2021-03-30 14:05:19 +09:00