1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-30 03:27:24 +08:00
Commit Graph

10867 Commits

Author SHA1 Message Date
hwabis
5e5fbc496e (still not working) try bindables instead of int 2022-03-18 20:32:37 -04:00
hwabis
d9b2a29c6d (not working yet) add MultiplayerPlaylistTabControl, "Queue ({count})" 2022-03-18 20:02:26 -04:00
hwabis
faa36c78e5 put count and tabs into new fillflowcontainer 2022-03-18 12:55:00 -04:00
Dean Herbert
fc75aa0807
Merge pull request #17324 from frenzibyte/score-panel-max-combo
Display beatmap maximum combo next to score combo in results panel
2022-03-18 22:59:38 +09:00
Salman Ahmed
fa8eb1feec Update score panel to check for all combo-breaking statistics 2022-03-18 15:23:14 +03:00
Dan Balasescu
04f4e81852 Rename start countdown request 2022-03-18 21:05:19 +09:00
Dean Herbert
ed90dc6d6b Fix centering of labels using Height instead of location to better handle rotations 2022-03-18 20:17:04 +09:00
Dean Herbert
bd488d139d Better centre text labels for hit error meter 2022-03-18 20:11:05 +09:00
Salman Ahmed
af22e67e15 Fix perfect combo check not accounting for LargeTickMiss
`LargeTickMiss` can affect combo, see
a352a140bc/osu.Game/Rulesets/Scoring/HitResult.cs (L124-L144).
2022-03-18 13:11:41 +03:00
Salman Ahmed
9215384229 Display beatmap maximum combo in score panel 2022-03-18 13:11:41 +03:00
Dean Herbert
7c9fe4036c Add setting to change the style of the early/late markers 2022-03-18 17:50:37 +09:00
Dean Herbert
919583137e Add line style for centre marker 2022-03-18 17:50:37 +09:00
Dean Herbert
cdeab1b14e Add setting to change the style of the centre marker 2022-03-18 17:50:37 +09:00
Dean Herbert
331cb2aa80 Add setting to show or hide the moving average arrow 2022-03-18 17:50:37 +09:00
Dean Herbert
3f92bef9df Add setting for judgement line thickness 2022-03-18 17:50:37 +09:00
hwabis
c2e7ff7e3e display count of listQueue 2022-03-18 01:37:53 -04:00
Dan Balasescu
72843a6797 Add support for starting/stopping countdowns 2022-03-18 14:33:09 +09:00
Dan Balasescu
efce471f0b Add countdown button + popover 2022-03-18 14:31:57 +09:00
Dan Balasescu
b76a87e6f8 Split ready button visual logic into button itself 2022-03-18 14:31:57 +09:00
Salman Ahmed
1bd08b4a4b Remove kick button fading as well to not look jarring 2022-03-18 08:09:15 +03:00
Salman Ahmed
98b420ee6f Remove no longer correct crown fade animation
Since the host is pinned to the top without any animation, it would look
jarring for the crown to fade away from the old panel (and at a 50ms
duration).
2022-03-18 07:25:12 +03:00
Salman Ahmed
1c899d00b9 Pin multiplayer host panel to the top of the list 2022-03-18 07:25:03 +03:00
Dan Balasescu
af6d53ad64
Merge pull request #17279 from peppy/skin-editor-borrowed-dependencies
Only show components in skin editor which are usable on the current screen
2022-03-18 11:29:12 +09:00
Dean Herbert
4650c197a3 Make SongProgress.DrawableRuleset nullable to allow test scene to work 2022-03-17 18:45:37 +09:00
Dan Balasescu
da0ffab14e Integrate ready button implementation 2022-03-17 18:43:04 +09:00
Dan Balasescu
461d41529b Integrate spectate button implementation 2022-03-17 18:36:33 +09:00
Dean Herbert
fd71aa4a4d Change SongProgress resolution requirements to be required 2022-03-17 15:05:54 +09:00
Dean Herbert
ac739c9dae Change PerformancePointsCounter resolution requirements to be required
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Dean Herbert
c6aa32a003 Add basic song select setup for skinnability 2022-03-16 19:12:06 +09:00
Dan Balasescu
7e8aa77b2b
Merge pull request #17260 from peppy/editor-sidebar
Add `EditorSidebar` component
2022-03-16 18:20:18 +09:00
Dean Herbert
ba1642a680 Allow section headers to wrap 2022-03-16 17:19:08 +09:00
Dan Balasescu
d80830b415
Merge pull request #17226 from peppy/skin-component-settings
Allow skin components to have settings
2022-03-16 17:12:11 +09:00
Dean Herbert
a0a033520f Rider no add licence headers 2022-03-15 16:48:14 +09:00
Dean Herbert
4ab5d6e3f0 Remove unnecessary FillFlowContainer from section 2022-03-15 16:47:08 +09:00
Dean Herbert
9e476ced63 Add EditorSidebar component 2022-03-15 16:38:00 +09:00
Dean Herbert
1814a325d8 Move GetSettingUnderlyingValue to a SettingSource extension method 2022-03-15 14:54:00 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
4ff6879b85 Fix incorrect copied room end dates 2022-03-15 11:30:57 +09:00
Dean Herbert
e047413329
Merge pull request #17196 from frenzibyte/skinnable-welcome-intro
Add skinning support for "Welcome" intro sequence
2022-03-14 22:54:19 +09:00
Dean Herbert
163cd48bf6 Further metrics tweaking 2022-03-14 19:27:53 +09:00
Dean Herbert
e91b3ae5f1 Move constants closer to usages 2022-03-14 19:18:47 +09:00
Dean Herbert
6eed2c35a4 Adjust visual appearance of BarHitErrorMeter for easier reading 2022-03-14 19:16:38 +09:00
Dan Balasescu
028750936c Apply review suggestions 2022-03-14 17:10:37 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
926827207a Reduce calculator allocations in counter 2022-03-14 14:44:06 +09:00
Dan Balasescu
4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Dean Herbert
c99397f75a Add the ability to add settings to skinnable elements 2022-03-13 17:03:25 +09:00
Bartłomiej Dach
398af246a5
Merge branch 'master' into blueprint-container-selected-items-bind 2022-03-11 00:37:45 +01:00
Salman Ahmed
8cbc8b944f Rescope scheduling and improve comment 2022-03-10 17:25:13 +03:00
Dean Herbert
68aedd63a7 Move SelectionHandler's SelectedItems binding to the base implementation
Until now it was up to each implementation to connect
`BlueprintContainer` to its `SelectionHandler`, which didn't make much
sense at all.
2022-03-10 23:22:19 +09:00
Dean Herbert
e31b174cc2
Merge pull request #17198 from smoogipoo/fix-beatmap-wedge-async-mutation
Fix beatmap wedge possibly applying transforms incorrectly and crashing
2022-03-10 23:12:58 +09:00
Dean Herbert
cee6a12d0b
Merge pull request #17199 from smoogipoo/fix-multiplayer-test-failures
Fix potential multiplayer crash with async disposal
2022-03-10 23:07:05 +09:00
Dan Balasescu
885cb3ce5b Add current screen checks for added safety 2022-03-10 20:03:02 +09:00
Dan Balasescu
2de7795844
Fix always rolling up from zero
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-10 19:59:05 +09:00
Dean Herbert
2d135e5be6 Explain purpose of Schedule call in MultiplayerPlayer.onResultsReady 2022-03-10 19:56:13 +09:00
Dan Balasescu
dfe98c6536
Merge pull request #17162 from peppy/realm-offset-feedback-fix-2
Fix feedback from realm writes causing offset slider to jump around
2022-03-10 18:53:08 +09:00
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