1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 20:47:26 +08:00
Commit Graph

38074 Commits

Author SHA1 Message Date
ekrctb
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
ekrctb
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
ekrctb
38d10755cb Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-13 13:47:22 +09:00
Dean Herbert
84e1ff79a0
Merge pull request #12352 from smoogipoo/multiplayer-spectator-leaderboard
Implement the multiplayer spectator leaderboard
2021-04-13 01:51:14 +09:00
smoogipoo
1e002841cf Add test for scoring mode changes 2021-04-12 22:03:45 +09:00
smoogipoo
c531e38a36 Rework to create a derived tracked user data instead 2021-04-12 22:00:27 +09:00
Dean Herbert
3fd3f36895
Merge pull request #12378 from smoogipoo/fix-score-serialisation
Fix mods not being serialised correctly in ScoreInfo
2021-04-12 21:54:24 +09:00
smoogipoo
27660265b5 Merge branch 'master' into multiplayer-spectator-leaderboard 2021-04-12 21:02:18 +09:00
smoogipoo
e9a114a15c Rename property back 2021-04-12 20:50:18 +09:00
smoogipoo
8413b0a5d3 Don't map api mods to DB 2021-04-12 20:49:44 +09:00
smoogipoo
625484468e Fix DB serialisation 2021-04-12 20:49:37 +09:00
smoogipoo
982d8fa8b1 Fix incorrect reference 2021-04-12 20:49:26 +09:00
Dan Balasescu
32868d0d45
Merge pull request #12217 from frenzibyte/legacy-spm-counter
Add support for legacy spinner SPM counter
2021-04-12 20:19:05 +09:00
smoogipoo
d2d7f77430 Fix mods not being serialised correctly in ScoreInfo 2021-04-12 20:09:01 +09:00
Dean Herbert
905cd7c8eb Update resources 2021-04-12 19:22:07 +09:00
Dean Herbert
f139f61837 Merge branch 'master' into legacy-spm-counter 2021-04-12 19:22:03 +09:00
ekrctb
31d3607105 Add TODO comment 2021-04-12 18:54:36 +09:00
ekrctb
359fae895f Rename property 2021-04-12 18:50:25 +09:00
ekrctb
6d18b3db00 Avoid empty list allocation 2021-04-12 18:49:38 +09:00
Dan Balasescu
e8c248f2b2
Merge pull request #12377 from peppy/remove-empty-returns-xmldoc
Remove empty <returns> xmldoc
2021-04-12 18:25:46 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
ekrctb
f1b8171e38 Remove #nullable true for now to suppress inspector 2021-04-12 17:13:48 +09:00
ekrctb
3c28c09ab5 Add more FramedReplayInputHandler tests 2021-04-12 16:18:35 +09:00
ekrctb
e19e8ff2a3 Rewrite FramedReplayInputHandler for robustness
This commit changes the semantics of `CurrentFrame` and `NextFrame` of the class.
The ordering of `NextFrame.Time` and `CurrentFrame.Time` was dependent on the current direction.
Now, it should always satisfy `CurrentFrame.Time <= CurrentTime <= NextFrame.Time` except at the start/end.
This change, however, doesn't break existing deriving classes if the template code pattern usage of interpolation is used.
The deriving class code can be simplified due to the elimination of nullable types. I didn't include those changes in this commit.

I removed `StreamingFramedReplayInputHandlerTest` for now, as it is almost-duplicate of `FramedReplayInputHandlerTest`. I'll include more tests in later commits.

This commit fixes #6150.
2021-04-12 16:18:11 +09:00
Dean Herbert
5d942e92f3
Merge pull request #12374 from smoogipoo/fix-multi-test-failures
Fix multiplayer test failure
2021-04-12 14:39:41 +09:00
smoogipoo
4fcddfb44b Fix multiplayer test failure 2021-04-12 13:42:14 +09:00
Dean Herbert
e2470d757e
Merge branch 'master' into legacy-spm-counter 2021-04-12 12:52:52 +09:00
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +09:00
Dean Herbert
4853ac802c
Merge pull request #12367 from Joehuu/lazy-flashlight
Add follow delay setting to osu! flashlight mod
2021-04-11 19:07:06 +09:00
Joseph Madamba
a42714540b Add follow delay setting to osu! flashlight mod 2021-04-10 23:04:15 -07:00
Dean Herbert
ab49e84d17
Merge pull request #12356 from peppy/update-framework
Update framework
2021-04-10 03:34:24 +09:00
Dean Herbert
b66ef2fdec Update framework 2021-04-10 02:14:28 +09:00
Dean Herbert
dfe3240b45
Merge pull request #12353 from nekodex/songselect-hoversamples
Add a hover sample type for SongSelect buttons
2021-04-10 01:45:47 +09:00
Dan Balasescu
9aa30fb323
Merge pull request #11688 from Syriiin/diffcalc/dynamic-history
Implement dynamic previous hitobject retention for Skill class
2021-04-10 01:25:07 +09:00
Dean Herbert
affc878db9 Update resources 2021-04-10 01:03:15 +09:00
Samuel Cattini-Schultz
bfd3d0cce9 Implement custom enumerator for ReverseQueue to avoid allocations 2021-04-10 01:16:54 +10:00
Dean Herbert
8bd972c525
Merge pull request #12354 from nekodex/reduce-sample-pitch-randomisation
Reduce the randomised pitch range of hover sounds
2021-04-09 23:43:51 +09:00
Jamie Taylor
ffacd38e57 Reduce the randomised pitch range of hover sounds 2021-04-09 23:03:14 +09:00
Jamie Taylor
8a0da06e89 Add a hover sample type for SongSelect buttons 2021-04-09 23:00:40 +09: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
smoogipoo
d2c37e6cf8 Remove unnecessary parameter 2021-04-09 18:41:58 +09:00
smoogipoo
7cbc8f2695 Add some xmldocs 2021-04-09 18:29:02 +09:00
smoogipoo
e73f3f52d7 Add some more asserts 2021-04-09 18:23:41 +09:00
smoogipoo
9ddcd686ac Fix incorrect assert 2021-04-09 18:23:38 +09:00
smoogipoo
b49997f531 Add test for no frames 2021-04-09 18:18:23 +09:00
smoogipoo
589ce4bdc2 Add test 2021-04-09 18:16:10 +09:00
smoogipoo
90e243eea5 Rename methods 2021-04-09 18:15:27 +09:00
smoogipoo
3b86f0eb2f Fix exception with 0 frames 2021-04-09 18:15:23 +09:00
Dean Herbert
c0837b1c88
Merge pull request #12340 from smoogipoo/add-slider-whistle
Add support for sliderwhistle
2021-04-09 18:12:46 +09:00
Naxess
f64b2095bf Carry over the previous path type 2021-04-09 11:04:00 +02:00