Commit Graph

3473 Commits

Author SHA1 Message Date
62c54e00cb Add check for background resolution and filesize 2021-04-17 18:01:04 +02:00
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
d26fa46ef2 Record every 60fps interval 2021-04-16 19:42:44 +09:00
f824105075 Merge branch 'master' into fix-slider-zero-length 2021-04-16 18:47:22 +09:00
9b95cf227e Merge branch 'master' into apply-ibindable-interface-change 2021-04-16 17:30:35 +09:00
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
d38e294d96 Centralise length validation function 2021-04-16 15:45:24 +09:00
8c4804dd7a Use nameof 2021-04-16 15:40:06 +09:00
d1c72f5e13 Apply changes resulting from IBindable interface updates 2021-04-16 15:10:53 +09:00
91c7d8d26c Introduce StartFrame and EndFrame to simplify the replay interpolation code 2021-04-16 14:13:41 +09:00
84bc81a6de Make FramedReplayInputHandler.CurrentTime non-null 2021-04-16 14:13:41 +09:00
936bde28a3 Remove manual handling of IsActive in RulesetInputManager
Now it is supported in framework
2021-04-16 14:13:41 +09:00
119c9b4294 Fix placement blueprints not being correctly removed after a rolled back placement 2021-04-16 14:11:33 +09:00
ac8e462d32 Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
98e2245d83 Merge pull request #12422 from ekrctb/no-lazy-list
Remove usage of Lazy<List<...>> by always allocating an empty list
2021-04-15 20:09:39 +09:00
d8aa436e81 Remove usage of Lazy<List<...>> in NestedPlayfields 2021-04-15 18:26:01 +09:00
50fad47ebc Remove usage of Lazy<List<...>> for NestedHitObjects 2021-04-15 18:26:01 +09:00
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
ba325de595 Merge conditionals for readability 2021-04-15 14:19:59 +09:00
5eaf3ea576 Reorganise and reword comments to make time override behaviour a bit clearer 2021-04-15 14:19:06 +09:00
7654df94f6 Merge pull request #12395 from frenzibyte/fix-cinema-ignore-settings
Fix beatmap background displayed if storyboard is hidden on "Cinema" mod
2021-04-14 14:31:03 +09:00
cb4f64133e Add xmldoc to interfaces 2021-04-13 23:30:20 +09:00
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
69da804f81 Add missing period 2021-04-13 13:57:56 +02:00
0d6890243f Fix typo in xmldoc 2021-04-13 20:18:18 +09:00
03ba04e8ce Split out general checks into its own verifier class (and remove static usage) 2021-04-13 19:50:22 +09:00
aa5fe2e9fc Rename BeatmapVerifier -> IBeatmapVerifier 2021-04-13 11:02:01 +02:00
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03:00
57ba7b7cbb Partially revert the changes of CurrentFrame and NextFrame for compatibility
Making those always non-null is postponed as when a replay's frame contains keypress the behavior is changed.
Previously, the key is pressed at the time of the first frame. But using non-null frames means the key is pressed at negative infinity.
However, I think the new way of always using non-null frames makes the client code so I plan to bundle the change to more breaking changes.
2021-04-13 15:55:23 +09:00
d0f30b7b42 Delay map completion one frame after the last judgment
This is a workaround of a timing issue.
KeyCounter is disabled while break time (`HasCompleted == true`).
When the last keypress is exactly at the same time the map ends, the last frame was considered in a break time while forward play but considered not in a break time while rewinding. This inconsistency made the last keypress not decremented in the key counter when a replay is rewound.
The situation regularly happens in osu!standard because the map ends right after the player hits the last hit circle. It was caught by `TestSceneGameplayRewinding`.

This commit makes the update of the map completion delayed one frame. The problematic keypress frame is now processed strictly before the map completion, and the map completion status is correctly rewound before the keypress frame.
2021-04-13 14:29:47 +09:00
38d10755cb Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-13 13:47:22 +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
d8088777ea Add Equals method to IssueTemplate
This will be useful in tests.
2021-04-13 01:21:34 +02:00
9679bdfed2 Merge branch 'master' into mod-using-reference-equality 2021-04-12 20:56:24 +03:00
92fab653e1 Take current mod settings value into account on equality comparsion 2021-04-12 20:51:13 +03: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
6d50d01186 Make IssueTemplate.Check readonly 2021-04-12 16:23:05 +02:00
caaaba5950 Rename Check -> ICheck 2021-04-12 16:20:53 +02:00
008dbc7dd6 Reverse IssueType ordering
Reversed both in the enum and where it's displayed, so ends up the same in the end.
2021-04-12 15:49:13 +02: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
31d3607105 Add TODO comment 2021-04-12 18:54:36 +09:00
359fae895f Rename property 2021-04-12 18:50:25 +09:00
6d18b3db00 Avoid empty list allocation 2021-04-12 18:49:38 +09:00
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
f1b8171e38 Remove #nullable true for now to suppress inspector 2021-04-12 17:13:48 +09:00
a2fc9c398f Rename CreateChecker -> CreateBeatmapVerifier 2021-04-12 10:08:30 +02:00