Commit Graph

44492 Commits

Author SHA1 Message Date
1de84e1c98 Change description to include mention of video
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-08-23 17:34:19 +09:00
eaa4d479ac Merge pull request #14408 from smoogipoo/remove-current-room
Remove the global "selected room" from online screens
2021-08-23 17:29:31 +09:00
391c4e529c Add test coverage for all added features 2021-08-23 11:12:48 +03:00
9fa39cd34e Revert ruleset when not applied filters (includes scope change) 2021-08-23 11:11:06 +03:00
cb7c2f713b Store default ruleset value for ability to revert 2021-08-23 11:09:26 +03:00
f2d51200a5 Update android mime types in line with new specifications 2021-08-23 16:55:42 +09:00
1d89d757af Fix beatmap ruleset selector selecting initial ruleset 2021-08-23 09:57:05 +03:00
99bb3032a5 Move gradient to be part of the background for now 2021-08-23 15:27:32 +09:00
2ba88923b6 Select user preferred ruleset on overlay ruleset selectors initially 2021-08-23 08:58:54 +03:00
58fb0c042b Remove background scale altogether
I'm not sure why this is required. Seems like something which was meant
to exist to handle parallax, but that is already handled elsewhere now.
2021-08-23 14:34:27 +09:00
4f3a5fbad5 Fix test failure 2021-08-23 14:29:15 +09:00
29f6ea7ac8 Merge pull request #14391 from Game4all/localise-beatmap-set-overlay
Localise beatmap set overlay
2021-08-23 14:14:07 +09:00
ead1b47e0e Merge branch 'master' into localise-beatmap-set-overlay 2021-08-23 13:22:52 +09:00
2ad5914fec Merge branch 'master' into decouple-ruleset-bindables 2021-08-23 12:40:57 +09:00
f2f3ba7bcd Merge pull request #14450 from bdach/wedge-bpm-not-updating
Fix BPM display not updating if rate-changing mods were enabled after selecting beatmap
2021-08-23 12:22:59 +09:00
2e80e2be51 Reword epilepsy warning description text 2021-08-22 21:47:37 +02:00
9538a32b5e Explicitly update beatmap info wedge on mod change
This used to already be the case prior to b419ea7, but in a very
roundabout way. Changes to the value of the star difficulty bindable -
including indirect changes via the set of active mods changing - would
trigger the wedge display to regenerate and load asynchronously.

b419ea7 accidentally broke this by moving down the bindable retrieval to
a lower level, at which point `WedgeInfoText` would only receive the set
of mods selected at the time at which a given beatmap was selected, and
not receive any further updates, breaking the BPM display updating in
real time (as `WedgeInfoText` could not be aware that rate-changing mods
were even in effect).

To resolve, explicitly reload the wedge's contents on mod changes.
2021-08-22 19:16:46 +02:00
e4a8f72167 Add failing test case 2021-08-22 19:16:43 +02:00
d602dc9d90 Enable epilepsy warning setting persistence in encoder 2021-08-22 17:43:20 +02:00
9816af688e Add basic design settings to setup screen 2021-08-22 17:43:20 +02:00
45b8bd175c Decouple rankings overlay's ruleset bindable from game-wide bindable 2021-08-22 16:25:35 +03:00
d164529be8 Fix ruleset selector not updating to the first ruleset item until after LoadComplete()
This fixes the whole issue behind `Ruleset.Value` being null, by
updating `Current` on BDL rather than waiting for the base logic which
executes at `LoadComplete`.

This seems like something that should happen at the base `TabControl` class itself, by switching `Current` right after the first added tab item, rather than doing it on `LoadComplete`, but I'm not sure about changing framework logic outright, so fixing this locally until it occurs on other places.
2021-08-22 16:25:34 +03:00
f390e9a156 Merge pull request #14443 from peppy/update-resources
Update resources
2021-08-22 13:38:27 +03:00
81e3c9d40f Update resources 2021-08-22 19:13:21 +09:00
82f3e947dd Merge pull request #14442 from TheShadowEevee/android-ruleset-error-fix
Add null check for Android ruleset loading
2021-08-22 19:07:37 +09:00
956112eb10 Reword comment and remove brackets 2021-08-22 12:40:41 +03:00
9b1720bd6c Merge branch 'master' into localise-beatmap-set-overlay 2021-08-22 10:53:31 +03:00
9cd0a182f6 Add null check for Android ruleset loading 2021-08-22 00:38:48 -05:00
3795030ebb Merge branch 'master' into mod-incompatibility-ui 2021-08-22 11:14:24 +08:00
0bbddd297c Remove unused code 2021-08-22 11:05:53 +08:00
e213562b2a Add a red tint on mods incompatible with the current selection 2021-08-22 11:01:17 +08:00
ef6faf04be Use FirstOrDefault in TooltipContent 2021-08-22 10:22:18 +08:00
3d402d9e78 List incompatible mods in tooltip of mod button 2021-08-22 10:13:34 +08:00
2877b43824 split multiplayer and playlist activity 2021-08-22 09:54:07 +08:00
37c0550921 Merge pull request #14418 from LittleEndu/editor-regex
Change editor timestamp regex to not match non-editor ones
2021-08-21 20:20:36 +02:00
7ab12959a0 Merge branch 'master' into editor-regex 2021-08-21 19:57:26 +02:00
c2c0ff3327 Merge pull request #14425 from frenzibyte/fix-screen-offsetting-on-scaling
Fix screen offsetting not handling scaled game content properly
2021-08-22 02:51:17 +09:00
77f3668751 Merge branch 'master' into fix-screen-offsetting-on-scaling 2021-08-22 02:28:06 +09:00
43b3845970 Remove redundant string interpolation 2021-08-21 16:35:40 +02:00
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
f642546d6a Add failing test case 2021-08-21 15:50:33 +02:00
479401e533 Add option to set own computation function in test 2021-08-21 15:50:32 +02:00
9a6ff29951 Reword comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-21 15:39:57 +03:00
b2ee777ceb Merge pull request #14431 from peppy/fix-setting-section-clickability
Fix bottom area of a settings section not being clickable
2021-08-21 15:31:50 +03:00
1729d43cec Add explanatory comment 2021-08-21 15:18:03 +03:00
df5354eba6 Merge branch 'master' into fix-setting-section-clickability 2021-08-21 14:25:28 +03:00
a7e513faed Merge pull request #14430 from peppy/gameplay-chat-mouse-cursor
Use the UI mouse cursor when hovering gameplay chat in an interactive state
2021-08-21 14:25:09 +03:00
216ff07497 Merge branch 'master' into fix-setting-section-clickability 2021-08-21 14:11:55 +03:00
76e1d88028 Merge branch 'master' into gameplay-chat-mouse-cursor 2021-08-21 14:01:30 +03:00
21cc24c1d0 Merge pull request #14429 from peppy/improve-chat-username-effect
Improve highlighted chat username shadow effect
2021-08-21 13:57:32 +03:00