1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 23:27:24 +08:00
Commit Graph

3049 Commits

Author SHA1 Message Date
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
Dean Herbert
9504fe3f3c Inline add of spm calculation (no need for it to be a separate call) 2021-03-30 13:43:05 +09:00
Salman Ahmed
f848ef5347 Add legacy spinner SPM counter support 2021-03-30 04:19:23 +03:00
Salman Ahmed
0bf84e473d Refactor spinner SPM counter for skinning purposes 2021-03-30 04:19:23 +03:00
Naxess
70d5b616f2 Add scaling path type recovery 2021-03-29 15:49:49 +02:00
Leon Gebler
17b16d4f89 Clarify purpose of getClampedScale() 2021-03-29 14:17:30 +02:00
Leon Gebler
1d99a63f17 Limit minimum size for single slider scaling 2021-03-29 14:16:27 +02:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy 2021-03-29 19:31:16 +09:00
Nathan Alo
9a02f3868c return a string instead 2021-03-29 17:29:05 +08:00
Leon Gebler
a50c4be8ab Add missing space 2021-03-26 17:41:36 +01:00
Leon Gebler
305c2e31cf Clarify todo comment 2021-03-26 16:53:17 +01:00
Leon Gebler
25ea60cb92 Remove return values from HandleScale submethods 2021-03-26 16:40:10 +01:00
Leon Gebler
5d272bef97 Remember ContolPoint positions instead of recalculating them 2021-03-26 16:31:04 +01: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
Nathan Alo
2bea69456e remove implementations 2021-03-26 15:24:33 +08:00
Naxess
51f0477df4 Move bounding box logic to framework 2021-03-26 04:42:46 +01:00
Naxess
ce9130ca50 Remove determinant limit
This has since been added into the framework through https://github.com/ppy/osu-framework/pull/4302
2021-03-25 17:38:55 +01:00
Salman Ahmed
bada1e7189 Update legacy spinner bonus counter usage 2021-03-25 15:00:06 +03:00
Salman Ahmed
6aa0c9d8fd Merge branch 'master' into legacy-sprite-text-fonts 2021-03-25 14:52:01 +03:00
Dean Herbert
b4bccc19ba Refactor LegacySpriteText initialisation 2021-03-25 18:37:13 +09:00
Dean Herbert
c715b9b89e Merge branch 'master' into legacy-spinner-bonus 2021-03-25 18:09:25 +09:00
Naxess
9df059b01d Add bounding box limit 2021-03-24 17:25:28 +01:00
Leon Gebler
e67ab3cca7 Change single slider scaling to a method that works 2021-03-24 12:24:11 +01:00
Leon Gebler
3d471d239f Clamp multi-object scale instead of cancelling it 2021-03-24 12:24:11 +01:00
Leon Gebler
def0e5c42e Fix off-by-one error in isQuadInBounds 2021-03-24 12:24:11 +01:00
Naxess
e0240ab9d9 Increase exterior threshold 2021-03-24 05:55:34 +01:00
Naxess
4ae3eaaac6 Move path type correction
This is better because `PathControlPointVisualizer` is local to the editor, meaning there is no chance that this could affect gameplay.
2021-03-24 03:02:19 +01:00
Naxess
0bcd38e661 Simplify path type maintenance when dragging 2021-03-24 02:57:47 +01:00
Naxess
5ee280f941 Update PointsInSegment when adding/removing points
There was a bug where if you created a slider, moved the last point, and then added a point such that it became a PerfectCurve, it would fail to recover after becoming a Bezier.

This fixes that.
2021-03-24 02:56:32 +01:00
Dan Balasescu
ade542191a
Merge pull request #12154 from peppy/fix-hitcircle-glow-fade-out
Fix default skin's glow resetting fade on miss
2021-03-23 20:14:51 +09:00
Dean Herbert
d10ff615fe Fix default skin's glow resetting fade on miss 2021-03-23 19:28:08 +09:00
Dean Herbert
64e85ba995 Always fade out approach circles at a HitObject's start time to better match stable 2021-03-23 19:19:07 +09:00
Dan Balasescu
9e38d580ca
Merge pull request #12139 from peppy/fix-editor-spinner-looping-too-long
Fix spinners playing looping sound too long in the editor
2021-03-23 17:44:07 +09:00
Dean Herbert
098005393e Remove unnecessary null checks and debug code 2021-03-23 10:38:37 +09:00
Naxess
067178e537 Maintain path type when dragging/placing 2021-03-22 15:59:06 +01:00
smoogipoo
e60ff45b73 Add another test for colinear perfect curves 2021-03-22 16:57:40 +09:00
Dean Herbert
c4d08463ad Fix spinners playing looping sound too long in the editor
The `OnComplete` event was never being run due to the transform playing
out longer than the spinner's lifetime. I've matched the durations, but
also moved the `Stop()` call to what I deem a safer place to run it (I
did notice that without this it would still potentially never fire).

Note that this is more noticeable in the editor because of lifetime
extension. In gameplay, the returning of a spinner to the pool will
clean things up (but in the editor that can take longer, depending on
timeline zoom level).

Another thing worth mentioning is that the fade doesn't actually work.
This is due to https://github.com/ppy/osu-framework/pull/4212.

Closes #12119.
2021-03-22 16:04:51 +09:00
Bartłomiej Dach
e67c759eef Mark control point visualiser as possibly-null 2021-03-19 22:44:31 +01:00
Bartłomiej Dach
9634560d4b Fix control point visualiser crashing after deselections
`SliderSelectionBlueprint.OnDeselected()` would expire the
`ControlPointVisualiser` on deselection, leading to its removal from the
blueprint and eventual disposal, but still kept a separate reference to
said visualiser in another field.

This could lead to that stale reference to a disposed child getting read
in `ReceivePositionalInputAt()`, crashing quite a ways down over at the
framework side on futilely trying to compute the bounding box of a
drawable with no parent.
2021-03-19 21:40:22 +01:00
Dean Herbert
27c38db14d Add tooltips for slider path nodes which aren't inheriting 2021-03-19 16:58:08 +09:00
Dean Herbert
5f31304d05 Give each type of slider path type a unique colour to help visually distinguish them 2021-03-19 14:00:26 +09:00
Nathan Alo
51e0304c54 properly format strings per ruleset 2021-03-17 18:31:09 +08:00
smoogipoo
7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
Salman Ahmed
848adddd92 Use double.ToString(InvariantInfo) instead 2021-03-15 11:05:29 +03:00