1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 22:52:54 +08:00
Commit Graph

10867 Commits

Author SHA1 Message Date
Bartłomiej Dach
36137e0619
Add simple carousel divisor type selector 2022-02-27 15:37:51 +01:00
Dan Balasescu
387ae59bc4 Fix nullref in tests 2022-02-25 16:12:25 +09:00
Dan Balasescu
48ed9c6144 Enable high chat polling rate 2022-02-25 16:03:56 +09:00
Dan Balasescu
f9d9ad388b Add chat display to multiplayer spectator screen 2022-02-25 16:03:28 +09:00
Dean Herbert
a9e7e8fb18
Merge pull request #16924 from Susko3/android-allow-exiting
Allow exiting/minimizing the game on Android when on the initial screen
2022-02-25 11:01:35 +09:00
Susko3
33a87976a8 Rewrite to read better
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-02-24 21:11:49 +01:00
Dan Balasescu
16a3bbbcb4
Merge pull request #16944 from peppy/rooms-request-faster
Update playlists/multiplayer to use new compact response
2022-02-24 23:20:07 +09:00
Susko3
6f29cbccd1 Remove unused using 2022-02-24 10:36:10 +01:00
Susko3
255b3b067b Remove track fade 2022-02-24 10:13:27 +01:00
Dan Balasescu
7193bc8554 Fix playlists comparing mod equality via APIMod 2022-02-24 17:04:16 +09:00
Dean Herbert
bb1aa032bd Combine SelectedItem and CurrentPlaylistItem into same storage 2022-02-24 16:21:20 +09:00
Dean Herbert
c6d78b9325 Fix several oversights in data linking causing drawable rooms not updating as expected 2022-02-24 16:12:15 +09:00
Dean Herbert
2a2b8912c1
Merge branch 'master' into android-allow-exiting 2022-02-24 13:22:52 +09:00
Susko3
5dd0d48df9 Move the key handling logic to MainMenu and simplify it
Also makes use of the host.SuspendToBackground() return value.
2022-02-23 14:06:22 +01:00
Dan Balasescu
71a012bea6
Don't update count twice immediately
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-23 13:42:47 +09:00
Dan Balasescu
2bea485af8 Fix currently playing text not showing in lounge 2022-02-23 13:37:47 +09:00
Dean Herbert
71ae425fb2 Merge branch 'master' into rooms-request-faster 2022-02-22 15:45:05 +09:00
Dean Herbert
057fd6c352 Add mention of StarRatingRangeDisplay fallback scenario being wrong for multiplayer 2022-02-22 15:37:42 +09:00
Dean Herbert
cde3d9c08b Change precedence order to favour playlist as a source for beatmap count 2022-02-22 15:15:57 +09:00
Dan Balasescu
a676acd80d
Merge pull request #16945 from peppy/three-column-playlist
Update playlist room display to a three column layout
2022-02-22 12:21:56 +09:00
Bartłomiej Dach
d71e511413
Merge branch 'master' into spotlights-on-top 2022-02-21 23:42:02 +01:00
Susko3
3eee505aa2 Update "exit" flow when pressing back on Android 2022-02-21 20:24:17 +01:00
Susko3
8d70b85e41 Revert changes 2022-02-21 20:20:24 +01:00
Dean Herbert
2aa0364092 Fix null reference in tests during attempted ruleset filtering 2022-02-22 00:14:33 +09:00
Dean Herbert
655b23f408 Update playlist room display to a three column layout
Similar to the changes made to multiplayer.
2022-02-21 19:46:33 +09:00
Dean Herbert
c7e9cf904b Fix incorrect null check on now-bindable DifficultyRange 2022-02-21 19:38:26 +09:00
Dean Herbert
ffa5291b74 Add fallback handling for item count to support different request types 2022-02-21 19:37:36 +09:00
Dean Herbert
b5348e0407 Update ruleset filtering to use newly provided array return 2022-02-21 19:05:32 +09:00
Dean Herbert
b43008b9f6 Add cover and count handling from newer response version 2022-02-21 19:05:22 +09:00
Dean Herbert
39d64e779c Handle API returned difficulty range for rooms 2022-02-21 19:05:19 +09:00
Dean Herbert
02a8500500 Ensure spotlights always show at the top of the lounge listing
As proposed at https://github.com/ppy/osu/discussions/16936. Spotlights
are intended to have focus, so let's make sure they are the first thing
the user sees for the time being.
2022-02-21 18:01:46 +09:00
Dean Herbert
656c58567d Add safeties to skip attempted import of the intro beatmap when osu! ruleset not present
In general running this import will not cause any critical failures, but
the import itself *will* fail – and more loudly with the upcoming
changes to `RulesetStore` (https://github.com/ppy/osu/pull/16890). Due
to it being a loud failure, it will cause the notification overlay to
display a parsing error, which can interrupt the flow of some tests.

See test failure at
https://github.com/ppy/osu/runs/5268848949?check_suite_focus=true as an
example (video coverage at
https://github.com/ppy/osu/pull/16890#issuecomment-1046542243).
2022-02-21 16:21:38 +09:00
Susko3
7ef710de22 Allow exiting/minimizing on Android when on the initial cookie screen 2022-02-19 18:15:49 +01:00
Dean Herbert
2a1edcdf73
Merge branch 'master' into remove-playlistitem-beatmap 2022-02-17 17:19:26 +09:00
Dean Herbert
7307e68e9c Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
This reverts commit 252b945d3b, reversing
changes made to a1b39a96cf.
2022-02-17 13:26:12 +09:00
Stedoss
aac1c53b06 Remove creator name from playlist item panel beatmap text 2022-02-17 03:04:16 +00:00
Dan Balasescu
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
Dan Balasescu
edd31bf3aa Revert styling change 2022-02-16 15:51:18 +09:00
Dean Herbert
7e24b36f26 Merge branch 'master' into remove-playlistitem-beatmap 2022-02-16 14:24:57 +09:00
Dean Herbert
954ae60b81
Merge branch 'master' into copy-existing-difficulty 2022-02-16 08:55:12 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6 2022-02-16 00:40:04 +09:00
Dan Balasescu
b1dbd4abfe Fix incorrect playlist item <-> availability tracker logic
Results in revert to some prior logic for the tracker implementation.
2022-02-15 23:50:12 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
afcb7a4630 Make DrawableRoomPlaylistItem look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
73ce1b324e Make DrawableRoom look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
5b765581d8 Fix free mod selection not showing allowed mods 2022-02-15 16:28:15 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Salman Ahmed
f5d0eb41cb Update further ChangeFocus usages 2022-02-15 02:42:39 +03:00
Bartłomiej Dach
e45a2ae0fc
Restructure difficulty copy flow to adapt to latest changes 2022-02-14 22:02:37 +01:00
Bartłomiej Dach
6221447164
Append copy suffix on creating copy of difficulty 2022-02-14 20:19:12 +01:00
Dean Herbert
8da0800d7f Update ChangeFocus usage in line with framework changes 2022-02-15 02:47:35 +09:00
Dean Herbert
80ba06b0e3
Merge branch 'master' into expandable-controls 2022-02-14 16:57:45 +09:00
Bartłomiej Dach
6fd663a718
Apply some renames to convey difference between creation options better 2022-02-13 14:01:23 +01:00
Bartłomiej Dach
a144d6f8d6
Fix beatmap skin properties not copying 2022-02-13 14:01:22 +01:00
Bartłomiej Dach
a2c2b2bbb3
Add flow for copying existing difficulty content 2022-02-13 14:01:20 +01:00
Dan Balasescu
8b05b35b8c
Merge pull request #16854 from peppy/combine-score-submission-request-implementation
Standardise and combine base implementation of score submission requests
2022-02-11 17:31:55 +09:00
Dean Herbert
beb3731c0b Standardise and combine base implementation of score submission requests
These share too much yet have very different constructor signatures and
property exposure. Just a clean-up pass as I begin to look at replay
submission.
2022-02-11 15:53:47 +09:00
Salman Ahmed
6f0e32826c Standardise ordering/grouping of IRulesetInfo/RulesetInfos 2022-02-11 04:27:11 +03:00
Dan Balasescu
18251c9285 Clean up SpectatorScreen based on suggestions 2022-02-09 12:20:07 +09:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dan Balasescu
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
Dan Balasescu
45b3f472ab Merge branch 'master' into spectator-state-rework 2022-02-08 19:51:50 +09:00
Henry Lin
10bdb7240f Pre-check for divisor zero and add explanation 2022-02-08 14:36:29 +08:00
Dean Herbert
8cca12da64
Merge branch 'master' into display-performance-attributes 2022-02-08 14:45:35 +09:00
Dan Balasescu
c2416c490e Fix crash on disconnection during multi-spectate 2022-02-08 11:29:39 +09:00
Henry Lin
0b1fef38af Use the playable beatmap provided in CreateStatisticsForScore 2022-02-05 21:36:34 +08:00
Henry Lin
c35ef917a1 Remove tooltip from performance statistic 2022-02-05 21:18:23 +08:00
Henry Lin
2e1a9f1379 Add performance breakdown as statistic item in extended statistics panel 2022-02-05 21:13:16 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes 2022-02-05 16:59:46 +08:00
Dean Herbert
eb25730b61 Revert "Merge pull request #16716 from peppy/carousel-less-invalidations"
This reverts commit 8d13e0514b, reversing
changes made to 95582a9023.
2022-02-05 16:12:58 +09:00
Dan Balasescu
3a8ec205b3 Merge branch 'simplify-test-spectator-client' into spectator-state-rework 2022-02-04 22:42:53 +09:00
Dan Balasescu
09728a29ed Merge branch 'fix-broken-test-scene' into spectator-state-rework 2022-02-04 22:42:10 +09:00
Jamie Taylor
0f48c0131c
Layer playback of beatmap-changed and random-beatmap samples 2022-02-04 19:57:54 +09:00
Dean Herbert
002cc7261b
Merge pull request #16773 from smoogipoo/fix-spectator-restart-crash
Fix crash when gameplay is started while inside multiplayer spectator screen
2022-02-04 19:23:08 +09:00
Dan Balasescu
d5269ba05b Merge branch 'fix-spectator-restart-crash' into spectator-state-rework 2022-02-04 17:59:18 +09:00
Dan Balasescu
0473c6c52f Also handle null SelectedItem for safety 2022-02-04 17:53:51 +09:00
Dan Balasescu
b41655d5b9 Fix crash when gameplay starts while in multi-spectator screen 2022-02-04 17:47:41 +09:00
Dan Balasescu
63064d682b
Merge pull request #16743 from hlysine/extended-statistics-without-replay
Allow statistic items in results screen to display without needing to watch a replay
2022-02-04 15:07:52 +09:00
Dean Herbert
ee1feae806
Remove unnecessary ruleset ordering
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-04 11:06:18 +09:00
Bartłomiej Dach
b7d7e6612e
Merge branch 'master' into new-difficulty-creation-v3 2022-02-03 16:36:18 +01:00
Dan Balasescu
f285060148 Fix MultiSpectatorScreen not continuing to results 2022-02-03 21:50:19 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dean Herbert
b2efce2656
Merge branch 'master' into expandable-controls 2022-02-03 19:23:34 +09:00
Dean Herbert
47d577ec9c Add back constructor for ruleset compatibility 2022-02-03 19:17:56 +09:00
Dean Herbert
6974c2d255 Remove weird panelIsComplete flag and replace LINQ with simple foreach 2022-02-03 19:00:03 +09:00
Dean Herbert
df9d99f5aa Merge branch 'master' into extended-statistics-without-replay 2022-02-03 18:59:48 +09:00
Dean Herbert
6d6327d3da Fix test beatmap loading potentially performing selection before carousel itself is loaded 2022-02-03 18:40:16 +09:00
Dean Herbert
e65996efc3 Rename variable to match purpose better 2022-02-03 17:14:38 +09:00
Dean Herbert
137a9a0305 Merge branch 'master' into songselect-random-sfx 2022-02-03 17:14:28 +09:00
Dean Herbert
c8ce00b26a Trigger a re-layout of HUD components when scoring mode is changed
This is a simple way of fixing the layout of scoring elements
overlapping due to different score display width requirements of
different scoring modes. It will only resolve the case where a user
hasn't customsied the layout of the default skins, but as this is a very
simple / low effort implementation for the most common scenario, I think
it makes sense.

Closes https://github.com/ppy/osu/issues/16067.
2022-02-03 14:50:41 +09:00
Henry Lin
aff36d4e16 Refactor populateStatistics to avoid disposing 2022-02-03 11:52:37 +08:00
Dan Balasescu
62537eb4aa Fix spectator not completing 2022-02-03 12:44:33 +09:00
Bartłomiej Dach
afc48d86df
Add failing test coverage for save after safeties addition 2022-02-02 21:57:10 +01:00
Bartłomiej Dach
4f1aac9345
Add safeties preventing creating multiple difficulties with same name 2022-02-02 21:57:09 +01:00
Bartłomiej Dach
0d51c015ad
Add basic test coverage for new difficulty creation 2022-02-02 21:55:34 +01:00
Bartłomiej Dach
dc96c4888b
Add support for creating new blank difficulties 2022-02-02 21:55:33 +01:00
Bartłomiej Dach
3386f038ba
Add new difficulty creation menu 2022-02-02 21:23:35 +01:00
Bartłomiej Dach
e2fcdc394b
Extract method for difficulty switch menu creation 2022-02-02 21:23:35 +01:00
Dan Balasescu
fcbba3d948 Rename PlayingUserStates -> WatchingUserStates 2022-02-02 23:11:29 +09:00
Dean Herbert
19eb9ad8a7 Reorder StatisticsItem constructor to make a touch more sense 2022-02-02 23:02:38 +09:00
Henry Lin
3c2a6fe208 Don't prompt for a replay if no item requires hit events 2022-02-02 19:07:14 +08:00
Henry Lin
1e19c7046a Use spacing instead of bottom margin 2022-02-02 19:02:29 +08:00
Henry Lin
b0023b9809 Also dispose rows 2022-02-02 19:00:46 +08:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Dan Balasescu
b5fb3b7dae Fix crash when selecting swap mod as freemod 2022-02-02 18:42:22 +09:00
Henry Lin
36bfef4f54 Dispose container before replacing 2022-02-02 17:32:16 +08:00
Henry Lin
042574660c Rename "Content" to "CreateContent" 2022-02-02 17:29:03 +08:00
Henry Lin
90e30bc9e8 Remove useless null checks 2022-02-02 17:26:17 +08:00
Henry Lin
5e3d124eef Add scrolling to the extended statistics panel 2022-02-02 17:20:22 +08:00
Dean Herbert
4f3e55a0ce
Merge branch 'master' into songselect-random-sfx 2022-02-02 17:18:24 +09:00
Henry Lin
3ba5d88914 Update statistics item display logic 2022-02-02 13:41:51 +08:00
Henry Lin
c5c4c85006 Lazily create content of StatisticItem 2022-02-02 13:29:18 +08:00
Dean Herbert
6d962e7925
Merge pull request #16726 from dekrain/leaderboard-score-tooltip
Add basic tooltip for leaderboard scores
2022-02-02 13:56:45 +09:00
Dean Herbert
d065e32ca1 Fix crash due to MatchLeaderboardScores not having populated rulesets 2022-02-02 13:23:49 +09:00
Henry Lin
b4fd1ecba2 Hide attribute if the maximum is 0 2022-02-02 11:02:01 +08:00
Bartłomiej Dach
07d09b3520
Remove unused parameter from createGameplayComponents()
No longer used since 136843c8e4.
2022-02-01 21:35:41 +01:00
Bartłomiej Dach
a94702b3ae
Remove unused parameters in LegacyComboCounter
No longer used since 9bb8a43bce.
2022-02-01 21:35:41 +01:00
Bartłomiej Dach
1fa2bf5d69
Remove unused parameter from createColourBars()
No longer used since b61aa660c6.
2022-02-01 21:35:40 +01:00
Bartłomiej Dach
c6a65ccfed
Remove unused parameter from createContent()
No longer used since 513e470b52.
2022-02-01 21:35:40 +01:00
Henry Lin
39524f3dd2 Split total pp into 2 lines 2022-02-01 22:26:30 +08:00
Dan Balasescu
f4210f7a30 Rework spectator components to use new user state 2022-02-01 21:53:25 +09:00
Dan Balasescu
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
Dan Balasescu
38e075c522 Add HasQuit gameplay state 2022-02-01 14:47:19 +09:00
Dan Balasescu
781cb9f18d Move HasPassed/HasFailed into GameplayState 2022-02-01 14:46:24 +09:00
Dan Balasescu
0641264a11 Merge branch 'master' into spectator-consistency-frames 2022-02-01 14:35:30 +09:00
Dan Balasescu
4fb565e15f Reset ScoreProcessor from statistics replay frames 2022-01-31 21:32:56 +09:00
Dan Balasescu
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
Dan Balasescu
f3d4756c7f
Merge pull request #16713 from frenzibyte/fix-spectator-gcc-state-2
Fix multiplayer spectator occasionally rewinding time unexpectedly
2022-01-31 18:33:08 +09:00
Dan Balasescu
62603e78fd
Merge pull request #16714 from frenzibyte/rewrite-hardware-correction-clock
Rewrite `HardwareCorrectionOffsetClock` to handle seeking on different gameplay rates
2022-01-31 17:32:22 +09:00
Dan Balasescu
a49a9ed0a0 Fix incorrect invoke 2022-01-31 17:19:04 +09:00
Dean Herbert
6bc6675fa1 Adjust fade in times slightly 2022-01-31 14:46:20 +09:00
Dean Herbert
8917ab78f4 Reduce unnecessary container nesting and adjust empty state opacity slightly 2022-01-31 14:46:20 +09:00
Dean Herbert
2ee0db0ebf Move fade in function local 2022-01-31 14:46:20 +09:00
Dean Herbert
c3e3b2019d Reduce overhead of ApplyState by tracking previous values
Even with pooling applied, there are overheads involved with transforms
when quickly cycling through the carousel.

The main goal here is to reduce the transforms in cases the reuse is
still in the same state. Avoiding firing `FadeIn` and `FadeOut` are the
main areas of saving.
2022-01-31 14:46:20 +09:00
Dean Herbert
a06287e76a Remove DrawableCarouselItem.Update updating of height
Marginal from a performance aspect, but reads better.
2022-01-31 14:46:20 +09:00
Dan Balasescu
e9f3e7f5cb
Merge pull request #16703 from peppy/leaderboard-component-fixes
Rewrite `Leaderboard` component to bring up to current code standards
2022-01-31 14:33:04 +09:00
Dean Herbert
9c9fda84f3 Add schedule and cancellation check to score ordering step 2022-01-31 13:50:53 +09:00
Salman Ahmed
6556a7e3c3 Handle different gameplay rates when seeking on master clock 2022-01-31 01:40:07 +03:00
Dean Herbert
f8939af5e6 Track loading via state as well 2022-01-31 01:12:03 +09:00
Dean Herbert
82806d7aeb Ensure the background is eventually displayed when IntroTriangles suspends 2022-01-30 21:32:39 +09:00
Dean Herbert
52f1c2bfdb Add failsafe to IntroScreen to stop users with incorrect audio configuration getting stuck
The most common case of this seems to be linux users with incorrect or
unsupported audio driver configurations. It continues to be brought up
in discussions as people are unsure of why their game freezes on
startup, and unable to easily recover.
2022-01-30 18:51:16 +09:00
Dean Herbert
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8 Also refactor placeholder logic to make more sense 2022-01-30 10:50:32 +09:00
Salman Ahmed
3ec193d47e Fix spectator clock container incorrectly starting catch-up clock 2022-01-30 01:46:10 +03:00
Salman Ahmed
4f4f60248f Add failing test case 2022-01-30 01:46:10 +03:00
Dean Herbert
d0b74a91fb Fix edge cases with score drawable loading 2022-01-29 23:58:57 +09:00
Dean Herbert
0293d95f82 Simplify IsOnlineScope usage 2022-01-29 23:58:57 +09:00
Dean Herbert
daea13f491 Simplify flow of cancellation token 2022-01-29 23:58:57 +09:00
Dean Herbert
3d59bab7c6 Remove fetch callback logic completely 2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5 Rename methods to make more sense (and always run through AddOnce) 2022-01-29 23:58:57 +09:00
Dean Herbert
e7823982d8 Fix ruleset value not being transferred when FinaliseSelection is not called 2022-01-29 18:44:48 +09:00
Dan Balasescu
f021a274d2
Merge pull request #16681 from peppy/fix-delete-local-scores
Fix delete local scores via "Clear all scores" button crashing the game
2022-01-28 17:01:31 +09:00
Dan Balasescu
bdc9ca40f2
Merge pull request #16676 from peppy/fix-editor-custom-ruleset
Fix editor crashing on custom rulesets due to `ChangeHandler` not being supported
2022-01-28 16:26:56 +09:00
Dan Balasescu
c7f8528d63
Merge pull request #16673 from peppy/fix-polling-component-thread-safety
Fix occasional non-fatal errors from polling API requests incorrectly getting queued twice
2022-01-28 16:26:47 +09:00
Dan Balasescu
b94984bd2d
Merge pull request #16678 from peppy/hold-for-menu-always-fade
Ensure hold for menu button fades out if the cursor is never moved
2022-01-28 15:55:41 +09:00
Dean Herbert
0d3ac4fd9c Fix delete local scores crashing the game 2022-01-28 15:54:53 +09:00
Dean Herbert
28c8e07e3f Ensure hold for menu button fades out if the cursor is never moved
Closes https://github.com/ppy/osu/discussions/16669.
2022-01-28 14:48:35 +09:00
Dean Herbert
b7d8c9bf06 Fix a couple of cases of incorrect equality checks in the case both values are null 2022-01-28 14:29:56 +09:00
Dean Herbert
b3856c9005 Fix editor crashing on custom rulesets due to ChangeHandler not being supported
As per https://github.com/ppy/osu/discussions/16668, even without proper
saving support some ruleset developers do want to work on the editor.
This brings things back into a workable state.
2022-01-28 14:03:31 +09:00
Dean Herbert
91be77ad3d Fix null ref in ComposeScreen when ruleset doesn't provide a composer 2022-01-28 14:01:10 +09:00
Dean Herbert
c44af4853d Add thread safety to PollingComponent.Poll implementations 2022-01-28 13:43:53 +09:00
Jamie Taylor
f59828e2d9
Add audio feedback to song select 'random' 2022-01-28 13:43:37 +09:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete 2022-01-27 20:46:19 +01:00
Dean Herbert
7af23328a4
Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
Dean Herbert
d7fd11a16d
Merge pull request #16644 from peppy/ruleset-id-fixes
Update all usages of `RulesetID` and `Ruleset.ID` to use `Ruleset.OnlineID`
2022-01-27 21:44:22 +09:00
Dean Herbert
df9f969030
Merge pull request #16645 from peppy/fix-button-system-crash
Fix `ButtonSystem` null reference crash due to missing null check in delayed animations
2022-01-27 17:09:46 +09:00
Dean Herbert
3ae5973ab7 Fix compilation error due to commit split 2022-01-27 17:08:31 +09:00
Dean Herbert
a5d422e82c Merge branch 'master' into ruleset-id-fixes 2022-01-27 17:07:18 +09:00
Dean Herbert
449e9bcf5c Ensure beatmap carousel scroll position is maintained during deletion operations 2022-01-27 16:52:02 +09:00
Dean Herbert
0a45aa80cb Remove unnecessary double-schedule in UpdateBeatmapSet 2022-01-27 16:52:02 +09:00
Dean Herbert
b87d1a61a8 Fix ButtonSystem null reference crash due to missing null check in delayed animations
```csharp
[runtime] 2022-01-27 07:36:34 [error]: System.NullReferenceException: Object reference not set to an instance of an object.
[runtime] 2022-01-27 07:36:34 [error]: at osu.Game.Screens.Menu.ButtonSystem.<>c__DisplayClass56_0.<updateLogoState>b__1() in /Users/dean/Projects/osu/osu.Game/Screens/Menu/ButtonSystem.cs:line 357
[runtime] 2022-01-27 07:36:34 [error]: at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
[runtime] 2022-01-27 07:36:34 [error]: at osu.Framework.Threading.Scheduler.Update()
[runtime] 2022-01-27 07:36:34 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree()
```
2022-01-27 16:39:38 +09:00
Dean Herbert
5637fd64d6 Perform ordering using IComparable instead 2022-01-27 15:59:20 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Dean Herbert
f30d63107a Add SortID to RulesetInfo to allow stable ordering of rulesets for display 2022-01-27 15:35:16 +09:00
Bartłomiej Dach
d760283665
Ensure edited beatmap is restored to a baseline state on exit 2022-01-26 21:15:49 +01:00
Dean Herbert
f70e10e8a4 Fix ruleset filter matching using OnlineID instead of ShortName 2022-01-27 01:25:57 +09:00
Derrick Timmermans
873d367615
Fix custom rulesets not being able to convert maps 2022-01-26 15:51:39 +01:00
Dean Herbert
473c4d00ca Fix grouped difficulty icons using incorrect lookup for ruleset grouping 2022-01-26 18:38:44 +09:00
Salman Ahmed
a34b8fc4d0 Merge branch 'master' into expandable-controls 2022-01-26 10:36:22 +03:00
Dean Herbert
bdf215c576
Merge branch 'master' into improve-timeline-zoom 2022-01-26 03:40:53 +09:00
Salman Ahmed
4169e5592e Reword event handler name and update xmldoc 2022-01-25 19:36:19 +03:00
Salman Ahmed
d1cbdf63f0 Add support for reading/saving timeline zoom in editor 2022-01-25 18:57:39 +03:00
Salman Ahmed
4d8c5ebb0c
Merge branch 'master' into fix-beat-divisor-not-saving 2022-01-25 12:30:05 +03:00
Salman Ahmed
f7f58b06a1 Fix beat divisor not saving in editor 2022-01-25 11:56:38 +03:00
Salman Ahmed
5a9524a74e Decrease default timeline zoom to "6 seconds visible" range 2022-01-25 10:43:51 +03:00
Dean Herbert
778d2a71b4 Remove Task from the inner-most Import method in RealmArchiveModelImporter
One of my pending work items for post-realm merge.

The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.

Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert
d7342880f5 Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dan Balasescu
bb54ad9ad8
Merge pull request #16547 from peppy/realm-stable-subscriptions
Fix realm subscriptions getting lost after a context recycle
2022-01-24 20:20:04 +09:00
Dean Herbert
66c5d77d63 Allow realm migration to run again if interrupted halfway 2022-01-24 18:55:15 +09:00
Dean Herbert
9ff9611296 Merge branch 'master' into realm-stable-subscriptions 2022-01-24 18:25:47 +09:00
Dean Herbert
d7db6fa918
Merge branch 'master' into custom-meter 2022-01-24 15:46:44 +09:00
Dean Herbert
40aa873190 Rename register methods to better explain their purpose 2022-01-24 14:37:36 +09:00
Bartłomiej Dach
bd748686fa
Adjust spacing of time signature numerator input box 2022-01-23 15:21:32 +01:00
Dean Herbert
e9e3e024a1 Update all usages of QueryAsyncWithNotifications to use new Register pathway 2022-01-23 20:28:04 +09:00
Dean Herbert
61cef42be9 Proof of concept realm subscriptions via Register 2022-01-23 20:28:04 +09:00
Dean Herbert
a5493ce0d1 Fix incorrect nesting of statements causing completely broken logic 2022-01-23 17:51:32 +09:00
Salman Ahmed
e4758c9dbb Mark LabelledTimeSignature as public 2022-01-23 10:14:37 +03:00
Salman Ahmed
326f12f847 Add IExpandable support for SettingsToolboxGroup 2022-01-23 05:41:16 +03:00
Bartłomiej Dach
54f7b1b8d0
Use new time signature control on timing screen 2022-01-22 20:50:32 +01:00
Bartłomiej Dach
f39f2c93b5
Add control for arbitrary-numerator time signatures 2022-01-22 20:50:31 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
Dean Herbert
33d3a10708
Merge branch 'master' into fix-intro-realm-usage 2022-01-22 23:28:43 +09:00
Bartłomiej Dach
1ce0b18003
Merge branch 'master' into display-performance-attributes 2022-01-22 14:12:57 +01:00
Bartłomiej Dach
1b2cca4a0d
Merge branch 'master' into realm-migration-ui 2022-01-22 13:52:19 +01:00
Dean Herbert
9946003069
Update osu.Game/Screens/Menu/IntroScreen.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-01-22 05:09:40 +09:00
Dean Herbert
1f157d729d Update existing subscriptions to new style
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
2006620a2c Fix IntroScreen retrieving and iterating all realm beatmap sets 2022-01-21 18:03:16 +09:00
Dean Herbert
8f1dfa33a2 Merge branch 'master' into realm-context-use-update-when-feasible 2022-01-21 18:03:09 +09:00
Dean Herbert
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
Dean Herbert
3bcdce128c Use dictionary add for safety 2022-01-21 15:29:21 +09:00
Dean Herbert
ff4f40db8a Merge branch 'master' into carousel-performance-n 2022-01-21 15:27:42 +09:00
Dan Balasescu
c4f24ef96c
Merge pull request #16542 from peppy/carousel-search-performance-less-simple
Avoid performing full filter when updating carousel beatmap sets
2022-01-21 15:05:30 +09:00
Dean Herbert
5622d2ba4f Show realm migration progress at Loader 2022-01-21 14:56:49 +09:00
Dean Herbert
bed7b69464 Apply NRT to CarouselGroup 2022-01-21 13:26:29 +09:00
Dean Herbert
5b24800b0e Avoid applying filter in UpdateBeatmapSet flow 2022-01-21 13:26:25 +09:00
Dean Herbert
45bf35c425 Avoid performing keyword filtering at song select unless keywords are specified 2022-01-21 12:26:24 +09:00
Henry Lin
e0fe8af365 Schedule setPerformanceValue 2022-01-21 08:54:08 +08:00
Dean Herbert
ba31ddee01 Revert beatmapSets reference to fix tests
New version changed order.
2022-01-21 00:34:12 +09:00
Dean Herbert
80f3a67876 Use for instead of foreach to avoid enumerator overhead 2022-01-20 22:21:00 +09:00
Dean Herbert
0b93f3c88f Add <Guid,CarouselBeatmapSet> dictionary to speed up update operations in carousel 2022-01-20 22:12:49 +09:00
Dean Herbert
9a864267d2 Fix CarouselGroupEagerSelect not invoking subclassed AddChild from AddChildren calls 2022-01-20 21:57:16 +09:00
Dean Herbert
a8ce2c5edf Detach before sending BeatmapSetInfo to any handling method 2022-01-20 21:14:10 +09:00
Dean Herbert
b1cf3befa6 Fix incorrect query in comment 2022-01-20 18:36:20 +09:00
Dean Herbert
3ba712703b Add a note about hidden beatmap check 2022-01-20 17:50:17 +09:00
Dean Herbert
1dabf6c8a5 Fix BeatmapCarousel signalling it is finished loading before catching up on realm changes 2022-01-20 16:39:42 +09:00
Henry Lin
261fae6873 Move checks out of PopIn() 2022-01-20 08:39:33 +08:00
Dean Herbert
6c46fd6931 Fix some failing tests due to realm beatmaps overwriting test beatmaps 2022-01-20 00:19:16 +09:00
Dean Herbert
2789986699 Use asynchronous loading for beatmap carousel again 2022-01-19 18:15:43 +09:00
Dean Herbert
200fcb6f83 Detach beatmap set before checking hidden state 2022-01-19 16:59:49 +09:00
Henry Lin
0d708efb73 Split off PerformanceBreakdown and its own calculation logic 2022-01-19 15:33:33 +08:00
Dan Balasescu
9920ff51a6
Merge pull request #16446 from peppy/summary-timeline-control-point-optimisation
Reduce number of redundant control points displayed on summary timeline
2022-01-19 15:51:20 +09:00
Dan Balasescu
2475a62f2d
Merge pull request #16518 from nekodex/participantlist-cleanup
Remove unused BDL parameter in `ParticipantList`
2022-01-19 14:59:40 +09:00
Dean Herbert
5f5765d6a2 Reduce redundancy time range to create a bit more visual blending on the timeline 2022-01-19 14:57:01 +09:00
Dean Herbert
03ac91a3ee Consider all points in a group to meet redundancy check 2022-01-19 14:56:44 +09:00
Dean Herbert
93cd07f7fb Merge branch 'master' into summary-timeline-control-point-optimisation 2022-01-19 14:50:45 +09:00
Dan Balasescu
581873f944
Merge pull request #16497 from peppy/top-local-rank-optimisation
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
Jamie Taylor
493a970ed5
Remove unused AudioManager 2022-01-19 14:08:21 +09:00
Dan Balasescu
3e5d29ed00
Merge pull request #16505 from peppy/remove-base-difficulty-usage
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-19 13:53:55 +09:00
Dean Herbert
9be5bf38c6 Simplify binding/invalidation in TopLocalRank 2022-01-19 13:20:52 +09:00
Dean Herbert
e60fd358d0 Merge branch 'master' into top-local-rank-optimisation 2022-01-19 13:04:14 +09:00
Dean Herbert
67bf95bc91 Remove all usage of AuthorString 2022-01-18 23:30:40 +09:00
Henry Lin
31e03e99cd Improve display of "total PP" 2022-01-18 22:11:43 +08:00
Henry Lin
a5b53c01c8 Add comments and tidy up 2022-01-18 21:59:51 +08:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
Henry Lin
43e5bd731c Compare performance to a perfect play 2022-01-18 21:57:12 +08:00
Dean Herbert
f5b8653491 Add spaces to query string 2022-01-18 19:28:09 +09:00
Dean Herbert
27ea37c690 Rewrite TopLocalRank to use realm subscriptions
This addresses the number one performance concern with realm (when
entering song select). Previous logic was causing instantiation and
property reads of every score in the database due to the `AsEnumerable`
specfication.
2022-01-18 18:17:53 +09:00
Dean Herbert
d10d657073
Merge pull request #16421 from Susko3/textbox-AllowIme-false
Add `AllowIme => false` to text boxes where applicable
2022-01-18 18:02:47 +09:00
Dean Herbert
39c9c4985b
Merge branch 'master' into textbox-AllowIme-false 2022-01-18 17:03:51 +09:00
Henry Lin
83387cb00b Add a comment 2022-01-17 21:41:17 +08:00
Henry Lin
eddf453294 Fix code quality issues 2022-01-17 21:32:13 +08:00
Henry Lin
c49cd60487 Add bar chart to tooltip 2022-01-17 21:26:55 +08:00
Henry Lin
85c60bfc2d Improve tooltip design 2022-01-17 20:36:18 +08:00
Henry Lin
511a607599 Display performance breakdown in a tooltip 2022-01-17 18:28:17 +08:00
Dean Herbert
11ca1b6e7b Remove one more usage of IsManaged which could potentially go wrong 2022-01-17 13:40:27 +09:00
Dean Herbert
5601f6f1fe Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-17 12:29:02 +09:00
Dean Herbert
566d341b1e Split conditions out for readability 2022-01-16 22:04:29 +09:00
Dean Herbert
565611ee00 Fix typo in inline comment 2022-01-15 23:57:20 +09:00
Dean Herbert
236fa6da7e Rename ControlPointVisualisation interface type to be less specific 2022-01-15 23:56:00 +09:00
Dean Herbert
c5cae4e3ee Rename methods and add xmldoc 2022-01-15 23:55:11 +09:00
Dean Herbert
4ca2822d40
Merge pull request #16447 from nekodex/mp-host-changed-sfx
Add audio feedback for host change in multiplayer rooms
2022-01-15 23:43:35 +09:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Dean Herbert
671a3d47b8 Move bindable binding to LoadComplete and remove unnecessary unbind 2022-01-15 21:20:27 +09:00
Dean Herbert
ea8e49c543 Reorder private/protected methods 2022-01-15 21:19:02 +09:00
Dean Herbert
64c499d9d6 Revert unintended temporary commenting (was used during benchmarking) 2022-01-15 15:24:30 +09:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Dean Herbert
7acd1b545f Remove unnecessary Live conversion in IntroScreen (handled by GetWorkingBeatmap) 2022-01-14 19:55:09 +09:00
Dean Herbert
34dbde6023 Only copy across Hash and ID so statistics aren't lost 2022-01-14 18:22:52 +09:00
Jamie Taylor
7e9b5dd150
Add audio feedback for host change in multiplayer 2022-01-14 18:11:00 +09:00
Dean Herbert
916b591b1b Fix watch replay button not working immediately after playing 2022-01-14 18:03:06 +09:00
Dean Herbert
c64a919a9d Reduce number of redundant control points displayed on summary timeline
As pointed out in https://github.com/ppy/osu/discussions/16435, beatmaps
with too many control points (usually added via external automation
apps) could cause the lazer editor to grind to a halt.

The overheads here are mostly from the GL side. An eventual goal would
be to render this in a smarter way, rather than using thousands of
drawables. Until that, this optimisation should help reduce the overhead
by omitting control points in close proximity that are redundant for
display purposes.

I've tried to contain this in the display logic directly, with the goal
that it can be ripped out as fast as it was added. Certainly required
more changes than I hoped for, but I don't think it's too ugly.
2022-01-14 17:13:26 +09:00
Dean Herbert
54804ebfbd Fix delete/clear scores buttons not working 2022-01-13 18:38:38 +09:00
Jamie Taylor
c6ae255326
Add volume dip to track during fail sequence 2022-01-13 18:31:32 +09:00
Dean Herbert
069d6d2954 Remove pointless compatibility parameter BeatmapSetInfoID 2022-01-13 18:02:10 +09:00
Dean Herbert
6025fe325d Fix filter criteria not being applied after carousel loads new beatmap sets 2022-01-13 15:08:51 +09:00
Dean Herbert
0a133c7e97 Fix typo in comment in IntroScreen 2022-01-13 13:47:23 +09:00
Dean Herbert
b2d09b7b10 Fix further warnings 2022-01-12 23:42:12 +09:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Dean Herbert
ef0f794fd6 Remove stay newline 2022-01-12 18:13:14 +09:00
Dean Herbert
eb70a1eeb7 Replace compatibility properties with direct references 2022-01-12 18:13:14 +09:00
Dean Herbert
482cf29e28
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-12 17:57:14 +09:00
Dean Herbert
34aa1bf21d Sanitise and remove some usages of Detach which are no longer required 2022-01-12 17:49:11 +09:00
Dean Herbert
dc3730f334 Fix song select import popup not always showing 2022-01-12 17:49:11 +09:00
Dean Herbert
0aff1c232b Fix deleted/hidden carousel queries 2022-01-12 17:49:11 +09:00
Dean Herbert
46e92c3b60 Clean up BeatmapManager query methods 2022-01-12 17:49:11 +09:00
Dean Herbert
e8dcbaf29a Fix intro screen hitting null reference if intro beatmap is unavailable 2022-01-12 17:49:11 +09:00
Dean Herbert
7dba3c3551 Fix most remaining test issues 2022-01-12 17:49:11 +09:00
Dean Herbert
80eee6d7b0 Make RealmArchiveModelManager.Update work using automapper 2022-01-12 17:49:11 +09:00
Dean Herbert
7509a9ff8f Update BeatmapModelManager.Save to work for editor scenarios 2022-01-12 17:49:11 +09:00
Dean Herbert
58f8aae731 Fix one missed instance of GetResultSafely 2022-01-12 17:49:11 +09:00
Dean Herbert
02d0ca2741 Fix protected beatmaps showing up in the song select carousel 2022-01-12 17:49:10 +09:00
Dean Herbert
41d90cd0b5 Fix beatmap carousel test failures 2022-01-12 17:49:10 +09:00
Dean Herbert
f4a1fa85a1 Fix incorrect conditional for deciding whether scores can be deleted from UI 2022-01-12 17:49:10 +09:00
Dan Balasescu
52e240230b
Merge branch 'master' into mouse-button-disable-disables-touch 2022-01-12 17:14:39 +09:00
Dean Herbert
5dd0bb1218 Ensure Score created by GameplayState has a valid ruleset 2022-01-12 17:00:17 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
6919df18fa Fix incorrect ordering and grouping of difficulties at song select 2022-01-12 17:00:17 +09:00