1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 10:57:27 +08:00
Commit Graph

22558 Commits

Author SHA1 Message Date
Dean Herbert
38d85e44be Merge branch 'master' into key-counter-fixes 2019-09-17 22:33:15 +09:00
Dean Herbert
9543c27784 Add full upload support 2019-09-17 19:10:41 +09:00
Dean Herbert
fd3e2375bb
Fix disclaimer potentially pushing a null screen (#6137)
Fix disclaimer potentially pushing a null screen
2019-09-17 16:39:04 +09:00
Dean Herbert
7af194e5ed
Debounce user-requested replay seeks (#6138)
Debounce user-requested replay seeks
2019-09-17 16:38:29 +09:00
smoogipoo
f0bcb2b933 Debounce user-requested replay seeks 2019-09-17 16:12:18 +09:00
smoogipoo
efedfefe63 Fix disclaimer potentially pushing a null screen 2019-09-17 15:54:11 +09:00
Dean Herbert
7bc4b4f981 Explicitly specify solution in beta lane 2019-09-16 18:08:11 +09:00
Dean Herbert
78b6062100 Update fastlane version 2019-09-16 17:54:12 +09:00
Dean Herbert
b47cb7feb8 Merge branch 'master' into android-build-automation 2019-09-16 17:36:24 +09:00
Craftplacer
220fdd0a04 Make muteWarningShownOnce static
... so it will actually get an instance per osu session.
2019-09-16 06:56:52 +02:00
Dean Herbert
e5149b4be9
Fix Perfect/SuddenDeath legacy mod conversion during score impo… (#6128)
Fix Perfect/SuddenDeath legacy mod conversion during score import
2019-09-16 12:22:33 +09:00
Bartłomiej Dach
a407e267a2 Fix PF/SD legacy mod conversion
Upon investigating an user report in #6091 that indicated that viewing
replays using the Perfect mod would also display the Sudden Death mod
icon despite Perfect being the more restrictive of the two, it turned
out that the logic of importing legacy scores was missing that corner
case. A similar case of Double Time/Nightcore mutual exclusion was
handled, but PF/SD was missed.

Add analogous handling of PF/SD legacy mods for all four rulesets,
and additionally cover a tiny fraction of all cases with unit tests.
The most problematic cases (NC+HD and PF+SD) are covered in all four
basic rulesets.
2019-09-15 22:55:25 +02:00
Dean Herbert
089488b295
Specify Rider analysis rules explicitly (#6127)
Specify Rider analysis rules explicitly
2019-09-16 02:29:59 +09:00
HoLLy-HaCKeR
43760bdfcd Specify Rider analysis rules explicitly 2019-09-15 18:29:14 +02:00
Craftplacer
cb033591c4
Merge branch 'master' into muted-notification 2019-09-15 17:59:27 +02:00
Craftplacer
ecce12981e Use block body for constructor to fix remaining code inspection issue 2019-09-15 17:47:44 +02:00
Dean Herbert
52843d95c3
Fix aspect ratio of video not being enforced (#6105)
Fix aspect ratio of video not being enforced

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-09-16 00:37:44 +09:00
Craftplacer
e3884658af Resolve code inspection errors 2019-09-15 17:36:53 +02:00
Dean Herbert
2381b4c003 Move video behind storyboard 2019-09-16 00:20:56 +09:00
Craftplacer
ec788ac09d Make notification only show up once per session 2019-09-15 17:20:07 +02:00
Dean Herbert
e1de0b0537 Merge remote-tracking branch 'upstream/master' into fix-video-fill-mode 2019-09-16 00:19:30 +09:00
Craftplacer
08ab4e508f Use loadComponentSingleFile for caching 2019-09-15 17:15:52 +02:00
Craftplacer
811a08d18f Use Bindable instead of bool 2019-09-15 16:50:01 +02:00
Craftplacer
00e46fdefe Add check if game is muted by MuteButton 2019-09-15 16:32:23 +02:00
Craftplacer
0afb5c5bb0 Expose muted state from VolumeOverlay 2019-09-15 16:31:57 +02:00
Craftplacer
72af640df7 Expose VolumeOverlay as available dependencies 2019-09-15 16:31:40 +02:00
Craftplacer
4a10e6c44e Use ResolvedAttribute for NotificationOverlay 2019-09-15 16:11:45 +02:00
Craftplacer
78931c8e23 Implement notification when user has track or master volume muted
This took around under a hour to implement, it has the same behavior and content from osu!stable.
A notification will show up when the user has either its master or track volume set to the minimum, clicking it will set it to the default values.
2019-09-15 15:59:46 +02:00
Dean Herbert
fedbac74e4
Wait for cursor hiding using ManualResetEventSlim (#6112)
Wait for cursor hiding using ManualResetEventSlim
2019-09-15 15:00:38 +09:00
Dean Herbert
1f67b222dc
Merge pull request #6116 from EVAST9919/allow-flag-placeholder
Fix DrawableFlag not showing fallback texture if no flag is available
2019-09-15 13:03:41 +09:00
Andrei Zavatski
96453d8197 Remove redundant string interpolation 2019-09-15 02:46:28 +03:00
Andrei Zavatski
babd34470e Fix DrawableFlag returns empty texture if there's no flag avaliable for needed country 2019-09-15 02:33:21 +03:00
Bartłomiej Dach
dd9f620c23 Fix misleading xmldoc 2019-09-15 01:28:07 +02:00
Bartłomiej Dach
29fcab65f9 Remove superfluous csproj entries 2019-09-15 01:28:07 +02:00
Bartłomiej Dach
86588778b1 Implement fallback decoder registration
After the preparatory introduction of LineBufferedReader, it is now
possible to introduce registration of fallback decoders that won't drop
input supplied in the first line of the file.

A fallback decoder is used when the magic in the first line of the file
does not match any of the other known decoders. In such a case,
the fallback decoder is constructed and provided a LineBufferedReader
instance. The process of matching magic only peeks the first non-empty
line, so it is available for re-reading in Decode() using ReadLine().

There can be only one fallback decoder per type; a second attempt of
registering a fallback will result in an exception to avoid bugs.

To address the issue of parsing failing on badly or non-headered files,
set the legacy decoders for Beatmaps and Storyboards as the fallbacks.

Due to non-trivial logic, several new, passing unit tests with possible
edge cases also included.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
11eda44d34 Migrate decoding to line-buffered reader
Migrate all usages of StreamReader in the context of decoding beatmaps,
storyboards or skins to the new LineBufferedReader.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
7b1ff38df7 Implement line-buffered reader
Add a line-buffered reader decorator operating on StreamReader
instances. The decorator has two main operations - PeekLine(), which
allows to see the next line in the stream without consuming it,
ReadLine(), which consumes and returns the next line in the stream, and
ReadToEnd() which reads all the remaining text in the stream (including
the unconsumed peeked line). Peeking line-per-line uses an internal
queue of lines that have been read ahead from the underlying stream.

The addition of the line-buffered reader is a workaround solution to
a problem with decoding. At current selecting a decoder works by
irreversibly reading the first line from the stream and looking for
a magic string that indicates the type of decoder to use.

It might however be possible for a file to be valid in format, just
missing a header. In such a case a lack of a line-buffered reader makes
it impossible to reparse the content of that first line. Introducing it
will however allow to peek the first line for magic first.

 - If magic is found in the first line, GetDecoder() will peek it and
   use it to return the correct Decoder instance. Note that in the case
   of JsonBeatmapDecoder the magic is the opening JSON object brace,
   and therefore must not be consumed.

 - If magic is not found, the fallback decoder will be able to consume
   it using ReadLine() in Decode().

This commit additionally contains basic unit tests for the reader.

Suggested-by: Aergwyn <aergwyn@t-online.de>
2019-09-15 01:26:15 +02:00
Roman Kapustin
8456861b8d Wait for cursor hiding using ManualResetEventSlim 2019-09-14 17:08:56 +03:00
Dean Herbert
bc2a1c91a1
Merge pull request #6106 from EVAST9919/fix-header-dropdown
Fix RankingsHeader dropdown can be clickable when not visible
2019-09-14 13:45:06 +09:00
Andrei Zavatski
2783ae62ef Remove useless container 2019-09-14 06:34:57 +03:00
Andrei Zavatski
9febeb1f3d Add black background 2019-09-14 06:32:00 +03:00
Andrei Zavatski
a36c808682 Use Fit FillFode 2019-09-14 06:28:59 +03:00
Andrei Zavatski
8ad782a82d Fix RankingsHeader dropdown can be clickable when not visible 2019-09-14 06:16:25 +03:00
Andrei Zavatski
9a94405b3a Fix video playback is stretched on client resize 2019-09-14 06:05:09 +03:00
Dean Herbert
ac6fffd834
Recreate beatmap video on each consumption (#6098)
Recreate beatmap video on each consumption
2019-09-14 00:23:38 +09:00
Dean Herbert
65aa7b2016 Recreate beatmap video on each consumption
Should not be shared over multiple usages
2019-09-14 00:07:06 +09:00
Dean Herbert
1b8d5decfa
Add beatmap video support (#5908)
Add beatmap video support

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-09-13 23:31:34 +09:00
Dan Balasescu
1583cead83
Merge pull request #6097 from peppy/catch-replay-key-trigger-correction
Change osu!catch key trigger to occur on frame before positional change
2019-09-13 23:26:07 +09:00
Dean Herbert
2cd3657b5e
Merge branch 'master' into beatmap-video 2019-09-13 23:08:57 +09:00
Dean Herbert
624e5644a4 Change osu!catch key trigger to occur on frame before positional change 2019-09-13 23:06:35 +09:00