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

23873 Commits

Author SHA1 Message Date
Dean Herbert
5eaf3ea576 Reorganise and reword comments to make time override behaviour a bit clearer 2021-04-15 14:19:06 +09:00
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
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
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
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
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
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
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +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
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
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
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
smoogipoo
bb15baf118 Add initial multiplayer spectator leaderboard 2021-04-09 17:31:14 +09:00
Dean Herbert
1dbc7e821e
Merge branch 'master' into add-slider-whistle 2021-04-09 17:11:48 +09:00
smoogipoo
9b0ce2999f Fix legacy encoder 2021-04-09 15:28:42 +09:00
Dean Herbert
51fee79ef1 Fix scores not being accepted due to missing ruleset ID 2021-04-09 15:18:02 +09:00
smoogipoo
76981f2547 Remove unused using 2021-04-09 13:58:24 +09:00
smoogipoo
8293b06c0a Remove obsolete code 2021-04-09 13:56:58 +09:00
Dean Herbert
24ae5b9169 Fix slightly incorrect solo score submission routes 2021-04-08 23:15:08 +09:00
Dean Herbert
1e23f671fa
Merge pull request #12321 from smoogipoo/add-spectate-button-and-state
Add multiplayer spectating user state and button
2021-04-08 19:48:58 +09:00
smoogipoo
fd2a14a0bf Only set button state once 2021-04-08 16:31:40 +09:00
Dean Herbert
a55e62188e Change state icon to binoculars so the eye isn't staring at me 2021-04-08 15:54:58 +09:00
Dean Herbert
b73860cb5f Slightly alter button colour scheme to make text more legible and reduce saturation 2021-04-08 15:47:55 +09:00
Dean Herbert
8aff53172d Remove necessity for nested PassThroughInputManger 2021-04-08 15:18:31 +09:00
Dean Herbert
a8839792fd
Merge branch 'master' into circular-arc-freeze 2021-04-08 14:33:03 +09:00
Dean Herbert
8cc1e8b8b0 Update framework 2021-04-07 23:11:01 +09:00
smoogipoo
2791d454d2 Don't send spectating user state yet 2021-04-07 22:21:22 +09:00
smoogipoo
99bee73ac1 Merge branch 'master' into add-spectate-button-and-state 2021-04-07 22:07:52 +09:00
smoogipoo
1f4c17b8f8 Apply changes to AllowScreenSuspension bindable 2021-04-07 21:20:44 +09:00
Dan Balasescu
6eb809f4c4
Merge pull request #9194 from boswelja/rebind-song-select
Allow rebinding Song Select mods/random/options keys
2021-04-07 20:55:45 +09:00