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

3104 Commits

Author SHA1 Message Date
Dean Herbert
7a23363d74 Add migration of song progress setting from config to component 2022-04-27 18:10:58 +09:00
Dean Herbert
e6bb5e84ec Merge branch 'master' into move-difficulty-graph-toggle 2022-04-27 17:22:25 +09:00
Salman Ahmed
e646233722 Use correct translation for "Accuracy" label in break overlay 2022-04-26 19:16:36 +03:00
Dean Herbert
8ab3636f87 Change conditions for HUD being shown to include pause/fail states
As proposed in https://github.com/ppy/osu/discussions/17975. Feels pretty good to me, and probably how it should have been implemented from the start.
2022-04-26 12:09:21 +09:00
Dan Balasescu
b293d3923c Merge branch 'master' into multiplayer-force-start-2 2022-04-23 01:03:55 +09:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dan Balasescu
41355384bd Add support for gameplay abort/force start 2022-04-21 23:14:37 +09:00
Dean Herbert
848366416e Revert string type changes in MetadataLineInfo 2022-04-21 14:10:58 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Salman Ahmed
94335c2938 Update further usages to cache/resolve via interface 2022-04-19 00:18:10 +03:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dan Balasescu
2abdbe53e7 Cleanup whitespace 2022-04-14 18:55:12 +09:00
Dan Balasescu
9de4d416e2 Merge branch 'master' into fix-spectator-seeks 2022-04-14 18:54:52 +09:00
Dan Balasescu
494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Dean Herbert
fbf0e5a45c Remove startFromSkipTarget parameter and update usages that required said behaviour 2022-04-13 14:25:43 +09:00
Dean Herbert
a59c6013c7 Rename latestGameplayStartTime to skipTargetTime 2022-04-13 14:03:52 +09:00
Dean Herbert
d4286255a0 Expose and set GameplayStartTime directly, rather than via Reset parameter 2022-04-13 13:58:44 +09:00
Dean Herbert
017f3852c8 Replace incorrectly chosen ??= with ?? 2022-04-13 13:32:36 +09:00
Dean Herbert
9c68b3edc5 Merge branch 'master' into fix-spectator-seeks 2022-04-13 12:33:41 +09:00
Dean Herbert
282fccb4c8
Fix typo in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-13 12:24:47 +09:00
Dean Herbert
8b1cee75fa Use BindableLong instead of BindableInt for user score tracking 2022-04-12 14:13:07 +09:00
Dean Herbert
0ba95a4483 Ensure all users are shown on leaderboard (even when API lookup fails) 2022-04-12 11:54:30 +09:00
Dean Herbert
ebee9e6888 Fix MultiplayerGameplayLeaderboard not immediately updating totals on scoring mode change 2022-04-12 11:27:27 +09:00
Dean Herbert
cb6e557212 Fix MasterGameplayClockContainer having incorrect rate-based offsets immediately after LoadComplete
I've attempted to explain why this is required using inline comments.
There's also further conversation at
https://github.com/ppy/osu/pull/17302#issuecomment-1091850927.
2022-04-11 14:11:26 +09:00
Dean Herbert
808f0ecb74 Ensure running state is updated before performing Seek in GameplayClockContainer.Reset 2022-04-11 14:10:50 +09:00
Dean Herbert
19b655d75b Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes 2022-04-11 13:30:21 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +09:00
Dean Herbert
01829cf2d8 Move SkinnableInfo error handling to lower level
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.

Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Joseph Madamba
d0873d67e1 Move difficulty graph toggle to individual skin settings 2022-03-31 18:56:57 -07:00
Salman Ahmed
9c19ae1df8 Remove no longer necessary ruleset field 2022-03-31 06:40:38 +03:00
Dan Balasescu
6e94a9780b Remove ScoreInfo allocations in multi leaderboard 2022-03-31 12:23:00 +09:00
Sebastian Krajewski
cb62d3d4b9 Remove skin dependency as component is reinitialized on skin change 2022-03-30 01:09:05 +02:00
Sebastian Krajewski
7582c943a4 Use In/Out instead of {In/Out}Quad 2022-03-30 00:48:59 +02:00
Dean Herbert
8948bcce19 Restructure transforms slightly 2022-03-29 13:18:31 +09:00
Sebastian Krajewski
caf641e1ab Remove redundant ClearTransforms 2022-03-28 23:50:35 +02:00
Sebastian Krajewski
981ef735cf Always start small pop out from its initial size 2022-03-28 19:57:59 +02:00
Sebastian Krajewski
e3289bb080 Don't scale big pop out as much 2022-03-28 19:33:00 +02:00
Sebastian Krajewski
265b2111ef Remove comment 2022-03-28 18:08:51 +02:00
Sebastian Krajewski
001a98e069 Fix LegacyComboCounter not unsubscribing from skin 2022-03-28 18:08:35 +02:00
Sebastian Krajewski
05a978ce8c Update LegacyComboCounter layout and scaling 2022-03-28 16:36:37 +02:00
Dean Herbert
8ca9cbc866 Set a more correct initial value for pauseFreqAdjust
As the `GameplayClock` now starts paused, this value needs to match to
ensure things work correctly.

For a better explanation of how we got here, see discussion at
https://github.com/ppy/osu/pull/17302#discussion_r830017735.
2022-03-24 14:50:00 +09:00
Dean Herbert
6f529cf7a4 Merge branch 'master' into fix-spectator-seeks 2022-03-24 14:24:20 +09:00
Bartłomiej Dach
b7d5a628bc
Merge branch 'master' into fix-spectator-seeks-hot 2022-03-19 11:39:01 +01:00
Dean Herbert
a903aee17e Use schedule to workaround seek issue instead 2022-03-19 18:00:14 +09:00
Dean Herbert
cf2212e794 Revert "Fix spectator not starting from correct seek point (hotfix)"
This reverts commit 2b59eff465.
2022-03-19 17:20:54 +09:00
Dean Herbert
2b59eff465 Fix spectator not starting from correct seek point (hotfix) 2022-03-19 15:14:25 +09:00
Dean Herbert
dae5569e36 Use nullable in PlayerLoader 2022-03-19 15:06:22 +09:00
Dean Herbert
da76358ee0 Expose the loading player in PlayerLoader 2022-03-19 15:06:22 +09:00
Salman Ahmed
b99541fb5e Revert "Swap placements of "hold for menu" and key counter"
This reverts commit 5bcb7c167c.
2022-03-19 08:08:07 +03:00
Salman Ahmed
ad9b119e3d Reduce "hold for menu" radius of visibility 2022-03-19 05:04:54 +03:00
Salman Ahmed
486be83177 Calculate position adjustment distance in local parent space 2022-03-19 05:04:13 +03:00
Salman Ahmed
5bcb7c167c Swap placements of "hold for menu" and key counter 2022-03-19 05:02:22 +03: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
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
Dean Herbert
f09a946722 Start GameplayClockContainer paused for better state control 2022-03-18 15:28:22 +09:00
Dean Herbert
c6be26eb01 Rename start time calculation method and add more commenting to explain purpose better 2022-03-18 01:35:50 +09:00
Dean Herbert
e3ab5de8cd Tidy up constructor logic overlap with gameplayStartTime 2022-03-18 01:35:50 +09:00
Dean Herbert
a4a0241800 Use a more explicit flow to set and reset GameplayClockContainer start time 2022-03-17 20:57:30 +09:00
Dean Herbert
5164b4d640 Use nullable in PlayerLoader 2022-03-17 20:57:30 +09:00
Dean Herbert
e3a5299b1a Expose the loading player in PlayerLoader 2022-03-17 19:32:01 +09:00
Dean Herbert
4650c197a3 Make SongProgress.DrawableRuleset nullable to allow test scene to work 2022-03-17 18:45:37 +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
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
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
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
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
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
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
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
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
31d6c75f40 Merge branch 'master' into realm-property-watching 2022-03-07 13:53:17 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03: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
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
e9e92b991e Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 15:09:44 +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
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
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
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
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
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
80ba06b0e3
Merge branch 'master' into expandable-controls 2022-02-14 16:57:45 +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
Dan Balasescu
18251c9285 Clean up SpectatorScreen based on suggestions 2022-02-09 12:20:07 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09: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
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
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09: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
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