1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 20:07:24 +08:00
Commit Graph

28122 Commits

Author SHA1 Message Date
Dean Herbert
9e21f5a59c Rename LocalPlayer to User in mod select prefixes 2021-09-01 17:22:52 +09:00
Dean Herbert
fb5f3fb9af Rename button to be more descriptive of its purpose 2021-09-01 17:19:38 +09:00
Dean Herbert
2251bf3bcb Use lambda spec for method 2021-09-01 17:08:20 +09:00
Dean Herbert
cb66ecdbeb
Merge branch 'master' into simplify-user-graph-tooltips 2021-09-01 17:04:21 +09:00
Dean Herbert
f0b128b6ec
Merge pull request #14592 from frenzibyte/cleanup-tooltips
Update remaining tooltip implementations to use generics
2021-09-01 17:03:59 +09:00
Dean Herbert
0319177c5c Fix pixels poking out of the top edge of editor setup screen 2021-09-01 16:46:19 +09:00
smoogipoo
88fc53200e Refactor 2021-09-01 15:41:52 +09:00
Dean Herbert
edf29e405b
Merge pull request #14581 from bdach/setup-screen-countdown-settings
Add countdown settings to setup screen
2021-09-01 15:35:46 +09:00
smoogipoo
2de076a74b Merge branch 'adjust-classic-scoring' into score-ordering 2021-09-01 15:06:55 +09:00
Dean Herbert
c70ac5e5c2
Merge branch 'master' into privatise-toolbar-offset 2021-09-01 14:54:15 +09:00
smoogipoo
bd0f385cdb Make classic scoring a constant multiple of standardised scoring 2021-09-01 14:53:11 +09:00
Dan Balasescu
e715b21ca7
Merge pull request #14586 from peppy/remove-ijsonserializable
Remove IJsonSerializable interface
2021-09-01 14:17:32 +09:00
Joseph Madamba
a773a22726 Fix toolbar hiding when clicking home button 2021-08-31 14:29:16 -07:00
Bartłomiej Dach
1e4fa87648
Merge branch 'master' into setup-screen-countdown-settings 2021-08-31 22:43:18 +02:00
Bartłomiej Dach
5dc938cc9f
Update tests to match expectations 2021-08-31 22:41:47 +02:00
Bartłomiej Dach
04773b51bb
Remove countdown toggle transition for now
Tricky to get right and the design isn't final as is anyway, so leaving
*something* functioning as a best-effort for now.
2021-08-31 22:41:40 +02:00
Joseph Madamba
7e4ad7d7cf Fix toolbar blocking scroll input 2021-08-31 13:40:13 -07:00
Joseph Madamba
da3fa9304a Make toolbar inherit overlay container 2021-08-31 12:39:18 -07:00
Bartłomiej Dach
c246ff141e
Merge branch 'master' into avoid-exception-on-failed-lookup 2021-08-31 21:14:34 +02:00
Bartłomiej Dach
b969398e2d
Merge branch 'master' into adjust-triangle-speed 2021-08-31 20:44:09 +02:00
Salman Ahmed
505824d8ea Constrain difficulty icon tooltip to internal accessibility"
This reverts the reverted commit cd356b8eae.

Sorry for the revert-unrevert, rushly pushed without realizing it
doesn't even build.
2021-08-31 21:16:17 +03:00
Salman Ahmed
b0d7104650 Convert to class to allow not displaying tooltips
With `struct` content, it is never possible to not show a tooltip.
2021-08-31 21:13:24 +03:00
Salman Ahmed
cd356b8eae Revert "Constrain difficulty icon tooltip to internal accessibility"
This reverts commit 4a590a041c.
2021-08-31 20:57:47 +03:00
Salman Ahmed
4a590a041c Constrain difficulty icon tooltip to internal accessibility 2021-08-31 20:57:36 +03:00
Salman Ahmed
3969350c9a Convert to readonly struct and replace with constructor temporarily 2021-08-31 20:45:32 +03:00
Salman Ahmed
69c23a2371 Explicitly implement tooltips on date drawables to avoid "convert to auto-property" inspections 2021-08-31 20:06:34 +03:00
Salman Ahmed
da7ff4b160 Update remaining tooltip implementations to use generics 2021-08-31 20:01:13 +03:00
Salman Ahmed
208f66cc76 Simplify user graph tooltips logic
The same tooltip can be used for the rank graph, the play history graph,
and the replay history graph.

The only difference between those three is the displayed label, which
has now been included as part of the `TooltipContent`, rather than
unnecessarily recreating tooltips just for different sprite texts.
2021-08-31 19:59:38 +03:00
Salman Ahmed
a190801291 Revert no longer required tooltip content changes 2021-08-31 19:36:27 +03:00
Salman Ahmed
9afc482598 Merge branch 'master' into move-incompatibility-icon 2021-08-31 19:27:43 +03:00
Davran Dilshat
9288ca1191 handle api is null 2021-08-31 14:34:45 +01:00
Davran Dilshat
0a87b461d7 fix code quality issues 2021-08-31 14:11:37 +01:00
Davran Dilshat
79f71e5181 get user id when importing scores 2021-08-31 13:56:44 +01:00
smoogipoo
999386da29 Cleanup 2021-08-31 21:47:49 +09:00
smoogipoo
fee94236de Fix update-thread pauses 2021-08-31 21:36:31 +09:00
smoogipoo
cfcf3d7507 Use synchronous total score retrieval for bindable 2021-08-31 20:43:50 +09:00
smoogipoo
bfcadcc4ac Revert some changes 2021-08-31 19:18:01 +09:00
smoogipoo
90768a86a6 Adjust classic scoring as a constant multiple over standardised scoring 2021-08-31 18:54:16 +09:00
Dean Herbert
a254624373 Avoid performing beatmap metadata lookups when entering the editor
If none of the lookup parameters are available, skip the lookup
completely.
2021-08-31 17:18:05 +09:00
Dean Herbert
d988aa1680 Actually serialise SampleControlPoints along with HitObjects 2021-08-31 15:14:03 +09:00
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