1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 23:37:52 +08:00
Commit Graph

35063 Commits

Author SHA1 Message Date
Dean Herbert
5dff48a1e0 Fix button selection animation not playing smoothly when new glyphs are loaded 2022-07-14 14:40:25 +09:00
Dean Herbert
5c6b4e498d Protect against a potential early call to LanguageButton.Selected 2022-07-14 14:31:59 +09:00
Dean Herbert
227871e8df Refactor hide logic a touch for better readability 2022-07-14 14:00:33 +09:00
Salman Ahmed
dccd81dbc7 Use BindValueChanged to handle changes between push time and schedule execution 2022-07-14 07:07:32 +03:00
Salman Ahmed
b96faedbe6 Fix dialog overlay hiding early-pushed dialog on initial PopOut call 2022-07-14 07:06:57 +03:00
Salman Ahmed
c59784c49f Always schedule popup dialog push 2022-07-14 07:06:03 +03:00
Salman Ahmed
1222123541 Rename method and parameter 2022-07-14 07:05:19 +03:00
Salman Ahmed
3def8428aa Make scheduling more legible 2022-07-14 06:06:58 +03:00
Salman Ahmed
f83d413b33 Fix dialog overlay potentially pushing dialog while not loaded 2022-07-14 06:05:03 +03:00
Salman Ahmed
a85a70c472 Fix potential nullref in ContextMenuItems 2022-07-14 05:04:28 +03:00
Salman Ahmed
036e64382f Add beatmap details menu item to playlist items 2022-07-14 03:41:47 +03:00
Salman Ahmed
728487b7fb Handle GetBeatmapSetRequest on test room requests handler
Required for `BeatmapSetOverlay` lookups to work under dummy API. Not
100% sure about it, but works for now.
2022-07-14 02:34:55 +03:00
Salman Ahmed
102d0415f1 Merge branch 'master' into drawable-playlist-item-collection 2022-07-14 00:10:49 +03:00
Bartłomiej Dach
bde34380a4
Merge branch 'master' into fix-editor-player-exit-crash 2022-07-13 21:41:25 +02:00
Dean Herbert
7ac04d0478 Fix potential crash when exiting editor test mode 2022-07-14 01:00:18 +09:00
Dean Herbert
31e1e96364 Update framework 2022-07-13 23:25:32 +09:00
Dean Herbert
3b554140db Use grid container to avoid layout changes when changing language 2022-07-13 23:22:55 +09:00
Dean Herbert
0db1caf591 Add language selection to first run overlay 2022-07-13 23:22:55 +09:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
937692604e Remove mention of autoplay mod for now 2022-07-13 22:37:20 +09:00
Dan Balasescu
afaf8f5189
Merge pull request #19105 from peppy/fix-editor-disposed-track
Fix audio and background file equality incorrectly comparing `BeatmapSet.Hash`
2022-07-13 22:34:36 +09:00
Dan Balasescu
7f59426587
Merge pull request #19096 from peppy/custom-storage-log-output
Add log output for custom storage usage
2022-07-13 22:28:21 +09:00
Dean Herbert
1cfdea911b Fix audio and background file equality incorrectly comparing BeatmapSet.Hash 2022-07-13 19:41:38 +09:00
Dean Herbert
6950223a7d Fix drawable mutation from disposal thread 2022-07-13 19:19:14 +09:00
Dean Herbert
952d97c66e Update comment regarding LoadTrack safety 2022-07-13 19:02:22 +09:00
Dean Herbert
fc274629f8 Add "last played" sort mode to song select
Note that this will consider the most recent play of any beatmap in
beatmap set groups for now, similar to other sort methods.
2022-07-13 16:43:43 +09:00
Dean Herbert
ab3ec80159 Update LastPlayed on gameplay starting in a SubmittingPlayer 2022-07-13 16:43:43 +09:00
Dean Herbert
8820ea4006 Add last played date to BeatmapInfo 2022-07-13 16:36:43 +09:00
Dean Herbert
27ef7fc78e Add log output for custom storage usage
Sometimes I am not sure where my osu! is reading files from. This should
help somewhat.

```csharp
/Users/dean/Projects/osu/osu.Desktop/bin/Debug/net6.0/osu!
[runtime] 2022-07-13 07:22:03 [verbose]: Starting legacy IPC provider...
[runtime] 2022-07-13 07:22:03 [verbose]: Attempting to use custom storage location /Users/dean/Games/osu-lazer-2
[runtime] 2022-07-13 07:22:03 [verbose]: Storage successfully changed to /Users/dean/Games/osu-lazer-2.
[runtime] 2022-07-13 07:22:05 [verbose]: GL Initialized
```
2022-07-13 16:22:51 +09:00
Dean Herbert
0fe3bac173 Store mods to array and update test scenes 2022-07-12 18:00:25 +09:00
Dean Herbert
12a56e36bd Fix ID mapping and move osu-web additions to region to identify them clearly 2022-07-12 18:00:25 +09:00
Dean Herbert
f956955d4d Combine ScoreInfo construction helper methods 2022-07-12 18:00:25 +09:00
Dean Herbert
900e0ace8e Standardise naming and enable NRT 2022-07-12 18:00:25 +09:00
Dean Herbert
1bef2d7b39 Add and consume SoloScoreInfo 2022-07-12 18:00:25 +09:00
Dan Balasescu
bd6f8bde9f
Merge pull request #19079 from peppy/fix-audio-playback-disposed
Fix potential crash during shutdown sequence if intro playback was aborted
2022-07-12 17:29:23 +09:00
Dean Herbert
cad18ebc58 Reword comment to better explain what we are guarding against 2022-07-12 16:46:19 +09:00
Dan Balasescu
ec2d7461c7
Merge pull request #19078 from peppy/score-submit-fail-error-display
Show basic error message when score submission fails
2022-07-12 16:18:17 +09:00
Dean Herbert
cafe30fc4d Fix potential crash during shutdown sequence if intro playback was aborted
Fixes one of the audio related `ObjectDisposedException`s
(https://sentry.ppy.sh/organizations/ppy/issues/92/events/12f282f048cb4a4fae85810e8a70b68d/?project=2&query=is%3Aunresolved&sort=freq&statsPeriod=7d).

Ran into this while testing locally. See
`IntroScreen.ensureEventuallyArrivingAtMenu` for the related cause of
this happening (forced continuing to next screen if the intro doesn't
load in time).
2022-07-12 15:20:30 +09:00
Dean Herbert
b52ea16133 Show basic error message when score submission fails 2022-07-12 15:10:59 +09:00
Dean Herbert
779d512b44 Merge branch 'master' into mod-icon-colors 2022-07-12 14:36:55 +09:00
Dean Herbert
8dbe24fd7c Simplify colour assigning logic and remove system mod colour for now 2022-07-12 14:36:50 +09:00
Dean Herbert
aac3c166de
Merge pull request #19038 from novialriptide/replay-user-bug-fix
Populate user ID for locally imported scores
2022-07-12 13:55:11 +09:00
Dan Balasescu
d82d50e308
Merge pull request #19065 from Ludio235/master
Fix playlist room creation screen pushing content on opening dropdowns
2022-07-12 13:22:38 +09:00
Dan Balasescu
3ca10ac02c
Merge pull request #19063 from Joehuu/fix-samples-cancel-exit
Fix editor playing object samples while paused after cancelling exit
2022-07-12 12:51:27 +09:00
Bartłomiej Dach
cca208b3c7
Merge branch 'master' into replay-user-bug-fix 2022-07-11 21:51:09 +02:00
Bartłomiej Dach
0da4ab765a
Merge branch 'master' into fix-multiplayer-spectator-crash 2022-07-11 21:14:45 +02:00
Salman Ahmed
4f009419b8 Simplify population logic and match code style 2022-07-11 21:51:09 +03:00
Dean Herbert
44d2e001ed Update various dependencies 2022-07-11 20:16:49 +09:00
Andrew Hong (홍준원)
56896e8b41 Move PostImport() 2022-07-11 02:36:52 -04:00
Andrew Hong
10d6027c89 Assign missing UserID to RealmUser 2022-07-11 02:36:51 -04:00
Dean Herbert
0434c10914 Use global WorkingBeatmap in PlayerArea for the time being 2022-07-11 02:57:44 +09:00
Dean Herbert
8b6665cb5b Ensure initial beatmap processing is done inside the import transaction 2022-07-11 02:51:54 +09:00
Dean Herbert
8116a4b6f6 Fix multiplayer spectator crash due to track potentially not being loaded in time 2022-07-11 02:51:40 +09:00
Ludio235
52aef09cd6
Update PlaylistsRoomSettingsOverlay.cs 2022-07-10 02:05:40 +00:00
Joseph Madamba
834bb1f187 Fix editor playing object samples while paused after cancelling exit 2022-07-09 12:14:39 -07:00
Dean Herbert
66f314915d Fix crash on mobile releases when attempting to read any file 2022-07-09 06:01:22 +09:00
cdwcgt
d2406242ae
rename updateTooltip to updateState 2022-07-09 00:38:17 +09:00
cdwcgt
91f471ebe0
disabled button instead of shake
removed `ShakeContainer`
2022-07-09 00:37:53 +09:00
cdwcgt
a38c6704c2
Use ContinueWith, Check is Task empty 2022-07-09 00:23:32 +09:00
Dean Herbert
5651eca06c Merge branch 'master' into custom-ruleset-score-import 2022-07-08 19:03:47 +09:00
Dean Herbert
13e16530a6 Revert most changes to PlayerTestScene 2022-07-08 18:45:18 +09:00
Dean Herbert
e4ebab92c6 Rename lots of weird variables 2022-07-08 18:37:03 +09:00
Dean Herbert
f3a6e646a6 Merge branch 'master' into Save-Score-Failed 2022-07-08 18:32:13 +09:00
Dan Balasescu
113fdf5491
Merge pull request #19032 from peppy/fix-background-loading-too-much
Fix background loading excessively on startup
2022-07-08 18:25:41 +09:00
Adam Baker
7ced84b7ef Replace switch statement with ForModType
In order to make `highlightedColour` dependent on the mod type color, the color is converted to an `osu.Framework.Graphics.Colour4` and calls `Lighten`.
2022-07-08 03:23:58 -05:00
Dean Herbert
e64b2b1682 Assert that test is run headless when required 2022-07-08 15:45:01 +09:00
Dean Herbert
eab3eba70e Move event handlers to LoadComplete 2022-07-08 15:09:16 +09:00
Dean Herbert
32c77ddf71 Avoid triggering SeasonalBackgroundChanged unless actually required 2022-07-08 15:07:30 +09:00
Dan Balasescu
0bc332e90b
Merge pull request #19029 from peppy/fix-skin-import-duplicate
Fix skins potentially being duplicated on batch import
2022-07-08 14:18:14 +09:00
Adam Baker
89f1c75f7a Update mod icon colors 2022-07-07 21:57:18 -05:00
Dean Herbert
1e159eb328
Add back fade to black duration
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-08 10:43:50 +09:00
Salman Ahmed
63a06afab2 Add missing license header 2022-07-08 01:59:27 +03:00
Salman Ahmed
67fa15f231 Remove no longer required context menu container in ParticipantsList 2022-07-08 01:42:55 +03:00
Salman Ahmed
7b08501eaf Cover online-play room screens with context menu containers 2022-07-08 01:42:11 +03:00
Salman Ahmed
1d0f2e359a Add collection context menu to room playlist items 2022-07-08 01:40:53 +03:00
Salman Ahmed
a94fb62be3 Split collection toggle menu item to own class 2022-07-08 01:39:45 +03:00
Salman Ahmed
07a08d28c6 Rename parameter and default to 0 2022-07-07 23:31:06 +03:00
Dean Herbert
c53dd4a703 Fix editor saving not updating BeatmapSetInfo's hash 2022-07-08 02:33:14 +09:00
Dean Herbert
15d070668d Move intro screen background to base implementation and use colour fading 2022-07-08 02:12:01 +09:00
Dean Herbert
216150b52d Avoid always loading new background at MainMenu
This was meant to be an optimisation to allow the background to load
while the intro is playing, but as the current default intro loads a
background itself, this was rarely the case and also counter-productive
as it would bypass the equality check and start a second load sequence.
2022-07-08 02:12:01 +09:00
Dean Herbert
789904ccd1 Avoid reloading background unnecessariyl when not yet loaded 2022-07-08 02:12:01 +09:00
Dean Herbert
b83073c2e9 Fix SeasonalBackgroundLoader triggering a background reload when not providing backgrounds 2022-07-08 02:12:01 +09:00
Dean Herbert
f500d5ade6 Simplify error output when hub cannot connect
Full call stack is useless in these cases.

Before:

```csharp

[network] 2022-07-07 16:05:31 [verbose]: OnlineMetadataClient connection error: System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
[network] 2022-07-07 16:05:31 [verbose]: at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.NegotiateAsync(Uri url, HttpClient httpClient, ILogger logger, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.GetNegotiationResponseAsync(Uri uri, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.SelectAndStartTransport(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.StartAsyncCore(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnection.StartAsync(TransferFormat transferFormat, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory.ConnectAsync(EndPoint endPoint, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.Http.Connections.Client.HttpConnectionFactory.ConnectAsync(EndPoint endPoint, CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsyncCore(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsyncInner(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at Microsoft.AspNetCore.SignalR.Client.HubConnection.StartAsync(CancellationToken cancellationToken)
[network] 2022-07-07 16:05:31 [verbose]: at osu.Game.Online.HubClientConnector.connect() in /Users/dean/Projects/osu/osu.Game/Online/HubClientConnector.cs:line 119

```

After:

```csharp

[network] 2022-07-07 16:06:59 [verbose]: OnlineMetadataClient connecting...
[network] 2022-07-07 16:06:59 [verbose]: OnlineMetadataClient connect attempt failed: Response status code does not indicate success: 403 (Forbidden).

```
2022-07-08 01:06:40 +09:00
Dean Herbert
cf1da1dd18 Fix skins potentially being duplicated on batch import
Resolves https://github.com/ppy/osu/discussions/19024#discussioncomment-3099200
2022-07-07 22:39:07 +09:00
Dan Balasescu
f109e510ce
Merge branch 'master' into metadata-client 2022-07-07 19:45:52 +09:00
Dan Balasescu
7086779cf4
Merge pull request #19026 from peppy/async-track-operations
Use fire-and-forget async operations on global track
2022-07-07 19:45:03 +09:00
Dan Balasescu
5e3c6d6e56
Merge pull request #19028 from peppy/add-skin-keyword
Allow searching for "skins" to find current skin setting
2022-07-07 19:40:23 +09:00
Dean Herbert
d88fd8a5b0 Allow searching for "skins" to find current skin setting 2022-07-07 18:26:04 +09:00
Dean Herbert
ac216d94a8 Fix transaction not being disposed 2022-07-07 18:15:38 +09:00
Dean Herbert
b5c703b62c Remove unused using statement 2022-07-07 17:59:55 +09:00
Dean Herbert
e2c4c94993 Simplify BeatmapUpdater transaction handling using nested transaction support 2022-07-07 17:37:46 +09:00
Dean Herbert
79bed0abdf Merge branch 'realm-nested-writes' into metadata-client 2022-07-07 17:37:06 +09:00
Dean Herbert
5197d0fa9e Add automatic transaction handling to realm helper methods 2022-07-07 17:36:25 +09:00
Dan Balasescu
d4c539687e
Merge pull request #19022 from peppy/better-file-loading-exceptions
Add local handling of cases where a beatmap's file cannot be found on disk
2022-07-07 17:21:19 +09:00
Dean Herbert
7ef03dd2cb Use fire-and-forget async operations on global track
This avoids any blocking overhead caused by a backlogged audio thread.
Test seem to pass so might be okay?

Note that order is still guaranteed due to the `ensureUpdateThread`
queueing system framework-side.
2022-07-07 17:15:45 +09:00
Dean Herbert
45c5b7e7dd Update framework 2022-07-07 17:13:16 +09:00
Dean Herbert
1a41d3ef20 Allow PlayerTestScene to import the beatmap it's using 2022-07-07 16:42:36 +09:00
Dean Herbert
9d730f8440 Fix custom rulesets not importing scores at all
Replaces the error with the ability to import, minus replays.

Closes https://github.com/ppy/osu/issues/17350 (arguably, but let's go with it for now).
2022-07-07 14:49:23 +09:00
Dean Herbert
e1b434b5dc Fix song select placeholder not showing convert hint for custom rulesets 2022-07-07 14:46:51 +09:00
Dean Herbert
e81cebf27d Change storyboard parsing logic to not completely fail if only .osb read fails
Changes to allow the storyboard to exist if only the `.osu` is
available. Reads better IMO.
2022-07-07 14:33:20 +09:00
Dean Herbert
c4b6893709 Add local handling of cases where a beatmap's file cannot be found on disk 2022-07-07 14:29:19 +09:00
Salman Ahmed
9115072917 Fix flaky tests not running at all with environment variable set 2022-07-07 04:24:10 +03:00
Dan Balasescu
b9acdcdbe2
Merge pull request #19014 from peppy/line-buffered-reader-simplification
Enable NRT and simplify `LineBufferedReader`
2022-07-06 20:27:04 +09:00
Dean Herbert
c2f1069073 Avoid usage of finally in potentially hot path 2022-07-06 19:55:51 +09:00
Dean Herbert
01bc6e5cb7 Revert old behaviour of ReadToEnd 2022-07-06 19:55:51 +09:00
Dan Balasescu
6340caf27d
Merge pull request #19018 from peppy/memory-caching-component-statistics
Add statistics display for `MemoryCachingComponent`s
2022-07-06 19:20:36 +09:00
Dan Balasescu
9f76118ee0
Merge pull request #19015 from peppy/improve-beatmap-parsing-performance
Fix `BeatSyncedContainer` unintentionally blocking on beatmap load
2022-07-06 18:41:07 +09:00
Dean Herbert
a1b6ec60c8 Add statistics display for MemoryCachingComponents
Never sure if these are working as they should (or how well they are
working). This helps quite a bit.
2022-07-06 18:38:40 +09:00
Dean Herbert
12d396a513 Use -1 to specify default buffer size 2022-07-06 15:43:35 +09:00
Dean Herbert
ae49aafde2 Fix BeatSyncedContainer unintentionally blocking on beatmap load 2022-07-06 14:58:06 +09:00
Dean Herbert
a52ea3cabe Enable NRT and simplify LineBufferedReader 2022-07-06 14:57:56 +09:00
Dean Herbert
7053a8507b
Merge pull request #18993 from Joehuu/fix-personal-best-delete-context-menu
Fix personal best score showing delete option on context menu
2022-07-06 14:53:35 +09:00
Dean Herbert
6fb00d84f9 Apply NRT to LoginForm and remove nullability of IAPIProvider 2022-07-06 01:29:00 +09:00
Dean Herbert
3a68f386a8 Add forgotten password link to login form 2022-07-06 01:25:04 +09:00
Dean Herbert
99afbc7b73 Add missing endpoint URLs 2022-07-05 22:15:52 +09:00
Dean Herbert
bdd1bf4da0 Save last processed id to config for now 2022-07-05 21:42:35 +09:00
Dean Herbert
59d0bac728 Hook up update flow to metadata stream 2022-07-05 21:32:00 +09:00
Dean Herbert
b0d4f7aff6 Add recovery logic after disconnection 2022-07-05 21:32:00 +09:00
Dean Herbert
d217d66852 Add OnlineMetadataClient 2022-07-05 21:32:00 +09:00
Dean Herbert
85e589f863
Merge pull request #19005 from Susko3/initial-cookie
Allow MIDI and joysticks to trigger the osu! cookie on the initial screen
2022-07-05 19:26:56 +09:00
Susko3
4c3789ec5d Split into a function 2022-07-05 11:15:37 +02:00
Dean Herbert
33db508301 Add note regarding why the realmRetrievalLock return is done on the async thread 2022-07-05 16:23:10 +09:00
Dean Herbert
5adec2c738 Ensure blocking restoration only completes after update callback work is completed 2022-07-05 14:39:14 +09:00
Dean Herbert
1b98936328 Rename realm ThreadLocal to better convey what it's doing
Every time I looked at this code I have to re-learn what it's doing.
Changing these variable names should help quite a bit.
2022-07-05 13:38:25 +09:00
Susko3
bb0f212448 Trigger the initial cookie with midi and joysticks 2022-07-05 00:38:18 +02:00
Dean Herbert
506409a9c4 Fix realm backup creation failing when run from RealmAccess constructor
At the point of construction, we are not on the update thread, but it
doesn't really matter at this point because there's no other usages.
2022-07-04 16:45:23 +09:00
Dean Herbert
64edc6888d Add test coverage of corrupt realm creating backup 2022-07-04 16:45:23 +09:00
Dean Herbert
925d7b1fdc Update framework 2022-07-04 15:01:01 +09:00
Dan Balasescu
65917fbb99
Merge pull request #18990 from andy840119/remove-nullable-disable-in-the-ruleset-filter
Remove nullable disable annotation in the ruleset filter.
2022-07-04 13:46:31 +09:00
Joseph Madamba
df152421a8 Fix personal best score showing delete option on context menu 2022-07-03 10:23:17 -07:00
Dean Herbert
e4bf2224c6 Update framework 2022-07-03 23:16:51 +09:00
andy840119
59e3d4b9e5 Remove the nullable disable annotation in the Ruleset.Filter namespace. 2022-07-03 21:00:54 +08:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
385bd5a1b2
Merge pull request #18965 from peppy/mark-flaky-tests
Mark, document and silence remaining flaky tests on standard CI runs
2022-07-03 21:41:14 +09:00
Dan Balasescu
ccc322e100
Merge pull request #18985 from andy840119/remove-nullable-disable-in-the-replays
Remove nullable disable annotation in replays namespace
2022-07-03 21:19:36 +09:00
Dan Balasescu
724fd19038 Remove nullable disables 2022-07-03 21:15:13 +09:00
andy840119
8c2f4b48fc Use debug.assert for better readable. 2022-07-03 19:27:56 +08:00
Dan Balasescu
1ccfd69690
Merge pull request #18978 from peppy/send-beatmap-hash-to-server
Send beatmap hash to server on solo score request
2022-07-03 13:18:17 +09:00
Dean Herbert
052a786eff Only show hover effect on one nub at a time 2022-07-03 03:06:03 +09:00
Dean Herbert
7d8ea5e286 Remove unnecessary proxying 2022-07-03 02:59:10 +09:00
andy840119
0a1543c6e8 Use AsNonNull() instead. 2022-07-02 19:48:32 +08:00
Dean Herbert
2a1777fa85
Merge branch 'master' into fix-player-star-difficulty-display 2022-07-02 18:57:46 +09:00
Salman Ahmed
9b833524c0
Merge branch 'master' into add-realm-blocking-logging 2022-07-02 12:41:36 +03:00
Dean Herbert
b626135940 Fix dragging slider bars on nub not performing correctly relative movement 2022-07-02 17:49:38 +09:00
Dean Herbert
24cd845d1b Update framework 2022-07-02 17:18:50 +09:00
Salman Ahmed
e28ee8bc7a Count time spent upwards to display attempts correctly 2022-07-02 10:46:52 +03:00
Dean Herbert
93809a92d4 Fix clashing error messaging during realm block operations 2022-07-02 16:30:04 +09:00
Salman Ahmed
a4b9097709
Merge branch 'master' into mod-overlay-appear-sfx 2022-07-02 09:28:24 +03:00
Salman Ahmed
19d300e311 Fix player loader not accepting star difficulty updates after display 2022-07-02 09:17:38 +03:00
andy840119
c6d0f0f81b pretend that the beatmap property will not be null.
Not really throw exception will be the better way?
2022-07-02 13:20:46 +08:00
andy840119
ea573f314e Remove the nullable disable annotation in the Rulesets.Replays namespace in the osu.game project. 2022-07-02 13:08:25 +08:00
andy840119
fa5f7c1a00 Remove the nullable disable annotation in the Replays namespace. 2022-07-02 13:03:01 +08:00
Dean Herbert
2cc9c579d4
Merge pull request #18969 from smoogipoo/fix-multiplayer-cross-pollution
Fix cross-pollution of server- and client-side multiplayer objects in tests
2022-07-02 13:18:35 +09:00
Dean Herbert
9e30c1de3e
Merge branch 'master' into mod-overlay-appear-sfx 2022-07-02 12:59:04 +09:00
Dean Herbert
a03abc747b Tidy up comments and simplify bounding box centre logic 2022-07-02 12:58:34 +09:00
Dean Herbert
426c53fe65 Fix potential null being sent to extension method which doesn't support it 2022-07-02 12:50:28 +09:00
Dean Herbert
1fd9c64803 Change song select FooterButton sound 2022-07-02 12:48:33 +09:00
Dean Herbert
4fd47b5fa0 Add more verbose logging to realm blocking process 2022-07-02 12:36:56 +09:00
Dean Herbert
634b6cdbbe Send beatmap has to server on solo score request
Right now, the client does nothing to ensure a beatmap is in a valid
state before requesting to submit a score. There is further work to be
done client-side so it is more aware of this state (already handled for
playlists, but not for the solo gameplay loop), but the solution I have
in mind for that is a bit more involved.

This is not used server-side yet, but I want to get this sending so we
can start using it for some very basic validation.

Will resolve the basic portion of #11922 after implemented server-side.
2022-07-02 12:16:17 +09:00
Dean Herbert
623a99d53a Update resources 2022-07-02 11:58:45 +09:00
Jamie Taylor
9d28d5f8ee
Update SFX for mod overlay show/hide 2022-07-01 20:43:12 +09:00
Dan Balasescu
3b1842a2c2
Merge pull request #18835 from peppy/beatmap-update-flow
Split out beatmap update tasks to `BeatmapUpdater` and invoke from editor save flow
2022-07-01 20:28:04 +09:00
Dean Herbert
0cf58646f4
Merge pull request #18803 from Joehuu/fix-overlay-header-tab-item-localisable-string
Fix profile header tab items not localising
2022-07-01 19:37:57 +09:00
Dean Herbert
6baccad058
Merge pull request #18821 from ggliv/locked-room-filter
Add room access type filter to multiplayer lounge screen
2022-07-01 19:37:43 +09:00
Dan Balasescu
084a65578c Always clone messages incoming from client-side 2022-07-01 19:36:37 +09:00
Dan Balasescu
37acec1952 Isolate client's LocalUser from TestMultiplayerClient 2022-07-01 19:23:41 +09:00
Dan Balasescu
b64c0d011c Isolate client's Room from TestMultiplayerClient 2022-07-01 19:23:25 +09:00
Dan Balasescu
0be858b5bf Rename APIRoom -> ClientAPIRoom, remove unused asserts 2022-07-01 19:21:59 +09:00
Dan Balasescu
1c2ffb3bc4 Fix server-side objects being sent to client 2022-07-01 19:21:53 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
b460a52faf
Merge pull request #18966 from smoogipoo/fix-flaky-multiplayer-test
Fix test sometimes referencing old ModSelect object
2022-07-01 17:55:06 +09:00
Salman Ahmed
5880b824d0 Simplify description logic for overlay tab items 2022-07-01 11:30:51 +03:00
Dean Herbert
e213c1a4ef Rename enum to explicitly mention it is a filter 2022-07-01 17:27:03 +09:00
Salman Ahmed
7f9ef6c23f Merge branch 'master' into fix-overlay-header-tab-item-localisable-string 2022-07-01 11:27:00 +03:00
Dean Herbert
9911c6cbf0
Merge branch 'master' into locked-room-filter 2022-07-01 17:17:01 +09:00
Salman Ahmed
3bca439c4f
Merge branch 'master' into more-placeholder-suggestions 2022-07-01 10:52:32 +03:00
Dan Balasescu
58c9bb031f Apply PR reviews/fixes 2022-07-01 16:51:15 +09:00
Dan Balasescu
c22e77e481 Fix test sometimes referencing old ModSelect object 2022-07-01 16:46:27 +09:00
Dean Herbert
615c3234d8 Remove non-required NRT hint 2022-07-01 16:25:21 +09:00
Dean Herbert
c4f1660841 Rename ENVVAR in line with previous one (OSU_TESTS_NO_TIMEOUT) 2022-07-01 16:20:34 +09:00
Dean Herbert
1777a6d24a Add attribute to retry flaky tests on normal CI runs 2022-07-01 16:06:18 +09:00
Dean Herbert
58e25a3a01 Fix potential crash in BeatmapLeaderboard during rapid refresh operations 2022-07-01 15:42:35 +09:00
Dan Balasescu
409224560f
Merge pull request #18874 from peppy/realm-fix-async-write-after-disposal
Ensure all async writes are completed before realm is disposed
2022-07-01 15:29:01 +09:00
Dean Herbert
3e0f4e7609 Add test coverage of difficulty filter reset 2022-07-01 15:28:55 +09:00
Dean Herbert
f3af612133 Suggest removing difficulty filter if no matches found at song select 2022-07-01 15:18:04 +09:00
Dean Herbert
545df0a8e8 Display difficulty on nub 2022-07-01 15:17:26 +09:00
Dean Herbert
cb9947b1c9 Align song select components a bit better 2022-07-01 15:17:12 +09:00
Dean Herbert
32139ac13f Tidy up implementation and add basic visual test 2022-07-01 15:16:58 +09:00
Dean Herbert
d54f7fc728 Move slider range control to song select 2022-07-01 14:41:36 +09:00
Dean Herbert
3785027284 Update OsuSliderBar colours to not use transparency 2022-07-01 14:41:36 +09:00
Dan Balasescu
42d56aa640
Merge pull request #18958 from andy840119/remove-nullable-disable-in-the-extension
Remove nullable disable annotation in the extension namespace.
2022-07-01 13:52:12 +09:00
andy840119
48047f2e58 Move the null check in the outside.
AddCursor() should not accept the null value.
2022-06-30 23:29:49 +08:00
andy840119
a5b1f1a688 mark the string as nullable. 2022-06-30 23:23:14 +08:00
andy840119
26de34da84 Remove the nullable disable annotation. 2022-06-30 23:20:40 +08:00
andy840119
e50e0f7339 Remove the nullable disable annotate. 2022-06-30 23:05:09 +08:00
cdwcgt
33209ecd25
remove useless value change 2022-06-30 19:51:58 +09:00
Dean Herbert
447b496eff
Merge branch 'master' into realm-fix-async-write-after-disposal 2022-06-30 19:07:15 +09:00
Dean Herbert
2a73210865 Add xmldoc and update parameter naming for MemoryCachingComponent.Invalidate flow 2022-06-30 17:17:06 +09:00
Dean Herbert
aab4dcefbd Remove unnecessary invalidation handling flow 2022-06-30 17:13:26 +09:00
Dean Herbert
0698471627 Move BeatmapOnlineLookupQueue to inside BeatmapUpdater 2022-06-30 17:03:19 +09:00
Dean Herbert
ef42c6ecdf Add missing xmldoc 2022-06-30 16:51:31 +09:00
Dean Herbert
e34c2f0aca Remove unnecessary nullable-enable 2022-06-30 16:47:26 +09:00
Dean Herbert
82134ad1a6 Allow null parameter to GetWorkingBeatmap for now 2022-06-30 16:46:28 +09:00
Dean Herbert
98938821e5 Merge branch 'master' into beatmap-update-flow 2022-06-30 16:44:17 +09:00
Dean Herbert
356c0501ec Guard again potential nulls in RealmNamedFileUsage
Hopefully help in figuring out https://sentry.ppy.sh/organizations/ppy/issues/3679/?project=2&query=user%3A%22id%3A10078484%22
2022-06-30 15:40:57 +09:00
Dean Herbert
78d86fd3ff Fix PerformWrite not rolling back transaction on exception 2022-06-30 15:15:09 +09:00
Dean Herbert
e89f220e9a
Merge pull request #18949 from smoogipoo/fix-flaky-star-display-test
Ensure PlaylistItem's beatmap is not null
2022-06-30 15:15:06 +09:00
Dan Balasescu
c6520de749 Ensure PlaylistItem beatmap is not null 2022-06-30 14:24:49 +09:00
Dan Balasescu
edc4ace17e Attach DT with NC, SD with PF, and Cinema with Autoplay 2022-06-30 11:52:30 +09:00
Dean Herbert
582175c3a4 Update framework 2022-06-29 22:57:52 +09:00
cdwcgt
fd0d8b1ce3
Add button state, fix async issues, watch replay method
Most borrowed from `ReplayDownloadButton`
2022-06-29 22:50:47 +09:00
Dean Herbert
7cb4e32c17 Add one more lock to appease CI 2022-06-29 22:45:19 +09:00
Dean Herbert
a3b4a515fc Merge branch 'master' into realm-fix-async-write-after-disposal 2022-06-29 22:39:05 +09:00
Dean Herbert
18d465eff7 Guard against NaN star difficulty results 2022-06-29 21:02:29 +09:00
Dean Herbert
32af4e41ea Add back thread safety and locking as required 2022-06-29 20:56:01 +09:00
Salman Ahmed
87e3b44181 Ensure icon is loaded inside try-catch 2022-06-29 13:37:42 +03:00
Salman Ahmed
e3eba58cb6 Catch in triangles intro 2022-06-29 13:37:42 +03:00
Dean Herbert
6c64cea057 Catch a second location 2022-06-29 18:56:15 +09:00
Dean Herbert
b092e6937a Guard against ruleset icon creation failures to avoid whole game death 2022-06-29 18:51:07 +09:00
Dan Balasescu
2989803b71 Merge branch 'master' into speed-acc-scaling 2022-06-29 16:15:20 +09:00
Dan Balasescu
f435f0d8e4
Merge pull request #18920 from andy840119/remove-nullable-disable-in-the-migration
Remove the nullable disable annotations in the class belongs to the migration namespace.
2022-06-29 14:40:11 +09:00
Dan Balasescu
fde5b2cf2b
Merge pull request #18921 from andy840119/remove-nullable-disable-in-the-localisation
Remove the nullable disable annotation in the localisation.
2022-06-29 13:51:50 +09:00
Dan Balasescu
114f1b47c4
Merge branch 'master' into remove-nullable-disable-in-the-migration 2022-06-29 13:11:45 +09:00
Bartłomiej Dach
a0125cbb62
Merge branch 'master' into fix-da-settings-slider-padding 2022-06-28 20:53:07 +02:00
Dean Herbert
ecdb30d215 Fix one more case of collection modification during enumeration
https://sentry.ppy.sh/share/issue/a61c27b2a63a4a6aa80e75873f9d87ca/
2022-06-29 02:28:23 +09:00
Joseph Madamba
aacded0ecf Fix difficulty adjust settings having more padding on sliders 2022-06-28 07:33:05 -07:00
andy840119
de7f2a0bba Remove the nullable disable annotation in the localisation. 2022-06-28 20:59:57 +08:00
andy840119
2269f1046e Remove the nullable disable annotations. 2022-06-28 20:59:03 +08:00
cdwcgt
946178ca41
Remove useless LocalisableDescription 2022-06-28 20:03:21 +09:00
Dean Herbert
7c9c499e19 Update resources (translation updates) 2022-06-28 19:21:46 +09:00
Dean Herbert
c282e19316 Update language initialisation in line with framework LocalisationManager changes 2022-06-28 18:19:48 +09:00
Dean Herbert
975ba83838 Update framework 2022-06-28 18:19:48 +09:00
Dean Herbert
e10ac45fd7 Remove probably redundant realmLock
As far as I can tell all accesses are safe due to update thread
guarantees. The only weird one may be async writes during a
`BlockAllOperations`, but the `Compact` loop should handle this quite
amicably.
2022-06-28 16:55:54 +09:00
Dan Balasescu
d630b62cfc
Merge pull request #18915 from peppy/slider-snaking-test-refactoring
Apply various refactorings to `TestSceneSliderSnaking`
2022-06-28 16:16:35 +09:00
Dan Balasescu
8e4a6c43b5
Merge pull request #18914 from peppy/spectator-playback-test-leniences
Increase leniences on `TestSceneSpectatorPlayback.TestWithSendFailure`
2022-06-28 16:15:51 +09:00
Dean Herbert
6bfd351dec Add logging of GameplayClockContainer seeks 2022-06-28 15:23:29 +09:00
Dean Herbert
35745c83b7 Replace dodgy SetUpSteps overriding with usage of HasCustomSteps 2022-06-28 15:19:02 +09:00
Dean Herbert
22b254e5c5 Handle task exception outside of schedule to avoid unobserved exceptions 2022-06-28 15:09:28 +09:00
Dean Herbert
c1075d113f Add logging around current channel changes and join requests
Tracking down a flaky test
(https://teamcity.ppy.sh/buildConfiguration/Osu_Build/553?hideProblemsFromDependencies=false&expandBuildTestsSection=true&hideTestsFromDependencies=false):

```csharp
TearDown : System.TimeoutException : "PM Channel 1 displayed" timed out
--TearDown
   at osu.Framework.Testing.Drawables.Steps.UntilStepButton.<>c__DisplayClass11_0.<.ctor>b__0()
   at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
   at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
--- End of stack trace from previous location ---
   at osu.Framework.Testing.TestSceneTestRunner.TestRunner.RunTestBlocking(TestScene test)
   at osu.Game.Tests.Visual.OsuTestScene.OsuTestSceneTestRunner.RunTestBlocking(TestScene test) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/OsuTestScene.cs:line 503
   at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
------- Stdout: -------
[runtime] 2022-06-27 23:18:55 [verbose]: 💨 Class: TestSceneChatOverlay
[runtime] 2022-06-27 23:18:55 [verbose]: 🔶 Test:  TestKeyboardNextChannel
[runtime] 2022-06-27 23:18:55 [verbose]: Chat is now polling every 60000 ms
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #1 Setup request handler
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #2 Add test channels
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #3 Show overlay with channels
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #4 Select channel 1
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/587 failed with System.Net.WebException: NotFound.
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/503 failed with System.Net.WebException: NotFound.
[runtime] 2022-06-27 23:19:05 [verbose]: 💥 Failed (on attempt 5,550)
[runtime] 2022-06-27 23:19:05 [verbose]:  Currently loading components (0)
[runtime] 2022-06-27 23:19:05 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: 🎱 Thread pool
[runtime] 2022-06-27 23:19:05 [verbose]: worker:          min 1      max 32,767 available 32,766
[runtime] 2022-06-27 23:19:05 [verbose]: completion:      min 1      max 1,000  available 1,000
[runtime] 2022-06-27 23:19:05 [debug]: Focus on "ChatTextBox" no longer valid as a result of unfocusIfNoLongerValid.
[runtime] 2022-06-27 23:19:05 [debug]: Focus changed from ChatTextBox to nothing.
```

This kind of logging should be helpful:

```csharp
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to #channel-2
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 685
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #10 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 218
```
2022-06-28 14:00:30 +09:00
Bartłomiej Dach
93e13ef890
Merge branch 'master' into no-invalid-operation-without-message 2022-06-27 19:11:08 +02:00
Dean Herbert
54fe6b7df3
Fix incorrect string interpolation
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-28 01:43:09 +09:00
Dean Herbert
569fde4b47 Add messages to all InvalidOperationExceptions
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dean Herbert
b28cfc222b Schedule unregister instead 2022-06-28 01:19:28 +09:00
Dean Herbert
3e3843dcf9 Fix potential crash on CloseAllOverlays due to collection mutation 2022-06-28 00:32:36 +09:00
Dan Balasescu
d43b980a17
Merge pull request #18872 from peppy/add-working-beatmap-changed-logging
Add various logging of global `WorkingBeatmap` state changes
2022-06-27 21:34:05 +09:00
Dan Balasescu
c2b03cb6b9
Merge pull request #18875 from peppy/logging-finalise-selection-abort-operations
Add logging for various cases of `SongSelect.FinaliseSelection` being aborted
2022-06-27 21:33:51 +09:00
Dan Balasescu
6c6de9ce53
Fix typo 2022-06-27 20:40:02 +09:00
Dan Balasescu
396e7fc166
Merge pull request #18862 from peppy/empty-beatmap-file-fix-2
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 20:37:57 +09:00
Dean Herbert
aa7d54f8b6 Add logging for various cases of SongSelect.FinaliseSelection being aborted 2022-06-27 20:10:17 +09:00
Dean Herbert
f355c3a3c9
Merge pull request #18864 from peppy/fix-realm-audio-track-test-fail
Centralise and harden editor-ready-for-use check
2022-06-27 19:42:49 +09:00
Dean Herbert
83982d258d Throw immediately if attempting to WriteAsync after disposed 2022-06-27 19:34:28 +09:00
Dean Herbert
c39c99bd43 Ensure all async writes are completed before realm is disposed 2022-06-27 19:21:05 +09:00
Dan Balasescu
8f91ce8f0c
Merge pull request #18871 from peppy/fix-realm-assertion-during-tests
Fix occasional failure in realm test proceedings due to incorrect `Debug.Assert`
2022-06-27 18:48:47 +09:00
Dean Herbert
50c1c066de Add various logging of global WorkingBeatmap state changes 2022-06-27 18:41:31 +09:00
Dean Herbert
0ba29b6fa6 Use currentScreen instead to make sure the screen we care about is loaded 2022-06-27 18:28:00 +09:00
Dan Balasescu
b13fa924fd
Merge pull request #18865 from peppy/fix-flaky-chat-test
Fix chat tests failing 1/10000 runs
2022-06-27 18:06:00 +09:00
Dean Herbert
f6a61472c4 Fix occasional failure in realm test proceedings due to incorrect Debug.Assert
After a `BlockAllOperations`, the restoration of the `updateRealm`
instance is not instance. It is posted to a `SynchronizationContext`.
The assertion which has been removed in this commit was assuming it
would always be an immediate operation.

To ensure this works as expected, I've tracked the initialised state via
a new `bool`.

```csharp
System.TimeoutException : Attempting to block for migration took too long.

  1) Host threw exception System.AggregateException: One or more errors occurred. (: )
 ---> NUnit.Framework.AssertionException: :
   at osu.Framework.Logging.ThrowingTraceListener.Fail(String message1, String message2)
   at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage)
   at System.Diagnostics.TraceInternal.TraceProvider.Fail(String message, String detailMessage)
   at System.Diagnostics.Debug.Fail(String message, String detailMessage)
   at osu.Game.Database.RealmAccess.BlockAllOperations() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Database/RealmAccess.cs:line 813
   at osu.Game.OsuGameBase.<>c__DisplayClass108_1.<Migrate>b__0() in /opt/buildagent/work/ecd860037212ac52/osu.Game/OsuGameBase.cs:line 449
   at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
   at osu.Framework.Threading.Scheduler.Update()
   at osu.Framework.Graphics.Drawable.UpdateSubTree()
   at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
```

https://teamcity.ppy.sh/buildConfiguration/Osu_Build/322?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildTestsSection=true
2022-06-27 18:01:12 +09:00
Dean Herbert
13dcaf82ad Fix chat tests failing 1/10000 runs
31a447fda0/osu.Game/Online/Chat/ChannelManager.cs (L412-L414)

Sigh.
2022-06-27 16:50:10 +09:00
Dean Herbert
5a7d339cc8 Centralise and harden editor-ready-for-use check
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:

```csharp
05:19:07     osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07       Failed TestAddAudioTrack [161 ms]
05:19:07       Error Message:
05:19:07        TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07       Stack Trace:
05:19:07       --TearDown
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07        at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07        at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07        at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07        at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07        at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07        at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07        at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
Dan Balasescu
0fd2c010e5 Remove NRT disables from attributes classes 2022-06-27 16:07:15 +09:00
Dan Balasescu
0579780bb8 Add IBeatmapOnlineInfo parameter and use to extract more data 2022-06-27 16:07:15 +09:00
Dan Balasescu
f6a6538e96 Add more properties to IBeatmapOnlineInfo 2022-06-27 16:07:15 +09:00
Dean Herbert
10d1bbb131 Log global working beatmap updates in OsuGameBase instead of OsuGame 2022-06-27 15:58:51 +09:00
Dean Herbert
01487a1185 Add assertion on realm re-fetch being not-null 2022-06-27 15:52:45 +09:00
Dean Herbert
13c8d33009 Fix second case of empty beatmaps being reported to sentry as errors 2022-06-27 15:29:01 +09:00
Dean Herbert
da61d0547f Include archive name in import log output 2022-06-27 15:24:25 +09:00
Dan Balasescu
2b278ed324
Merge pull request #18841 from peppy/menu-cursor-better-rotation
Adjust menu cursor rotation to use a floating centre-point
2022-06-27 14:18:54 +09:00
Dean Herbert
1a22377e19 Fix test deadlock due to TPL threadpool saturation
As found in aggressive CI runs:

```csharp
00007F6F527F32B0 00007f74f937c72d (MethodDesc 00007f74f5545a78 + 0x22d System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f51c0838 + 0 System.Threading.Monitor.Wait(System.Object, Int32))
00007F6F527F3330 00007f74f93861ca (MethodDesc 00007f74f5259100 + 0x10a System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f5545a78 + 0 System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken))
00007F6F527F3390 00007f74f9385d11 (MethodDesc 00007f74f52590e8 + 0x81 System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken)), calling (MethodDesc 00007f74f5259100 + 0 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken))
00007F6F527F33E0 00007f74fc3823af (MethodDesc 00007f74f5934c08 + 0x4f System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]].GetResultCore(Boolean)), calling (MethodDesc 00007f74f52590e8 + 0 System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken))
00007F6F527F3400 00007f74fb0aad92 (MethodDesc 00007f74fb28b000 + 0x122 osu.Game.Tests.Visual.OnlinePlay.OnlinePlayTestScene+<>c__DisplayClass21_0.<Setup>b__1(osu.Game.Online.API.APIRequest)), calling (MethodDesc 00007f74f5934be8 + 0 System.Threading.Tasks.Task`1[[System.Boolean, System.Private.CoreLib]].get_Result())
00007F6F527F3470 00007f74fa9c6dd7 (MethodDesc 00007f74f921f6c8 + 0x77 osu.Game.Online.API.DummyAPIAccess.PerformAsync(osu.Game.Online.API.APIRequest))
00007F6F527F34C0 00007f74fb13c718 (MethodDesc 00007f74fb4e0c50 + 0x538 osu.Game.Database.OnlineLookupCache`3+<performLookup>d__13[[System.Int32, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].MoveNext())
```

Going with the simplest solution, as what we had was pretty ugly to start with and I don't want to overthink this, just push a fix and hope for the best.
2022-06-26 16:42:29 +09:00
Dean Herbert
2ecab454aa Adjust animations and tolerances to make things feel snappier 2022-06-25 19:50:10 +09:00
Dean Herbert
a039f9878a Adjust menu cursor rotation to follow mouse, rather than be fixated around original click location 2022-06-25 19:33:44 +09:00
Bartłomiej Dach
a83c45b50e
Fix compile failures from framework breaking change 2022-06-24 16:07:14 +02:00
Bartłomiej Dach
df30bedab6
Update framework again 2022-06-24 16:01:52 +02:00
Dean Herbert
14327943a2 Update framework 2022-06-24 21:28:30 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511 Merge branch 'master' into c-sharp-10 2022-06-24 21:22:33 +09:00
Dean Herbert
7692bac35a Simplify refetch (and ensure to invalidate after processing) 2022-06-24 21:02:38 +09:00
Dean Herbert
0c3d890f76 Fix reprocessing not working on import due to realm threading woes 2022-06-24 21:02:38 +09:00
Dean Herbert
30b3973c9f Difficulty cache invalidation flow 2022-06-24 21:02:38 +09:00
Dean Herbert
66a01d1ed2 Allow song select to refresh the global WorkingBeatmap after an external update 2022-06-24 21:02:38 +09:00
Dean Herbert
6999933d33 Split updater process into realm transaction and non-transaction 2022-06-24 21:02:38 +09:00
Dean Herbert
021b16f2f3 Ensure WorkingBeatmap is invalidated after update 2022-06-24 21:02:38 +09:00
Dean Herbert
fe570d8052 Queue beatmaps for update after editing 2022-06-24 21:02:38 +09:00
Dean Herbert
06d59b717c Move beatmap processing tasks to new BeatmapUpdater class 2022-06-24 21:02:37 +09:00
Dean Herbert
2ca4184eda
Merge pull request #18834 from bdach/ban-implicit-to-lower-upper
Disallow usage of `string.To{Upper,Lower}()` without explicit culture
2022-06-24 20:39:58 +09:00
Dan Balasescu
7eb49dac7a
Merge pull request #18832 from peppy/bdc-remove-unused-path
Remove unused bindable retrieval flow in `BeatmapDifficultyCache`
2022-06-24 20:20:23 +09:00
Dean Herbert
823b3c1c0f Ensure WorkingBeatmap is always using a detached instance 2022-06-24 19:07:54 +09:00
Dean Herbert
2ae48d5a87 Rename incorrect parameter name in BeatmapManager.GetWorkingBeatmap 2022-06-24 19:07:54 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dean Herbert
c179127670 Remove unused bindable retrieval flow 2022-06-24 17:09:56 +09:00
Dean Herbert
0755430006 Use AddOnce for update calls 2022-06-24 17:09:56 +09:00
Dean Herbert
8912f07745 Merge branch 'master' into difficulty-icon-refactor-pass 2022-06-24 16:34:35 +09:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dean Herbert
28837693e5 Nuke calculating everything
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?

To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035.
2022-06-24 14:24:06 +09:00
Dean Herbert
12ea8369ee Update retriever to be relatively sized 2022-06-24 14:06:31 +09:00
Dean Herbert
d9c1a9d71f Use new property to specify no tooltip, rather than passing only ruleset 2022-06-24 14:06:18 +09:00
Dean Herbert
129c907092 Remove unused parameters 2022-06-24 13:58:02 +09:00
Bartłomiej Dach
04d69010b5
Split overlong conditional to local function 2022-06-23 18:03:07 +02:00
Bartłomiej Dach
bea70988bc
Remove unnecessary #nullable disable 2022-06-23 17:57:22 +02:00
Gabe Livengood
454eff43c5
publicity -> accesstype 2022-06-23 11:40:25 -04:00
Gabe Livengood
d67c482c48
move publicity filter to multi exclusively 2022-06-23 11:36:08 -04:00
Gabe Livengood
9a15adbfff
add an all option to publicity filter 2022-06-23 11:24:28 -04:00
Gabe Livengood
2def6d809b
refactor to use enum dropdown 2022-06-23 11:02:27 -04:00
Dean Herbert
730228ec2a
Merge pull request #18818 from nekodex/rearrangeable-list-feedback
Add audio feedback for rearranging list items
2022-06-23 23:30:55 +09:00
Jamie Taylor
aaf619b35c
Don't play sample if there is no item being actively dragged 2022-06-23 20:13:01 +09:00
Jamie Taylor
9c46592e0e
Move collection change event binding to LoadComplete 2022-06-23 20:04:54 +09:00
Dean Herbert
ef258122d2 Move GetDifficultyRating helper method to StarDifficulty 2022-06-23 19:51:58 +09:00
Dean Herbert
b068df2149 Enable NRT on BeatmapDiffiultyCache 2022-06-23 19:51:58 +09:00
Dean Herbert
32652ace75 Update resources 2022-06-23 19:51:44 +09:00
Dean Herbert
01da6f20b3 Tidy up all remaining usages 2022-06-23 19:27:35 +09:00
Dean Herbert
7dec530ca5 Split out simple DifficultyIcon with no calculation overhead and update usages 2022-06-23 19:27:35 +09:00
Dean Herbert
4a2ca4394b Remove unused ModeTypeInfo class 2022-06-23 19:27:35 +09:00
Dean Herbert
3a83e5684c Tidy up DifficultyIcon 2022-06-23 19:27:35 +09:00
Dean Herbert
d6b073ebad Move DifficultyRetrieve to own class and split both pathways into separate constructors 2022-06-23 19:27:35 +09:00
Jamie Taylor
4a316fad2f
Add audio feedback for rearranging list items 2022-06-23 17:45:42 +09:00
Dean Herbert
158f0a1f23 Remove remaining Room!=null checks in TestMultiplayerClient where possible 2022-06-23 17:38:34 +09:00
Dan Balasescu
9ed37621a7
Merge pull request #18816 from peppy/avoid-waiting-forever
Ban usage of `ManualResetEventSlim.Wait()` without a timeout value
2022-06-23 17:26:26 +09:00
Dean Herbert
51268d0cc8 Throw on Wait failure in a few remaining cases 2022-06-23 15:28:21 +09:00
Dean Herbert
7ef8b7df5f Add timeout for all ManualResetEventSlim.Wait invocations
Timeout values were taken as best-guesses of upper values we'd expect
from sane execution.
2022-06-23 14:46:00 +09:00
Dean Herbert
bc557bacf0 Remove room null assertion in TestMultiplayerClient.ChangeState to avoid assert
This method is run from async contexts, but `get_Room` asserts update
thread which is not the case. Was causing silent test failures (showing
as pass but failing `dotnet-test` via return code):

TestSceneMultiplayer.TestGameplayFlow

```
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: Score preparation failed!
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: NUnit.Framework.AssertionException: :
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Framework.Logging.ThrowingTraceListener.Fail(String message1, String message2)
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage)
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.TraceInternal.TraceProvider.Fail(String message, String detailMessage)
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at System.Diagnostics.Debug.Fail(String message, String detailMessage)
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Online.Multiplayer.MultiplayerClient.get_Room() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Online/Multiplayer/MultiplayerClient.cs:line 98
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Tests.Visual.Multiplayer.TestMultiplayerClient.ChangeState(MultiplayerUserState newState) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/Multiplayer/TestMultiplayerClient.cs:line 275
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Screens.OnlinePlay.Multiplayer.MultiplayerPlayer.PrepareScoreForResultsAsync(Score score) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerPlayer.cs:line 223
[13:13:17] :         [dotnet test] [runtime] 2022-06-22 13:13:16 [error]: at osu.Game.Screens.Play.Player.prepareScoreForResults() in /opt/buildagent/work/ecd860037212ac52/osu.Game/Screens/Play/Player.cs:line 747
```
2022-06-23 14:10:20 +09:00
Gabe Livengood
bf5a7e3f2a
add locked room filter 2022-06-22 17:01:28 -04:00
Dean Herbert
97fcf8cec9
Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo 2022-06-23 04:02:24 +09:00
Dean Herbert
948c28f415 Fix collection modified during BlockAllOperations if any subscriptions have been established 2022-06-22 20:34:05 +09:00
Dean Herbert
b660119de7
Merge pull request #18796 from bdach/mod-overlay/legacy-key-bindings
Add setting option to toggle between mod overlay hotkey styles
2022-06-22 20:28:18 +09:00
Jamie Taylor
950551f4fd
Fix metronome arm being stuck white when paused 'close enough' to center 2022-06-22 15:33:42 +09:00
Dan Balasescu
b81c7c7951
Merge pull request #18804 from Joehuu/online-view-chat-overlay
Add back online view container to chat overlay
2022-06-22 14:41:06 +09:00
Dean Herbert
e15b2afdd9
Merge branch 'master' into reorganised-maintenance-section 2022-06-22 13:45:57 +09:00
Dan Balasescu
ff440fc1a4 Fix too many buttons inside condition 2022-06-22 13:44:41 +09:00
Dan Balasescu
321920bc85 Remove one more nullable disable 2022-06-22 13:44:41 +09:00
Dan Balasescu
1018c9852d Cleanup nullability 2022-06-22 13:44:41 +09:00
Dan Balasescu
23254d2ff2 Fix broken files 2022-06-22 13:44:41 +09:00
Joseph Madamba
07e0cd53a4 Add back online view container to chat overlay 2022-06-21 19:23:16 -07:00
Joseph Madamba
50728f3fbc Fix overlay header tab item not working with localisable string 2022-06-21 18:31:09 -07:00
Dean Herbert
cf0f32f928
Merge pull request #18790 from peppy/fix-realm-async-write-blocking-overhead
Fix blocking overhead when calling `WriteAsync`
2022-06-22 09:39:17 +09:00
Supersonicboss1
4aa86b0a80 fixed duplicates and cleaned up code 2022-06-21 23:41:25 +01:00
Supersonicboss1
e4931f977c improved UI of maintenance section in settings 2022-06-21 23:00:03 +01:00
cdwcgt
bff35cb348
Shake button when replay already save 2022-06-22 01:19:20 +09:00
Bartłomiej Dach
7013909322
Remove unnecessary protected virtual 2022-06-21 16:43:04 +02:00
Bartłomiej Dach
f564ed589f
Alter sequential hotkey style to always use visible index
Previous behaviour was once mentioned off-hand as unintuitive.
2022-06-21 15:22:18 +02:00
Bartłomiej Dach
9e5cc89edb
Fix classic hotkeys toggling filtered mods 2022-06-21 15:01:33 +02:00
Bartłomiej Dach
da1814e7c3
Restructure everything to fix free mod overlay issue 2022-06-21 14:48:41 +02:00
Bartłomiej Dach
7b7b8c1892
Implement behaviour for classic selection style 2022-06-21 14:24:30 +02:00
Bartłomiej Dach
234120ff43
Forward entire event to IModHotkeyHandler
Required for shift handling in the classic implementation.
2022-06-21 13:37:17 +02:00
Bartłomiej Dach
658f5341c7
Set up flow for switching between hotkey styles 2022-06-21 13:34:58 +02:00
Bartłomiej Dach
5abd8a07d2
Add setting for changing mod select hotkey style 2022-06-21 13:33:17 +02:00
cdwcgt
f2eb7e0551
Use better design and fix some problem
Let saveReplay async but still void
Make failed score's rank = F
2022-06-21 19:06:38 +08:00
Dan Balasescu
816fd338cb
Fix typo 2022-06-21 19:57:27 +09:00
Bartłomiej Dach
73124d2b1f
Encapsulate mod hotkey selection logic in strategy pattern 2022-06-21 12:49:01 +02:00
Dan Balasescu
a7de43ade6 Add attribute ID 2022-06-21 19:31:45 +09:00
Dean Herbert
2e3d8d7e5d Update framework 2022-06-21 18:13:14 +09:00
Dean Herbert
b7b7de115f
Merge pull request #18744 from nekodex/new-metronome-sfx
New audio feedback for metronome
2022-06-21 17:16:41 +09:00
Dean Herbert
f74b4ac277 Fix blocking overhead when calling WriteAsync 2022-06-21 17:15:25 +09:00
Dean Herbert
7d988da2c7
Merge pull request #18788 from peppy/editor-seek-constant-while-playing
Change editor seek-while-playing modifier to be BPM agnostic
2022-06-21 15:28:46 +09:00
Dean Herbert
a40ad6f784 Add slight transform when resetting arm from almost-zero 2022-06-21 15:07:35 +09:00
Dean Herbert
82c4d855d4 Rename sample variable to be easier to discern from other fields 2022-06-21 15:05:17 +09:00
Dean Herbert
16a9e18815 Adjust timing of latch to be more in sync with visuals 2022-06-21 15:02:53 +09:00
Dean Herbert
7b46d38318 Move colour fade back to where it was 2022-06-21 15:02:43 +09:00
Dean Herbert
3b79c632f5 Merge branch 'master' into new-metronome-sfx 2022-06-21 14:58:58 +09:00
Dean Herbert
42701757c3 Fix latch reset logic 2022-06-21 14:52:57 +09:00
Dean Herbert
22cb8b0d43
Merge pull request #18768 from smoogipoo/spectator-reset-speed-at-end
Reset spectator speed after the last frame is reached
2022-06-21 14:41:08 +09:00
Dean Herbert
1b122f88c0
Merge pull request #18786 from bdach/osu-link-ipc
Add ability to handle `osu://` scheme links via IPC on desktop
2022-06-21 14:40:46 +09:00
Dean Herbert
88f450e1d0 Remove accidental nullable enable spec 2022-06-21 14:40:21 +09:00
Bartłomiej Dach
6807d0e44f
Merge branch 'master' into osu-link-ipc 2022-06-21 07:27:35 +02:00
Dean Herbert
72c0fc3fec
Merge pull request #18753 from frenzibyte/prevent-mistimed-metronome-beats
Fix metronome playing mistimed beat sounds on editor clock resume
2022-06-21 13:48:42 +09:00
Dean Herbert
c61e90d768 Change editor seek-while-playing modifier to be BPM agnostic 2022-06-21 13:07:50 +09:00
Dan Balasescu
046b848bcd Split group selection to separate method 2022-06-21 12:53:06 +09:00
Salman Ahmed
4472c6fe2e
Merge branch 'master' into spectator-reset-speed-at-end 2022-06-21 06:46:37 +03:00
Salman Ahmed
f103de4efb
Merge branch 'master' into spectator-reset-speed-at-end 2022-06-21 06:37:58 +03:00
Dan Balasescu
b3e5642dfd Use WaitingOnFrames instead 2022-06-21 12:23:43 +09:00
Dan Balasescu
93ce6fc981 Remove redundant diff processing 2022-06-21 12:11:44 +09:00
Dan Balasescu
9763a58392 Change to use ReferenceEquals 2022-06-21 12:05:52 +09:00
Dan Balasescu
6a26461683 Compare by reference in ControlPoint.Equals() 2022-06-21 12:05:28 +09:00
Bartłomiej Dach
ee96d84ffa
Merge branch 'master' into input-settings 2022-06-20 22:55:43 +02:00
Bartłomiej Dach
21d60231b6
Add limited test coverage of osu:// scheme link IPC flow 2022-06-20 22:22:25 +02:00
Bartłomiej Dach
330af7ec74
Handle osu:// scheme links via IPC in desktop game 2022-06-20 21:26:22 +02:00
Bartłomiej Dach
92011124d1
Implement IPC channel for osu:// scheme links 2022-06-20 20:08:36 +02:00
Bartłomiej Dach
34f1c80b7c
Add and use ILinkHandler interface 2022-06-20 20:04:21 +02:00
cdwcgt
43ead5820a
deal with test 2022-06-21 00:54:50 +09:00
cdwcgt
5a5cc523ce
Let F to -1 temporary 2022-06-20 23:43:33 +08:00
Bartłomiej Dach
577a87bcad
Merge branch 'master' into importer-post-import-rename 2022-06-20 13:37:16 +02:00
Dean Herbert
ba394f2831 Remove IPostsImports interface (and move to IModelImporter) 2022-06-20 18:53:48 +09:00
Dean Herbert
e732c5a2d7 Add PostImport method matching PreImport 2022-06-20 18:40:23 +09:00
Dean Herbert
45c5013f09 Remove default value of RealmArchiveModelImporter.HandledExtensions
Not used anywhere and probably not wanted ever.
2022-06-20 18:40:23 +09:00
Dean Herbert
dbae4c6f5a PostImport -> PresentImport 2022-06-20 18:36:29 +09:00
Dean Herbert
ebcee21f6f Remove necessity to provide BeatmapDifficultyCache as a function to ScoreManager 2022-06-20 17:52:42 +09:00
Dan Balasescu
c402e90598
Merge pull request #18777 from peppy/output-directory-on-import-failure
Silence exception and provide more log output when import fails due to empty `.osu` files
2022-06-20 17:36:21 +09:00
Dan Balasescu
e0c82d11ab Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
Dan Balasescu
16281f4a48 Properly annotate method to allow null 2022-06-20 16:56:19 +09:00
Dan Balasescu
ca287d0936 Fix group deselected when table is recreated 2022-06-20 16:56:19 +09:00
Dean Herbert
d38defada4 Silence exception and provide more log output when import fails due to empty .osu files 2022-06-20 16:07:10 +09:00
Dean Herbert
4aa32038c3 Add note about stream provided to ImportTask being disposed implicitly 2022-06-20 15:38:44 +09:00
Dean Herbert
882e1c69e5 Move nested task back outside try-catch to avoid double-error 2022-06-20 15:36:44 +09:00
Dean Herbert
678b18dde6 Ensure any non-MemoryStream streams are closed as part of ImportTask 2022-06-20 15:29:56 +09:00
Dan Balasescu
a922ea9b01 Fix selection by directly comparing control points
Previously, all control points would get replaced, which led to
performance issues that was worked around in this PR. By comparing
control points, we're able to get good performance without requiring the
workaround.
2022-06-20 15:29:29 +09:00
Dan Balasescu
03ab6fc141 Implement IEquatable on ControlPoint 2022-06-20 15:27:43 +09:00
Dean Herbert
dd93c7359e Update xmldoc for importFromArchive method 2022-06-20 15:25:43 +09:00
Dean Herbert
92f1a2958c Rename Import(TModel) to ImportModel to differentiate from other import methods 2022-06-20 15:18:07 +09:00
Dean Herbert
a6c8a832aa Remove Import(ArchiveReader) and redirect existing usages to Import(ImportTask) 2022-06-20 15:14:57 +09:00
Dean Herbert
7daab2d45b Merge branch 'master' into skin-editor-transform-fix 2022-06-20 14:10:01 +09:00
Dean Herbert
329f1a0822 Add test coverage of original fail case and improve test reliability and code quality 2022-06-20 14:08:05 +09:00
Dan Balasescu
468e5fcbed Merge branch 'master' into editor-controlpoint-undo-redo 2022-06-20 13:47:01 +09:00
Gabe Livengood
a5bc769243
clear skineditor selected components on hide 2022-06-19 14:34:52 -04:00
Gabe Livengood
36df1da57f
Revert "stop component transform when skineditor is hidden"
This reverts commit 48ffd6aeb5.
2022-06-19 14:26:02 -04:00
Bartłomiej Dach
3ab8158b92
Do not try to set ruleset from beatmap if it's a dummy 2022-06-19 20:08:39 +02:00
Bartłomiej Dach
93b3ede2a0
Always use beatmap ruleset in editor gameplay test mode
Fixes cases where opening a convertible beatmap (so any osu! beatmap)
with the game-global ruleset being set to anything but osu! would result
in opening the editor gameplay test mode with the game-global ruleset
rather than the beatmap's.
2022-06-19 19:30:40 +02:00
cdwcgt
9a6f4ef76d
Save score button on failed screen 2022-06-19 23:59:37 +09:00
Bartłomiej Dach
9023fdc947
Merge branch 'master' into reidrect-graceful-exit 2022-06-19 13:43:15 +02:00
Bartłomiej Dach
495d747da5
Fix mismatching braces in comment 2022-06-19 13:42:45 +02:00
Dan Balasescu
98d69c846c Reset spectator speed at last frame 2022-06-19 17:12:20 +09:00
Dean Herbert
6515b249ec Change data migration to do an immediate exit, rather than attempted exit 2022-06-19 12:39:58 +09:00
Dean Herbert
50e40756c4 Rename GracefullyExit to AttemptExit 2022-06-19 12:34:44 +09:00
Salman Ahmed
a2e17941e5
Merge branch 'master' into timing-offset-adjust-seek-only-at-start 2022-06-19 01:27:44 +03:00
Bartłomiej Dach
2a95715652
Merge branch 'master' into fix-input-regression 2022-06-18 19:44:53 +02:00
Salman Ahmed
f7fc456bb1
Merge branch 'master' into reidrect-graceful-exit 2022-06-18 19:37:53 +03:00
Dean Herbert
3902dc64f0 Fix adjusting offset via button seeking to timing point's offset unexpectedly
This was added with the intention of tracking the offset when already at
the start (the most common case when you're using the tap timing
wizard), but was also seeking when the user may be much further beyond
or before it.

Addresses https://github.com/ppy/osu/discussions/18741#discussioncomment-2975051.
2022-06-19 01:35:45 +09:00
Dean Herbert
b2663d9399 Update xmldoc to suggest that GracefullyExit may be overridden 2022-06-19 01:14:48 +09:00
Dean Herbert
3fa8c19acd Merge branch 'master' into latency-certifier/hidden-cursor 2022-06-19 00:31:11 +09:00
Salman Ahmed
a5e5172b91 Fix BlueprintContainer eating input from skin editor buttons 2022-06-18 18:28:36 +03:00
Dean Herbert
56abe54fe6 Redirect graceful exiting to standard exit flow
Rather than doing a completely forced exit as we were, this will now
follow a more standard flow with the ability for the user to abort along
the way. This is more in line with how I wanted this to work.

Note that this means a confirmation is now shown. It has been discussed
in the past that this confirmation should only show when there's an
ongoing action implies the user may want to cancel the exit. For now I
think this is fine.

Addresses
https://github.com/ppy/osu/discussions/18399#discussioncomment-2811311
2022-06-18 23:43:46 +09:00
Bartłomiej Dach
5917c70127
Merge branch 'master' into multi-song-select-operation 2022-06-18 11:58:13 +02:00
Bartłomiej Dach
f6a3047596
Merge branch 'master' into editor-metadata-name-unification 2022-06-18 10:22:52 +02:00
Dan Balasescu
77e7e4ecb2 Fix selection being blocked after early return 2022-06-18 14:28:30 +09:00
Dean Herbert
bd5037fcad Fix new hitobject placements not taking on the existing sample settings
Similar to velocity / difficulty points, a user expectation is that
volume and sample settings will be transferred to newly placed objects
from the most recent one.

Closes https://github.com/ppy/osu/issues/18742.
2022-06-18 13:49:59 +09:00
Dean Herbert
8ad96fd94b Update resources 2022-06-18 10:55:24 +09:00
Salman Ahmed
204348f327 Fix metronome playing mistimed beat sounds on editor clock resume 2022-06-18 04:49:44 +03:00
Salman Ahmed
8a1d11fefb Cancel previous metronome sound playback on pause 2022-06-18 04:07:21 +03:00
Dan Balasescu
e04df371d1 Merge branch 'master' into multi-song-select-operation 2022-06-18 08:51:24 +09:00
Dan Balasescu
14cdb01fd8 Revert unintended change 2022-06-18 08:49:48 +09:00
Gabe Livengood
48ffd6aeb5
stop component transform when skineditor is hidden 2022-06-17 11:28:58 -04:00
Dean Herbert
4bc26dbb48
Merge pull request #18743 from smoogipoo/nullable-by-default
Enable NRT by default
2022-06-17 23:18:35 +09:00
Dean Herbert
5d93db1522
Merge pull request #18726 from peppy/disclaimer-stop-handling-after-suspend
Fix `Disclaimer` screen handling user change events after initial display
2022-06-17 18:28:06 +09:00
Dean Herbert
1900480d51 Inline animation method 2022-06-17 17:06:06 +09:00
Dan Balasescu
869db52540 Tie loading layer to ongoing operation state 2022-06-17 17:05:23 +09:00
Dean Herbert
e51babdb96 Change heart animation flow to be more correct 2022-06-17 17:01:11 +09:00
Jamie Taylor
1f78a4fadd
New audio feedback for metronome 2022-06-17 16:56:09 +09:00
Dan Balasescu
fd9902e816 Manual #nullable processing 2022-06-17 16:38:35 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
ea191da496
Merge pull request #18728 from peppy/fix-unsafe-sample-playback
Fix unsafe sample playback in `GameplaySampleTriggerSource`
2022-06-17 12:26:46 +09:00
Bartłomiej Dach
6ff6a3f5b3
Rename and document chooserPath 2022-06-16 21:51:31 +02:00
Bartłomiej Dach
6f2f4dda37
Merge branch 'master' into fix-up-down 2022-06-16 21:44:56 +02:00
Salman Ahmed
db02cb81c5 Fix file chooser path not opening home directory initially 2022-06-16 20:48:17 +03:00
Salman Ahmed
f7a27b412a Revert "Let latency certifier buttons steal hover from area"
This reverts commit beb0331640.
2022-06-16 20:35:30 +03:00
Salman Ahmed
e4ddf03ad6 Fix toolbar music button handling keys while not hovered 2022-06-16 20:22:57 +03:00
Salman Ahmed
8e088140b2 Reword comment since IRequireHighFrequencyMousePosition isn't the issue 2022-06-16 20:09:10 +03:00
Salman Ahmed
beb0331640 Let latency certifier buttons steal hover from area 2022-06-16 20:00:30 +03:00
Salman Ahmed
ed6817ae6a Allow switching between latency and menu cursor using IProvideCursor 2022-06-16 19:46:31 +03:00
Salman Ahmed
52538dc708 Refactor LatencyCursorContainer to become a cursor container 2022-06-16 19:46:04 +03:00
Salman Ahmed
47d0ecf5e8 Merge branch 'master' into editor-metadata-name-unification 2022-06-16 18:53:23 +03:00
Salman Ahmed
6aee689586 Fix previous file lookup not using metadata properties 2022-06-16 18:50:38 +03:00
Salman Ahmed
f1081db953 Fix background/track implicitly renamed on initial load 2022-06-16 18:48:32 +03:00
Bartłomiej Dach
651862fee0
Merge branch 'master' into database-migration-reliability 2022-06-16 17:19:58 +02:00
Dean Herbert
bf6c6682bc Move null to finally 2022-06-16 23:37:24 +09:00
Dean Herbert
7809566f16 Add explanatory comments 2022-06-16 23:31:49 +09:00
Dean Herbert
7b0fad6461 Null disposal token after use 2022-06-16 23:29:33 +09:00
Bartłomiej Dach
9c4f6d2ce0
Merge branch 'master' into first-run-setup-notification-interruption 2022-06-16 15:14:40 +02:00
Dean Herbert
d48fbdb439 Merge branch 'bmm-cleanup' into bmm-cleanup-2 2022-06-16 19:48:54 +09:00
Dean Herbert
e66ccfd980 Add back missing notification flow 2022-06-16 19:48:18 +09:00
Dean Herbert
448eee051a Update filename to match new class name 2022-06-16 19:41:14 +09:00
Dean Herbert
3860f0b3e5 Remove unused GetWorkingBetamap method 2022-06-16 19:08:59 +09:00
Dean Herbert
ce3d3a967c Reimplement missing methods 2022-06-16 19:05:25 +09:00
Bartłomiej Dach
a635664a86
Fix invalid method reference in comment
`BeatmapModelManager.Save()` was moved to `BeatmapManager`, not to
`BeatmapImporter`.
2022-06-16 12:01:53 +02:00
Dean Herbert
72c5b9009d Remove local realm fields in manager classes 2022-06-16 18:56:53 +09:00
Dean Herbert
f3984d98e6 Remove RealmArchiveModelManager from hierarchy 2022-06-16 18:53:13 +09:00
Dean Herbert
8a5755ca52 Remove pointless override in test implementation 2022-06-16 18:27:16 +09:00
Dean Herbert
04e4c5ef88 Move and adjust implementation regions to restore sanity 2022-06-16 18:26:13 +09:00
Dean Herbert
4d9e3d1982 Rename Score/Skin ModelManager classes to Importer for now 2022-06-16 18:11:50 +09:00
Dean Herbert
1f3e1b2d97 Combine BeatmapManager and BeatmapModelManager into one class 2022-06-16 18:07:04 +09:00
Dean Herbert
8ea3042435 Move file extensions specification to common class 2022-06-16 18:00:27 +09:00
Dean Herbert
84dba36cf5 Update usages of BeatmapModelManager which only require importing to use BeatmapImporter 2022-06-16 17:59:24 +09:00
Dean Herbert
4c372539a1 Consolidate remaining methods in BeatmapModelManager 2022-06-16 17:59:24 +09:00
Dean Herbert
251923c106 Convert NotificationOverlay to NRT 2022-06-16 17:28:08 +09:00
Dean Herbert
6b30ee0950 Tidy up DI and binding logic 2022-06-16 17:26:43 +09:00
Dean Herbert
953ca8c2dd
Merge pull request #18715 from bdach/ruleset-mod-hardening
Add several protections when creating game-global available mods
2022-06-16 17:18:49 +09:00
Dean Herbert
4526f8c07d Move database backup creation to async thread where possible 2022-06-16 17:01:17 +09:00
Dean Herbert
17dbb599d1 Don't backup collection database
This is no longer required due to recent changes which mean the
collection database will retain beatmap references even if they aren't
loaded locally (see https://github.com/ppy/osu/pull/18619).
2022-06-16 16:48:53 +09:00
Dean Herbert
739a696467 Ensure reading of existing databases when making backups doesn't create a file 2022-06-16 16:48:06 +09:00
Dean Herbert
ec53d87c30 Fix unsafe sample playback in GameplaySampleTriggerSource
Resolves https://github.com/ppy/osu/issues/18727.

Added delay from `Schedule` should be minimal as it is always called
from the `Update` thread (input propagation) anyway.
2022-06-16 16:04:57 +09:00
Dean Herbert
89533fa33d Fix Disclaimer screen handling user change events after initial display
Unnecessary overhead, but also should resolve a production hard crash.
2022-06-16 15:40:20 +09:00
Dean Herbert
ac554ca51f Update resources 2022-06-16 15:06:34 +09:00
Bartłomiej Dach
f88c568c8d
Update flag sizes after switch to twemoji assets
The old flags used a size of 150x100, while the new assets based on
twemoji use a size of 150x108. Update existing usages to match this new
aspect ratio better.
2022-06-15 21:45:47 +02:00
Salman Ahmed
2c35b1404b Use FileInfo as current bindable type 2022-06-15 19:29:09 +03:00
Salman Ahmed
5d74d92fcf Revert virtual current bindable 2022-06-15 19:28:43 +03:00
Salman Ahmed
e7dcbddbeb Fix potential null reference 2022-06-15 18:53:49 +03:00
Bartłomiej Dach
1acbb87aa6
Ensure AvailableMods.Value is never null 2022-06-15 17:40:16 +02:00
Bartłomiej Dach
30382b0445
Fill out GetModsFor() xmldoc and annotate items as non-null 2022-06-15 17:40:15 +02:00
Bartłomiej Dach
e74b563b91
Add protection against arbitrary exceptions from GetModsFor() 2022-06-15 17:31:46 +02:00
Bartłomiej Dach
6e5e506fb4
Add protection against rulesets returning null mods 2022-06-15 17:31:46 +02:00
Salman Ahmed
026bad7fc4 Use notification processing mode logic instead 2022-06-15 18:13:24 +03:00
Salman Ahmed
1ff070f5ff Decouple LabelledFileChooser from LabelledTextBoxWithPopover 2022-06-15 17:45:31 +03:00
Dean Herbert
f23ddfe6cc Move remaining realm classes out of Stores namespace 2022-06-15 21:56:00 +09:00
Dean Herbert
23d7667f39 Move BeatmapImporter to correct namespace 2022-06-15 21:47:52 +09:00
Dean Herbert
9edc4fc181 Remove unnecessary ShouldDeleteArchive override (already done in base implementation) 2022-06-15 21:47:52 +09:00
Dean Herbert
7571ab6c63 Merge branch 'master' into new-dialog-sfx 2022-06-15 19:47:00 +09:00
Dean Herbert
7a2919975a Fix sound clash when exiting a multiplayer room with confirmation 2022-06-15 18:48:22 +09:00
Dan Balasescu
d89c80ace2 Block operations during beatmap selection in match 2022-06-15 18:44:16 +09:00
Dean Herbert
1520ccf865 Fix double back sound due to sub screen presence in multiplayer/playlists 2022-06-15 18:44:16 +09:00
Dean Herbert
c27e5d1216 Fix editor still playing back sound when exiting with confirmation 2022-06-15 18:44:02 +09:00
Dean Herbert
e880fcf3cb
Merge pull request #18704 from peppy/update-framework
Update framework
2022-06-15 18:06:11 +09:00
Dean Herbert
584345a97e
Merge pull request #18693 from frenzibyte/toolbar-volume-control
Add basic volume control support in toolbar music button
2022-06-15 17:50:10 +09:00
Dean Herbert
be2b4e68b9 Don't play player exit sound when restarting 2022-06-15 17:49:18 +09:00
Dean Herbert
713cff3403 Don't play editor exit sound when changing difficulties 2022-06-15 17:49:09 +09:00
Dean Herbert
fd4529aa7c Play editor exit sound if no confirmation buttons were shown during exit process 2022-06-15 17:37:54 +09:00
Dean Herbert
7ac5019c08 Fix intro screens playing exit sounds 2022-06-15 17:37:30 +09:00
Dean Herbert
6136e4e27a Don't play exit sound if screen is in a non-resumable state when exiting 2022-06-15 17:37:25 +09:00
Dean Herbert
b3aa4fcf02 Adjust a channel rather than the overall sample 2022-06-15 17:33:07 +09:00
Dean Herbert
94aa2248ca Move filter reset to more appropriate location 2022-06-15 17:32:21 +09:00
Dean Herbert
87bf53485a
Merge pull request #18649 from frenzibyte/selection-context-outside-bounds
Fix context menus not appearing when clicking outside of editor playfield's bounds
2022-06-15 17:08:09 +09:00
Dean Herbert
080f2859ef
Merge pull request #18689 from peppy/quick-import-only-on-batch
Always perform full consistency checks for single imports
2022-06-15 17:06:06 +09:00
Dean Herbert
accd6031bd Update framework 2022-06-15 16:53:56 +09:00
Dean Herbert
1f1633ddc2 Remove Update method processing of samples in PopupDialogDangerousButton 2022-06-15 16:50:23 +09:00
Salman Ahmed
583619b915 Use GlobalAction.DecreaseVolume instead 2022-06-15 10:21:27 +03:00
Dean Herbert
eac0ca4db6 Update resources 2022-06-15 16:14:46 +09:00
Salman Ahmed
dfab8b71f6
Merge branch 'master' into stable-beatmap-recursive-import 2022-06-15 10:06:46 +03:00
Dean Herbert
873806c2ea Add keyboard adjustment support 2022-06-15 15:58:22 +09:00
Dean Herbert
3df9d7c9e1 Add a bit more animation when adjusting 2022-06-15 15:56:59 +09:00
Salman Ahmed
6a8cf514e0 Update background/track file chooser to not display filename 2022-06-15 09:52:13 +03:00
Dean Herbert
5eb56ab814 Ensure Master volume is updated when scrolling on toolbar button 2022-06-15 15:41:40 +09:00
Jamie Taylor
5e3ccf7087
Don't play 'back' sample when exiting Editor 2022-06-15 15:41:28 +09:00
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting 2022-06-15 15:41:28 +09:00
Jamie Taylor
af87722be8
Add audio feedback for 'Dangerous' dialog buttons 2022-06-15 15:41:27 +09:00
Jamie Taylor
930ec2a197
Add specific samples for dialog 'Ok' and 'Cancel' buttons 2022-06-15 15:41:27 +09:00
Dean Herbert
5201057a62 Change batch import to require at least 10 items 2022-06-15 15:31:58 +09:00
Dean Herbert
abe947bcb0 Update outdated xmldoc comments 2022-06-15 15:31:45 +09:00
Dean Herbert
19543685ff Merge branch 'master' into quick-import-only-on-batch 2022-06-15 15:27:06 +09:00
Dean Herbert
cca7633e59 Rename variables and remove unnecessary nested call to GetFullPath 2022-06-15 15:05:51 +09:00
Salman Ahmed
f3f0960335 Use unified filename for background and track during editor import 2022-06-15 09:02:48 +03:00
Salman Ahmed
d3feb07bc1 Split zoom updating to named method with value as optional 2022-06-15 07:57:16 +03:00
Salman Ahmed
22c09ec893 Handle subdirectories during beatmap stable import 2022-06-15 07:33:21 +03:00
Salman Ahmed
ee8045d507 Add failing test case 2022-06-15 07:33:21 +03:00
Salman Ahmed
268a7e1334 Fix ZoomableScrollContainer attempting to update zoom with overlapping range 2022-06-15 05:43:41 +03:00
Salman Ahmed
ddeee09a51 Fix important notifications interrupting first-run setup 2022-06-15 03:40:05 +03:00
Salman Ahmed
1171d44ad9 Add failing test case 2022-06-15 03:37:04 +03:00
Salman Ahmed
36599d1174
Merge branch 'master' into fix-hit-error-when-not-visible 2022-06-14 22:47:11 +03:00
Salman Ahmed
1f31e3fb51 Add volume UI to toolbar music button 2022-06-14 22:15:12 +03:00
Salman Ahmed
7f23677972 Add volume control support via toolbar music button 2022-06-14 22:15:12 +03:00
Dean Herbert
49ec2572b8 Allow scrolling overflow of ruleset buttons in the toolbar 2022-06-15 01:43:10 +09:00
Salman Ahmed
d89c11e49e Allow Toolbar to block scroll input from passing through 2022-06-14 19:10:13 +03:00
Dean Herbert
6be4209458 Fix AlwaysPresent specification in wrong container 2022-06-15 01:04:43 +09:00
Dean Herbert
88d5e074a8 Rename lowPriority to batchImport 2022-06-15 00:46:00 +09:00
Dean Herbert
f11fe54385 Remove custom hash function flow 2022-06-15 00:42:30 +09:00
Dean Herbert
2f8290831a Skip quick import clause when importing a single item
Closes https://github.com/ppy/osu/issues/18600.
2022-06-15 00:26:34 +09:00
Dean Herbert
7affef75b0 Remove unused Import method in SkinManager 2022-06-15 00:26:34 +09:00
Dean Herbert
cf2238f683
Merge pull request #18688 from peppy/too-many-import-methods
Various clean-up on model managers / importer classes
2022-06-15 00:12:33 +09:00
Dan Balasescu
cc7943dfb1
Merge pull request #18687 from peppy/editor-repeat-behaviour-change-collapsing
Fix timing adjustment repeat buttons firing one change per repeat invocation
2022-06-14 20:24:13 +09:00
Dean Herbert
94ba71aa13 Remove one more usage of lowPriority 2022-06-14 20:21:28 +09:00
Dean Herbert
6250caca29 Remove duplicate implementation of same thing 2022-06-14 20:01:11 +09:00
Dean Herbert
e96c5ce703 Move and correct xmldoc to interfaces 2022-06-14 20:00:16 +09:00
Dean Herbert
84e526a2d9 Move methods around to make more sense 2022-06-14 20:00:08 +09:00
Dean Herbert
9f599a5ab4 Remove unused lowPriority flag from one Import method 2022-06-14 19:52:30 +09:00
Dean Herbert
ca0765a932 Tidy up various delegation implementations 2022-06-14 19:46:59 +09:00
Dean Herbert
d73c0ca659 Remove unused methods from IModelImporter
All the xmldoc is already present in `RealmArchiveModelImporter` so
nothing is lost here.
2022-06-14 19:42:11 +09:00
Dean Herbert
c30644328c Fix timing adjustment repeat buttons firing one change per repeat invocation 2022-06-14 19:21:02 +09:00
Dean Herbert
aeca138930 Fix ctrl-z in editor also seeking to start in addition to undo 2022-06-14 18:48:57 +09:00
Dean Herbert
a20e43c2ae Ensure containers which are being used to hide HUD elements still update for now
I don't think this is necessarily a final solution (as this means all
HUD elements are adding overhead even when not visible), but this will
make the implementations much easier for the time being.

I've checked and can't notice any perceivable overhead in profiling so
we should be fine for now.
2022-06-14 18:22:25 +09:00
Salman Ahmed
fa4930c586 Remove no longer necessary ReceivePositionalInputAt overrides in timeline components 2022-06-14 00:19:47 +03:00
Salman Ahmed
c49b8e4a5c Allow BlueprintContainer and SelectionHandler to receive input outside bounds 2022-06-14 00:19:15 +03:00
Salman Ahmed
9fc04924eb Revert "Provide context menu items at BlueprintContainer for out-of-bounds support"
This reverts commit 85fc218edf.
2022-06-14 00:02:02 +03:00
Dean Herbert
bd9ea9bd6f Revert most unnecessary changes
Turns out `AlwaysPresent` at top level is actually enough.

This reverts commit 86163d2225.
2022-06-13 23:58:14 +09:00
Dean Herbert
336df62a1f Remove unnecessary file existence check
This is not required due to `createFileInfos` always being run before we
get to this point (I believe this was added after the initial code to
check existence was added).

This flow is covered in
`BeatmapImportTests.TestImportThenReimportAfterMissingFiles`, which
still passes with the change.

While this check isn't doing any harm, as I'm going through the flow for
import-skipping, less checks are appreciated.
2022-06-13 18:57:30 +09:00
Dan Balasescu
b88461b3c9
Merge pull request #18671 from peppy/latency-scrolling-gameplay
Add scrolling gameplay visualisation mode to latency certifier
2022-06-13 18:46:46 +09:00
Dan Balasescu
f680f4d26b Apply refactorings from review 2022-06-13 17:36:32 +09:00
Dan Balasescu
7ac8ba0a74
Merge pull request #18368 from apollo-dw/dho
Move object history in difficulty calculation to the object itself
2022-06-13 17:31:08 +09:00
Dean Herbert
f997886142 Add scrolling gameplay visualisation mode to latency certifier 2022-06-13 17:18:32 +09:00
Dan Balasescu
c178e5d592 Add explanatory comment 2022-06-13 16:58:43 +09:00
Dan Balasescu
a8286bdf04 Fix assertion failures 2022-06-13 16:56:08 +09:00
Dan Balasescu
285e5abb41 Fix incorrect fallback value 2022-06-13 16:55:46 +09:00
Dean Herbert
86163d2225 Fix hit error meters not updating visual state when hidden
It is an expectation of users that when the HUD is shown after a period
of being hidden, it will visually reflect the state based on recent
judgements.

To achieve this, I've added `AlwaysPresent` and moved the transform
application to the meter level, rather than at a child level. If this is
seen as a bad direction, `AlwaysPresent` can be applied to the drawable
children and the transforms can be moved back.

Also of note, `ColourHitErrorMeter` is pretty weird. The flow class
could potentially be removed and reduce `AlwaysPresent` usage by one.
Can do that refactor as part of this PR if preferred.

Closes #18624.
2022-06-13 16:38:57 +09:00
Dean Herbert
17eaf7bb5c Add failing test coverage showing hit meters don't update when not visible 2022-06-13 16:36:22 +09:00
Dan Balasescu
5a18547342
Compare by char
Co-authored-by: Berkan Diler <berkan.diler1@ingka.ikea.com>
2022-06-13 15:58:11 +09:00
Dan Balasescu
776e7c0c71 Work around performance issues 2022-06-13 15:45:08 +09:00
Dan Balasescu
7e7716f942 Support undo/redo for control points 2022-06-13 15:45:08 +09:00
Dean Herbert
77fcf35d1d Remove unlimited frame limiter warning
This should not be required now that we have a 1,000 Hz limiter in
place.
2022-06-13 15:40:27 +09:00
Dan Balasescu
dfc643fd8c Match family string via GetFamilyString() 2022-06-13 12:35:10 +09:00
Salman Ahmed
3aec0fe9b6 Fix torus alternate not mapping "medium" weight to "regular" 2022-06-13 04:45:07 +03:00
Salman Ahmed
7971355660 Fix torus "medium" weight not mapped to "regular" when using With 2022-06-13 04:44:44 +03:00
Salman Ahmed
051aa8f028 Mark family strings as verbatim 2022-06-13 04:43:14 +03:00
Salman Ahmed
85fc218edf Provide context menu items at BlueprintContainer for out-of-bounds support 2022-06-11 20:53:53 +03:00
Dan Balasescu
12ff98001d
Merge pull request #18635 from peppy/latency-comparer-more-modes
Add multiple display modes (including circle gameplay) to latency certification
2022-06-12 00:59:36 +09:00
Dan Balasescu
486f762f44 Fix inspection by removing unstable rate code 2022-06-12 00:13:36 +09:00
Dean Herbert
af353c37c0 Don't show UR for now 2022-06-11 23:54:11 +09:00
Dean Herbert
52c8cea27d Update spectator/multiplayer endpoint in line with new deployment 2022-06-11 22:31:01 +09:00
Salman Ahmed
419b5791c9 Move circle duration to constant 2022-06-11 16:08:24 +03:00
Dean Herbert
8d53ed64a3 Fix mode cycling and add test coverage 2022-06-11 21:36:43 +09:00
Dean Herbert
0c333e5c08
Link directly to methodology section
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-06-11 21:34:00 +09:00
Dean Herbert
c697dc90e4 Hide settings at results screen 2022-06-11 21:32:02 +09:00
Dean Herbert
d130e7ebff Remove ScrollingGameplay class for now 2022-06-11 21:30:33 +09:00
Dean Herbert
68da9f0386
Add explicit precision for BPM adjustment
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-06-11 21:27:44 +09:00
Salman Ahmed
06f070c3ec Fix latency certifier potentially reporting infinite mouse polling rate 2022-06-11 14:58:16 +03:00
Dean Herbert
8562641560 Update framework 2022-06-11 12:48:31 +09:00
Dean Herbert
096d6df868 Fix regression in testing and setting logic 2022-06-10 20:33:21 +09:00
Dean Herbert
8ce545ff9d Fix visuals in circle gameplay and greedy hover 2022-06-10 20:25:33 +09:00
Dean Herbert
b956a916c1 Make units sane 2022-06-10 20:21:03 +09:00
Dean Herbert
213ccfb743 Improve explanation text and add link to wiki 2022-06-10 20:14:12 +09:00
Dean Herbert
18f74b2840 Move settings and bindables to a sane location 2022-06-10 20:04:51 +09:00
Dean Herbert
837958b254 Remove scrolling gameplay mode for now 2022-06-10 19:43:09 +09:00
Dean Herbert
ef5c1a1ecb Improve visuals of circle gameplay mode 2022-06-10 19:42:25 +09:00
Dean Herbert
a6fd61c444 Default to circle gameplay mode 2022-06-10 19:42:25 +09:00
Dean Herbert
41d16c613d Fix being able to hit way too early using keyboard 2022-06-10 19:42:25 +09:00
Dean Herbert
2f1c331f65 Move shared logic to LatencySampleComponent and implement key support for circle gameplay 2022-06-10 19:42:25 +09:00
Dean Herbert
7f4a54096f Fix circles in the future being hittable 2022-06-10 19:42:25 +09:00
Dean Herbert
ba14d646c3 Add static configuration 2022-06-10 19:42:25 +09:00
Dean Herbert
5deaa42e9f Stop music on entering latency certification screen 2022-06-10 19:42:25 +09:00
Dean Herbert
5c7d29cd31 Remove dependency on game-wide audio 2022-06-10 19:42:25 +09:00
Dean Herbert
d46739ff0b Add circle gameplay test coverage 2022-06-10 19:42:25 +09:00
Dean Herbert
c657ef2722 Add ability to adjust spacing 2022-06-10 19:42:25 +09:00
Dean Herbert
e9547542ea Add circle gameplay 2022-06-10 19:42:25 +09:00
Dean Herbert
53eb5c176c Create setup for adding other visual display modes 2022-06-10 19:42:25 +09:00
Dan Balasescu
e5d6dc1ba5
Merge pull request #18606 from peppy/latency-comparer
Add latency certifier system
2022-06-10 19:41:44 +09:00
Dean Herbert
e0644f2726 Simplify flow of progression to be linear 2022-06-10 15:19:10 +09:00
Dean Herbert
5541ebc76b Revert OsuButton changes 2022-06-10 15:02:26 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Dean Herbert
eb16de9c71 Use upper-case "Hz" 2022-06-10 14:38:04 +09:00
Dean Herbert
f71343c880 Fix box colour getting stuck when changing active mode 2022-06-10 14:28:46 +09:00
Dean Herbert
5b8bd24140
Simplify text when reaching maximum supported level
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-10 14:25:15 +09:00
Dean Herbert
69b856bd58 Rename rounds variables to hopefully read better 2022-06-10 14:23:24 +09:00
Dean Herbert
613814c26c Make TargetFrameRate nullable 2022-06-10 14:18:35 +09:00
Dean Herbert
c625c929e5 Update button text to match new terminology 2022-06-10 14:16:56 +09:00
Dean Herbert
4a5e86e451 Rename Beatmaps to BeatmapHashes for clarity 2022-06-10 14:03:51 +09:00
Dean Herbert
3b229624dd Simplify contains check to use LINQ the whole way 2022-06-10 14:02:58 +09:00
Dean Herbert
70ebfbcf5e Add recommendation text and adjust weightings to read better 2022-06-09 19:26:24 +09:00
Dan Balasescu
6d2a2ba7d6 Rename Position -> Index 2022-06-09 18:49:11 +09:00
Dan Balasescu
f0ef2e610e Merge branch 'master' into dho 2022-06-09 18:29:14 +09:00
Dan Balasescu
bc7262a3dd
Merge pull request #18627 from Joehuu/always-show-mod-selector-beatmap-info
Always show mod selector on beatmap info leaderboards regardless of supporter
2022-06-09 18:18:12 +09:00
Dan Balasescu
6e450b7350 Explicitly handle operation cancelled exceptions 2022-06-09 14:35:53 +09:00
Dan Balasescu
ec03dc16db Don't trigger notification when user quit 2022-06-09 14:13:14 +09:00
Dan Balasescu
bfde334e77 Allow beatmaps to load endlessly when entering Player 2022-06-09 14:03:21 +09:00
Dan Balasescu
85c85f37c6
Merge pull request #18622 from jai-x/chat-timestamp-colour
Enable nullable types in `ChatLine` and update timestamp colours to match design
2022-06-09 11:39:51 +09:00
Dean Herbert
8879c59b36
Merge pull request #18623 from LittleEndu/new-me-recommender
Use new own profile statistics in difficulty recommender
2022-06-09 11:11:21 +09:00
Dan Balasescu
ace03a3c1a
Merge pull request #18620 from peppy/channel-manager-always-has-api
Ensure `ChannelManager` has access to API from point of construction
2022-06-09 11:03:13 +09:00
Joseph Madamba
f3371e8bc8 Always show mod selector on beatmap info leaderboards regardless of supporter 2022-06-08 13:22:49 -07:00
Endrik Tombak
c90b285861 Change variable name and inline it 2022-06-08 21:10:27 +03:00
Endrik Tombak
bf67b35ade Use new own profile statistics in difficulty recommender 2022-06-08 17:44:57 +03:00
Jai Sharma
c2ed41d097 Remove CanBeNull specification from DI attributes 2022-06-08 15:10:19 +01:00
Jai Sharma
04b434b8ce Update ChatLine timestamp and message colours 2022-06-08 14:04:01 +01:00
Jai Sharma
dfa31df2af Use #nullable enable in ChatLine 2022-06-08 14:04:01 +01:00
Dean Herbert
c22bffaa01 Fix filter failure when no collection is selected 2022-06-08 19:30:18 +09:00
Dean Herbert
187086e4ec
Merge pull request #18609 from ALANVF/settings-delete-skin
Add button to delete the current skin
2022-06-08 19:18:59 +09:00
Dean Herbert
c661f2b059 Ensure ChannelManager has access to API from point of construction
Closes https://github.com/ppy/osu/issues/18451.
2022-06-08 19:15:23 +09:00
Dean Herbert
42cd7d9e6e Change CollectionManager to only store MD5 hashes instead of full BeatmapInfo 2022-06-08 18:23:09 +09:00
Dan Balasescu
f8594acb1d Cleanup dialog implementation 2022-06-08 18:17:43 +09:00
Dean Herbert
cf438b1a44 Add index on MD5Hash property
Reduces actual query overhead significantly
2022-06-08 18:01:55 +09:00
Dan Balasescu
3a90aa0b9b Fix code styling 2022-06-08 17:57:59 +09:00
Dean Herbert
5157a78ae6 Isolate nested sample screens from main game to avoid toolbar interactions 2022-06-08 16:53:06 +09:00
Dan Balasescu
c43670fcd9
Merge pull request #18603 from peppy/fix-import-dialog
Add placeholder when no results are visible at song select
2022-06-08 15:22:31 +09:00
Dean Herbert
3b46787e06
Merge pull request #18496 from smoogipoo/multiplayer-leaderboard-user-mods-2
Support mod/ruleset combinations in multiplayer gameplay leaderboard
2022-06-08 14:58:13 +09:00
Dean Herbert
eee79c9531
Merge pull request #18610 from jai-x/refactor-chat-line
Refactor `ChatLine` and fix `DrawableChannel` flow padding
2022-06-08 13:54:53 +09:00
Dean Herbert
cd649f7d97
Merge branch 'master' into multiplayer-leaderboard-user-mods-2 2022-06-08 13:39:42 +09:00
Salman Ahmed
830ff66688 Fix message notifier not handling unresolved PM channels 2022-06-08 04:31:31 +03:00
theangryepicbanana
6c05329144 Close #5820 (Ability to delete a single skin) 2022-06-07 18:01:40 -04:00
Jai Sharma
2f635fa854 Refactor ChatLine and fix DrawableChannel flow padding
Refactors `ChatLine` component to use more sensible override properties
and layout using grid container. Moves creation of username component
into its own method to simplify BDL.

Updates padding of base `DrawableChannel` flow padding.

Removes usage of `ChatOverlayDrawableChannel` since it's overrides are
no longer needed.

Updates usage of `StandAloneChatDisplay` to use new override properties
of `DrawableChannel`.
2022-06-07 22:35:45 +01:00
Dean Herbert
b924aa3296 Fix tests failing when run headless 2022-06-08 00:36:19 +09:00
Dean Herbert
228683e956 Fix nullability of dialogOverlay dependency 2022-06-07 23:48:34 +09:00
Dean Herbert
2e0b888410 Fix song select carousel invalidating every frame during global overlay dimming 2022-06-07 23:46:53 +09:00
Dean Herbert
9da99a0ddf Rename to latency certifier 2022-06-07 23:34:55 +09:00
Dean Herbert
1a1dfaeae6 Update framework 2022-06-07 23:27:59 +09:00
Dean Herbert
95dea00725 Tidy up code and namespaces 2022-06-07 23:10:08 +09:00
Dean Herbert
058760253a Add test coverage of certification flow 2022-06-07 23:02:15 +09:00
Dean Herbert
c1ef59ab03 Add more comprehensive certification flow (and remove "difficulty" terminology) 2022-06-07 22:52:24 +09:00
Dean Herbert
0561e9cc75 Fix mouse focus not always working 2022-06-07 20:45:37 +09:00
Dean Herbert
f2524fc3d7 Increase separator width 2022-06-07 20:42:19 +09:00
Dean Herbert
60d7060baa Add tab focus support 2022-06-07 20:28:42 +09:00
Dean Herbert
00a6cbe53f Allow using J/K to move box as well 2022-06-07 20:03:49 +09:00
Dean Herbert
146225d87e Fix multiple issues with layout and text 2022-06-07 20:02:26 +09:00
Dean Herbert
43a04010a7 Add display of polling rate 2022-06-07 19:43:33 +09:00
Dean Herbert
2e7a966218 Add proper frame rate limiting and fix mouse cursor missing at results 2022-06-07 19:31:56 +09:00
Dean Herbert
c0e88d9577 Add better messaging and pass/fail cutoff 2022-06-07 19:06:54 +09:00
Dean Herbert
3fc8ac0ec7 Add key bindings everywhere 2022-06-07 18:27:42 +09:00
Dean Herbert
a175defefd Add difficulty levels 2022-06-07 18:11:54 +09:00
Dean Herbert
3bd8bbd297 Add explanatory text 2022-06-07 17:36:34 +09:00
Dean Herbert
c323c67d7d Allow increasing confidence by playing longer 2022-06-07 17:28:31 +09:00
Dean Herbert
20cfa5d83f Add button to access latency comparer from game 2022-06-07 17:28:31 +09:00
Dean Herbert
0adeccbf03 Add full latency testing flow 2022-06-07 17:28:31 +09:00
Dean Herbert
f8524c3af4 Use VisibilityContainer to avoid too many animations triggering 2022-06-07 17:25:06 +09:00
Dean Herbert
a04af1ca5f Enable nullable and add hinting at convert filter criteria 2022-06-07 17:25:06 +09:00
Dean Herbert
0d32c94104 Add initial implementation of beatmap carousel no-results-placeholder 2022-06-07 17:25:06 +09:00
Dean Herbert
df9174ec00 Remove import popup dialog from song select
This has been replaced in spirit by the first run overlay.
2022-06-07 16:45:27 +09:00
Dan Balasescu
476a05cafb
Merge pull request #18599 from hlysine/fix-score-panel-diff-name-overflow
Truncate difficulty name in score panel
2022-06-07 14:16:02 +09:00
Dan Balasescu
561a932d17
Merge pull request #18587 from peppy/skin-editor-fix-sizing
Fix skin editor not accounting for aspect ratios in base-game sizing logic
2022-06-07 13:19:50 +09:00
Henry Lin
ef5d601f67 Fix difficulty name overflow in score panel 2022-06-07 12:05:03 +08:00
Dan Balasescu
f576d53aed Update some unmatching strings 2022-06-07 11:54:41 +09:00
Dan Balasescu
0bfbfc6411 Update package 2022-06-07 11:51:24 +09:00
Dan Balasescu
86b685f7e4
Merge pull request #18589 from peppy/skin-bool-parsin
Change `skin.ini` boolean parsing to match osu!stable
2022-06-07 10:11:07 +09:00
Dean Herbert
46eba86ad1 Remove unintended left-over invalidation code 2022-06-07 09:29:30 +09:00
Bartłomiej Dach
4df7711af8
Merge branch 'master' into volume-metre-keyboard-fix 2022-06-06 23:45:42 +02:00
Bartłomiej Dach
f7ae156bb5
Merge branch 'master' into skin-editor-null-ref-on-game-exit 2022-06-06 21:49:13 +02:00
Dean Herbert
3b4b35c51e Remove unnecessary string interpolation 2022-06-06 20:18:57 +09:00
Dean Herbert
f96340e37d Improve messaging of deletion progress / completion 2022-06-06 20:18:32 +09:00
Dean Herbert
b104b7a90d Rename method to mention "all" 2022-06-06 20:12:20 +09:00
Dean Herbert
da000ee5f0 Centralise video file extensions 2022-06-06 20:11:43 +09:00
Dean Herbert
cb383d4bdc Merge branch 'master' into delete-all-beatmap-videos-sbs 2022-06-06 20:08:05 +09:00
Dean Herbert
3862681d94 Change skin.ini boolean parsing to match osu!stable
Closes https://github.com/ppy/osu/issues/18579.
2022-06-06 19:43:09 +09:00
Dean Herbert
44400142e2
Merge pull request #18584 from smoogipoo/fix-spectating-combo
Fix combo starting at 0 when spectating
2022-06-06 19:16:47 +09:00
Dean Herbert
734636299e
Merge pull request #18567 from jai-x/update-dayseparator
Update `DaySeparator` to use new design throughout
2022-06-06 19:15:43 +09:00
Dean Herbert
a8764b67e1 Add padding and avoid using invalidation (triggers too often when toolbar is being toggled) 2022-06-06 18:28:56 +09:00
Dean Herbert
28c9c61f71 Fix potential null reference in skin editor if target screen is null (during exit)
```csharp
[runtime] 2022-06-06 09:24:31 [verbose]: Host execution state changed to
Stopping
[runtime] 2022-06-06 09:24:31 [error]: An unhandled error has occurred.
[runtime] 2022-06-06 09:24:31 [error]: System.NullReferenceException:
Object reference not set to an instance of an object.
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Game.Skinning.Editor.SkinEditorOverlay.setTarget(OsuScreen target)
in
/Users/dean/Projects/osu/osu.Game/Skinning/Editor/SkinEditorOverlay.cs:line
173
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Threading.Scheduler.Update()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Drawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
```
2022-06-06 18:27:54 +09:00
Dean Herbert
003a3de270 Adjust transitions to look better 2022-06-06 18:06:46 +09:00
Dean Herbert
cd0e0fe70f Fix skin editor not accounting for aspect ratios in base-game sizing logic 2022-06-06 18:02:42 +09:00
Dan Balasescu
6351f652a2 Fix combo starting at 0 when spectating 2022-06-06 17:56:25 +09:00
Dean Herbert
7facbc9b28
Merge branch 'master' into multiplayer-test-clone-room 2022-06-06 13:47:16 +09:00
Dean Herbert
f1af3205ca Update framework 2022-06-05 13:15:05 +09:00
Dan Balasescu
b897e1464f
Merge pull request #18462 from frenzibyte/fix-timeline-zooming
Fix timeline objects disappearing prematurely on wide-screens
2022-06-05 11:49:44 +09:00
Jai Sharma
c0aaeff2b3 Update DaySeparator to use new design throughout
Moves `DaySeparator` chat component to it's own file and update it to
match new chat design. Makes use of several virtual attributes that can
be overridden to update spacing and layout in other usage contexts.

Remove redundant usage of `ChatOverlayDaySeparator`, since the new
design is now part of the base class.

Create `StandAloneDaySeparator` to use in `StandAloneChatDisplay` which
overrides attributes to match correct spacing and layout for its design.

Ensure that `DrawableChannel.CreateDaySeparator` returns type of
`DaySeparator` instead of `Drawable`.
2022-06-04 18:02:14 +01:00
Dean Herbert
8ad588d927 Update framework 2022-06-04 22:12:53 +09:00
Dean Herbert
4d0c3fcee2
Merge pull request #18556 from frenzibyte/default-legacy-spinner-approach-circle
Fix spinner approach circle displaying on default legacy skin
2022-06-04 15:30:34 +09:00
Joseph Madamba
30cf6bffad Add tooltips to beatmap card icon pills 2022-06-03 21:41:52 -07:00
Joseph Madamba
4b54fedd88 Add back hide common string using new ToSentence() extension method 2022-06-03 20:09:20 -07:00
Joseph Madamba
58c8562cb0 Fix username placeholder text casing and missing localisation on registration form 2022-06-03 20:09:20 -07:00
Joseph Madamba
b342aad24a Revert/fix some incorrectly used sorting localisation 2022-06-03 19:56:33 -07:00
Salman Ahmed
045e044637 Expose LegacySkinTransformer's underlying skin for pattern-matching 2022-06-04 01:14:42 +03:00
Dean Herbert
d0e098fbcd Allow using arrow keys to navigate volume controls when controls are already visible 2022-06-04 01:04:46 +09:00
Dean Herbert
712253a35b Make non-localisable strings in VolumeMeter verbatim 2022-06-04 01:04:23 +09:00
Dean Herbert
64616a6d73 Remove completely gimped implementation in VolumeMeter 2022-06-04 00:18:54 +09:00
Jamie Taylor
396a566a0e
Add some randomness to click samples 2022-06-03 22:33:11 +09:00
Jamie Taylor
6115275bc2
Use 'default' sampleset for toolbar and repurpose 'toolbar' select sample temporarily 2022-06-03 22:33:06 +09:00
Jamie Taylor
2878bb592f
Use more appropriate sounds for certain components 2022-06-03 22:32:12 +09:00
Jamie Taylor
365819865e
Remove 'submit' sample usages 2022-06-03 22:31:35 +09:00
Dean Herbert
f68df1518f
Merge branch 'master' into multiplayer-test-clone-room 2022-06-03 22:29:39 +09:00
Dan Balasescu
fcf51a6f51
Merge pull request #18530 from peppy/add-cloen-button
Change text on timing group add button when it is going to clone instead
2022-06-03 22:23:04 +09:00
Dan Balasescu
725a4dd9f4
Merge pull request #18545 from peppy/web-request-canceled-fix
Fix web requests potentially being performed after cancelled
2022-06-03 21:32:24 +09:00
Dan Balasescu
3df4d1b0e6 Fix incorrect HasPassword value for returned rooms 2022-06-03 21:17:48 +09:00
Dan Balasescu
06ac3c1ad3 Make MultiplayerClient update CurrentPlaylistItem 2022-06-03 21:17:23 +09:00
Dan Balasescu
41ff170b60 Fix playlist IDs not being returned 2022-06-03 21:12:09 +09:00
Dan Balasescu
77289c7224 Fix inability to serialise-then-deserialise playlist items 2022-06-03 20:36:12 +09:00
Dan Balasescu
68337df643 Fix tests by creating a score processor 2022-06-03 20:04:20 +09:00
Dan Balasescu
5245995689 Use IsNotNull() helper 2022-06-03 19:50:21 +09:00
Dan Balasescu
646f5f0f33 Isolate "server-side" multiplayer rooms in testing 2022-06-03 19:17:34 +09:00
Dan Balasescu
2aabcf51ae Update framework again 2022-06-03 18:47:19 +09:00
Dean Herbert
514dffd49a
Merge pull request #18544 from frenzibyte/macos-borderless-default-mode
Change default window mode to "Borderless" on macOS
2022-06-03 18:18:53 +09:00
Dean Herbert
debd1a59b0
Merge pull request #18539 from frenzibyte/repeating-button-behaviour
Share repeat implementation in `TimingAdjustButton` for timeline zoom buttons
2022-06-03 18:18:23 +09:00
Dan Balasescu
1c738e22ae
Merge pull request #18523 from peppy/tap-button
Add tap for BPM button
2022-06-03 18:11:10 +09:00
Dean Herbert
cd3edc869c Remove unnecessary nesting of IconButton and update design a touch 2022-06-03 17:00:00 +09:00
Salman Ahmed
cd999cf7ac Fix back-to-front conditional 2022-06-03 10:51:20 +03:00
Salman Ahmed
7b28451e3d Improve warning message for user 2022-06-03 10:50:52 +03:00
Dean Herbert
e779b460e4 Use Component instead of CompositeDrawable 2022-06-03 16:49:08 +09:00
Salman Ahmed
3ad1180c48 Use macOS instead of IsApple for better safety 2022-06-03 10:32:59 +03:00
Salman Ahmed
1a835f0622 Add warning note when running fullscreen on macOS 2022-06-03 10:32:59 +03:00
Dean Herbert
54a32bde44 Don't report sentry errors from builds targetting a different server 2022-06-03 16:29:55 +09:00
Dean Herbert
eb2d822530 Fix web requests potentially being performed after cancelled
Closes https://github.com/ppy/osu/issues/18524.
2022-06-03 16:04:52 +09:00
Dean Herbert
1af51a2b19 Update framework 2022-06-03 16:00:42 +09:00
Dan Balasescu
f1169af627
Merge pull request #18541 from peppy/update-realm
Update realm to latest version
2022-06-03 15:53:44 +09:00
Salman Ahmed
6cb8b2d6f4 Set default window mode to "Borderless" rather than "Fullscreen" on macOS 2022-06-03 09:37:21 +03:00
Salman Ahmed
3aa8bc933d Add sentry tag for selected beatmap 2022-06-03 08:21:35 +03:00
Dean Herbert
1b4c89c418 Update realm to latest version
Contains minor changes to async usage in line with upstream API changes.

I believe a feedback issue we were seeing with offset changes (the only
component using async write flow) may have been resolved by these
upstream changes (see [release
notes](https://github.com/realm/realm-dotnet/releases/tag/10.14.0)) but
am not investigating further just yet.
2022-06-03 14:16:10 +09:00
Dean Herbert
678229fdab
Merge pull request #18536 from bdach/safe-file-chooser-textbox-disposal
Improve safety of file chooser textbox disposal
2022-06-03 13:50:41 +09:00
Dan Balasescu
dd93fc283b
Merge pull request #18531 from peppy/track-groups-better
Improve group tracking logic to avoid switching which point type unnecessarily
2022-06-03 13:04:54 +09:00
Salman Ahmed
b51e0a5047 Share button repeating logic with TimelineButton for better UX 2022-06-03 05:23:49 +03:00
Salman Ahmed
efbde06c11 Split button repeating logic from TimingAdjustButton to own component 2022-06-03 05:23:49 +03:00
Salman Ahmed
21385655fe Fix ZoomableScrollContainer not updating on parent size changes 2022-06-03 02:34:10 +03:00
Salman Ahmed
60fb5d5e6c Revert "Fix timeline objects disappearing prematurely on wide-screens"
This reverts commit 02baf9a97a.
2022-06-03 02:03:04 +03:00
Salman Ahmed
8471b24659 Merge branch 'master' into fix-timeline-zooming 2022-06-03 02:00:09 +03:00
Bartłomiej Dach
87ec2e490d
Merge branch 'master' into deselect-control-group 2022-06-03 00:47:06 +02:00
Bartłomiej Dach
8523083b2b
Merge branch 'master' into fix-add-new-timing-crash 2022-06-03 00:14:33 +02:00
Bartłomiej Dach
59ffc8b08e
Merge branch 'master' into multiplayer-leaderboard-user-mods-2 2022-06-02 20:45:10 +02:00
Bartłomiej Dach
cf9b78ea2a
Improve safety of FileChooserLabelledTextBox disposal 2022-06-02 20:38:14 +02:00
Bartłomiej Dach
ec24b32fa6
Add NRT coverage for FileChooserLabelledTextBox 2022-06-02 20:36:28 +02:00
Bartłomiej Dach
d3f217cbdf
Merge branch 'master' into scoreprocessor-cleanup 2022-06-02 18:23:35 +02:00
Dean Herbert
ad3c093a08 Improve group tracking logic to avoid switching which point type unnecessarily 2022-06-02 18:33:09 +09:00
Dean Herbert
2fa4d46f73 Change text on timing group add button when it is going to clone instead
Also disables the button when it would otherwise have no effect.
2022-06-02 18:28:16 +09:00
Dean Herbert
0b125ade4c Allow clicking away to deselect the current control point group 2022-06-02 18:18:18 +09:00
Dean Herbert
5a0f716bf2 Fix timing screen crash when attempting to add group to self
Closes #18527.
2022-06-02 18:14:28 +09:00
Dean Herbert
ee4beefd95 Increase max taps to 128 for now
Will revisit this in the future with a more sound algorithm.
2022-06-02 17:27:52 +09:00
Dean Herbert
e75609dfb9 Increase taps to consider for better results for longer tap periods 2022-06-02 17:03:48 +09:00
Dean Herbert
4abfb35611 Improve light rotational alignment and increase light count to 8 2022-06-02 16:58:14 +09:00
Dan Balasescu
773ba97117 Add xmldoc to ScoringValues 2022-06-02 16:39:51 +09:00
Dan Balasescu
a638392e81 Rename member 2022-06-02 16:35:50 +09:00
Dan Balasescu
055845d4f5 Throw exception on access before ApplyBeatmap() 2022-06-02 16:34:45 +09:00
Dean Herbert
5bd9d88219 Fix tutorial download state not matching correctly when already available locally
Closes https://github.com/ppy/osu/issues/18468.

This doesn't stop the tutorial from downloading a second time, but at
least displays the correct status afterwards. Avoiding the download is a
bit more involved and requires a change to the flow. Probably not worth
it just yet.

To test, recommend switching to production environment, as dev server
doesn't have correct metadata for tutorial resulting in weirdness.
2022-06-02 16:34:24 +09:00
Dean Herbert
5adbf85654
Merge pull request #18422 from smoogipoo/detect-exclusive-fullscreen
Detect exclusive fullscreen on Windows
2022-06-02 15:13:02 +09:00
Dan Balasescu
4d9a77bdc0 Stop using Drawable.Clock altogether 2022-06-02 15:02:50 +09:00
Dan Balasescu
2209a009f9 Don't process clock 2022-06-02 14:48:55 +09:00
Dan Balasescu
6fb1fe06a0 Remove unnecessary ApplyBeatmap call 2022-06-02 14:47:04 +09:00
Dean Herbert
060372a129 Split out transition length constants 2022-06-02 13:16:31 +09:00
Dean Herbert
15f8d318eb Add note about glow code (please look away) 2022-06-02 13:13:00 +09:00
Dean Herbert
ac3793f340 Move inline class to end and apply NRT 2022-06-02 13:10:50 +09:00
Dean Herbert
d99d37c0a6 Apply current track rate to calculated BPM 2022-06-02 13:06:18 +09:00
Dean Herbert
943e904c71 Fix reset happening on mouse down instead of mouse up
Also some reorganisation of file content for legibility
2022-06-02 12:58:44 +09:00
Dean Herbert
0c493dd359 Add key binding for tap button 2022-06-02 12:58:44 +09:00
Dean Herbert
781a1527b1 Adjust button metrics and move surrounding buttons to be more integrated 2022-06-02 12:58:43 +09:00
Dean Herbert
d4e88441ec Adjust metrics to make timing section fit better in editor 2022-06-02 11:57:06 +09:00
Dean Herbert
f3f7e28353 Ignore initial taps as they are generally inaccurate 2022-06-02 11:57:06 +09:00
Dean Herbert
b88bce9b8b Restart track playback when tapping to time 2022-06-02 11:57:06 +09:00
Dean Herbert
96ccd29bdc Don't play metronome click when tapping for timing 2022-06-02 11:57:06 +09:00
Dean Herbert
d47a3bb8e4 Use NRT and transfer BPM 2022-06-02 11:57:06 +09:00
Dean Herbert
a2d177d7d2 Add BPM display and tracking 2022-06-02 11:57:06 +09:00
Dean Herbert
3c7a04256f Add glow 2022-06-02 11:57:06 +09:00
Dean Herbert
c3ba7b2c3b Add lights 2022-06-02 11:57:06 +09:00
Dean Herbert
d12f6ea221 Add basics of tap button 2022-06-02 11:57:06 +09:00
Dan Balasescu
e551e48697 Use ScoreInfo overload in more places 2022-06-02 11:01:46 +09:00
Dean Herbert
24ce10ed6f
Merge branch 'master' into fix-dummmy-api-request-firing-2 2022-06-02 07:47:21 +09:00
Dean Herbert
453259df62
Merge pull request #18516 from peppy/metronome-sound
Add metronome sound
2022-06-02 07:38:42 +09:00
Dean Herbert
6b297bc6ed
Merge pull request #18502 from peppy/editor-timing-follow-current-time
Add automatic control point tracking to the timing screen
2022-06-02 07:37:03 +09:00
Bartłomiej Dach
c0001d7f00
Merge branch 'master' into metronome-sound 2022-06-01 22:32:48 +02:00
Bartłomiej Dach
d3b51c7387
Merge branch 'master' into editor-waveform-display-lock 2022-06-01 21:56:01 +02:00
Bartłomiej Dach
0723709bec
Merge branch 'master' into editor-offset-bpm-adjust-buttons 2022-06-01 21:25:18 +02:00
Bartłomiej Dach
801e11d841
Apply performance regression fix to effect section too 2022-06-01 20:25:56 +02:00
Bartłomiej Dach
6b709de2c2
Remove unused using directive 2022-06-01 20:18:02 +02:00
Bartłomiej Dach
a5d515dd0c
Merge branch 'master' into editor-new-control-point-is-bettert 2022-06-01 19:48:17 +02:00
Hugo "ThePooN" Denizart
384cdcbc40 🚑 Fix use of illegal character in Sentry's release name scheme 2022-06-01 18:12:29 +02:00
Hugo "ThePooN" Denizart
cb37dd74c1 🔧 Add prefix to Sentry release name 2022-06-01 17:19:33 +02:00
Dean Herbert
534e8f8fac Only switch to found group if non-null 2022-06-01 20:20:48 +09:00
Dean Herbert
a4ec32b499 Add button sound effect 2022-06-01 18:15:16 +09:00
Dean Herbert
93b8c90ecc Apply frequency adjust to channel rather than sample for safety 2022-06-01 18:04:13 +09:00
Dean Herbert
0472881078 Fix null check only covering one of two calls 2022-06-01 18:03:03 +09:00
Dean Herbert
187acb0718 Simplify linq tracking logic 2022-06-01 17:57:53 +09:00
Dean Herbert
1293bbdbd9 Remove unnecessary null checks on Text property 2022-06-01 17:46:33 +09:00
Dean Herbert
8c54bd46bb Rename button to more appropriate name 2022-06-01 17:46:05 +09:00
Dean Herbert
b03b0c9303 Merge branch 'master' into editor-offset-bpm-adjust-buttons 2022-06-01 17:45:16 +09:00
Dean Herbert
c55c3325a4 Remove unused using statements 2022-06-01 17:43:40 +09:00
Dean Herbert
42598ce22a Refactor warning to notice in method names and usages 2022-06-01 16:51:58 +09:00
Dean Herbert
f3fd5bbfc1 Increase flash delay and ensure text is always shown immediately on lock 2022-06-01 16:05:29 +09:00
Dean Herbert
58ba92772c
Reword comment to read better
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-01 16:01:34 +09:00
Dean Herbert
eac014738f
Merge branch 'master' into editor-bottom-bar-shadow 2022-06-01 14:55:50 +09:00
Dean Herbert
6042cf1a3b Add metronome sound
Placeholder pending follow-up from @nekodex (which as discussed should
probably have a second sound for the metronome locking into "stopped"
position).
2022-06-01 14:43:39 +09:00
Dean Herbert
25941f6187
Use DeepClone instead of reflection call
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-01 10:47:45 +09:00
Dan Balasescu
425390e13b Refactor to reduce nested conditions 2022-06-01 09:54:47 +09:00
Dan Balasescu
50c3dfca31 Apply code reviews 2022-06-01 09:54:47 +09:00
Dan Balasescu
fc079ad8cf Refactor to reduce nested conditions 2022-06-01 09:51:06 +09:00
Dan Balasescu
a434cc14a4 Apply code reviews 2022-06-01 09:34:46 +09:00
Dean Herbert
bc22079fdc Fix row selected colour flicker when changing offset rapidly 2022-05-31 22:02:30 +09:00
Dean Herbert
8240b645b4 Copy attribute types from currently selected control point to new placements 2022-05-31 21:50:12 +09:00
Dean Herbert
f99bcb23a0 Automatically make first control point added to beatmap have timing data 2022-05-31 21:50:08 +09:00
Dean Herbert
a940676fc2 Add adjustment buttons 2022-05-31 21:31:20 +09:00
Dan Balasescu
eaeb66547e Revert comment removal 2022-05-31 19:58:45 +09:00
Dan Balasescu
13d85b8cc7 Merge branch 'scoreprocessor-cleanup' into multiplayer-leaderboard-user-mods-2 2022-05-31 19:53:37 +09:00
Dan Balasescu
1e0ee1b214 Expose MaximumScoringValues for user consumption 2022-05-31 19:49:37 +09:00
Dan Balasescu
93240073a6 Rename field + rewrite xmldoc a bit 2022-05-31 19:40:07 +09:00
Dan Balasescu
28d8799e11 Add overloads to + document + expose ExtractScoringValues 2022-05-31 19:40:07 +09:00
Dan Balasescu
d6d56ee22d Fix unintentional truncation 2022-05-31 19:40:07 +09:00
Dan Balasescu
44ca350822 Reset minimal scoring values from frames 2022-05-31 19:40:07 +09:00
Dan Balasescu
20988be6bb Fix incorrect value 2022-05-31 19:40:07 +09:00
Dan Balasescu
6ccdb61853 Use new ComputeScore() overload in more cases 2022-05-31 19:40:02 +09:00
Dan Balasescu
2289812801 Add method to compute score from ScoringValues 2022-05-31 19:39:53 +09:00
Dan Balasescu
a809a19eec Remove getBonusScore() 2022-05-31 19:39:42 +09:00
Dan Balasescu
d0e3e50ca7 Extract score statistics directly into ScoringValues 2022-05-31 19:39:42 +09:00
Dan Balasescu
af0f934e1a Move raw ScoreProcessor values into ScoringValues struct 2022-05-31 19:39:38 +09:00
Dean Herbert
475cc8174f Fix off-by-one display issue when adjusting offset 2022-05-31 18:41:44 +09:00
Dean Herbert
94194a04f2 Animate adjustments 2022-05-31 18:41:44 +09:00
Dean Herbert
51014b8748 Ensure offset changes are correctly tracked by the display, even when locked 2022-05-31 18:41:44 +09:00
Dean Herbert
c8f21ee8b2 Change WaveformComparisonDisplay to centre around a time offset rather than beat 2022-05-31 18:41:44 +09:00
Dean Herbert
6bc68ada43 Add ability to lock the WaveformComparison display to a current location 2022-05-31 18:41:44 +09:00
Dean Herbert
c0804803fd Add background to main waveform row 2022-05-31 18:35:52 +09:00
Dean Herbert
655780fd98 Fix regression in bpm textbox binding logic 2022-05-31 18:27:18 +09:00
Dan Balasescu
132c94c1b5 Remove Ruleset parameter from ResetFromReplayFrame() 2022-05-31 17:16:23 +09:00
Dean Herbert
ebb83a5e49 Add TODO about scroll behaviour which is missing 2022-05-31 15:10:55 +09:00
Dean Herbert
cf5da44492 Add automatic control point tracking to the timing screen 2022-05-31 15:00:30 +09:00
Dean Herbert
27efeb7d4e Fix TimingSection performing a beatmap save when switching bound timing points 2022-05-31 14:58:49 +09:00
Dean Herbert
f7110116de Only display exclusive fullscreen hinting on windows 2022-05-31 14:04:56 +09:00
Dean Herbert
53844d3df1 Refactor settings item "warning" text to allow non-warning state 2022-05-31 14:01:42 +09:00
Dean Herbert
477e520766 Add comment regarding deadlock avoidance 2022-05-31 12:24:44 +09:00
Dean Herbert
c892aed797 Merge branch 'master' into fix-dummmy-api-request-firing-2 2022-05-31 12:23:26 +09:00
Dan Balasescu
7caf4c1ac1
Merge branch 'master' into detect-exclusive-fullscreen 2022-05-31 11:02:16 +09:00
Dan Balasescu
0141958be6
Merge pull request #18497 from peppy/zip-archive-reader-avoid-memcpy
Use pooled memory for memory copies performed by `ZipArchiveReader`
2022-05-31 11:01:57 +09:00
Dan Balasescu
99ee3a7d8d Merge branch 'master' into detect-exclusive-fullscreen 2022-05-31 09:42:42 +09:00
Dean Herbert
1d5a156c15
Merge pull request #18427 from sw1tchbl4d3r/currently_playing_search
Add search bar for the `CurrentlyPlayingDisplay`
2022-05-30 23:03:00 +09:00
Dean Herbert
d6b18d87b8 Update framework 2022-05-30 20:22:26 +09:00
Dean Herbert
82a1ba1d46 Use pooled memory for memory copies performed by ZipArchiveReader 2022-05-30 20:22:26 +09:00
Dan Balasescu
22d998dc2a Use new score processor in MultiplayerGameplayLeaderboard 2022-05-30 19:26:26 +09:00
Dan Balasescu
75b50de269 Implement score processor for spectator states 2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3 Send ScoreProcessor statistics in SpectatorState 2022-05-30 19:26:26 +09:00
Dan Balasescu
c97b477485 Fix inverted operation order 2022-05-30 19:11:54 +09:00
Dean Herbert
dcc53fbd47 Merge branch 'rename-chat-overlay' into fix-dummmy-api-request-firing-2 2022-05-30 17:56:12 +09:00
Dean Herbert
f65d2db77f Remove "V2" suffix from ChatOverlay components 2022-05-30 17:54:09 +09:00
Dan Balasescu
5f9a69e5c2 Add localisation 2022-05-30 17:19:03 +09:00
Dan Balasescu
dea7a27553 Adjust wording, add text for capable state 2022-05-30 17:18:29 +09:00
Dean Herbert
9e678101cf
Merge pull request #18442 from jai-x/new-chat-announce-channel
Display Announce type channels separately in new chat overlay
2022-05-30 16:53:15 +09:00
Dean Herbert
5478ac21ea
Merge branch 'master' into currently_playing_search 2022-05-30 16:48:53 +09:00
Dean Herbert
f935f034c2 Ensure request handling for OnlinePlayTestScene runs in a scheduled fashion 2022-05-30 16:33:07 +09:00
Dean Herbert
c18dd8c8fb Ensure Queue operations on DummyAPIAccess are performed on the update thread 2022-05-30 16:32:44 +09:00
Dean Herbert
a2a057440e Fail requests taretting the fake API with a more deliberate exception
I think this feels better than relying on some other method to throw an
exception.
2022-05-30 16:31:54 +09:00
Dean Herbert
45841673f6 Update OnlineLookupCache to use async version of Perform call 2022-05-30 16:13:13 +09:00
Dan Balasescu
be998cdb0a
Merge pull request #18477 from frenzibyte/fix-timeline-context-menu
Fix context menu no longer opening for hitobjects in timeline
2022-05-30 11:49:06 +09:00
Jai Sharma
8f596520f3 Remove old chat overlay components 2022-05-29 20:08:43 +01:00
Bartłomiej Dach
c892ec83ef
Fix wrong sizing of editor timeline ticks 2022-05-29 20:15:17 +02:00
Bartłomiej Dach
e329c160b3
Simplify channel retrieval expression 2022-05-29 18:58:27 +02:00
Bartłomiej Dach
e69f8716cd
Fix incorrect indent size 2022-05-29 18:56:37 +02:00
Bartłomiej Dach
f9f8a32380
Merge branch 'master' into new-chat-announce-channel 2022-05-29 18:55:43 +02:00
Bartłomiej Dach
cee66c51d6
Merge branch 'master' into fix-timeline-context-menu 2022-05-29 16:06:05 +02:00
Dean Herbert
70c8a43961 Update framework 2022-05-29 21:31:20 +09:00
Dean Herbert
7c97719db1 Move Schedule to only drawable pieces 2022-05-29 21:28:09 +09:00
Salman Ahmed
9cc5df9b13 Fix context menu no longer open on hitobjects in timeline 2022-05-29 15:23:32 +03:00
Dean Herbert
c7570fbce5 Fix potential ObjectDisposedException on realm notification in SkinSection 2022-05-29 15:15:03 +09:00
Salman Ahmed
02baf9a97a Fix timeline objects disappearing prematurely on wide-screens 2022-05-28 17:45:38 +03:00
Bartłomiej Dach
a8e1c5ba87
Fix remaining cases of incorrect GameplayState construction in tests
Manual attempts to initialise replaced by a new `TestGameplayState`
helper for ease of use.
2022-05-28 15:23:29 +02:00
Bartłomiej Dach
1641918c51
Revert "Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes"
This reverts commit 19b655d75b.
2022-05-28 15:23:28 +02:00
sw1tchbl4d3
ede3ab9dc0 Add OnFocus handler to CurrentlyPlayingDisplay 2022-05-28 12:04:44 +02:00
Dean Herbert
62266c72ea
Merge pull request #18448 from frenzibyte/editor-metronome-rate
Fix metronome speed not adjusted on different playback rates
2022-05-28 10:58:51 +09:00
Dean Herbert
4f2910cdb1
Merge pull request #18445 from frenzibyte/editor-background-colour
Darken background colour in "setup" and "verify" screens
2022-05-28 10:56:22 +09:00
Dean Herbert
3aa7e3141e
Merge pull request #18443 from frenzibyte/fix-beatmap-badge-colouring
Fix beatmap badge colours not updated inline with recent changes
2022-05-28 10:55:07 +09:00
Dean Herbert
68684f5fe7
Merge pull request #18446 from frenzibyte/editor-row-attribute-background
Update row attribute background colour to fit screen
2022-05-28 10:53:50 +09:00
Dean Herbert
93a8092da6 Increase usable width slightly further 2022-05-28 10:51:39 +09:00
Salman Ahmed
2fac710d4b Add step for adjusting editor clock rate in test scene 2022-05-28 04:10:39 +03:00
Salman Ahmed
e12d188dad Fix metronome speed not adjusted on different playback rates 2022-05-28 04:10:39 +03:00
Salman Ahmed
d12e4928e6 Increase editor verify settings width to give more breathing space 2022-05-28 03:09:04 +03:00
Salman Ahmed
e71d907164 Update row attribute background colour to fit screen 2022-05-28 02:20:04 +03:00
Salman Ahmed
eec9248cde Darken background colour in "setup" and "verify" screens 2022-05-28 02:10:18 +03:00
Salman Ahmed
aee3e2a4ed Add shadow effect to editor's bottom bar 2022-05-28 01:58:55 +03:00
Salman Ahmed
06832a4baf Fix beatmap badge colours not updated inline with recent changes 2022-05-28 01:05:43 +03:00
sw1tchbl4d3
cd84200ad9 Add HoldFocus and ReleaseFocusOnCommit attributes to searchbar 2022-05-27 21:23:37 +02:00
Jai Sharma
c5845f307a Code quality 2022-05-27 20:12:00 +01:00
Dean Herbert
5eb16ff46c Update framework 2022-05-28 04:02:35 +09:00
Dean Herbert
254039b8fe Address remaining code quality concerns 2022-05-28 04:01:51 +09:00
Dean Herbert
ca9b2648a3
Merge pull request #18421 from peppy/reconnect-on-server-shutdown-exception
Handle server shutdown messages in room creation and spectator initialisation
2022-05-28 03:52:24 +09:00
Jai Sharma
e950c8c1d0 Refactor ChannelList to use new ChannelGroup class for each type of channel 2022-05-27 19:46:53 +01:00
Dean Herbert
03d9ca0d8d
Merge pull request #18437 from peppy/fa-playlist-category
Add featured artist playlist category
2022-05-28 01:28:21 +09:00
Jai Sharma
320b6ca631 Display Announce type channels separately in new chat overlay 2022-05-27 16:18:22 +01:00
Bartłomiej Dach
e511c1dfff
Merge branch 'master' into use-normalised-precise-scrolling 2022-05-27 16:55:13 +02:00
Bartłomiej Dach
a94432f3bd
Fix drawable room border colour not matching badge 2022-05-27 16:40:15 +02:00
sw1tchbl4d3
e2951d70d1 Address code style issues 2022-05-27 16:38:54 +02:00
Dean Herbert
6960bec52d Update resources 2022-05-27 23:29:48 +09:00
Dean Herbert
d9ecf69d20 Update framework 2022-05-27 23:29:39 +09:00
Dean Herbert
883c6f1eb3 Update colour of spotlights playlist to match new specs 2022-05-27 20:26:35 +09:00
Dean Herbert
ef47b380c6 Add featured artist playlist category 2022-05-27 20:18:46 +09:00
Dean Herbert
d94315ee3f Fix potential crash from unsafe drawable mutation in scoreboard update code 2022-05-27 20:03:30 +09:00
sw1tchbl4d3
e1fd37fd44 Use new padding constant where appropriate 2022-05-27 12:40:31 +02:00
sw1tchbl4d3
6a0cf26722 Make text localisable and add padding constant 2022-05-27 12:36:43 +02:00
Dean Herbert
e53c8518de Don't output beatmap parse failures in a visible manner
The user can't do much about this. When a user reports a beatmap issue,
the logs will still contain this useful information. Should be fine I
think.

As mentioned in

https://github.com/ppy/osu/discussions/18426
https://github.com/ppy/osu/issues/750
https://github.com/ppy/osu/issues/18372

etc.
2022-05-27 19:18:38 +09:00
sw1tchbl4d3
7c459faaf0 Remove unneeded search_bar_width and more 2022-05-27 10:05:59 +02:00
sw1tchbl4d3
4967d03606 Update currently playing search bar to resemble existing UI 2022-05-27 09:58:40 +02:00
Joseph Madamba
105d581f24 Use existing web localisation for chat strings 2022-05-26 22:23:03 -07:00
Dan Balasescu
198afb6aa7
Merge pull request #18431 from Joehuu/fix-scores-container-visibility
Fix beatmap info scores container not hiding when there's no leaderboard
2022-05-27 14:17:42 +09:00
Joseph Madamba
e551a53601 Fix checkmarks not showing on editor stateful menu items 2022-05-26 21:45:30 -07:00
Joseph Madamba
389020b497 Fix scores container test failures 2022-05-26 20:58:47 -07:00
Joseph Madamba
3554563114 Fix beatmap info scores container not hiding when there's no leaderboard 2022-05-26 19:50:54 -07:00
Joseph Madamba
2b5aa35b56 Fix beatmap info status pill being incorrect on multiple status beatmaps 2022-05-26 17:52:17 -07:00
sw1tchbl4d3
a8e453e660 Remove now unnecessary username filter check 2022-05-27 00:43:29 +02:00
sw1tchbl4d3
de5b60ab66 Move filtering from manual loops to SearchContainer 2022-05-27 00:40:23 +02:00
sw1tchbl4d3
3183621d3d Add search bar for the CurrentlyPlayingDisplay 2022-05-26 22:57:24 +02:00
Bartłomiej Dach
e7a266e742
Merge branch 'master' into fix-multiplayer-race 2022-05-26 20:43:20 +02:00
apollo-dw
66a6467403 Pass object position to the object 2022-05-26 19:26:14 +01:00
Bartłomiej Dach
818b344c2b
Merge branch 'master' into editor-bottom-bar-new-design 2022-05-26 19:26:35 +02:00
Dan Balasescu
0224947de0 Add comment about how starting gameplay works 2022-05-26 20:09:47 +09:00
Dan Balasescu
3915b8e414 Fix multiplayer race condition when starting gameplay 2022-05-26 20:01:33 +09:00
Dean Herbert
a98d0cf0d8 Simplify channel filter method 2022-05-26 18:48:11 +09:00
Dean Herbert
b2607196b8 Merge branch 'master' into new-chat-integrate 2022-05-26 18:38:26 +09:00
Dan Balasescu
08935cff86 Detect exclusive fullscreen on Windows 2022-05-26 18:37:04 +09:00
Dean Herbert
fb586fe0b2 Merge branch 'master' into editor-bottom-bar-new-design 2022-05-26 18:32:28 +09:00
Dean Herbert
93c94b8ea0 Fix test caching woes 2022-05-26 18:30:37 +09:00
Dean Herbert
7f4ea5d522 Use left alignment and remove hacky text positioning code 2022-05-26 18:12:28 +09:00
Dean Herbert
abb69a49b0 Handle server shutdown messages in room creation and spectator initialisation 2022-05-26 18:03:41 +09:00
Dean Herbert
63dd9bd493 Expose Reconnect logic in HubClientConnector 2022-05-26 18:02:50 +09:00
Noah M
b550cbc5a3 Fix failing code quality checks 2022-05-25 17:01:30 -05:00
Bartłomiej Dach
a1b8fa0992
Disable "select all mods" button if all are selected 2022-05-25 23:06:12 +02:00
Bartłomiej Dach
071e158a29
Expose available mod state outwardly as a bindable 2022-05-25 23:06:12 +02:00
Bartłomiej Dach
f0303d76e8
Split off "select all mods" button to separate class 2022-05-25 22:18:30 +02:00
Bartłomiej Dach
a3f2962558
Disable "deselect all mods" button if none are selected 2022-05-25 22:15:02 +02:00
Bartłomiej Dach
a4bd399b0c
Split off "deselect all mods" button to separate class 2022-05-25 22:14:45 +02:00
Jai Sharma
f94afa5f8c Code quality 2022-05-25 18:28:18 +01:00
Dean Herbert
acd554d918 Update time info and add bpm 2022-05-25 23:54:59 +09:00
Dean Herbert
2c61a9d3d1 Update bottom bar components to new design language (mostly) 2022-05-25 23:54:59 +09:00
Dean Herbert
8791e3b9ef Split BottomBar out of Editor 2022-05-25 23:54:59 +09:00
Jai Sharma
997fc716e8 Split out the channel list labels from the channel list item flow 2022-05-25 15:15:46 +01:00
Jai Sharma
c0da05dda0 Use an array of channels to exclude from the overlay 2022-05-25 15:15:26 +01:00
Dean Herbert
463b8130c8 Update editor screen switcher to match new design language 2022-05-25 22:31:27 +09:00
Dean Herbert
206f2ca208 Rename screen switcher control to be in line with naming expectations 2022-05-25 22:20:33 +09:00
Dean Herbert
c4cae7f677 Update EditorMenuBar to match new design language 2022-05-25 22:19:24 +09:00
Jai Sharma
cd90d29315 Ensure channel traversal shortcut scrolls channel list item into view 2022-05-25 12:37:28 +01:00
Jai Sharma
4a36f3aa4c Ensure channel traversal shortcut is using visual order 2022-05-25 12:29:04 +01:00
Dan Balasescu
fb22801afb
Merge pull request #18388 from peppy/editor-timing-waveforms
Add waveform comparison view to editor timing screen
2022-05-25 20:15:25 +09:00
Dean Herbert
795c9fcbc9 Update framework 2022-05-25 19:38:50 +09:00
Dean Herbert
f1d4902be5 Remove unnecessary bindable cast 2022-05-25 19:25:23 +09:00
Dean Herbert
49ab031e75 Allow traversing in both directions using ctrl-tab shortcuts 2022-05-25 18:42:49 +09:00
Dean Herbert
a92089c443 Change filter method to consider all non-system channels as joinable 2022-05-25 18:42:33 +09:00
Dean Herbert
87959a59d9 Add missing "announce" channel type
Of note, this doesn't mean the channels will display, but it does fix
parsing errors which cause the whole chat display to fail.
2022-05-25 18:28:33 +09:00
Dan Balasescu
79c8752bb4
Merge pull request #18408 from peppy/first-run-ui-scale-first
Move UI scale setup to the beginning of the first run setup
2022-05-25 12:56:03 +09:00
Dean Herbert
de5d2df100 Move UI scale setup to the beginning of the first run setup 2022-05-25 12:19:26 +09:00
Dan Balasescu
f468d1eb16
Merge branch 'master' into editor-tidy-up 2022-05-25 11:58:34 +09:00
Jai Sharma
f6810d3f59 Add keyboard shortcuts to ChatOverlayV2 with tests 2022-05-24 23:05:25 +01:00
Bartłomiej Dach
5f6baaca13
Merge branch 'master' into editor-beat-divisor-size-static 2022-05-24 23:17:02 +02:00
Bartłomiej Dach
61c093c109
Merge branch 'master' into rounded-button-colour-default 2022-05-24 22:47:47 +02:00
Jai Sharma
fce527b0df Schedule channel manager bindable events to ensure they happen after the first poll 2022-05-24 21:25:27 +01:00
Bartłomiej Dach
2dd0b3f8d9
Merge branch 'master' into fix-mod-panel-click-area 2022-05-24 21:52:37 +02:00
apollo
bf35ded871
Correct operation
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-05-24 17:06:11 +01:00
apollo-dw
1ef711de41 Return null for out of range objects 2022-05-24 16:40:24 +01:00
apollo-dw
30b9e0e7ab Use object list size for object position 2022-05-24 16:30:25 +01:00
Dan Balasescu
25f35b3408
Merge pull request #18394 from peppy/editor-beat-divisor-on-mouse-down
Handle beat divisor input on mouse down, rather than mouse up
2022-05-24 19:06:14 +09:00
Dan Balasescu
46b2f1ecc2
Merge pull request #18392 from peppy/editor-remove-triangle-button-usage
Remove `TriangleButton` usage in editor
2022-05-24 18:51:02 +09:00
Dean Herbert
0bcf8c846c Change editor colour scheme to aquamarine 2022-05-24 18:43:22 +09:00
Dean Herbert
648cee7106 Remove editor screen transitions for now 2022-05-24 18:43:22 +09:00
Dean Herbert
3f5ccd4db8 Update timing screen sections to newer design metrics 2022-05-24 18:43:22 +09:00
Dean Herbert
c02ec05056 Remove remaining usage of EditorRoundedScreen 2022-05-24 18:43:22 +09:00
Dean Herbert
1d196262d0 Remove unused OnTimelineLoaded flow 2022-05-24 18:43:22 +09:00
Dean Herbert
a905731053 Update timeline colours and paddings to match new designs 2022-05-24 18:43:22 +09:00
Dean Herbert
17206bbebf Update screen padding and colouring to better match new designs 2022-05-24 18:43:22 +09:00
Dean Herbert
a2bfd0ba41 Merge branch 'editor-remove-triangle-button-usage' into editor-combined 2022-05-24 18:43:02 +09:00
Dean Herbert
741cfcc614 Merge branch 'editor-beat-divisor-on-mouse-down' into editor-combined 2022-05-24 18:43:01 +09:00
Dean Herbert
0471f35d84 Merge branch 'editor-beat-divisor-size-static' into editor-combined 2022-05-24 18:43:00 +09:00
Dean Herbert
3ace5f135e Adjust marker to match design proportions 2022-05-24 18:26:01 +09:00
Dean Herbert
3c2e57bf00 Update BeatDivisorControl to better match new designs and metrics 2022-05-24 18:26:01 +09:00
Dean Herbert
e6087f5f5b Handle beat divisor input on mouse down, rather than mouse up
It felt way too unresponsive.
2022-05-24 18:16:19 +09:00
Dean Herbert
4a88affd03 Move beat divisor tick size retrieval to static methods 2022-05-24 18:15:20 +09:00
Dean Herbert
a346990a8c Remove TriangleButton usage in editor 2022-05-24 18:13:09 +09:00
Dean Herbert
f00dd27fcd Move OverlayColourProvider provisioning of RoundedButton to SettingsButton for now 2022-05-24 18:11:54 +09:00
Dean Herbert
1137545d4a Fix Timeline potentially not updating visuals to correct state on first display 2022-05-24 18:11:05 +09:00
Dean Herbert
49a2173646 Avoid needlessly updating display (and add better documentation on chosen scale) 2022-05-24 14:36:44 +09:00
Dean Herbert
4fcdcef166 Add indexing on each wavefrom row 2022-05-24 14:36:44 +09:00
Dean Herbert
c1720c128d Dim rows which are not part of the active control point (and offset centre) 2022-05-24 14:36:44 +09:00
Dean Herbert
7040dec013 Fix disabled bindable woes by not using TimingControlPoint.DEFAULT 2022-05-24 14:36:44 +09:00
Dean Herbert
588c5d1583 Add initial waveform comparison display 2022-05-24 14:36:44 +09:00
Dan Balasescu
9259aa94f1 Fix Catmull slider parsing with duplicate initial point 2022-05-24 11:47:42 +09:00
Joseph Madamba
1f935cacf4 Add spotlighted beatmaps filter to beatmap listing 2022-05-23 18:47:04 -07:00
Dan Balasescu
96e438edee
Merge pull request #18378 from bdach/back-button-closes-dropdowns
Make "back" binding close opened dropdown menus
2022-05-24 10:45:28 +09:00