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

10810 Commits

Author SHA1 Message Date
Dan Balasescu
45d537ef72 Fix potential multiplayer crash with async disposal 2022-03-10 18:50:53 +09:00
Dan Balasescu
671d614c92 Fix beatmap wedge mutating transforms incorrectly 2022-03-10 17:54:33 +09:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dan Balasescu
13a4058efd
Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
Salman Ahmed
2c1589e068 Add skinning support for "seeya" sample 2022-03-10 05:52:45 +03:00
Salman Ahmed
b8ee786d77 Add skinning support for "welcome" sample 2022-03-10 05:52:45 +03:00
Salman Ahmed
b38de6e580 Add skinning support for welcome sprite text 2022-03-10 05:52:43 +03:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework 2022-03-09 23:04:18 +09:00
Dean Herbert
df500dec04
Merge pull request #17187 from smoogipoo/fix-playlist-copy
Fix unable to copy playlist rooms without first opening
2022-03-09 23:03:43 +09:00
Dean Herbert
02f44d7061 Merge branch 'master' into fix-mod-conversion-exceptions 2022-03-09 18:07:42 +09:00
Dean Herbert
2eb3365f46 Fix regressing issues when attempting to exit Player after an unsuccessful beatmap load 2022-03-09 17:57:58 +09:00
Dean Herbert
1ee0be5e39 Ensure gameplay can't start when an UnknownMod is present 2022-03-09 17:57:58 +09:00
Dan Balasescu
4839bd8044
Notify if copying room fails
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-09 16:47:47 +09:00
Dean Herbert
520d2d6cfa Fix beatmap carousel panels accepting input while marked as not-visible
This is an issue as carousel panels manage their own animated state. If
they are marked as not-visible (done at a higher level, from filtering
or update pathways) but clicked while fading out, they will animate back
to a visible state but not be marked as visible.

No tests for this one as it's probably not worthwhile to test (and hard
to do so). Manual testing can be done with the following patch:

```diff
diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs
b/osu.Game/Screens/Select/BeatmapCarousel.cs
index c3d340ac61..3372242acc 100644
--- a/osu.Game/Screens/Select/BeatmapCarousel.cs
+++ b/osu.Game/Screens/Select/BeatmapCarousel.cs
@@ -255,7 +255,7 @@ private void
beatmapSetsChanged(IRealmCollection<BeatmapSetInfo> sender, ChangeS
             }

             foreach (int i in changes.NewModifiedIndices)
-                UpdateBeatmapSet(sender[i].Detach());
+                Scheduler.AddDelayed(() =>
                 UpdateBeatmapSet(sender[i].Detach()), 100, true);

             foreach (int i in changes.InsertedIndices)
                 UpdateBeatmapSet(sender[i].Detach());

```

- Enter gameplay and adjust beatmap offset then return to song select
  and click the flashing panel.
OR
- Enter editor and save then return to song select and click the
  flashing panel.

Closes https://github.com/ppy/osu/discussions/17171.
2022-03-09 16:08:52 +09:00
Dan Balasescu
b07a1e8d09 Fix unable to copy playlist rooms without first opening 2022-03-09 15:38:00 +09:00
Dean Herbert
6bf436cd62 Only null the realm write task if it actually completed 2022-03-09 13:52:58 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
5b6b8d1fa9 Remove GetStandardisedScore() proxy method 2022-03-08 21:49:41 +09:00
Dan Balasescu
2c382bd1d9 Rename GetImmediateScore() as overload of GetScore() 2022-03-08 21:49:40 +09:00
Dean Herbert
960b6528ca Ensure the value used during realm async write is the same as whe compared for equality 2022-03-08 19:36:23 +09:00
Dean Herbert
daa42584f4 Fix feedback from realm writes causing offset slider to jump around 2022-03-08 19:36:08 +09:00
Dean Herbert
622ec53130 Fix BeatmapLeaderboard refreshing on unrelated changes to a beatmap 2022-03-08 14:50:47 +09:00
Dean Herbert
31d6c75f40 Merge branch 'master' into realm-property-watching 2022-03-07 13:53:17 +09:00
Dan Balasescu
b90a5864b1
Merge pull request #17138 from peppy/disallow-icon-interaction
Disallow interaction with carousel set difficulty icons unless selected
2022-03-07 13:00:18 +09:00
Dean Herbert
da29947ecd Disallow interaction with carousel set difficulty icons unless selected
I kinda liked this flow, but from multiple reports from users it
definitely seems in the way. We can revisit after the new design is
applied to song select.

Note that this means the tooltips also don't display. If it is preferred
that they should (arguable from a UX perspective, since I'd expect to be
able to click at that point) then the issue can be addressed using a
slightly different path (a few more lines - nothing too complex).
2022-03-07 11:34:08 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03:00
Bartłomiej Dach
e1eeb9c6bb
Allow tabbing between textboxes in sample point popover 2022-03-06 01:43:56 +01:00
Dean Herbert
06512e8bd9
Use const for minimum height specification in final usage location
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-06 01:01:22 +09:00
Dean Herbert
f8ef352306
Don't consider judgements beneath the minimum height as being applicable
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-06 01:00:47 +09:00
Bartłomiej Dach
e4b4c3c5c4
Merge branch 'master' into offset-ui-improvements 2022-03-05 16:10:18 +01:00
Bartłomiej Dach
346cec3577
Merge branch 'add-offset-adjust-tooltip-text' into combine-time-slider-implementation 2022-03-05 14:58:56 +01:00
Dean Herbert
ce51ce49cf Revert changes to GetTooltipText and use TooltipText override directly 2022-03-05 22:46:13 +09:00
Dean Herbert
bbc2b36117 Merge branch 'master' into add-offset-adjust-tooltip-text 2022-03-05 22:37:04 +09:00
Dean Herbert
d6e78e7d95
Merge pull request #17068 from peppy/fix-hit-distribution-rounding
Fix hit distribution graph midpoint rounding not looking great around zero
2022-03-04 22:16:30 +09:00
Dean Herbert
1c40fcb79e
Reorder math to be easier to pass
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-04 17:54:04 +09:00
Dean Herbert
5a164e4520 Hide adjustment when no adjustment is applied 2022-03-04 15:19:55 +09:00
Dean Herbert
e9e92b991e Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 15:09:44 +09:00
Dean Herbert
8c7b1e0aa8 Only construct the adjustment portion of bars when required 2022-03-04 15:01:54 +09:00
Dean Herbert
2785218b79 Only apply animation if the bar is going to be larger than the minimum height 2022-03-04 14:59:53 +09:00
Dean Herbert
540d7d0e2c Add the ability to set and show an offset value on timing distribution graph 2022-03-04 14:36:15 +09:00
Dean Herbert
d3e04fe594 Colour centre bin in distribution graph differently 2022-03-04 14:09:27 +09:00
Dean Herbert
c063a73742 Fix autosize weirdness by specifying a constant size for the x axis 2022-03-04 14:05:42 +09:00
Dean Herbert
010fa7ed01 Allow an offset to be shown on the timing distribution graph 2022-03-04 14:05:42 +09:00
Dean Herbert
e09dd7d8fe Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 13:25:14 +09:00
Dean Herbert
cc4f89eef4 Add tooltip text for offset adjustment slider 2022-03-04 12:44:02 +09:00
Dean Herbert
835cb09537 Merge branch 'master' into fix-hit-distribution-rounding 2022-03-04 12:43:57 +09:00
Dean Herbert
8b504bb5ac Ensure rounding is still applied in non-midpoint cases 2022-03-04 12:42:07 +09:00
Dean Herbert
7854a0a913 Use double instead of float for UIHoldActivationDelay configuration value
All times use double, so let's also use double here.
2022-03-04 12:22:56 +09:00
Dean Herbert
b0688cc6dd Merge branch 'master' into fix-storyboard-sample-rate 2022-03-04 12:04:49 +09:00
Dean Herbert
1d7d6a1b65
Merge pull request #17042 from peppy/ruleset-leaderboard-unavailable
Improve leaderboard messaging when using a custom ruleset (and add localisation support)
2022-03-04 11:56:04 +09:00
Bartłomiej Dach
e1610b5d32
Merge branch 'master' into ruleset-leaderboard-unavailable 2022-03-03 22:52:20 +01:00
Bartłomiej Dach
9dbb0bd85c
Merge branch 'master' into player-loader-settings-scroll 2022-03-03 21:17:53 +01:00
Bartłomiej Dach
15f65c7897
Rename lambda param to avoid name shadowing 2022-03-03 20:28:19 +01:00
Bartłomiej Dach
2e24e7ef56
Use property expression rather than block 2022-03-03 20:28:00 +01:00
Bartłomiej Dach
edd361d256
Trim unused using directives 2022-03-03 20:21:48 +01:00
Dean Herbert
cecc746f9e Update existing usages to use SubscribeToPropertyChanged 2022-03-03 17:42:50 +09:00
Dean Herbert
3848964faa Add tooltip text for offset adjustment slider 2022-03-03 17:07:46 +09:00
Dean Herbert
9c43500ad3 Add ability for player loading screen settings to scroll
As we add more items here this is going to become necessary. Until the design no doubt gets changed.
2022-03-03 16:23:31 +09:00
Dean Herbert
a06d806fb9 Fix hit distribution graph midpoint rounding not looking great around zero
Not sure this will be accepted and it's likely only ever going to show
in tests, but seems to be a better approach to midpoint rounding for
this case?
2022-03-03 15:43:02 +09:00
Dean Herbert
ab0ee26540 Remove padding from distribution graph bars to fix some bars becoming invisible at low sizes 2022-03-03 15:13:42 +09:00
Dean Herbert
a38eb426ef
Merge pull request #17026 from peppy/beatmap-offset-control
Add basic beatmap offset adjustment
2022-03-03 14:23:19 +09:00
Dean Herbert
42e07b7308 Convert to extension method to avoid recursive calls 2022-03-03 14:15:37 +09:00
Dean Herbert
fab9323707 Replace all legacy ruleset checks with a helper property call 2022-03-03 14:08:48 +09:00
Salman Ahmed
cbb8dc2891 Fix storyboard samples rate not adjusted from actual gameplay mods 2022-03-02 20:56:18 +03:00
Dean Herbert
f15b8781bb Move editor mode selector out of EditorMenuBar to allow for better reuse 2022-03-02 20:05:01 +09:00
Dean Herbert
763f881d4a Use more correct mod check to encompass more than just autoplay 2022-03-02 14:42:10 +09:00
Dean Herbert
e184b26cdd Remove Precision call for database write shortcutting
Shouldn't be required.
2022-03-02 14:39:29 +09:00
Dean Herbert
8bd66f1ed7 Fix incorrect precision specification for button disable check 2022-03-02 14:36:49 +09:00
Dean Herbert
3cbcb702f6 Fix calibration button disabled state not checking in corrrect direction 2022-03-02 14:36:15 +09:00
Dean Herbert
c07f754565 Enable nullable on BeatmapOffsetControl 2022-03-02 14:34:24 +09:00
Dean Herbert
c342030b2c Add specific placeholder message for custom rulesets rather than showing network error 2022-03-02 14:10:59 +09:00
Salman Ahmed
97c54de3bf Fix performance statistic not handling rulesets with unimplemented calculator 2022-03-01 20:43:20 +03:00
Dean Herbert
222f50d211 Fix calibration being back-to-front 2022-03-01 20:41:54 +09:00
Dean Herbert
6c09237956 Reorder fields in BeatmapOffsetControl and MasterGameplayClockContainer 2022-03-01 20:16:55 +09:00
Dean Herbert
9792f0653a Don't show calibration controls for autoplay 2022-03-01 20:12:59 +09:00
Dean Herbert
4aee57c9c1 Add localisation of all beatmap offset strings 2022-03-01 20:12:59 +09:00
Dean Herbert
4d9efe771b Don't display calibration options when the previous play was too short to be useful 2022-03-01 20:12:59 +09:00
Dean Herbert
bc2a15db96 Handle cases of beatmaps not existing in realm for tests 2022-03-01 20:12:59 +09:00
Dean Herbert
99c1ba19aa Allow BeatmapOffsetControl to react to external changes to offset 2022-03-01 20:12:59 +09:00
Dean Herbert
bb8caabb8b Subscribe to changes in offset 2022-03-01 20:12:59 +09:00
Dean Herbert
071ba5c1df Make writes asynchronously to avoid synchronous overhead 2022-03-01 20:12:59 +09:00
Dean Herbert
047e801da9 Store and retrieve offset from realm 2022-03-01 20:12:59 +09:00
Dean Herbert
2901d2a650 Hook offset adjustment control up to last play via PlayerLoader 2022-03-01 18:44:15 +09:00
Dean Herbert
350b0b488c TODO: Get score from previous play session for further analysis 2022-03-01 18:44:15 +09:00
Dean Herbert
1847f69bf9 Add basic beatmap offset adjustment control 2022-03-01 18:44:15 +09:00
Dean Herbert
4117a6adf7 Move player loader audio settings to new group 2022-03-01 18:44:15 +09:00
Dean Herbert
a41e1c80f1 Show hit error on results screen
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dean Herbert
2be40f36f7 Reword popup text to read better (or more vaguely)
Removed some words but also don't mention "smaller" because it's...
musically incorrect and also functionally incorrect – entering 1/[8]
will result in 1/16 also being populated for instance.
2022-02-28 15:26:50 +09:00
Dean Herbert
368eadd8d1 Remove unused using statement 2022-02-28 15:24:02 +09:00
Dean Herbert
3634e12e66 Automatically focus divisor textbox and hide popover after successful change 2022-02-28 15:23:01 +09:00
Bartłomiej Dach
7de5dad4f0
Add test coverage for divisor behaviour 2022-02-27 19:23:02 +01:00
Bartłomiej Dach
423838a649
Add flow for specifying entirely custom snaps 2022-02-27 17:55:20 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets 2022-02-27 15:37:51 +01:00
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