1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 01:47:25 +08:00
Commit Graph

14349 Commits

Author SHA1 Message Date
Dean Herbert
bb1289e83c
Merge branch 'master' into improve-carousel-tests 2019-09-25 14:24:28 +09:00
Joehu
102dbd85bd Fix CI errors 2019-09-24 16:48:22 -07:00
Joehu
9861b21440 Remove unnecessary padding/margin 2019-09-24 16:28:40 -07:00
Joehu
7fab1a4337 Truncate long metadata on beatmap info wedge 2019-09-24 16:06:33 -07:00
Bartłomiej Dach
9323df26a1 Decouple bar line hitobjects from generator
Introduce an IBarLine interface, which together with generic constraints
helps decouple BarLineGenerator from the actual hitobject types it
creates. Thanks to this, all rulesets that want bar lines can provide
an implementation of IBarLine that also derives from the base hitobject
class.

This allows DrawableBarLines in taiko and mania to be migrated back to
DrawableTaikoHitObject and DrawableManiaHitObject base classes
respectively. This in turn resolves #6215 without code duplication,
since the missing anchoring application is now done in mania's
DrawableBarLine through deriving from DrawableManiaHitObject.
2019-09-25 00:36:27 +02:00
iiSaLMaN
cde7f49db1 Use direct get and set instead 2019-09-25 01:26:02 +03:00
iiSaLMaN
d013b73d33 Move in-memory logic to a base class 2019-09-25 01:25:05 +03:00
Dean Herbert
4a59e3351e Update beatmap carousel tests code style
Also fixes one issue I spotted in BeatmapCarousel related to incorrectly holding a selection after new sets are loaded.
2019-09-25 02:42:12 +09:00
Dean Herbert
03ec0fb27d
Merge branch 'master' into fix-mania-scrolling-speed 2019-09-24 22:20:19 +09:00
Dean Herbert
d2b76ec688
Make LabelledTextBox use the new LabelledComponent class (#6188)
Make LabelledTextBox use the new LabelledComponent class

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-09-24 19:37:12 +09:00
Dean Herbert
f493f1c71d Move new components to v2 namespace 2019-09-24 19:00:26 +09:00
Dean Herbert
551b66ccec
Update framework (#6234)
Update framework

Co-authored-by: null <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-24 18:54:47 +09:00
smoogipoo
028c958431 Initial implementation of a switch button 2019-09-24 18:39:11 +09:00
Dean Herbert
42b6041763 Move post-update notification logic to UpdateManager base class 2019-09-24 18:37:05 +09:00
Dean Herbert
c226d52b53 Don't automatic download for now 2019-09-24 18:34:54 +09:00
Dan Balasescu
1e70b83fd3
Merge branch 'master' into update-framework 2019-09-24 18:27:38 +09:00
smoogipoo
6b702eb6de Update with generic labelledcomponent 2019-09-24 18:25:17 +09:00
smoogipoo
5212c50654 Merge branch 'generic-labelledcomponent' into labelled-textbox-improvements 2019-09-24 18:23:01 +09:00
smoogipoo
df692b091c Make LabelledComponent generic 2019-09-24 18:22:02 +09:00
Dean Herbert
84d9f98ff1 fixup! Move post-update notification logic to UpdateManager base class 2019-09-24 18:15:57 +09:00
Dean Herbert
1c474de0ed Move post-update notification logic to UpdateManager base class 2019-09-24 18:03:05 +09:00
Dan Balasescu
45015fc4ba
Merge branch 'master' into tournament-setup 2019-09-24 17:27:17 +09:00
smoogipoo
4abe0473b9 Fix relative beat length not considering slider multiplier 2019-09-24 16:49:42 +09:00
smoogipoo
af0c15a93c Fix initial hitobject states not being recomputed correctly 2019-09-24 16:48:39 +09:00
smoogipoo
75cceb9e30 Fix LifetimeChanged being invoked before lifetime is set 2019-09-24 16:47:34 +09:00
Dean Herbert
1860c2f9ce Update framework 2019-09-24 16:22:30 +09:00
Dan Balasescu
b67b594036
Merge branch 'master' into menu-key-support 2019-09-24 15:09:38 +09:00
smoogipoo
4555ecc5e0 Check for exact key 2019-09-24 15:09:08 +09:00
Dan Balasescu
615e300bc9
Merge branch 'master' into fix-changelog-margin 2019-09-24 13:39:17 +09:00
iiSaLMaN
267e12ce3c Add sample usage to the session statics 2019-09-24 05:45:47 +03:00
dependabot-preview[bot]
53603b5591
Bump System.ComponentModel.Annotations from 4.5.0 to 4.6.0
Bumps [System.ComponentModel.Annotations](https://github.com/dotnet/corefx) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/dotnet/corefx/releases)
- [Commits](https://github.com/dotnet/corefx/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-23 20:15:51 +00:00
Andrei Zavatski
5c4dfe0809 Apply suggested change 2019-09-23 17:05:19 +03:00
Andrei Zavatski
ffbab25358 Fix incorrect icon margin in ChangelogOverlay 2019-09-23 16:12:43 +03:00
iiSaLMaN
e3e245ab20 Introduce SessionStatics 2019-09-23 08:15:27 +03:00
Dean Herbert
9a6d748498
Merge branch 'master' into add-creator-artist-filters 2019-09-23 12:31:51 +09:00
Craftplacer
9a687ae8e2
Merge branch 'master' into muted-notification 2019-09-23 01:59:37 +02:00
Dean Herbert
b41ac543c5 Allow changing logged in user 2019-09-23 04:46:50 +09:00
Bartłomiej Dach
96c0c80dc5 Factor out methods in FilterQueryParser
Factor FilterQueryParser.ApplyQueries into shorter methods to reduce
method complexity.
2019-09-22 21:20:50 +02:00
Dean Herbert
d6ec6b1eda
Merge branch 'master' into labelled-textbox-improvements 2019-09-23 00:39:29 +09:00
Dean Herbert
9fe7675be8
Add a base class for all future labelled components (#6187)
Add a base class for all future labelled components
2019-09-23 00:38:51 +09:00
Dean Herbert
e5b14ce74d
Add null check for safety
Co-Authored-By: Salman Ahmed <slmanarendo1950@gmail.com>
2019-09-22 21:42:32 +09:00
Dean Herbert
fc1d49631a Allow top-level menu key pressed to progress the osu! logo 2019-09-22 20:31:53 +09:00
Dean Herbert
cdf29b0952
Specify model name on initialize and fail import notification m… (#6192)
Specify model name on initialize and fail import notification messages
2019-09-22 15:54:04 +09:00
Bartłomiej Dach
70842f71f4 Fix floating point handling in filter intervals
Due to floating-point rounding and representation errors, filters could
wrongly display results incongruous with the wedge display text (ie.
a beatmap with the BPM of 139.99999 would be displayed as having 140
BPM and also pass the bpm<140 filter).

Apply tolerance when parsing floating-point constraints. The tolerance
chosen is half of what the UI displays for the particular values (so
for example half of 0.1 for AR/DR/CS, 0.01 for stars, etc.)

Tests updated accordingly.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach
b262ba13cd Add creator= and artist= filters
To match stable, add creator= and artist= filters to the beatmap
carousel on song select screen. Contrary to stable, this implementation
supports phrase queries with spaces within using double quotes.

The quote handling is not entirely correct (can't nest), but quotes
should rarely happen within names, and it is an edge case of an edge
case - leaving best-effort as is. Test coverage also included.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach
f5f5094611 Take culture into account when parsing filters
Culture was not taken into account when parsing filters, which meant
that in cultures that use the comma (,) as a decimal delimiter, it would
conflict with the comma used to delimit search criteria. To remove
any ambiguity, introduce local helper functions that allow the decimal
point to be utilised, using the invariant culture. This also matches
stable behaviour.

The decision to not reuse osu.Game.Beatmaps.Formats.Parsing was
deliberate due to differing semantics (it's not really sane to throw
exceptions on receiving user-facing input).
2019-09-22 00:18:53 +02:00
Bartłomiej Dach
dddd94684b Split out lower and upper interval inclusivity
A single IsInclusive field causes unexpected issues when trying to
formulate a half-open interval query. Split out IsInclusive into two
fields, Is{Lower,Upper}Inclusive and update usages accordingly.
2019-09-22 00:18:28 +02:00
Bartłomiej Dach
33c51d5178 Extract parsing filter queries to class
For the sake of testability without having to spin up visual tests,
extract methods related to parsing filter queries from FilterControl
to a static FilterQueryParser class.
2019-09-22 00:18:28 +02:00
iiSaLMaN
9be8bdef52 Remove pluralize and use title letter casing 2019-09-21 21:00:24 +03:00
iiSaLMaN
6bb0f3eb41 Move humanizing to the model name instead 2019-09-21 20:04:12 +03:00
Dean Herbert
db90d211cb
Fix scores importing with deleted beatmap sets (#6190)
Fix scores importing with deleted beatmap sets
2019-09-22 01:15:22 +09:00
Dean Herbert
c99b48f934 Bring up-to-date and use IApplicableFailOverride 2019-09-21 23:30:54 +09:00
Dean Herbert
4c4b71eeec
Merge branch 'master' into master 2019-09-21 22:45:05 +09:00
Dean Herbert
a76771e696
Add support for "additions" in changelog (#6177)
Add support for "additions" in changelog
2019-09-21 22:27:18 +09:00
Dan Balasescu
73fe402756
Merge branch 'master' into fix-html-unescaping 2019-09-21 12:59:57 +09:00
Andrei Zavatski
befdd140f4 Reverse padding changes 2019-09-20 23:50:19 +03:00
Andrei Zavatski
6ad26e61d1 Merge remote-tracking branch 'refs/remotes/ppy/master' into changelog-improvements 2019-09-20 23:49:24 +03:00
Dean Herbert
dced3c38b5
Update framework (#6196)
Update framework
2019-09-21 02:21:00 +09:00
Dean Herbert
92f9cf3e06 Update framework 2019-09-21 02:08:19 +09:00
Vperus
ac8fe6045f Fixed typo
Changed CreateReourceStore() to CreateResourceStore()
2019-09-20 19:58:39 +03:00
iiSaLMaN
3be03a26c9 Pluralize instead of adding 's' 2019-09-20 16:18:55 +03:00
iiSaLMaN
8300e86f20 Specify model name on import notification messages 2019-09-20 15:46:43 +03:00
smoogipoo
c89c092b98 Allow undeleting scores if their beatmap exists 2019-09-20 19:55:59 +09:00
smoogipoo
dfc0928ebe Fix scores importing with deleted beatmap sets 2019-09-20 19:39:21 +09:00
smoogipoo
2bbf4ca4b5 Update LabelledTextBox to use LabelledComponent 2019-09-20 18:50:50 +09:00
smoogipoo
523272edab Add xmldocs 2019-09-20 18:39:04 +09:00
smoogipoo
e0a97cfac5 Add a LabelledComponent base class 2019-09-20 18:35:15 +09:00
Dean Herbert
a06cb54732
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-09-20 15:28:08 +09:00
Dean Herbert
d0a4e1e3c2 Force a checksum check before skipping FileStore copy op 2019-09-20 15:00:27 +09:00
Revel
f7f9c0f7e0 Update BeatmapDetailAreaTabControl.cs 2019-09-19 15:47:32 -04:00
Lucas A
5663e3e6b3 Fix escaped html strings not being unescaped in changelog entries. 2019-09-19 20:08:14 +02:00
Andrei Zavatski
daa64f1be7 Adjust icon padding 2019-09-19 20:53:06 +03:00
Andrei Zavatski
573da7b1e7 Implement ChangelogEntryType 2019-09-19 20:34:37 +03:00
Dean Herbert
636582e089 Always show exit confirmation when closing via alt-f4 or window control 2019-09-20 02:22:49 +09:00
Dean Herbert
67796e0982 Apply code styling suggestions 2019-09-19 22:46:21 +09:00
Dean Herbert
4e9bb7b121 Merge remote-tracking branch 'upstream/master' into hold-to-press-setting 2019-09-19 22:35:18 +09:00
Dean Herbert
0a67d1db1b
Merge pull request #5355 from EVAST9919/songselect-best-user-score
Show personal best on song select
2019-09-19 21:17:23 +09:00
smoogipoo
94d3bcc612 Fix top score not being selectable 2019-09-19 20:47:33 +09:00
Dean Herbert
50d4206c45 Fix exit scenarios 2019-09-19 20:17:58 +09:00
Dean Herbert
ead3ee3b41 Merge branch 'master' into hold-to-press-setting 2019-09-19 20:05:14 +09:00
Dean Herbert
cffee1fd5e Fix imported beatmap paths not correctly matching files 2019-09-19 20:02:45 +09:00
Dean Herbert
ddff9882cf Fix importing archives which are nested in a single folder within a zip 2019-09-19 19:11:04 +09:00
Dean Herbert
0640b2eb35
Fix judgement sizes not matching legacy skins (#6145)
Fix judgement sizes not matching legacy skins
2019-09-19 18:49:35 +09:00
Dean Herbert
3abcd898a6
Add hit lighting (#6144)
Add hit lighting

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-19 18:49:22 +09:00
Dean Herbert
28342baa8f
Add auto-restart functionality to sudden death and perfect mods (#6159)
Add auto-restart functionality to sudden death and perfect mods

Co-authored-by: Paul Teng <plankp@outlook.com>
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-19 18:49:09 +09:00
Dan Balasescu
027d6194f2
Merge branch 'master' into add-hit-lighting 2019-09-19 18:07:29 +09:00
smoogipoo
bc9941a990 Newline required when xmldocs are involved 2019-09-19 18:00:11 +09:00
smoogipoo
65276cd235 Remove whitespace 2019-09-19 17:58:10 +09:00
smoogipoo
db24cfbead Merge remote-tracking branch 'origin/master' into auto-restart-mod-perfect
# Conflicts:
#	osu.Game/Screens/Play/Player.cs
2019-09-19 17:57:04 +09:00
smoogipoo
da15b900f7 Remove virtual member from ModBlockFail 2019-09-19 17:44:24 +09:00
Dean Herbert
646d762468
Merge branch 'master' into songselect-advanced-filtering 2019-09-19 17:42:32 +09:00
Dean Herbert
fa54a0bfd3 Fix test failures 2019-09-19 17:40:46 +09:00
smoogipoo
5120d82ef8 Fix crash with multiple range criterias 2019-09-19 17:36:44 +09:00
Dean Herbert
e6c36a8bc7 Fix scaling mode being applied to judgements 2019-09-19 17:36:32 +09:00
smoogipoo
96ea507320 Reorder comparison for readability 2019-09-19 17:21:22 +09:00
smoogipoo
e075dd7ea8 Fix equals operator not working 2019-09-19 17:16:34 +09:00
smoogipoo
7683f7ff23 Make OnlineStatus use OptionalRange 2019-09-19 17:12:07 +09:00
smoogipoo
d7831d8f5d Use non-generic IComparable interface 2019-09-19 17:11:43 +09:00
smoogipoo
167bb9fcc1 Fix ugly casts 2019-09-19 17:11:28 +09:00
smoogipoo
0915a94470 Make BeatDivisor use OptionalRange 2019-09-19 16:53:27 +09:00
smoogipoo
3c21b68b73 Make OptionalRange generic 2019-09-19 16:51:57 +09:00
Dean Herbert
2cd7c769e1 Merge remote-tracking branch 'upstream/master' into fix-judgement-size 2019-09-19 16:32:37 +09:00
Dean Herbert
929f05884b Always confirm exit when button is clicked 2019-09-19 16:28:06 +09:00
Dean Herbert
a214e7e72f Add confirmation dialog when exiting game 2019-09-19 16:26:22 +09:00
Dean Herbert
39a5a3eebe Merge remote-tracking branch 'upstream/master' into hold-to-press-setting 2019-09-19 16:26:14 +09:00
Dean Herbert
83657239bd
Disallow failing for replay players (#6162)
Disallow failing for replay players

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-19 16:00:37 +09:00
Dean Herbert
e2f7d4bc62 Remove unnecessary ToMetric avoidance 2019-09-19 15:45:43 +09:00
Dean Herbert
48ee95955b Remove unnecessary redirection 2019-09-19 15:45:08 +09:00
smoogipoo
c1daa187fe Reduce default tolerance 2019-09-19 15:44:14 +09:00
Dean Herbert
36d0695e5c Add spacing 2019-09-19 15:44:05 +09:00
Dean Herbert
033c68a428 Fade in score, not container 2019-09-19 15:44:00 +09:00
Dean Herbert
2b6c9aeb26 Move top score container to more local namespace 2019-09-19 15:38:40 +09:00
Dean Herbert
e0fd8609d1 Fix margins and clean up implementation 2019-09-19 15:34:46 +09:00
smoogipoo
80f46e02d8 Add equals (=) query operator variants 2019-09-19 15:33:54 +09:00
Dean Herbert
098e89cb66 Improve state reset flow 2019-09-19 15:23:33 +09:00
Dan Balasescu
9f8c9af3b4
Merge branch 'master' into add-class-combo-colours 2019-09-19 15:13:00 +09:00
Salman Ahmed
865425d35e
Merge branch 'master' into block-failing-on-replays 2019-09-19 09:09:56 +03:00
smoogipoo
c76e27549a Remove spacing 2019-09-19 14:56:52 +09:00
Dan Balasescu
1f0f4d52f3
Merge branch 'master' into state-update-on-skin-change 2019-09-19 14:55:21 +09:00
Dean Herbert
4967ffd8e5 Move inside leaderboard 2019-09-19 14:52:31 +09:00
iiSaLMaN
da4d83063e Simplify LINQ expression 2019-09-19 08:31:11 +03:00
Dean Herbert
a7b6895d4c Revert changes to BeatmapDetailArea 2019-09-19 14:26:15 +09:00
smoogipoo
762adb783a Fix duplicate invocation of updateState on load complete 2019-09-19 14:15:06 +09:00
Dean Herbert
177a789d79 Add setting to adjust hold-to-confirm activation time 2019-09-19 14:06:25 +09:00
iiSaLMaN
e793854735 Invert BypassFail usage 2019-09-19 08:00:41 +03:00
iiSaLMaN
9de0bcae1e Check for blocking fail mods by default 2019-09-19 07:58:54 +03:00
smoogipoo
4b97327b37 Cleanup draggedItem usages and make them more safe 2019-09-19 13:53:52 +09:00
smoogipoo
0644443979 Use resolved attribute for music controller 2019-09-19 13:51:50 +09:00
smoogipoo
c34842cb80 Merge remote-tracking branch 'Joehuu/master' into randomise-song-playback 2019-09-19 13:37:46 +09:00
Dean Herbert
2e0a85c2f6 Merge remote-tracking branch 'upstream/master' into songselect-best-user-score 2019-09-19 12:57:30 +09:00
Dean Herbert
3fa1b53b2a Add back combo colours for osu!classic 2019-09-19 12:39:15 +09:00
Craftplacer
c3221e1a36 Prepare classes for player loader test scene 2019-09-18 23:27:26 +02:00
iiSaLMaN
775b90e066 Bypass fail on replays 2019-09-18 22:49:48 +03:00
iiSaLMaN
ecd721e8c5 Add bypass fail property to Player 2019-09-18 22:49:28 +03:00
Dean Herbert
92556db9cd Add query-based filter modes to song select search field 2019-09-19 02:48:28 +09:00
Dean Herbert
2296ea75d7
Add reference to xmldoc
Co-Authored-By: Salman Ahmed <slmanarendo1950@gmail.com>
2019-09-19 02:03:30 +09:00
Dean Herbert
2fcc8c2d72 Simplify implementation, play fail animation during restart 2019-09-19 01:45:59 +09:00
Dean Herbert
1150e9fdfb Bring other mods up-to-date 2019-09-19 01:45:42 +09:00
Dean Herbert
ff3a7c1d13 Merge remote-tracking branch 'upstream/master' into auto-restart-mod-perfect 2019-09-19 01:36:29 +09:00
dependabot-preview[bot]
1d7377df65
Bump ppy.osu.Framework from 2019.911.0 to 2019.918.0
Bumps [ppy.osu.Framework](https://github.com/ppy/osu-framework) from 2019.911.0 to 2019.918.0.
- [Release notes](https://github.com/ppy/osu-framework/releases)
- [Commits](https://github.com/ppy/osu-framework/compare/2019.911.0...2019.918.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-18 14:51:01 +00:00
Dean Herbert
5901a915e7 Always update drawable hitobject state on skin change 2019-09-18 20:19:57 +09:00
Dean Herbert
2046f64b22 Revert clamping logic 2019-09-18 16:07:02 +09:00
Dean Herbert
b4a396885d Merge remote-tracking branch 'upstream/master' into key-counter-fixes 2019-09-18 14:08:40 +09:00
Dean Herbert
91bdece9af Localise OrderChanged handling and fix callbacks
The dragged item's position now only updates after the drag finishes. Local handling changes were required to ignore the bindable remove/add events that are fired as a result.
2019-09-18 13:15:39 +09:00
Dean Herbert
7e791f7cd7 Expose as IBindableList 2019-09-18 13:14:33 +09:00
Dean Herbert
18fd82e83a Merge remote-tracking branch 'upstream/master' into randomise-song-playback 2019-09-18 13:14:08 +09:00
Dean Herbert
26eca5b1f4 Fix judgement sizes not matching skins stable 2019-09-18 02:56:03 +09:00
Dean Herbert
ba76f09c99 Add initial implementation of hit lighting
Requires a supporting skin, like osu!classic for now.
2019-09-18 02:49:54 +09:00
Dean Herbert
63cc8d4f90 Add hit lighting setting 2019-09-18 02:16:57 +09:00
Dean Herbert
b5b29a21e7 Move menu cursor rotation to more appropriate settings section 2019-09-18 02:15:18 +09:00
Dean Herbert
3ab352ffe5 Randomise beatmap playback order on startup
Closes #6135.
2019-09-17 23:15:03 +09:00
Dean Herbert
ec5f420818
Merge branch 'master' into key-counter-fixes 2019-09-17 22:56:34 +09:00
Dean Herbert
057c4aa795 Remove unused using statement 2019-09-17 22:42:20 +09:00
Dean Herbert
77947e8309 Fix rewind tests failing 2019-09-17 22:33:27 +09:00
Dean Herbert
38d85e44be Merge branch 'master' into key-counter-fixes 2019-09-17 22:33:15 +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
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
Craftplacer
220fdd0a04 Make muteWarningShownOnce static
... so it will actually get an instance per osu session.
2019-09-16 06:56:52 +02: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
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
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
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
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
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
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
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
Dean Herbert
9e53c091a3
Merge pull request #6095 from peppy/fix-test-dummy-api
Fix incorrect DI usage of IAPIProvider in many tests
2019-09-13 22:22:07 +09:00
Dean Herbert
2379b665e3 Use InvalidOperationException 2019-09-13 22:15:11 +09:00
Dean Herbert
d385c35955
Apply suggestions from code review
Co-Authored-By: Salman Ahmed <slmanarendo1950@gmail.com>
2019-09-13 21:55:45 +09:00
Andrei Zavatski
9e742839ac Use correct database migration 2019-09-13 13:57:55 +03:00
Andrei Zavatski
fb9b25b786 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video 2019-09-13 13:48:14 +03:00
Dan Balasescu
b10ce0b12d
Merge branch 'master' into key-counter-fixes 2019-09-13 19:43:33 +09:00
Andrei Zavatski
c13950fbbf Remove custom db additions 2019-09-13 13:43:21 +03:00
Andrei Zavatski
437e121056 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video 2019-09-13 13:39:58 +03:00
Dan Balasescu
125b3fda6c
Merge branch 'master' into improve-catch-replay-frames 2019-09-13 19:23:15 +09:00
Dean Herbert
e1ed5dfa7d
Reset DrawableHitObject lifetimes on state change (#6028)
Reset DrawableHitObject lifetimes on state change

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-13 19:10:02 +09:00