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

34561 Commits

Author SHA1 Message Date
Dean Herbert
fb728fbed1 Fix FPS counter not being wide enough to show large fps numbers 2022-07-21 18:56:39 +09:00
Dean Herbert
94cd641fb4 Change migration to trigger reprocessing on every local beatmap
Was originally relying on the fact that this would be triggered due to a
null `LastOnlineUpdate`, but wouldn't cover the case of beatmaps with no
`OnlineID`.
2022-07-21 18:31:12 +09:00
Dean Herbert
1374738a0d Add test coverage 2022-07-21 18:20:46 +09:00
Dean Herbert
d5e0dba9da Change default value of StarRating to -1 2022-07-21 18:20:46 +09:00
Dean Herbert
04f48d8862 Add better log output and sleeping during gameplay sections 2022-07-21 18:20:46 +09:00
Dean Herbert
57a41c6897 Add basic background processor 2022-07-21 18:20:46 +09:00
Dean Herbert
68f28ff660 Add last applied version to RulesetInfo 2022-07-21 18:15:25 +09:00
Dean Herbert
aca19a005e Add versioning to difficulty calculators 2022-07-21 18:15:25 +09:00
Salman Ahmed
559254db31
Merge branch 'master' into fix-update-button-test-failure 2022-07-21 11:15:43 +03:00
Salman Ahmed
aa7c16ee5f
Merge branch 'master' into change-carousel-item-terminology 2022-07-21 10:29:13 +03:00
Dan Balasescu
defadeef47
Merge pull request #19250 from peppy/fps-counter
Add game-side FPS counter
2022-07-21 16:26:38 +09:00
Dean Herbert
fc0c9f76bd Fix UpdateBeatmapSetButton intermittent test failure
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.
2022-07-21 16:24:48 +09:00
Dean Herbert
3cfe624af1 Fix one more missed method with incorrect terminology 2022-07-21 16:16:41 +09:00
Dean Herbert
a05d7f4d8c Change carousel terminology to not use Children / InternalChildren 2022-07-21 16:06:06 +09:00
Dean Herbert
07e1763a70 Tweak velocity a bit more (and simplify in multiple places) 2022-07-21 14:25:11 +09:00
Salman Ahmed
a97170a272 Keep Rank bindable enabled on score fail 2022-07-21 08:16:17 +03:00
Salman Ahmed
9df49db45f Include bonus/ignore judgements in statistics fill logic 2022-07-21 08:13:09 +03:00
Salman Ahmed
ad09e728fd Move Passed assignment inside FailScore 2022-07-21 08:12:06 +03:00
TacoGuyAT
2f16174d3d Changed control points set to private; Cleanup 2022-07-21 07:25:44 +03:00
Salman Ahmed
c1bcbd9c8a Fix fail score not handling bonus/tick-only beatmaps 2022-07-21 07:20:59 +03:00
Dean Herbert
56106e43d2 Avoid div-by-zero 2022-07-21 13:06:43 +09:00
Dean Herbert
311a0a3de0 Always show counter temporarily when aim FPS changes 2022-07-21 12:57:40 +09:00
Dean Herbert
705ff06ea5 Better handle spikes and significant changes 2022-07-21 12:50:39 +09:00
Dean Herbert
285516b111 Fix isDisplayed never actually being set 2022-07-21 12:40:27 +09:00
TacoGuyAT
d6c3a52494 Added missing braces 2022-07-21 06:38:33 +03:00
TacoGuyAT
ed8e065a86 Logo triangles speed and beat sync tweaks 2022-07-21 06:13:45 +03:00
Dean Herbert
728e22fbce Improve tooltip display when running single thread 2022-07-21 12:06:22 +09:00
Salman Ahmed
0f0b19da4a Populate score with remaining "miss" statistics on fail/exit 2022-07-21 06:01:36 +03:00
Salman Ahmed
c4089b71bd Store maximum score results from simulated autoplay 2022-07-21 06:00:41 +03:00
Dean Herbert
e1a577ea48
Adjust spacing to make things feel more even
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:51 +09:00
Dean Herbert
57ecc3a6df
Remove unnecessary negative spacing from thread names
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:26 +09:00
Dean Herbert
c7313b4198
Fix alignment glitching due to non-matching anchor/origin
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:58:28 +09:00
Dean Herbert
75453b78c0 Adjust colours and metrics 2022-07-21 00:09:46 +09:00
Dean Herbert
f54aff2ece Add global key binding for FPS toggle 2022-07-21 00:09:46 +09:00
Dean Herbert
0a1744faca Add to game and bind with configuration setting 2022-07-20 23:49:19 +09:00
Dean Herbert
0fb959a565 Stay displayed while hovering 2022-07-20 23:49:19 +09:00
Dean Herbert
03e644e548 Choose colours based on relative performance goals 2022-07-20 23:49:19 +09:00
Dean Herbert
0c3d43026d Add initial structure for fps counter 2022-07-20 23:49:19 +09:00
Dan Balasescu
7dfc18a0e3
Merge pull request #19208 from frenzibyte/remove-score-multiplier-on-custom-mod-settings
Remove score multiplier on difficulty-increasing mods with customised settings
2022-07-20 20:12:59 +09:00
Dean Herbert
62133fa069
Merge pull request #19246 from frenzibyte/fix-wiki-navigation
Fix wiki overlay not handling path redirection properly
2022-07-20 20:08:11 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked 2022-07-20 18:36:57 +09:00
Salman Ahmed
5e933cb466
Improve comment wording
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-07-20 09:43:32 +03:00
Dan Balasescu
de29078db2 Remove nullable disables 2022-07-20 15:16:40 +09:00
Dan Balasescu
f9c02c34b6 Merge branch 'master' into beatmap-update-online-flow 2022-07-20 15:15:51 +09:00
Salman Ahmed
474c1a8a7a Fix wiki overlay not handling path redirection properly 2022-07-20 09:06:11 +03:00
Salman Ahmed
e7f35701db Add failing test case 2022-07-20 09:06:11 +03:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-20 08:57:43 +03:00
Dean Herbert
af4d7feb9b
Merge pull request #19244 from frenzibyte/highlight-perfect-ticks
Highlight perfect slider tick/end values in beatmap info leaderboards
2022-07-20 14:44:03 +09:00
Dan Balasescu
6c0d7f8099
Merge pull request #19235 from andy840119/remove-nullable-disable-in-the-mods
Remove nullable disable annotation in the mods.
2022-07-20 14:39:32 +09:00
Dan Balasescu
c4e32742dc
Merge pull request #19234 from Cwazywierdo/edit-map-carousel
Fix multiplayer map selection carousel opening to wrong map
2022-07-20 13:53:41 +09:00
Dean Herbert
2a76a04619 Update framework 2022-07-20 13:41:36 +09:00
Dan Balasescu
1fae683b33
Merge pull request #19240 from peppy/fix-mouse-floating-position
Fix floating mouse position not running correctly in single thread mode
2022-07-20 13:32:21 +09:00
Dan Balasescu
ebb9861377
Merge branch 'master' into remove-nullable-disable-in-the-mods 2022-07-20 13:28:28 +09:00
Adam Baker
cecf654a7b
Update osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerMatchSubScreen.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-19 18:58:59 -05:00
Salman Ahmed
ae6aab2555
Merge branch 'master' into edit-map-carousel 2022-07-20 02:43:47 +03:00
Salman Ahmed
990d3ffb39
Merge branch 'master' into fix-editor-clap-finish-order 2022-07-20 02:26:40 +03:00
Salman Ahmed
1270abdf42 Highlight perfect slider tick/end values in beatmap info leaderboards 2022-07-20 00:53:10 +03:00
LukynkaCZE
5987acfbca Fixed code formatting 2022-07-19 22:59:25 +02:00
LukynkaCZE
51a0b5afdc Skin Editor 2022-07-19 22:18:19 +02:00
LukynkaCZE
a00da279b7 Beatmap Editor Save Toast 2022-07-19 21:38:23 +02:00
Salman Ahmed
4210ec6502 Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-19 19:21:26 +03:00
Salman Ahmed
89653b74c7 Only add setting tracker when customisation is permitted 2022-07-19 19:21:16 +03:00
Dean Herbert
7be5c638e4 Fix floating mouse position not running correctly in single thread mode
Noticed while testing on iOS. Previously, the interpolation was being
done in input handling but using the update thread clock, leading to
incorrect application.
2022-07-20 00:22:45 +09:00
Dean Herbert
87afa7317b Update framework 2022-07-19 23:12:49 +09:00
Dean Herbert
25028bb7fa Fix editor clap/finish buttons being ordered against expectations 2022-07-19 22:36:11 +09:00
Adam Baker
4164f260b3 Fix code quality errors 2022-07-19 08:12:12 -05:00
為什麼
317558f876 Mark the shader as non-nullable because shader should always has the value.
And initialize the breaks to avoid get the null instance.
2022-07-19 20:39:41 +08:00
為什麼
3af093cb27 Remove the null check because bindable should always have the value. 2022-07-19 20:39:41 +08:00
為什麼
ce1bb206c8 Initialize some bindables for prevent get the null instance. 2022-07-19 20:39:41 +08:00
andy840119
1f9f2b413e Remove the nullable disable annotation.
Also, mark as nullable for some properties.
2022-07-19 20:39:41 +08:00
Dean Herbert
6357223341 Fix incorrect DI fetch and apply nullability to ModelDownloader 2022-07-19 20:06:34 +09:00
Dean Herbert
30daa0fd44 Add ranked and submitted date storage and filtering 2022-07-19 19:55:56 +09:00
Dean Herbert
07874efa7f Set last online update to actual value provided by data source 2022-07-19 19:39:51 +09:00
Dean Herbert
17046b0553 Add basic handling of download failures 2022-07-19 19:01:23 +09:00
Dean Herbert
a16bf35581 Rename button class and add basic progress display 2022-07-19 18:29:36 +09:00
Dean Herbert
da360af15a Fix vertical centering of button 2022-07-19 18:29:36 +09:00
Dean Herbert
eaf4f6dbb7 Add beatmap update button 2022-07-19 18:29:36 +09:00
Dean Herbert
6adcf82d2e Add change ingester to handle passing of online changes to correct target components 2022-07-19 17:57:01 +09:00
Dean Herbert
cd39f444ef Expose event from OnlineMetadataClient rather than calling BeatmapUpdater directly 2022-07-19 17:57:01 +09:00
Dean Herbert
6ea380d649 Add new properties to BeatmapInfo to track online hash and updates 2022-07-19 17:57:01 +09:00
Dean Herbert
12e5bc3f3d Fix BeginPlayingInternal firing actual errors when beatmap not available online 2022-07-19 17:14:57 +09:00
Adam Baker
5008a73774 Make add item button open to the last beatmap in queue 2022-07-19 02:04:19 -05:00
Dean Herbert
2716bd41d9 Use more correct json casing in APIScoresCollection
osu-web API is already returning both of these casings for backwards
compatibility, but the former will be removed at some point.

e540276721/app/Http/Controllers/BeatmapsController.php (L314-L315)
2022-07-19 15:34:17 +09:00
Dan Balasescu
c07f78409e
Merge pull request #19189 from peppy/peform-actions-after-reconnect
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
Dean Herbert
8c680643fd
Merge pull request #19225 from frenzibyte/reduce-bindable-allocation
Reduce `Bindable` allocations in hitobject classes via lazy initialisation
2022-07-19 14:45:46 +09:00
Adam Baker
59018ab5ba Fix multiplayer queue edit button opening to the wrong beatmap 2022-07-18 23:21:16 -05:00
Salman Ahmed
8f80a22ef9 Fix osu! and catch hitobjects no longer scaled to 1 by default 2022-07-19 07:00:13 +03:00
Salman Ahmed
5ddb5a3d74 Introduce HitObjectProperty<T> 2022-07-19 05:39:10 +03:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version 2022-07-18 22:34:58 +02:00
Bartłomiej Dach
ffa9a83a4f
Add own fixed copy of defective Humanizer methods 2022-07-18 21:37:31 +02:00
Dean Herbert
afa831f6fe Update framework 2022-07-19 01:18:09 +09:00
Salman Ahmed
f1133ca8f6
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset 2022-07-18 18:15:32 +03:00
Dean Herbert
e14e2cca45
Merge pull request #19212 from peppy/fix-audio-equality-fuck
Fix audio/background equality not correctly using `BeatmapInfo` local filenames
2022-07-18 19:28:51 +09:00
Salman Ahmed
2befcfedbb
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset 2022-07-18 12:24:47 +03:00
Dean Herbert
0c75245806
Merge pull request #19139 from frenzibyte/score-country-storage
Support storing user country on databased scores
2022-07-18 18:13:57 +09:00
Dean Herbert
22a9e7e275 Fix audio/background equality not correctly using BeatmapInfo local filenames 2022-07-18 17:05:21 +09:00
Salman Ahmed
b5c7d07ba8
Merge branch 'master' into fix-user-profile-overlay 2022-07-18 10:27:33 +03:00
Dean Herbert
b8c90266de
Merge pull request #19209 from 3stantedja/make-contracted-stats-titlecase
Make sure stats name are title-cased when score panel is contracted
2022-07-18 16:26:20 +09:00
Dean Herbert
933a41554b
Merge pull request #19187 from peppy/fix-reconnect-new-spectator-session
Fix spectator client not correctly reconnecting after shutdown
2022-07-18 16:25:04 +09:00
Dean Herbert
1e151baae8 Use Unknown instead of default 2022-07-18 16:24:08 +09:00
Dean Herbert
51f91fe62e Update naming 2022-07-18 16:17:20 +09:00
Dean Herbert
eddf106f7c
Merge branch 'master' into score-country-storage 2022-07-18 16:12:40 +09:00
Dean Herbert
a7f19cc796
Merge pull request #19137 from frenzibyte/country-enum
Replace `Country` class with enumeration
2022-07-18 16:12:24 +09:00
Salman Ahmed
e86a35fe33 Fix NRE on footer button mods 2022-07-18 10:09:14 +03:00
Salman Ahmed
045602b27d
Merge branch 'master' into fix-reconnect-new-spectator-session 2022-07-18 09:55:19 +03:00
Salman Ahmed
e4d11febc5 Remove no longer necessary fallback 2022-07-18 09:47:40 +03:00
Dean Herbert
a21cd1cd47
Merge pull request #19169 from tsunyoku/retry-icon
Change retry button icon from ArrowCircleLeft to Redo
2022-07-18 15:47:24 +09:00
Salman Ahmed
84c1c26a7f
Merge branch 'master' into fix-user-profile-overlay 2022-07-18 09:45:25 +03:00
Dean Herbert
e8b57379b2
Merge pull request #19210 from peppy/non-null-ended-at
Make `SoloScoreInfo.EndedAt` non-null
2022-07-18 15:42:33 +09:00
Salman Ahmed
1b302910b1
Merge branch 'master' into fix-reconnect-new-spectator-session 2022-07-18 09:30:29 +03:00
Dean Herbert
a036632c8b Fix potential crash when attempting to create mod display using null ruleset 2022-07-18 15:30:21 +09:00
Dean Herbert
21bf7ee448 Turn on nullability in ParticipantPanel 2022-07-18 15:27:55 +09:00
Salman Ahmed
018da74fe8 Replace default with CountryCode.Unknown 2022-07-18 08:54:35 +03:00
Salman Ahmed
cf99849478 CountryCode.XX -> CountryCode.Unknown 2022-07-18 08:45:54 +03:00
Salman Ahmed
05d692bd55 Move Country to end of class 2022-07-18 08:43:41 +03:00
Dean Herbert
566bad0b5f Make SoloScoreInfo.EndedAt non-null
Seems to already be the case for databased scores. Will be assured by
https://github.com/ppy/osu-web/issues/9116.

I've updated the `osu-score-statistics-processor` with this
consideration.
2022-07-18 14:42:43 +09:00
Salman Ahmed
ef6e16b1cb UserCountry -> Country 2022-07-18 08:40:43 +03:00
Salman Ahmed
100c53f9ef Country -> CountryCode 2022-07-18 08:40:34 +03:00
Dean Herbert
0533249d11 Update all OnlineSpectatorCalls to InvokeAsync 2022-07-18 14:34:02 +09:00
Salman Ahmed
eddae7b143 Fix mod overlay and footer not updating multiplayer on settings change 2022-07-18 07:38:56 +03:00
Salman Ahmed
6bfa5e53e0 Add property for whether mod uses default configuration 2022-07-18 07:29:03 +03:00
Fyra Tedja
6ad7723d60 Make sure stats name are title-cased when score panel is contracted 2022-07-17 22:13:08 -06:00
Salman Ahmed
b33f8aa0fc Fix "Start Chat" on multiplayer/playlist chat not opening overlay 2022-07-18 06:45:00 +03:00
Salman Ahmed
a1a9132600
Merge branch 'master' into silence-ruleset-config-failures 2022-07-18 05:52:12 +03:00
Salman Ahmed
7e4ce89981 Include mod settings in profile score mod icons 2022-07-18 04:03:18 +03:00
Salman Ahmed
dc8dabfdf1
Merge branch 'master' into silence-ruleset-config-failures 2022-07-18 03:52:40 +03:00
Salman Ahmed
ee98ebf801
Merge branch 'master' into silence-missing-background 2022-07-18 03:46:35 +03:00
Dean Herbert
f8685bf7d6
Merge pull request #19195 from NotGumballer91/make-autoplay-incompatible-with-adaptivespeed
Make Autoplay Incompatible with Adaptive Speed
2022-07-18 03:58:48 +09:00
tsunyoku
5875f53e07 remove unused import 2022-07-17 18:16:30 +01:00
tsunyoku
032cc6c670 use type annotation for nullable BeatmapSet 2022-07-17 18:15:36 +01:00
tsunyoku
a5d7075ef1 simplify beatmap metadata logic in DrawableProfileScore 2022-07-17 18:10:47 +01:00
tsunyoku
8791edf84c set Beatmap.BeatmapSet to BeatmapSet property in SoloScoreInfo 2022-07-17 18:10:33 +01:00
Dean Herbert
4e8bf1da52 Don't sent ruleset configuration failures to sentry 2022-07-18 01:23:46 +09:00
NotGumballer91
028653eb97
Update ModAdaptiveSpeed.cs 2022-07-18 00:10:49 +08:00
NotGumballer91
1caab78bdc
Update ModAutoplay.cs 2022-07-18 00:09:31 +08:00
tsunyoku
7a6666996f rename item to model in CreateDrawableItem 2022-07-17 14:50:53 +01:00
tsunyoku
486fbd2531 create instance of BeatmapInfo for use in ScoreBeatmapMetadataContainer 2022-07-17 14:47:04 +01:00
tsunyoku
c73eff7c89 add BeatmapSet to SoloScoreInfo 2022-07-17 14:46:22 +01:00
tsunyoku
7135329c8c remove `PaginatedProfileScoreSubsectio, revert profile score drawables 2022-07-17 14:22:27 +01:00
tsunyoku
c2277031f0 add Beatmap to SoloScoreInfo 2022-07-17 14:21:55 +01:00
tsunyoku
3a8b5d48b9 update PaginatedScoreContainer to use new class and format 2022-07-17 14:09:14 +01:00
tsunyoku
ef4237c4ac create special subsection class for paginated profile scores 2022-07-17 14:08:31 +01:00
tsunyoku
e8d88e29c6 change DrawableProfileScore and DrawableProfileWeightedScore to take SoloScoreInfo and APIBeatmap instead of APIScore 2022-07-17 14:08:04 +01:00
tsunyoku
1f288157f4 change GetUserScoresRequest to return SoloScoreInfo instead of APIScore 2022-07-17 14:07:05 +01:00
Dean Herbert
51071be315 Don't show "missing background" messages to user
Bit of an oversight.

As reported on [twitter](https://twitter.com/emyl___/status/1548627793075998720) and somewhere else i forgot.
2022-07-17 21:20:51 +09:00
Dean Herbert
55a8a3563b Change MultiplayerMatchSubScreen to not immediately leave the room on connection loss
Instead, we can rely on `MultiplayerClient.Room` going `null`.
2022-07-17 21:19:10 +09:00
Dean Herbert
da7edd5d49 Perform actions after server reconnection 2022-07-17 21:09:48 +09:00
Dean Herbert
8e7e1e6b51 Fix spectator client not correctly reconnecting after shutdown 2022-07-17 21:07:11 +09:00
Salman Ahmed
9382636da9 Catch and log exceptions from mod setting copy failure 2022-07-17 06:34:50 +03:00
Salman Ahmed
6636e462dc Fix SoloScoreInfo not carrying mod settings in conversion methods 2022-07-17 06:18:59 +03:00
tsunyoku
bbb2398a8b change retry button icon from ArrowCircleLeft to Redo 2022-07-17 00:46:29 +01:00
Dean Herbert
9e945197dc Use "Unknown" instead of "Alient" for unknown countries 2022-07-16 14:49:14 +09:00
Dean Herbert
5df9f06480
Merge pull request #19136 from frenzibyte/handle-user-request-failure
Fix login overlay not displaying error message for disabled accounts
2022-07-16 14:40:28 +09:00
Salman Ahmed
69d967172a Remove unencessary null coalesce 2022-07-16 06:39:05 +03:00
Salman Ahmed
d0fe4fe15a Fix user population logic not including country 2022-07-16 06:39:05 +03:00
Salman Ahmed
4e7156cee8 Store user country on databased scores 2022-07-16 06:39:05 +03:00
Salman Ahmed
4968859e69 Rename placeholder display flag property to make sense 2022-07-16 06:07:53 +03:00
Salman Ahmed
9c81241f4c Fix potential nullref on APIUser.Country
We need NRT sooner than later...
2022-07-16 06:02:05 +03:00
Salman Ahmed
08f1280aa8 Add UsedImplicitly specification to silence unused member inspection
Also applied to `Language` while at it.
2022-07-16 05:04:24 +03:00
Salman Ahmed
e62049f4a9 Update various usages of Country inline with new enum 2022-07-16 05:04:24 +03:00
Salman Ahmed
1b2b42bb8a Update CountryStatistics to use code for country enum 2022-07-16 05:04:24 +03:00
Salman Ahmed
00f4c8052e Update APIUser to provide enum from serialised country code 2022-07-16 05:04:24 +03:00
Salman Ahmed
4ea8fd75cc Replace Country class with enumeration 2022-07-16 04:41:30 +03:00
Salman Ahmed
20a109a2b3
Merge branch 'master' into update-resources 2022-07-16 00:55:40 +03:00
Salman Ahmed
b42f49aeaa Handle APIException from user request during logging in 2022-07-16 00:38:53 +03:00
Salman Ahmed
e6236ba088 Update save score button to check availability after import
Previously was relying on whether `SaveReplay` returns null, but since
I've changed it to use the standard "prepare score for import" path, the
button has to check for local availability after import since that path
doesn't return null on fail.
2022-07-15 23:39:52 +03:00
Salman Ahmed
6285442b7d Fix failed scores not prepared before import 2022-07-15 22:57:12 +03:00
Salman Ahmed
8f7b3cf11a Merge branch 'master' into Save-Score-Failed 2022-07-15 22:10:19 +03:00
Dean Herbert
c64b5cc48b Update resources 2022-07-16 02:47:08 +09:00
Salman Ahmed
838e9ec12e
Merge branch 'master' into placeholder-fixes 2022-07-15 20:22:25 +03:00
Dean Herbert
cbbc8fdfb1
Merge pull request #19126 from peppy/lazer-leaderboards
Show leaderboard scores from new data source
2022-07-16 01:53:16 +09:00
Dean Herbert
2beed6d7b7 Allow failed scores to fail in replay playback 2022-07-15 20:45:48 +09:00
Dean Herbert
d325c534ab Check whether score is already imported and show correct state for save button 2022-07-15 20:45:37 +09:00
Dean Herbert
cf38b15332
Merge pull request #19124 from frenzibyte/song-select-metadata-search
Change clicking source/tags on song select to filter instead of searching online
2022-07-15 19:16:31 +09:00
Dean Herbert
0200ef1d48 Make delegate firing more safe to being set later than BDL 2022-07-15 19:06:44 +09:00
Dean Herbert
0e788ac714 Simplify bindable logic greatly 2022-07-15 19:02:12 +09:00
Dean Herbert
8a48cb701d Tidy up implementation and remove unnecessary enum 2022-07-15 19:02:04 +09:00
Dean Herbert
ab6665d88c
Merge branch 'master' into Save-Score-Failed 2022-07-15 18:02:58 +09:00
Dean Herbert
e12e480393 Only expose bindable string rather than full textbox 2022-07-15 18:01:35 +09:00
Dean Herbert
105ffdbbdd Update framework 2022-07-15 17:57:14 +09:00
Dean Herbert
437e01427c Fix beatmap listing not entering correct search mode when arriving before LoadComplete 2022-07-15 17:53:44 +09:00
Dean Herbert
ba0a158740 Show search online prompt even when no beatmaps are available locally 2022-07-15 17:50:10 +09:00
Dean Herbert
c8c79d2185 Standardise HasReplay implementation (and remove from persisting to realm) 2022-07-15 16:14:21 +09:00
Dean Herbert
6122d2a525 Add "F" ScoreRank to handle old scores which have this specified
Not sure on the future of this, but given it is used in the
save-failed-reply pull request (#18785) I think it's fine to add back
for now.

Without this, JSON parsing of older scores in server-side storage will
fail on missing enum type.
2022-07-15 15:58:54 +09:00
Dean Herbert
688fcb256f Update score retrieval endpoint to access new storage 2022-07-15 15:47:25 +09:00
Dean Herbert
966882013d Remove classic mod attribution to SoloScoreInfo conversion path 2022-07-15 15:47:05 +09:00
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Dean Herbert
36b06f87a4
Merge pull request #19037 from frenzibyte/drawable-playlist-item-collection
Allow adding playlist items to beatmap collections via context menu
2022-07-15 15:04:39 +09:00
Salman Ahmed
7e80a71020 Replace download tracker with local querying 2022-07-15 08:16:36 +03:00
Salman Ahmed
254d22de1c Use proper variable name 2022-07-15 07:44:56 +03:00
Salman Ahmed
86d019c2b2 Enable NRT on BeatmapDetails 2022-07-15 06:52:06 +03:00
Salman Ahmed
97c3eea3aa Fix beatmap details source and tags not filtering on song select 2022-07-15 06:51:50 +03:00
Salman Ahmed
eafa11555a Allow specifying custom search action to metadata sections 2022-07-15 06:41:03 +03:00
Dean Herbert
cd085cbd97
Merge pull request #19114 from frenzibyte/fix-potential-dialog-test-failure
Fix dialog overlay potentially pushing dialog while not loaded
2022-07-15 12:34:19 +09:00
Salman Ahmed
aea786ea0c Fix minor typo 2022-07-15 05:56:49 +03:00
Dan Balasescu
3806416541
Merge pull request #19107 from peppy/first-run-language-selection
Add language selection to first run overlay
2022-07-14 22:58:32 +09:00
Dean Herbert
ebe0cfefd8 Ensure that multiple BeatmapSetInfo already in realm don't cause import failures
Really this shouldn't happen but I managed to make it happen. Until this
comes up again in a way that matters, let's just fix the LINQ crash from
`SingleOrDefault`.

I've tested this to work as expected in the broken scenario.
2022-07-14 18:21:41 +09:00
Dean Herbert
08396ba486 Adjust colouring to avoid weird banding during transition period 2022-07-14 14:47:25 +09:00
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