1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-19 20:33:05 +08:00
Commit Graph

28132 Commits

Author SHA1 Message Date
Dean Herbert
448c58c35d
Remove unnecessary variable discard
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-31 15:08:07 +09:00
Dean Herbert
9fa8bee094 Remove outdated TODO 2021-08-31 14:51:19 +09:00
Dean Herbert
ce0d7cce2d Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info 2021-08-31 14:40:54 +09:00
Dean Herbert
c25ab6835c Remove IJsonSerializable interface
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Dean Herbert
529a9a6ff8 Adjust minimum triangle movement speed to avoid "static" triangles in logo
Closes #14584.
2021-08-31 14:08:23 +09:00
Joseph Madamba
570d36fde7 Make toolbar handle mouse events instead 2021-08-30 20:53:43 -07:00
Bartłomiej Dach
ddf9d2aa6c
Add test coverage 2021-08-30 22:55:58 +02:00
Bartłomiej Dach
b43ee2d61c
Add descriptions to enum members 2021-08-30 22:51:42 +02:00
Bartłomiej Dach
eec9f6d191
Add countdown settings to design section 2021-08-30 22:51:41 +02:00
Bartłomiej Dach
48e56adcfe
Add labelled number box control 2021-08-30 21:52:24 +02:00
Bartłomiej Dach
a6d09b0bb0
Add labelled enum dropdown variant 2021-08-30 21:37:14 +02:00
Bartłomiej Dach
acf38c723a
Move labelled dropdown from tournament to main game 2021-08-30 21:37:08 +02:00
Dean Herbert
a2cff75fc0 Fix editor not cloning control points as expected 2021-08-30 21:55:08 +09:00
Salman Ahmed
6154642075
Merge branch 'master' into local-popover-containers 2021-08-30 15:44:29 +03:00
rednir
8104b15874
remove braces
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-30 13:23:33 +01:00
rednir
c789163d01
use user ID overload when its supposed to be used
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-30 13:22:12 +01:00
Dan Balasescu
b95da3ca27
Merge pull request #14576 from peppy/update-framework
Update framework
2021-08-30 21:09:58 +09:00
Dan Balasescu
c1f77cfa1e
Merge pull request #14577 from Henry-YSLin/status-criteria-parsing
Parse partially typed status names in song select filter query
2021-08-30 19:59:41 +09:00
smoogipoo
caa797cbf4 Attempt to reorder score panel list 2021-08-30 19:58:35 +09:00
smoogipoo
e19d81c88c Fix potential incorrect ordering 2021-08-30 19:41:44 +09:00
smoogipoo
4ebb11472d Update Leaderboard to reorder scores based on scoring mode 2021-08-30 19:34:34 +09:00
smoogipoo
458ce250f0 Use new ScoreManager method in ScoreTable 2021-08-30 19:34:12 +09:00
smoogipoo
d03950fb37 Move score calculation to ScoreManager 2021-08-30 19:33:09 +09:00
Henry Lin
8137eee527
Reuse value to save enum name
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-30 18:05:47 +08:00
smoogipoo
b217dd1a65 Order scores by score 2021-08-30 19:03:16 +09:00
smoogipoo
47061c0210 Trigger refresh on scoring mode change 2021-08-30 18:57:30 +09:00
Henry Lin
04bf667d0d Parse partially typed enum names in filter query 2021-08-30 17:49:18 +08:00
Dan Balasescu
c4da966ad9
Merge pull request #14575 from peppy/add-legacy-convert-encode-stability-tests
Fix multiple conversions of a beatmap to taiko ruleset applying speed multiplier multiple times
2021-08-30 18:47:09 +09:00
Dean Herbert
1aaea7011a Fix early return causing event loss in case of multiple control points in group 2021-08-30 18:33:05 +09:00
Dean Herbert
015df282fe Simplify copy operations 2021-08-30 18:32:55 +09:00
Davran Dilshat
1aeae2b8c8 reverse ternary operator 2021-08-30 10:11:41 +01:00
Dean Herbert
4da2dca339 Apply the default SampleControlPoint if not externally provided
This is mostly to handle tests for now, as generally this should be
provided by an external source in all other cases.
2021-08-30 17:21:07 +09:00
Dean Herbert
d35c4da906 Add new control point to legacy regeneration logic 2021-08-30 17:14:53 +09:00
Dean Herbert
6ee4a6526c Don't block sample points from still being added to ControlPointInfo 2021-08-30 17:14:53 +09:00
Dean Herbert
6fd24a5d92 Remove redundant null coalesce 2021-08-30 17:14:53 +09:00
Dean Herbert
ccacf56dd8 Move to legacy namespace 2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2 Move samples to LegacyControlPointInfo 2021-08-30 17:14:53 +09:00
Dean Herbert
da7a871afa
Update inline comment to point to new variable location
Co-authored-by: PercyDan <50285552+PercyDan54@users.noreply.github.com>
2021-08-30 16:27:24 +09:00
Dean Herbert
678386f5c4 Fix missed null coalesce 2021-08-30 16:05:56 +09:00
Dean Herbert
fa2bf42188 Update tooltip implementations 2021-08-30 16:05:00 +09:00
Dean Herbert
f64efdc4a9 Merge branch 'update-extension-usages' into update-framework 2021-08-30 16:00:09 +09:00
Dean Herbert
58a052ea1f Update framework 2021-08-30 16:00:07 +09:00
Dean Herbert
6a6dac609c Fix instability of taiko double conversion
Until now, the taiko speed multiplier was potentially applied more than
once if conversion was run multiple times.
2021-08-30 15:30:18 +09:00
Dean Herbert
ee49305cad Move taiko legacy speed multiplier to osu.Game project
Allows it to be used in local case in `LegacyBeatmapEncoder`.
2021-08-30 15:13:31 +09:00
Dean Herbert
4dd60e3299 Merge branch 'master' into taiko-drum-refacor 2021-08-30 14:12:52 +09:00
Dan Balasescu
7be825f470
Merge pull request #14488 from frenzibyte/multi-spectator-player-leaving
Gray out and stop player instances who quit during multi-spectator sessions
2021-08-30 12:04:19 +09:00
Davran Dilshat
90c313e2ad add methods to get a user from their username 2021-08-29 19:19:55 +01:00
Salman Ahmed
6dc11543ad Handle (null?) PP in PerformanceTable 2021-08-29 17:20:33 +03:00
Salman Ahmed
6aaef7b0be Handle null PP during score set in TopScoreStatisticsSection
Supersedes #14562
Closes #14541
2021-08-29 17:19:17 +03:00
Salman Ahmed
8f3416d853 Assert PP not null when showPerformancePoints is true 2021-08-29 16:03:39 +03:00
Salman Ahmed
e374ef163d Update localisable formattable extensions usages inline with framework change 2021-08-29 15:00:28 +03:00
Joseph Madamba
9a5445bded Fix overlays closing when clicking any empty area of the toolbar instead 2021-08-28 22:25:13 -07:00
Joseph Madamba
38912bfc16 Fix floating overlays not closing when clicking some empty area of the toolbar 2021-08-28 20:38:35 -07:00
Bartłomiej Dach
2efe82a18d
Remove popover container from manual input manager test scene 2021-08-28 20:20:42 +02:00
Bartłomiej Dach
d9db1ecee9
Remove game-global popover container 2021-08-28 20:05:59 +02:00
Bartłomiej Dach
fcc3e57d5d
Move overlay colour provider up to editor screen 2021-08-28 20:05:58 +02:00
Bartłomiej Dach
e94d96f250
Add local popover container to editor screens 2021-08-28 20:05:58 +02:00
Bartłomiej Dach
7457480b50
Add local popover container to lounge subscreen 2021-08-28 20:05:58 +02:00
Salman Ahmed
589f2863ca Move incompatibility tooltip logic to local player mod select overlays
This one turned out to be a bit more involved, due to tooltips being
shared and having the potential of being used somewhere where it
shouldn't be, due to the same content type matching.

That's the reason I've defined a protected `TargetContentType`, to be
able to separate "local player mod tooltips" and regular mod tooltips
apart.

Definitely unsure about the solution, but that's as far as I can think
of right now.
2021-08-28 02:38:46 +03:00
Salman Ahmed
e527bfd4bf Move incompatibility icon logic to local player mod select overlays 2021-08-28 02:37:46 +03:00
Dean Herbert
681a87d4ec Update framework 2021-08-28 07:08:06 +09:00
Dean Herbert
804ca88d63 Update framework 2021-08-27 19:52:45 +09:00
Salman Ahmed
378734a7f8 Separate solo spectator player and "exit on restart" logic to own class 2021-08-27 13:24:37 +03:00
Dean Herbert
2b06dacd0e Change debounce back to using scheduler
Should better allow for adjusting in the future, as well.
2021-08-27 18:57:19 +09:00
Dean Herbert
33aa48bcf6 Merge branch 'master' into lobby-sounds 2021-08-27 18:46:12 +09:00
Dean Herbert
7d9bae4507 Update resources 2021-08-27 18:29:49 +09:00
Dan Balasescu
a28bc9f6b2
Merge branch 'master' into path-control-point-bindable-removal 2021-08-27 09:37:37 +09:00
Bartłomiej Dach
2ef2af17eb
Merge branch 'master' into alternative-difficulty-bindable 2021-08-26 23:07:52 +02:00
Bartłomiej Dach
d71dff4340
Merge branch 'master' into skip-overlay-optimisations 2021-08-26 22:38:17 +02:00
Bartłomiej Dach
875ef3e68f
Merge branch 'master' into fix-mania-editor 2021-08-26 21:00:20 +02:00
Dean Herbert
15aa0458bc Use PausableSkinnableSound instead 2021-08-26 17:15:36 +09:00
Dean Herbert
ec85d7f356 Remove unused helper method 2021-08-26 17:15:23 +09:00
Dean Herbert
982c4eff14 Merge branch 'master' into taiko-drum-refacor 2021-08-26 17:13:14 +09:00
Salman Ahmed
2f26d270a3
Merge branch 'master' into score-processor-enum-getvalue-overhead-reduction 2021-08-26 09:55:09 +03:00
Salman Ahmed
15812520bd Replace global editor test case with mania compose screen test scene 2021-08-26 09:45:01 +03:00
Jamie Taylor
56baecdde4
Add missing interaction sfx to MatchTypePicker 2021-08-26 15:30:20 +09:00
Jamie Taylor
e341f471b0
Add lobby sfx for join/leave/kick/ready/unready events 2021-08-26 15:29:22 +09:00
Dean Herbert
e633b2716d Fix regression in outro skip handling logic 2021-08-26 13:58:45 +09:00
Dean Herbert
e32933eb54 Avoid Enum.GetValues in each score population pass 2021-08-26 13:37:53 +09:00
Dean Herbert
f4199958d9 Avoid unnecessary array/LINQ operations when replay frames have no action changes 2021-08-26 13:03:50 +09:00
Dean Herbert
6dcd9427ac Remove bindable usage in PathControlPoint
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.

I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Dean Herbert
b1a261c902 Avoid using scheduled delegates at all for skip overload input handling 2021-08-26 12:25:37 +09:00
Dean Herbert
956e3c554b Avoid skip overlay attempting to show when it is already invalid 2021-08-26 12:25:37 +09:00
Salman Ahmed
b4d6495f99 Fix editor skin providing container not providing playable beatmap 2021-08-25 17:52:36 +03:00
Salman Ahmed
f9b25a0159 Add test case for switching to each screen in editor test scenes 2021-08-25 17:52:35 +03:00
Salman Ahmed
3ad0b529fb Make EditorScreen inherit from VisibilityContainer rather than unsafe transforms 2021-08-25 17:14:52 +03:00
Salman Ahmed
196c74fce8 Gray out and remove player clock when users stop playing 2021-08-25 11:31:02 +03:00
Salman Ahmed
599145b46a Stop clocks when removing them from sync manager 2021-08-25 11:31:02 +03:00
Dean Herbert
fd78d0440b Update missed conditional 2021-08-25 17:00:32 +09:00
Dean Herbert
ccfff50c6f Apply fixes in line with issues found during testing
I was trying to be too smart with caching, but if the `Play` method was
not called often enough it would have a recent reference. Unfortunately
this requires a separate query to `Entries`, but is also a special case
(no future hitobjects).

This also removes the time-based checks (result status alone should be
all we care about).
2021-08-25 16:56:44 +09:00
Dean Herbert
ef2b5e1c51 Tidy up variable names and unused resolved properties 2021-08-25 16:56:44 +09:00
Dean Herbert
a1936b141b Refactor base class to allow correct usage in taiko drum 2021-08-25 16:56:44 +09:00
Dean Herbert
681215e5b5 Rewrite object lookup to use previous entry regardless
This changes the fallback logic to always prefer the previous resolved
lifetime entry rather than fallback to the first entry ever. I think
this is more correct in all cases.

Also rewrites the inline comments to hopefully be easier to parse.
2021-08-25 16:56:44 +09:00
Dean Herbert
4a294d4de4 Optimise fallback logic to reduce lookups to bare minimum 2021-08-25 16:56:44 +09:00
Dean Herbert
6aa894e55e Split out separate component 2021-08-25 16:56:44 +09:00
Dan Balasescu
351015357c
Merge branch 'master' into user-events-in-participant-list 2021-08-25 14:39:26 +09:00
Dean Herbert
e1ab3434ed Add ability to handle user join/leave/kick events in MultiplayerComposites 2021-08-25 14:37:14 +09:00
Salman Ahmed
ca527262e3
Merge branch 'master' into countdown-beatmap-info 2021-08-25 08:30:27 +03:00
Salman Ahmed
84637b59ef Define DifficultyBindableWithCurrent and use in SliderControl 2021-08-25 07:40:41 +03:00
Dean Herbert
414457ba57 Add basic xmldoc explaining CountdownOffset 2021-08-25 13:24:52 +09:00
Bartłomiej Dach
a6c2cbd2e5
Add countdown settings to beatmap info model 2021-08-24 21:55:10 +02:00
Bartłomiej Dach
e503182a8d
Merge branch 'master' into activity-on-multiplayer-screens 2021-08-24 18:50:55 +02:00
Dean Herbert
568a8ee97e
Merge branch 'master' into fix-hud-test-failure-2 2021-08-24 16:54:48 +09:00
Dean Herbert
3f0f820653 Add comment explaining reasoning for override 2021-08-24 16:54:19 +09:00
Dean Herbert
08f757a584
Merge pull request #14474 from smoogipoo/fix-multi-crash
Fix crash when entering multiplayer gameplay
2021-08-24 16:20:18 +09:00
Dan Balasescu
6a916a264f
Merge pull request #14441 from Henry-YSLin/mod-incompatibility-ui
Show mods that are incompatible with the current selection
2021-08-24 16:16:35 +09:00
Dan Balasescu
ea98ce1b39
Merge pull request #14465 from peppy/improve-stable-skin-import
Improve skin stable import behaviour to better handle similar skins
2021-08-24 16:08:15 +09:00
smoogipoo
9f17c38e36 Fix hud overlay components being blocked from load 2021-08-24 15:18:27 +09:00
Dean Herbert
a5f6c287ea Split out pinned comment content to only be constructed when required 2021-08-24 14:43:28 +09:00
Dean Herbert
8cd972a9fe Merge branch 'master' into pinned-comment 2021-08-24 14:37:31 +09:00
smoogipoo
16ddbcd208 Don't bind to RoomId where it's expected to be constant 2021-08-24 14:25:40 +09:00
Dean Herbert
c3b7ce0b05 Remove stray newline 2021-08-24 14:02:50 +09:00
Dean Herbert
afd01d22d6 Adjust visuals of incompatible icon and move to own class 2021-08-24 14:01:49 +09:00
Salman Ahmed
847726547a Move mod value change callback inside wedge info text component 2021-08-24 07:53:49 +03:00
Dean Herbert
bf0a1167ec Improve update flow and ensure selected mods is read from local context 2021-08-24 13:35:39 +09:00
smoogipoo
de0de451fe Refactor to remove resolved dependency 2021-08-24 13:29:19 +09:00
smoogipoo
df170afbc4 Fix multiplayer crashing when entering gameplay 2021-08-24 13:22:06 +09:00
smoogipoo
956c1cc216 Merge branch 'master' into activity-on-multiplayer-screens 2021-08-24 12:33:34 +09:00
Dan Balasescu
dfd61e413a
Merge branch 'master' into difficulty-cache-difficulty-adjust 2021-08-24 12:08:52 +09:00
Dean Herbert
3c9718339c
Merge pull request #14444 from frenzibyte/decouple-ruleset-bindables
Decouple rankings overlay's ruleset selector from the game-wide ruleset bindable
2021-08-24 11:58:13 +09:00
Henry Lin
b8fe03b77f Use Mod.Equals for comparison 2021-08-24 09:50:09 +08:00
Henry Lin
6e3d05c7ce Display an icon to signify incompatibility instead of a red tint 2021-08-24 09:42:53 +08:00
Salman Ahmed
13a24ed36f
Merge branch 'master' into update-section-selection-childcount 2021-08-23 20:43:46 +03:00
Bartłomiej Dach
ccf337bdc2
Merge branch 'master' into editor-setup-file-selector-popovers 2021-08-23 18:28:44 +02:00
Davran Dilshat
6bea744e34 invalidate scroll position 2021-08-23 17:13:25 +01:00
Davran Dilshat
20222f09c4 oops redundant default value 2021-08-23 16:55:31 +01:00
Davran Dilshat
9a507ed273 update selected section on children count change 2021-08-23 16:27:29 +01:00
Salman Ahmed
bd42d7aada Hide popover on file selection 2021-08-23 18:01:01 +03:00
Dean Herbert
a2484692b3 Change brackets to square 2021-08-23 20:37:19 +09:00
Dean Herbert
7b3f7cc7c1 Change skin import to also include directory names in the skin name where appropriate 2021-08-23 20:24:00 +09:00
Dean Herbert
fed0e15cea Fix typo in ArchiveModelManager 2021-08-23 20:23:46 +09:00
Salman Ahmed
f8a7e0bdb6 Update rankings overlay ruleset bindable with parent on initial display 2021-08-23 13:50:39 +03:00
Salman Ahmed
d3958eb3fb Revert initial ruleset value logic 2021-08-23 13:28:21 +03:00
Salman Ahmed
f4b69ceb8a Remove unused using embedded in reverted changes 2021-08-23 12:40:20 +03:00
Salman Ahmed
257934a144 Revert "Revert ruleset when not applied filters (includes scope change)"
This reverts commit 9fa39cd34e.
2021-08-23 12:38:30 +03:00
Salman Ahmed
eeeaefbd7d Revert "Store default ruleset value for ability to revert"
This reverts commit cb7c2f713b.
2021-08-23 12:38:24 +03:00
Dean Herbert
34b51100ff
Merge pull request #14448 from bdach/basic-design-settings
Add basic design settings to editor setup screen
2021-08-23 18:19:58 +09:00
Dean Herbert
c2c9a93e2c Show editor file choosers in a popover rather than inline
Supersedes and closes #14370.
Closes #14367.
2021-08-23 18:12:36 +09:00
Dean Herbert
2f6b95da39 Add descriptions for the remaining settings 2021-08-23 17:41:03 +09:00
Dean Herbert
d17f7b5c8b Side WidescreenStoryboard to on by default for new beatmaps 2021-08-23 17:40:41 +09:00
Dean Herbert
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
Dean Herbert
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
Salman Ahmed
9fa39cd34e Revert ruleset when not applied filters (includes scope change) 2021-08-23 11:11:06 +03:00
Salman Ahmed
cb7c2f713b Store default ruleset value for ability to revert 2021-08-23 11:09:26 +03:00
Salman Ahmed
1d89d757af Fix beatmap ruleset selector selecting initial ruleset 2021-08-23 09:57:05 +03:00
Dean Herbert
99bb3032a5 Move gradient to be part of the background for now 2021-08-23 15:27:32 +09:00
Salman Ahmed
2ba88923b6 Select user preferred ruleset on overlay ruleset selectors initially 2021-08-23 08:58:54 +03:00
Dean Herbert
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
smoogipoo
4f3a5fbad5 Fix test failure 2021-08-23 14:29:15 +09:00
Dan Balasescu
ead1b47e0e
Merge branch 'master' into localise-beatmap-set-overlay 2021-08-23 13:22:52 +09:00
Dan Balasescu
2ad5914fec
Merge branch 'master' into decouple-ruleset-bindables 2021-08-23 12:40:57 +09:00
Bartłomiej Dach
2e80e2be51
Reword epilepsy warning description text 2021-08-22 21:47:37 +02:00
Bartłomiej Dach
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
Bartłomiej Dach
e4a8f72167
Add failing test case 2021-08-22 19:16:43 +02:00
Bartłomiej Dach
d602dc9d90
Enable epilepsy warning setting persistence in encoder 2021-08-22 17:43:20 +02:00
Bartłomiej Dach
9816af688e
Add basic design settings to setup screen 2021-08-22 17:43:20 +02:00
Salman Ahmed
45b8bd175c Decouple rankings overlay's ruleset bindable from game-wide bindable 2021-08-22 16:25:35 +03:00
Salman Ahmed
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
Dean Herbert
81e3c9d40f Update resources 2021-08-22 19:13:21 +09:00
Salman Ahmed
956112eb10 Reword comment and remove brackets 2021-08-22 12:40:41 +03:00
Salman Ahmed
9b1720bd6c Merge branch 'master' into localise-beatmap-set-overlay 2021-08-22 10:53:31 +03:00
Michael Malloy
9cd0a182f6
Add null check for Android ruleset loading 2021-08-22 00:38:48 -05:00
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
Dean Herbert
98357d51da
Merge pull request #14323 from minetoblend/editor-seek
Prevent seeking before mp3 start time while editor is playing
2021-08-20 13:28:20 +09:00
Joseph Madamba
284c871e39
Fix glow color potentially being set incorrectly when glowing
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-19 20:33:19 -07:00
Dean Herbert
da8eba9996 Return early to avoid updating state and failure count in fail cases 2021-08-20 12:11:41 +09:00
Joseph Madamba
1e02d61b85 Fix nub glow color not having 0 alpha when being set 2021-08-19 20:06:49 -07:00
Dan Balasescu
c95bf735fe
Merge branch 'master' into multiplayer-chat 2021-08-20 11:54:42 +09:00
Dean Herbert
2825e15fd4 Update framework 2021-08-20 11:54:37 +09:00
Dean Herbert
7021133029 Merge branch 'master' into temporary-directory-test-storage 2021-08-20 11:54:33 +09:00
Dan Balasescu
580136a5e9
Merge branch 'master' into fix-lounge-loading 2021-08-20 10:51:30 +09:00
Bartłomiej Dach
143b8df1b2
Fix backwards warning text presence check 2021-08-19 22:40:35 +02:00
Lucas A
bf7f0a5d30 Remove double whitespace 2021-08-19 19:02:04 +02:00
Dean Herbert
e25592f325
Merge branch 'master' into fix-lounge-loading 2021-08-19 20:01:47 +09:00
Dean Herbert
2b0f2a6db9
Merge pull request #14355 from frenzibyte/mod-settings-difficulty-cache
Update star difficulty bindables on mod settings change
2021-08-19 20:00:48 +09:00
Dean Herbert
a6b7ca1a4c Ensure all request failures are correctly handled during login 2021-08-19 19:55:14 +09:00
Dean Herbert
b09105e5a7
Merge pull request #14381 from smoogipoo/match-subscreen-redesign
Update layout of multiplayer room screens
2021-08-19 19:36:21 +09:00
Dean Herbert
a65cd36a5f Move some constants to consts 2021-08-19 19:19:46 +09:00
Dean Herbert
fcf7394d3c
Merge pull request #14385 from rednir/limit-match-settings-textbox
Limit length of multiplayer match settings textboxes
2021-08-19 19:13:32 +09:00
smoogipoo
44e157447c Initial rework of backgrounds 2021-08-19 19:10:54 +09:00
Dean Herbert
8fce5911a9 Adjust spacing and padding of footer buttons 2021-08-19 19:08:46 +09:00
Dean Herbert
16aecfe934 Start free mod selection area hidden on screen display 2021-08-19 19:02:54 +09:00
Dean Herbert
be77498044 Move chat to right column in multiplayer match screen 2021-08-19 19:02:31 +09:00
Dean Herbert
675e2e34ba Add padding between beatmap panel and edit button 2021-08-19 19:02:05 +09:00
Dean Herbert
4afc808ffc Remove horizontal transitions for now
They look bad with the current toolbar implementation. We can probably
add them back once the toolbar is moved to the lounge.
2021-08-19 18:29:59 +09:00
smoogipoo
023f3fb70e Use BackgroundScreen for multiplayer backgrounds 2021-08-19 18:19:31 +09:00
smoogipoo
493f47787b Disable condition for the time being 2021-08-19 18:18:42 +09:00
Dean Herbert
4d1582d721 Play settings hide animation if visible when exiting RoomSubScreen 2021-08-19 18:14:45 +09:00
Dean Herbert
bc025efce5 Add commenting regarding workaround to avoid potential omission in the future 2021-08-19 17:42:44 +09:00
Dean Herbert
2b5a42e063 Add missing union specification for MatchUserRequest 2021-08-19 17:42:26 +09:00
Dean Herbert
f95c6f0de5 Switch multiplayer back to messagepack 2021-08-19 17:42:13 +09:00
Dean Herbert
fa01e4fad2 Add workaround for SignalR union serialisation 2021-08-19 17:41:50 +09:00
smoogipoo
6b6d52c23b Add dependency container to RoomSubScreen 2021-08-19 16:53:07 +09:00
smoogipoo
4d1897c6b4 Remove unnecessary resolve into ListingPollingComponent 2021-08-19 16:52:54 +09:00
smoogipoo
00be7f4cca Make RoomsContainer/DrawableRoom not resolve via DI 2021-08-19 16:52:54 +09:00
smoogipoo
3a1154c00e Pass room into SelectionPollingComponent 2021-08-19 16:41:21 +09:00
smoogipoo
c31af96f1d Pass room into RoomSettingsOverlay 2021-08-19 16:41:21 +09:00
smoogipoo
1fd746524d Remove realtime room category, fix end-date showing for realtime 2021-08-19 16:09:28 +09:00
smoogipoo
6469eaa427 Fix background not updated in room 2021-08-19 15:52:51 +09:00
Salman Ahmed
6bfae25cda Apply 5px vertical spacing on fill flow
Regressed, was margin { bottom = 5f } from the star rating display
creation method, which I've partly inlined.
2021-08-19 08:30:29 +03:00
Dean Herbert
6d00ea3375 Allow toggling focus via binding 2021-08-19 14:19:59 +09:00
Salman Ahmed
25e6317e7f Use animated star display in beatmap info wedge and synchronise bar 2021-08-19 07:18:02 +03:00
Salman Ahmed
6d57a240ac Add animation support for the star rating display 2021-08-19 07:17:43 +03:00
Salman Ahmed
072560ba3e Remove leftover unused using 2021-08-19 07:17:43 +03:00
Salman Ahmed
102320f8ae Merge branch 'master' into mod-settings-difficulty-cache 2021-08-19 06:35:13 +03:00
Salman Ahmed
5fc29328cf Remove unused using
Uh.....
2021-08-19 06:30:23 +03:00
Salman Ahmed
b984780d6a Merge branch 'master' into fix-lounge-loading 2021-08-19 06:26:15 +03:00
Salman Ahmed
49bc3a8250 Refactor playlists room manager to handle dummy API requests 2021-08-19 06:25:47 +03:00
Salman Ahmed
f4ae587a33 Extract room request handling logic to its own class 2021-08-19 06:24:06 +03:00
Salman Ahmed
0e2f3dff4d Fix rooms scroll container not masking properly due to padding 2021-08-19 05:09:49 +03:00
Salman Ahmed
ffbe8ddfa4 Refactor lounge sub screen layout for better loading screen appearance 2021-08-19 04:23:12 +03:00
Bartłomiej Dach
2e1df7bee4
Merge branch 'master' into settings-dim-other-sections 2021-08-18 23:32:30 +02:00
Bartłomiej Dach
2e43f38d8a
Merge branch 'master' into settings-delayed-load 2021-08-18 22:53:34 +02:00
Bartłomiej Dach
07951fe18c
Merge branch 'master' into limit-match-settings-textbox 2021-08-18 21:17:16 +02:00
Davran Dilshat
43cbd10a38 change limit to be on actual usage site 2021-08-18 18:30:50 +01:00
Lucas A
ea08d48d27 Remove unecessary localised string due to online view container handling visibility when user is not logged in. 2021-08-18 18:53:35 +02:00
Davran Dilshat
61675eefe0 Add length limit to match settings textboxes 2021-08-18 17:36:57 +01:00
Dean Herbert
6637c64501 Dim all but the current section 2021-08-19 01:27:14 +09:00
Dean Herbert
e87accafc8 Fix current section logic not accounting for hidden sections 2021-08-19 01:26:33 +09:00
Dean Herbert
a0374d4a67 Adjust centre point slightly to make dim feel better 2021-08-19 01:26:11 +09:00
Dean Herbert
af0c7ed108 Fix searching in settings not correctly invalidating the scroll position 2021-08-19 01:25:57 +09:00
smoogipoo
d40023bcc1 Hide border by default 2021-08-18 21:09:34 +09:00
smoogipoo
e9221f0126 Cleanup unnecessary implementation 2021-08-18 21:00:11 +09:00
smoogipoo
eadf02933a Split lounge-specific implementation from DrawableRoom 2021-08-18 20:56:44 +09:00
smoogipoo
63af67f61b Cleanup around footers 2021-08-18 20:25:48 +09:00
Salman Ahmed
8172ffc401 Fix lounge sub screen loading layer displaying in the background 2021-08-18 13:12:58 +03:00
Dean Herbert
fc3fa4f241 Merge branch 'master' into settings-delayed-load 2021-08-18 18:51:25 +09:00
Dean Herbert
1faf789f0e Allow expanding chat using key binding even when it is hidden 2021-08-18 18:25:21 +09:00
Dean Herbert
365c1bccc6 Fix multiplayer channel being unintentionally left after gameplay session 2021-08-18 18:24:20 +09:00
Salman Ahmed
d2df09432f Center the star rating display text rather than left 2021-08-18 11:49:33 +03:00
Salman Ahmed
5e91ec73e3 Handle star rating range display sizing 2021-08-18 11:36:27 +03:00
Dean Herbert
2099298444 Disallow clicking on chat textbox during gameplay 2021-08-18 17:30:50 +09:00
smoogipoo
9220d17202 Adjust paddings/spacings 2021-08-18 17:28:20 +09:00
Dean Herbert
9d2664cbb1 Merge branch 'master' into star-rating-display-v2 2021-08-18 17:22:33 +09:00
Salman Ahmed
74d6c26520 Refactor star rating display layout with flexibility in mind 2021-08-18 11:03:35 +03:00
smoogipoo
6dc96fdb83 Disable edit button in playlists 2021-08-18 16:56:42 +09:00
Dean Herbert
4725b802b0 Share OsuGameTestScene with implementations across template projects 2021-08-18 16:53:32 +09:00
Dean Herbert
2758a83d55 Fix TestSettingsMigration's usage of RecycleLocalStorage 2021-08-18 16:39:10 +09:00
smoogipoo
87a5922f0e Remove participants from playlists screen 2021-08-18 16:26:45 +09:00
smoogipoo
66e11fe75e Initial integration of playlists with the new structure 2021-08-18 16:09:15 +09:00
smoogipoo
568f1fd345 Fix initial RoomId state not being handled correctly 2021-08-18 16:09:00 +09:00
Dean Herbert
dc44cc0eb3 Update scenarios to use new TestRunHeadlessGameHost where feasible 2021-08-18 16:01:56 +09:00
smoogipoo
90a1be2e61 Move paddings up one level 2021-08-18 15:54:33 +09:00
smoogipoo
744b6749d1 Resolve room settings layout issues 2021-08-18 15:29:01 +09:00
smoogipoo
228ad98b39 Remove extra corner radius on DrawableRoom 2021-08-18 15:27:23 +09:00
smoogipoo
f3bc9c3e45 Merge branch 'master' into match-subscreen-redesign 2021-08-18 15:19:29 +09:00
smoogipoo
c5268c9a99 Simplify by reusing same room panel 2021-08-18 15:19:24 +09:00
Salman Ahmed
1ae4a1910a Cache mod settings rather than fetching everytime 2021-08-18 09:17:42 +03:00
smoogipoo
704af94d39 Add edit button to room panel 2021-08-18 15:13:10 +09:00
smoogipoo
0853554c24 Fix settings overlay not being initially visible 2021-08-18 15:11:52 +09:00
smoogipoo
c66abf85f7 Remove match header 2021-08-18 14:04:44 +09:00