1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-29 01:37:20 +08:00

27920 Commits

Author SHA1 Message Date
Henry Lin
3795030ebb
Merge branch 'master' into mod-incompatibility-ui 2021-08-22 11:14:24 +08:00
Henry Lin
0bbddd297c Remove unused code 2021-08-22 11:05:53 +08:00
Henry Lin
e213562b2a Add a red tint on mods incompatible with the current selection 2021-08-22 11:01:17 +08:00
Henry Lin
ef6faf04be Use FirstOrDefault in TooltipContent 2021-08-22 10:22:18 +08:00
Henry Lin
3d402d9e78 List incompatible mods in tooltip of mod button 2021-08-22 10:13:34 +08:00
Nathan Alo
2877b43824 split multiplayer and playlist activity 2021-08-22 09:54:07 +08:00
Bartłomiej Dach
7ab12959a0
Merge branch 'master' into editor-regex 2021-08-21 19:57:26 +02:00
Dean Herbert
77f3668751
Merge branch 'master' into fix-screen-offsetting-on-scaling 2021-08-22 02:28:06 +09:00
Bartłomiej Dach
995338029c
Fix difficulty cache lookups sharing underlying mod instances
`DifficultyCacheLookup`s were storing raw `Mod` instances into their
`OrderedMods` field. This could cause the cache lookups to wrongly
succeed in cases of mods with settings. The particular case that
triggered this fix was Difficulty Adjust.

Because the difficulty cache is backed by a dictionary, there are two
stages to the lookup; first `GetHashCode()` is used to find the
appropriate hash bucket to look in, and then items from that hash bucket
are compared against the key being searched for via the implementation
of `Equals()`.

As it turns out, the first hashing step ended up being the saving grace
in most cases, as the hash computation included the values of the mod
settings. But the Difficulty Adjust failure case was triggered by the
quirk that `GetHashCode(0) == GetHashCode(null) == 0`.

In such a case, the `Equals()` fallback was used. But as it turns out,
because the `Mod` instance stored to lookups was not cloned and
therefore potentially externally mutable, it could be polluted after
being stored to the dictionary, and therefore breaking the equality
check. Even though all of the setting values were compared, the hash
bucket didn't match the actual contents of the lookup anymore (because
they were mutated externally, e.g. by the user changing the mod setting
values in the mod settings overlay).

To resolve, clone out the mod structure before creating all difficulty
lookups.
2021-08-21 15:50:33 +02:00
Salman Ahmed
9a6ff29951
Reword comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-21 15:39:57 +03:00
Salman Ahmed
1729d43cec Add explanatory comment 2021-08-21 15:18:03 +03:00
Salman Ahmed
df5354eba6
Merge branch 'master' into fix-setting-section-clickability 2021-08-21 14:25:28 +03:00
Salman Ahmed
216ff07497
Merge branch 'master' into fix-setting-section-clickability 2021-08-21 14:11:55 +03:00
Salman Ahmed
76e1d88028
Merge branch 'master' into gameplay-chat-mouse-cursor 2021-08-21 14:01:30 +03:00
Dean Herbert
ae47c5cdb3 Fix bottom area of a settings section not being clickable 2021-08-21 15:08:42 +09:00
Dean Herbert
15d443f6b7 Use the UI mouse cursor when hovering gameplay chat in an interactive state 2021-08-21 14:44:54 +09:00
Dean Herbert
36352d1de4 Improve highlighted chat username shadow effect 2021-08-21 14:34:35 +09:00
Salman Ahmed
20f193c1c2 Fix screen offsetting not handling scaled game instances
By using `Content` instead, now the logic will get the X of the settings
overlay at the `Content` space, which can be scaled in the
`ScalingMode.Everything` mode.

And in the case of `ScalingMode.ExcludeOverlays`, a subcontainer
somewhere inside `Content` that's holding the screen stack would be scaled,
but `Content` won't be affected which is what we want in that case.
2021-08-21 04:16:12 +03:00
Endrik Tombak
058d2d2a49 Use nekodex's regex from osu-web 2021-08-20 23:01:06 +03:00
Endrik Tombak
8745fe9e34 Change editor timestamp regex to not match non-editor ones 2021-08-20 22:32:04 +03:00
Dean Herbert
d3dba296d6 Update resources 2021-08-20 23:47:35 +09:00
Dan Balasescu
0c936aec4b
Merge branch 'master' into temporary-directory-test-storage 2021-08-20 22:09:42 +09:00
smoogipoo
f85d3665d8 Cleanups 2021-08-20 21:45:24 +09:00
smoogipoo
5192ee3b57 Fix initial display in room background 2021-08-20 21:40:35 +09:00
smoogipoo
5c8ca32ea4 Simplify lounge implementation 2021-08-20 21:33:21 +09:00
smoogipoo
b1a732b9b7 Remove selectedRoom from OnlinePlayScreen 2021-08-20 21:28:48 +09:00
smoogipoo
ceb07826d7 Merge branch 'master' into remove-current-room 2021-08-20 21:10:41 +09:00
smoogipoo
9458cd5a31 Make DrawableMatchRoom background load instantly 2021-08-20 21:07:51 +09:00
smoogipoo
b190020c4b Block lounge background screen from exiting 2021-08-20 21:02:25 +09:00
Dan Balasescu
0aea39f5f1
Merge branch 'master' into temporary-directory-test-storage 2021-08-20 20:41:54 +09:00
Dan Balasescu
0a6b678059
Merge branch 'master' into settings-dim-other-sections 2021-08-20 20:22:22 +09:00
Dean Herbert
77149044a5 Allow intro screen to retrieve beatmap even if rulesets is not loaded 2021-08-20 19:43:48 +09:00
smoogipoo
d304e283e4 Don't deselect online room when joined 2021-08-20 18:14:59 +09:00
smoogipoo
c22c6f3a49 Initial room background implementation 2021-08-20 18:14:12 +09:00
Dean Herbert
591ba8cb09 Ensure the final scroll target is used when checking for whether too far down 2021-08-20 17:56:35 +09:00
smoogipoo
258ba4674c Fix background overflows 2021-08-20 17:50:49 +09:00
Dean Herbert
03e6ca5ba9 Adjust scroll behaviour to feel better 2021-08-20 17:40:56 +09:00
Dean Herbert
2d19f37dc6 Add missing new method in UserTrackingScrollContainer for scrolling into view 2021-08-20 17:40:41 +09:00
Dean Herbert
139ff2d6e2 Only fade header in when hovering a section
Feels less like the controls are interactive when hovering this way.
2021-08-20 17:40:05 +09:00
smoogipoo
3d96da84e6 Set a default background 2021-08-20 17:05:46 +09:00
smoogipoo
8524937c82 Move screenstack up a level 2021-08-20 17:02:55 +09:00
Dean Herbert
c7266c74a0 Always prefer clicked section when present 2021-08-20 17:00:20 +09:00
Dean Herbert
cff7b1e98f Ensure the correct fade level is applied over all state changes 2021-08-20 17:00:08 +09:00
Lucas A
9b4c806855 Apply review suggestions. 2021-08-20 09:47:23 +02:00
Lucas A
0a1c9a6c05 Move DownloadButtonStrings -> CommonStrings 2021-08-20 09:26:38 +02:00
smoogipoo
610a162271 Merge branch 'master' into remove-current-room 2021-08-20 16:23:36 +09:00
Lucas A
19cc4a14a3 Localise top score mods statistics 2021-08-20 09:22:15 +02:00
Dan Balasescu
54bc532f0d
Merge branch 'master' into fix-messagepack-union 2021-08-20 16:01:04 +09:00
Dean Herbert
659ec0c1b8
Merge pull request #14403 from Joehuu/fix-nub-glow
Fix nub glow color not having 0 alpha when being set
2021-08-20 15:07:30 +09:00
Dan Balasescu
dcff30ed6e
Merge branch 'master' into fix-login-as-guest 2021-08-20 14:06:28 +09:00