Mapset Verifier checks
NiceAesth opened this issue Β· comments
This table is copied from ppy#12091 (comment). Keeping track of an updated version.
Checks from Kyazero/MVAdditions are also intended to be ported, with permission given here.
Related links:
https://github.com/Naxesss/MapsetChecks/tree/master/Checks
https://github.com/Naxesss/MapsetVerifierFramework/tree/master/objects
https://github.com/KyaZero/MVAdditions/tree/main/Checks
Status
βοΈ Done
π‘ Done, but not merged
β Not looked at yet
βοΈ Unnecessary
π Blocked
All Rulesets
Check | Status | Difficulty | Priority |
---|---|---|---|
Missing background. | βοΈ ppy#12361 | β | 0 |
Multiple or missing audio files. | βοΈ ppy#12492 π Can't check multipleΒΉ. | β | 0 |
Inconsistent or unset preview time. | βοΈ ppy#22281 | β | 0 |
Inconsistent metadata. | π ΒΉ π‘ Β² | β | 0 |
Inconsistent uninherited lines, meter signatures or BPM. | π ΒΉ | β | 0 |
Too high or low audio bitrate. | βοΈ ppy#12492 | β β | 0 |
Unsnapped hitobjects. | βοΈ ppy#12588 | β β | 0 |
Concurrent hitobjects. | βοΈ ppy#12588 | β β | 0 |
Inconsistent mapset id, countdown, epilepsy warning, etc. | π ΒΉ π‘ Β² | β β | 0 |
Low volume hitsounding. | βοΈ ppy#13669 | β | 1 |
Too short hitsounds. | βοΈ ppy#13871 | β | 1 |
0-byte files. | βοΈ ppy#13871 | β | 1 |
Inconsistent video usage. | π ΒΉ | β | 1 |
Objects too close together. | β (< 10 ms) | β | 1 |
Too high or low background resolution. | βοΈ ppy#12492 | β β | 1 |
Lowest difficulty too difficult for the given drain/play time(s). | π ΒΉ | β β | 1 |
Audio channels in video. | βοΈ ppy#13871 | β β | 1 |
Delayed hitsounds. | βοΈ ppy#24648 | β β β | 1 |
Wrongly or inconsistently snapped hitobjects. | π ΒΉ | β β β | 1 |
Too high video resolution. | β | β | 2 |
Missing genre/language in tags. | π‘ Not PRed yet | β | 2 |
Unicode in romanized fields. | π‘ Not PRed, will batch together with other metadata checks. | β | 2 |
Abnormal difficulty settings. | β | β | 2 |
Too short drain time. | βppy#24175 | β | 2 |
Zero-length objects. | βοΈ ppy#13874 | β | 2 |
Too high sprite resolution. | β | β β | 2 |
Incorrect marker format. | β | β β | 2 |
Incorrect marker spacing. | β | β β | 2 |
Incorrect format of (TV Size) / (Game Ver.) / (Short Ver.) / (Sped Up Ver.) in title. | β | β β | 2 |
More than 20% unused audio at the end. | β | β β | 2 |
Incorrect hitsound format. | β | β β | 2 |
Slider tick rates not aligning with any common beat snap divisor. | β | β β | 2 |
Unused timing lines. | β Possibly unnecessary. Made to prevent shifts in timing due to uninherited lines rounding their time to an integer, even when the cursor is at a decimal time (e.g. snapped to prior timing). May work differently in lazer. | β β | 2 |
Overlay layer usage. | β | β | 3 |
Inconsistent video offset. | π ΒΉ | β | 3 |
Unsnapped kiai. | β | β | 3 |
Abnormal amount of slider nodes. | β | β | 3 |
First line toggles kiai or is inherited. | β Possibly unnecessary. Nothing to inherit, causing undefined behaviour. Kiai causes the entire intro prior to the line to act as if in kiai. May work differently in lazer. | β | 3 |
Incorrect audio format. | β | β β | 3 |
Imbalanced hitsounds. | β | β β | 3 |
Breaks only achievable through .osu editing. | β ppy#24259 | β β | 3 |
Frequent finish hitsounds. | β | β β β | 3 |
Concurrent or conflicting timing lines. | βοΈNo longer be possible with the new control point system. It is possible to add another point 0.000001 ms earlier/later, but doesn't seem worth implementing a check for. | - | - |
Unused files. | βοΈ Unused files are automatically removed. | - | - |
Issues with updating or downloading. | βοΈ Made to prevent bugs specifically in stable and its interaction with BSS. Could feasibly be made into upload restrictions in lazer if anything is still an issue. | - | - |
osu!-specific
Check | Status | Difficulty | Priority |
---|---|---|---|
Long periods without hitsounding. | βοΈ ppy#13669 + checks other rulesets as well (TODO: probably need to exclude taiko, though). | β β | 0 |
Offscreen hitobjects. | βοΈ ppy#12361 | β β | 0 |
Hitobject is unaffected by a line very close to it. | β | β β | 0 |
Object too close or far away from previous. | βοΈ ppy#13606 | β β β | 0 |
Multiple reverses on too short sliders. | β | β | 1 |
Too short sliders. | βοΈ ppy#13874 | β | 1 |
Too short spinner. | βοΈ ppy#13874 | β | 1 |
Objects close in time not overlapping. | βοΈ ppy#13606 + checks when it should overlap too. | β β | 1 |
Too short spinner time or spinner recovery time. | βοΈppy#24622 | β β | 1 |
Perfect stacks too close in time. | β | β | 2 |
Too dark or bright combo colours or slider borders. | β | β β | 2 |
Perfectly overlapping combination of tail, head or red anchors. | β | β β | 2 |
Obscured reverse arrows. | β | β β | 2 |
Burai slider. | β | β β β | 2 |
Default combo colours without forced skin. | β | β | 3 |
Storyboarded hitsounds. | β | β β | 3 |
ΒΉ - Editor lacks context of other difficulties, so any check that compares difficulties cannot be implemented.
Β² - Not PRed. Didn't realize it wouldn't work in-game, but will keep checks & tests around for whenever this gets unblocked.