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

35661 Commits

Author SHA1 Message Date
Dan Balasescu
0491addbbd
Merge pull request #19974 from peppy/no-gameplay-clock-editor-offset
Fix editor not applying offsets
2022-08-29 21:10:29 +09:00
Dan Balasescu
8e42af8e66
Merge pull request #19973 from peppy/no-gameplay-clock-beat-synced-container
Fix beat synced components not applying offsets
2022-08-29 20:43:26 +09:00
Dean Herbert
82b9e1f0eb
Merge pull request #20011 from smoogipoo/scoring-refactor
Refactor scoring to remove async methods / simplify
2022-08-29 19:55:27 +09:00
Dean Herbert
75531d2d62 Fix gameplay skipping forward during resume operation 2022-08-29 19:51:16 +09:00
Dan Balasescu
eb3601b7ff
Merge pull request #20013 from peppy/always-reprocess-beatmap-after-update
Always reprocess beatmaps after a user update request
2022-08-29 18:50:27 +09:00
Dan Balasescu
e3e204001e
Merge pull request #19907 from peppy/ruleset-api-versioning
Add ruleset API versioning
2022-08-29 18:50:01 +09:00
Dean Herbert
2e3c62296a
Merge branch 'master' into no-gameplay-clock-beat-synced-container 2022-08-29 18:22:54 +09:00
Dean Herbert
3eda284b03 Always reprocess beatmaps after a user update request
This covers the rare case where metadata may have changed server-side but not
the beatmap itself.

Tested with the provided user database to resolve the issue.

Closes #19976.
2022-08-29 18:17:42 +09:00
Dan Balasescu
07b502f69a Simplify OrderByTotalScore implementation 2022-08-29 17:58:57 +09:00
Salman Ahmed
f2378d3fde
Merge branch 'master' into carousel-maintain-selection-over-update 2022-08-29 11:23:22 +03:00
Dean Herbert
9b830d063f
Merge pull request #20010 from smoogipoo/scoreprocessor-no-rewrite-statistics
Don't include misses in failed score statistics
2022-08-29 17:07:13 +09:00
Dean Herbert
2dafa041a7 Account for offset being applied to editor clock time in TestSceneEditorClock 2022-08-29 16:42:50 +09:00
Dean Herbert
be5c6232e8 Encapsulate Track inside a FramedClock to avoid mutating operations 2022-08-29 16:29:19 +09:00
Dean Herbert
c50695ea49 Merge branch 'master' into no-gameplay-clock-beat-synced-container 2022-08-29 16:16:59 +09:00
Dean Herbert
105aa01e7d Update usages of RemoveInternal 2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dan Balasescu
81ac0daba8 Update xmldoc 2022-08-29 15:51:12 +09:00
Dan Balasescu
d75543ad68 Simplify GetMaximumAchievableCombo further 2022-08-29 15:36:10 +09:00
Dan Balasescu
423f6f90f2 Remove async calls from ScoreManager 2022-08-29 15:34:08 +09:00
Dan Balasescu
b2e80ca7f0 Don't include misses in failed score statistics 2022-08-29 15:27:19 +09:00
Salman Ahmed
3ff2058975 Fix back-to-front fallback comparison in HitObjectOrderedSelectionContainer 2022-08-29 09:23:53 +03:00
Dean Herbert
90b9c02ac6 Remove "internal" identifier as unnecessary 2022-08-29 14:01:15 +09:00
Dan Balasescu
c0b13c7e1f Refactor ScoreProcessor ComputeScore() methods 2022-08-29 13:51:10 +09:00
HiddenNode
62210bce4e Fixed issues found in UprightAspectMaintainingContainer 2022-08-29 00:08:19 +01:00
its5Q
0cc6a76c17 Fix crash with legacy import from incomplete installs 2022-08-28 14:13:38 +10:00
ansel
039f009562 Inherit difficulty multiplier display from ModsEffectDiplay 2022-08-27 20:26:05 +03:00
ansel
3e828c3416 Move base layout from DifficultyMultiplierDisplay to another class 2022-08-27 20:11:38 +03:00
Dan Balasescu
cf6bb3b030
Merge pull request #19958 from peppy/fix-fail-freq-stuck
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-27 00:58:41 +09:00
Salman Ahmed
764ab9f095
Merge branch 'master' into text-selection-sfx 2022-08-26 17:50:03 +03:00
Dan Balasescu
289b6f1a58
Merge pull request #19924 from peppy/fix-playlist-overlay-test-failures
Fix intermittent test failures in `TestScenePlaylistOverlay`
2022-08-26 23:36:16 +09:00
Dean Herbert
470bec7949 Move private method down 2022-08-26 23:29:03 +09:00
Dean Herbert
9c64520f8f
Merge pull request #19909 from peppy/framework-ini-in-sentry
Include framework configuration in sentry output
2022-08-26 23:13:26 +09:00
Dean Herbert
e4100ee3f1
Merge branch 'master' into text-selection-sfx 2022-08-26 22:05:32 +09:00
Dean Herbert
b9d9bf3004
Merge pull request #19938 from frenzibyte/fix-multi-spectator-results-screen
Fix multi-spectator potentially getting stuck for passed players
2022-08-26 21:53:17 +09:00
Dan Balasescu
17a12807de
Merge branch 'master' into framework-ini-in-sentry 2022-08-26 21:30:07 +09:00
Salman Ahmed
a3e595a9aa Update comment to include inserted indices 2022-08-26 14:51:19 +03:00
Salman Ahmed
81c0a641b4 Fix selection fallback path not updated to check inserted indices 2022-08-26 14:51:08 +03:00
HiddenNode
24edffcbc4 Moved ScaleMode to UprightAspectMaintainingContainer.cs 2022-08-26 12:47:12 +01:00
Salman Ahmed
f38194fb40 Merge branch 'master' into carousel-maintain-selection-over-update 2022-08-26 14:35:19 +03:00
Dean Herbert
6dc859973b
Merge branch 'master' into fix-playlist-overlay-test-failures 2022-08-26 20:25:53 +09:00
Dan Balasescu
35d262fc5d
Merge branch 'master' into no-gameplay-clock-beat-synced-container 2022-08-26 20:25:23 +09:00
Dean Herbert
90ff0864c0
Merge branch 'master' into no-gameplay-clock-editor-offset 2022-08-26 20:25:21 +09:00
Dan Balasescu
91e044542d
Merge pull request #19828 from peppy/no-gameplay-clock-gameplay-offset
Introduce `FramedBeatmapClock` (and use in gameplay flow)
2022-08-26 20:21:34 +09:00
Dean Herbert
d6359b00ad Fix filename mismatch 2022-08-26 19:20:36 +09:00
Dean Herbert
cd90536e4b Remove Track access in Timeline 2022-08-26 18:25:48 +09:00
Dean Herbert
4b72e55770 Fix various test scenes not adding EditorClock to the draw hierarchy 2022-08-26 18:08:43 +09:00
Dean Herbert
12d6d6793c Move EditorClock processing to Update and always decouple 2022-08-26 18:08:43 +09:00
Dean Herbert
fec744a7fe Add global FramedBeatmapClock for BeatSyncProvider components 2022-08-26 17:48:21 +09:00
Dean Herbert
31e459364b Use FramedBeatmapClock in EditorClock 2022-08-26 17:28:58 +09:00
Dean Herbert
ed0843aa84 Reword xmldoc regarding final clock source to read better 2022-08-26 16:46:22 +09:00
Dean Herbert
2c780eab5f Merge branch 'master' into fix_progress_bar_info 2022-08-26 16:14:21 +09:00
Dean Herbert
a40355186a Tidy up constructor field initialisation 2022-08-26 16:00:20 +09:00
Dean Herbert
23efec6505 Fix naming and comment typos 2022-08-26 15:57:36 +09:00
Dean Herbert
9862b79b47 Fix typo in long comment 2022-08-26 15:20:09 +09:00
HiddenNode
d98357aa57 Made text inside SongProgressInfo scale. 2022-08-26 01:30:44 +01:00
HiddenNode
29f3724047 Changed UprightUnscaledContainer to UprightUnstretchedContainer. 2022-08-26 01:28:57 +01:00
Dean Herbert
a260d7872d Update framework 2022-08-25 21:50:10 +09:00
Dean Herbert
a546aa2673 Clamp SpectatorPlayerClock's elapsed calculation to avoid player clocks getting too far ahead 2022-08-25 21:33:33 +09:00
Dean Herbert
ae38c9e58d Update framework 2022-08-25 19:18:17 +09:00
Dean Herbert
510d9ac79f Merge branch 'master' into text-selection-sfx 2022-08-25 19:18:14 +09:00
Dan Balasescu
9bca7223f6 Adjust xmldoc to better explain score contribution 2022-08-25 17:16:30 +09:00
Dan Balasescu
e2e10a8f26 Add some explanatory comments to conditions 2022-08-25 17:14:53 +09:00
Dean Herbert
3a17c6df08 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-25 16:24:55 +09:00
Salman Ahmed
6840e906e7 watchedUsers -> watchedUsersRefCounts 2022-08-25 09:50:52 +03:00
Salman Ahmed
eb57ea76ab
Merge branch 'master' into legacy-combo-increase 2022-08-25 09:46:12 +03:00
Dean Herbert
a6ed589db4 Remove guard against RemoveFilters running more than once
It turns out this is required to remove some filters immediate, and some
later. Weird.
2022-08-25 14:47:33 +09:00
Dean Herbert
ad3dd1c700 Fix a couple of oversights regarding track nullability 2022-08-25 14:45:00 +09:00
Dean Herbert
ec60e16439 Apply NRT to FailAnimation 2022-08-25 14:35:42 +09:00
Dean Herbert
8f4a953d11 Ensure fail animation sequence isn't run after the player exit sequence has started 2022-08-25 14:26:42 +09:00
Dean Herbert
4c45f7d938 Ensure FailAnimation can't be Started after filters are already removed 2022-08-25 14:26:20 +09:00
Salman Ahmed
146cc62f00
Merge branch 'master' into maximum-statistics-2 2022-08-25 08:18:44 +03:00
Dan Balasescu
17029f0b92 Ensure clones don't reference to MaximumStatistics 2022-08-25 13:58:58 +09:00
Bartłomiej Dach
968f656585
Merge branch 'master' into copyexternalurl-dialog 2022-08-24 21:21:11 +02:00
Ryuki
5cddc7ed1f
Code cleanup (CPS) 2022-08-24 17:13:23 +02:00
Jamie Taylor
da7f8270da
Fix incorrect cast 2022-08-24 22:31:28 +09:00
Jamie Taylor
dc829334a1
Update for framework-side changes. 2022-08-24 22:19:32 +09:00
Dan Balasescu
e7cbb6c63d Fix test failures/nullability 2022-08-24 19:53:16 +09:00
Dan Balasescu
c9ff39f8c3 Add HitResult.LegacyComboIncrease 2022-08-24 19:46:41 +09:00
Dan Balasescu
5ec95c9269 Update ScoreProcessor to make use of MaximumStatistics 2022-08-24 19:46:41 +09:00
Dean Herbert
f3847b90fd Tidy up attach logic 2022-08-24 19:36:01 +09:00
Dean Herbert
5129716612 Merge branch 'master' into kps 2022-08-24 18:18:45 +09:00
Dean Herbert
2af8c4a2ea
Merge pull request #19904 from novialriptide/add-date-created-sort
Add date submitted sorting
2022-08-24 17:43:28 +09:00
Dean Herbert
6a0d23cf96 Nest dialog class and apply NRT 2022-08-24 17:39:22 +09:00
Dean Herbert
9f9deef438 Reword slightly 2022-08-24 17:37:41 +09:00
Dan Balasescu
cc648a90bc Actually save maximum statistics 2022-08-24 17:28:41 +09:00
Dan Balasescu
d947a6cb59 Add Realm migration 2022-08-24 17:28:41 +09:00
Dan Balasescu
f70af779a4 Add maximum statistics to ScoreInfo/SoloScoreInfo 2022-08-24 17:28:41 +09:00
Dean Herbert
854121c600
Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-24 17:16:04 +09:00
Dean Herbert
0fd6f90848
Merge pull request #19934 from novialriptide/copyexternalurl-user
Add profile url context menu to user container
2022-08-24 17:14:06 +09:00
Dean Herbert
27b57947e4 Rename PlayerArea.GameplayClock to SpectatorPlayerClock for clarity 2022-08-24 17:13:14 +09:00
Dean Herbert
5f01f461b3 Ensure elapsed time is always non-zero when advancing SpectatorPlayerClock 2022-08-24 17:13:14 +09:00
Andrew Hong
9ee26c575d Made button blue 2022-08-24 04:04:44 -04:00
Dean Herbert
af56cd0126 Fix merge breakage 2022-08-24 16:52:36 +09:00
Dean Herbert
5079e0d83d Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-24 16:52:10 +09:00
Salman Ahmed
e378c5b866 Remove no longer necessary switch case 2022-08-24 10:50:40 +03:00
Andrew Hong
ec5fd7ac1d Remove possible 'System.NullReferenceException' 2022-08-24 03:42:16 -04:00
Khang
adea29c106 Fix test failures 2022-08-24 03:37:33 -04:00
Salman Ahmed
8f4a2b4936 Separate passed/failed states from calling EndGameplay 2022-08-24 10:36:13 +03:00
Andrew Hong
b24513038c Add popupdialog button to copy url 2022-08-24 03:35:19 -04:00
Andrew Hong
a8867d4245
Merge branch 'master' into add-date-created-sort 2022-08-24 03:23:27 -04:00
Andrew Hong
6344b87b14
Merge branch 'master' into copyexternalurl-user 2022-08-24 03:12:00 -04:00
Dean Herbert
7f9246637a Simplify MultiSpectatorScreen hierarchy construction 2022-08-24 16:08:48 +09:00
Andrew Hong
edd50dc05b Add profile url context menu to user container 2022-08-24 03:07:03 -04:00
Dean Herbert
7c1fc4814e Remove unused CreateMasterGameplayClockContainer method 2022-08-24 16:03:38 +09:00
Dean Herbert
871365bbb0 Inline ReadyToStart action binding for added safety 2022-08-24 16:03:38 +09:00
Dean Herbert
6c50f618a3 Don't use bindable flow for masterState 2022-08-24 16:03:38 +09:00
Dean Herbert
683d49c608 Move MasterClockState handling in to SpectatorSyncManager 2022-08-24 16:03:38 +09:00
Dean Herbert
d33d705684 Make WaitingOnFrames non-bindable 2022-08-24 16:03:38 +09:00
Dean Herbert
d05d8aeb22 Simplify interface implementations 2022-08-24 16:03:38 +09:00
Dean Herbert
2f5be6efca Tidy up ProcessFrame and privatise const 2022-08-24 16:03:38 +09:00
Dean Herbert
b564c34dbc Don't process master clock (is a noop) 2022-08-24 16:03:38 +09:00
Salman Ahmed
2fa8b61f3c Handle completion user state updates during spectating 2022-08-24 10:02:21 +03:00
Salman Ahmed
7e5086c8d7 Fix spectator client not handling multiple watch calls properly 2022-08-24 10:02:21 +03:00
Dean Herbert
b4eede61fb Use readonly instead of get-only 2022-08-24 15:28:18 +09:00
Dean Herbert
0b271fe4b3 Fix incorrect IsRunning value 2022-08-24 15:27:31 +09:00
Dean Herbert
b6254a1f25 Remove unnecessary casting 2022-08-24 15:23:31 +09:00
Dean Herbert
a86fc6f248 Change running state of SpectatorPlayerClock using IsRunning 2022-08-24 15:17:56 +09:00
Dean Herbert
0c9a4ec13c Don't expose MasterClock in SpectatorClockSyncManager 2022-08-24 15:13:08 +09:00
Dean Herbert
995e6664b6 Rename spectator clock sync classes 2022-08-24 15:13:08 +09:00
Dean Herbert
31f657fe01 Remove ISpectatorPlayerClock interface
Too many levels of redirection.

One interface with one implementation is not useful, IMO.
2022-08-24 15:12:57 +09:00
Dean Herbert
882dd93942 Remove ISyncManager interface
Too many levels of redirection.

One interface with one implementation is not useful, IMO.
2022-08-24 15:12:57 +09:00
Dean Herbert
22963ab951 Fix multiplayer spectator getting stuck 2022-08-24 15:12:57 +09:00
Khang
c9f364d6a0 Document why beatLength can be NaN 2022-08-24 02:10:19 -04:00
Dean Herbert
ec31f37ff7 Accept MasterGameplayClockContainer rather than generic clock 2022-08-24 14:51:14 +09:00
Dean Herbert
85fbe7abca Fix multiplayer spectator getting stuck 2022-08-24 13:11:53 +09:00
Khang
c1ced85b5e Move GenerateTicks to LegacyDifficultyControlPoint and remove support for NaN slider velocity support for other rulesets (at least for now) 2022-08-23 14:07:18 -04:00
Andrew Hong
3cedd1cd1c
Merge branch 'master' into add-date-created-sort 2022-08-23 12:00:30 -04:00
Dean Herbert
c840977acb Fix filtering potentially not running after new items added 2022-08-23 20:42:20 +09:00
Dean Herbert
29fed0c4a3 Avoid setting the source clock until gameplay is ready to start
Without this change, the audio track may audibly seek during load
proceedings.
2022-08-23 18:34:17 +09:00
Dean Herbert
ec61a94dc9 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-23 17:36:06 +09:00
Dean Herbert
db004c9d9f Fix collection dropdown potentially overwriting value change with schedule hotfix 2022-08-23 17:33:53 +09:00
Khang
fbe8de2757 Disable the GetHashCode warning instead of using bindables 2022-08-23 00:57:25 -04:00
Dean Herbert
553897f2f0 Remove AddClock method to CreateManagedClock 2022-08-23 13:52:43 +09:00
Dean Herbert
1191b6c080 Remove unused Source_Set implementation on ISpectatorPlayerClock 2022-08-23 13:44:41 +09:00
Khang
a81672f3dc Use an infinite tick distance instead of directly disabling tick generation for SliderEventGenerator 2022-08-22 23:31:24 -04:00
Khang
8f708c1dcf Turn GenerateTicks into a bindable to pass code quality tests 2022-08-22 22:43:44 -04:00
Khang
9f08c474ca Treat NaN slider velocity timing points as 1.0x but without slider ticks 2022-08-22 21:58:38 -04:00
Khang
e8d4bc4497 Allow NaN during beatmap parsing if desired 2022-08-22 21:04:26 -04:00
Andrew Hong
55f1b43329 Removed check 2022-08-22 13:41:36 -04:00
HiddenNode
1098e24c40 Improved UprightUnscaledContainer 2022-08-22 14:24:52 +01:00
Dan Balasescu
c59298f0ce Enable NRT 2022-08-22 21:55:04 +09:00
Dean Herbert
489e172a76 Simplify track start/stop/paused tracking 2022-08-22 19:43:18 +09:00
Dan Balasescu
5d3d8681d4 Invert creation of clocks in multi spectator 2022-08-22 19:14:06 +09:00
Dean Herbert
22072ee16a Include framework configuration in sentry output 2022-08-22 17:03:30 +09:00
Dean Herbert
c86a75aa5f Update OsuConfigManager in line with ConfigManager logging changes 2022-08-22 17:03:20 +09:00
Andrew Hong
bcab7aea26
Merge branch 'master' into add-date-created-sort 2022-08-22 04:02:46 -04:00
Andrew Hong
c2036d3893 Moved filter exclusion 2022-08-22 03:39:46 -04:00
Dean Herbert
758a554180 Add basic check for correct ruleset API version 2022-08-22 16:35:08 +09:00
Dean Herbert
f5710d8000 Add ruleset API versioning 2022-08-22 16:35:08 +09:00
Dan Balasescu
3fb3a18e68
Merge pull request #19906 from peppy/fix-editor-crash-mobile
Fix editor crashing on mobile releases
2022-08-22 16:31:19 +09:00
Andrew Hong
09ef13908c Adjust to reviews 2022-08-22 03:20:27 -04:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Dean Herbert
19bba143ee Fix editor crashing on mobile releases 2022-08-22 15:57:24 +09:00
Dan Balasescu
0815b01b75
Merge pull request #19783 from bdach/mod-select/presets-dont-open-customisation
Fix selecting preset containing Difficulty Adjust automatically opening customisation panel
2022-08-22 15:44:00 +09:00
Dan Balasescu
2bc0a68911
Merge pull request #19830 from peppy/test-ruleset-compatibility
Test ruleset compatibility during initial startup to avoid runtime errors
2022-08-22 15:24:46 +09:00
Dean Herbert
d199b3b100 Update GetVariantName to also support localisation 2022-08-22 14:51:00 +09:00
Dean Herbert
9d31f61ca9 Don't throw when a ruleset type is completely missing 2022-08-22 14:35:44 +09:00
Dean Herbert
594353fca1
Merge pull request #19905 from smoogipoo/fix-text-boldening
Fix language change removing mod column bold text
2022-08-22 14:15:22 +09:00
Dean Herbert
e6b669db8e Elaborate with example of GameplayClockContainer managing its own Stop state 2022-08-22 14:14:44 +09:00
Dean Herbert
af2e82d7d5 Move operation of setting GameplayClockContainer.StartTime to Reset call 2022-08-22 14:11:06 +09:00
Dean Herbert
17a1df281c Fix incorrect implicit null specification for user audio offset bindable 2022-08-22 14:03:51 +09:00
Dean Herbert
ba23ce75c2 Make FramedBeatmapClock.Track non-null 2022-08-22 14:02:41 +09:00
Dean Herbert
85d0b7fc57 Reword class xmldoc to better explain that offset application is optional 2022-08-22 14:02:20 +09:00
Dan Balasescu
b81c7ffc60
Merge pull request #19868 from peppy/fix-test-deadlocks
Add safeties to avoid deadlock in `SubmittingPlayer`
2022-08-22 13:17:41 +09:00
Dan Balasescu
e1fa959f0b Fix language change removing mod column bold text 2022-08-22 13:00:47 +09:00
Andrew Hong
c6a739f5a8 Add date submitted sorting 2022-08-21 23:09:33 -04:00
Bartłomiej Dach
aa15e84bea
Adjust rounding in mod select difficulty multiplier to match song select footer
The 0.01 `Precision` spec on `DifficultyMultiplierDisplay.Current` would
cause the difficulty multiplier to use a different midpoint rounding
strategy than `double.ToString()`, which is the one that the song select
footer relies on. For example, a value of 0.015 would be rounded down
to 0.01 by `double.ToString()`, but rounded up to 0.02
by `BindableDouble`.

Fix the discrepancy by just deleting the `Precision` spec. Since the
value of the bindable would go through `ToLocalisableString(@"N2")`
anyway, it was redundant as is.

Fixes #19889.
2022-08-21 23:15:49 +02:00
Ryuki
5cf54a788a
Code cleanup for CPS counter 2022-08-21 16:00:58 +02:00
naoei
29ef1c8db8 Check if StatisticItem.Name is null or empty 2022-08-20 21:48:53 -04:00
naoei
9386d352b8 Make StatisticItem.Name not nullable 2022-08-20 21:48:35 -04:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization 2022-08-20 21:39:10 -04:00
Dean Herbert
8566e93c72 Guard against SubmittingPlayer potentially getting stuck waiting on request forever 2022-08-20 17:19:17 +09:00
Dean Herbert
a1e849c4db Ensure that DummyAPIAccess runs all queued tasks on disposal 2022-08-20 16:22:35 +09:00
Dean Herbert
da407aa827
Merge branch 'master' into kps 2022-08-20 15:24:58 +09:00
Dean Herbert
cbdd870ecf
Merge pull request #19693 from its5Q/editor-localisation
Add localisation support for beatmap editor setup
2022-08-20 11:51:57 +09:00
Dean Herbert
339f0b0cd2 Merge branch 'master' into no-gameplay-clock-gameplay-offset 2022-08-19 23:01:09 +09:00
Dean Herbert
7bf318541c Reword comment to hopefully read better 2022-08-19 20:57:55 +09:00
Dean Herbert
c3c44c19cd Use CompositeComponent in various locations 2022-08-19 20:43:15 +09:00
Dean Herbert
41321521e5 Update resources 2022-08-19 20:40:05 +09:00
Dean Herbert
426c4c9bf7 Update framework 2022-08-19 20:39:53 +09:00
Dean Herbert
3f0da14065 Delay start operation by one frame to allow children to see initial start time 2022-08-19 17:39:51 +09:00
Jamie Taylor
41408a3106
Add audio feedback for text selection 2022-08-19 15:51:27 +09:00
its5Q
4c24d8ed58 Improve string consistency 2022-08-19 03:17:05 +10:00
Dean Herbert
3eb1cda6aa Reorganise call order of Start / Reset to make more sense 2022-08-19 01:46:36 +09:00
Ryuki
3de35a1518
Update calculator and tests to match changes on clocks 2022-08-18 18:40:02 +02:00
Dean Herbert
1d774f3f12 Remove redundant ProcessFrame calls
Of note, I'm not sure whether the `IsPaused` check was meaningful, but
it's not reimplemented in the new `FramedBeatmapClock`.
2022-08-19 01:39:02 +09:00
Dean Herbert
7bc96431a7 Remove unnecessary virtual spec from GameplayClockContainer.Seek 2022-08-19 01:39:01 +09:00
Dean Herbert
0e228791c0 Remove unnecessary Reset call in MultiSpectatorScreen 2022-08-19 01:39:01 +09:00
Dean Herbert
43879633db Ensure setting a StartTime on a GameplayClockContainer always resets to the new time 2022-08-18 18:54:10 +09:00
Dean Herbert
343efa1d11 Split OffsetCorrectionClock out of MasterGameplayClockContainer 2022-08-18 18:54:10 +09:00
Dean Herbert
2c6fd1ec6e Fix `GameplayClockContainer potentially resetting external seeks 2022-08-18 18:54:10 +09:00
Dean Herbert
bcc153f738 Add xmldoc and reorganise FramedBeatmapClock 2022-08-18 18:54:10 +09:00
Dean Herbert
6003afafc7 Use FramedBeatmapClock in GameplayClockContainer 2022-08-18 18:54:10 +09:00
Dean Herbert
32e127a6fa Add FramedBeatmapClock
Expose `IsCoupled` in `FramedBeatmapClock` for now to provide editor compatibility
2022-08-18 18:54:10 +09:00
Dan Balasescu
fa167b1d12
Merge pull request #19779 from peppy/no-gameplay-clock
Remove all remaining usage of `GameplayClock`
2022-08-18 18:52:57 +09:00
Dean Herbert
b0a740071e Centralise logging of failed ruleset loads 2022-08-18 16:14:38 +09:00
Dean Herbert
e0edaf996f Test ruleset compatibility during initial startup to avoid runtime errors
As we continue to break the ruleset API, it makes more sense to
proactively check known changes and bail early during ruleset loading to
avoid a user experiencing a crash at a random point during execution.

This is a RFC and needs to be tested against known broken rulesets.
There might be some other calls we want to add in addition to the ones
I've listed.
2022-08-18 16:03:38 +09:00
Dan Balasescu
7512c126b7 Upgrade LocalisationAnalyser and disable warning 2022-08-18 15:08:24 +09:00
Dean Herbert
9735728cf6 Reverse conditionals to better define intent in addSourceClockAdjustments 2022-08-18 15:08:09 +09:00
Bartłomiej Dach
d06959e1dd
Update incorrect xmldoc 2022-08-17 22:03:35 +02:00
Bartłomiej Dach
3d14b14cfe
Use alternative method for checking panel readiness to eliminate bool flag 2022-08-17 21:56:11 +02:00
Dean Herbert
e7ddbc41c8
Merge branch 'master' into no-gameplay-clock 2022-08-17 22:21:10 +09:00
Dean Herbert
e1e6be039a Don't create destination stream if backup source doesn't exist 2022-08-17 18:20:47 +09:00
Dean Herbert
fca076b988 Fix edge case of realm backup cascading failure 2022-08-17 17:17:22 +09:00
Dean Herbert
a5ac69a554 Update various dependencies 2022-08-17 16:57:56 +09:00
Dean Herbert
7191fbb6d6 Update framework 2022-08-17 16:40:07 +09:00
Dan Balasescu
0cf3c5570a
Merge pull request #19800 from peppy/fix-editor-ear-rape
Fix slider ticks playing back at infinite rate while making changes to a slider in the editor
2022-08-17 15:50:58 +09:00
Dean Herbert
20256aad11 Merge branch 'master' into no-gameplay-clock 2022-08-17 15:21:20 +09:00
Dean Herbert
21b364cd77 Fix nullref in tests as initialBeatmap may be null 2022-08-17 14:48:00 +09:00
Dean Herbert
6b9dec5996 Restore original event flow to allow for OnSuspend case to work correctly 2022-08-17 14:32:21 +09:00
Dean Herbert
8ce50e98a6 Move delegate debounce logic to Editor itself 2022-08-17 14:04:57 +09:00
Dan Balasescu
8b5ac55fca
Remove newline 2022-08-17 13:48:06 +09:00
Dean Herbert
d9346abb9c Tweak intro timings more and ensure non-theme tracks play from preview point 2022-08-17 13:20:40 +09:00
Dean Herbert
37799e3b31 Allow preparing preview point without looping 2022-08-17 13:20:24 +09:00
Bartłomiej Dach
3109066e34
Rename {Requires -> Pending}Configuration 2022-08-16 22:45:24 +02:00
Bartłomiej Dach
6bfdfeb153
Refactor mod panel selection logic to avoid overwriting 2022-08-16 22:41:35 +02:00
Bartłomiej Dach
1861f34427
Merge branch 'master' into editor-setup-no-state-change 2022-08-16 21:46:43 +02:00
Dan Balasescu
e689d4be96
Merge pull request #19530 from peppy/store-modified-time
Add `BeatmapInfo.LastUpdate` to track the time of local changes
2022-08-16 20:20:41 +09:00
Dan Balasescu
24fd411720
Merge pull request #19594 from BlauFx/improve_retry_behaviour
Skip song intro on quick restart
2022-08-16 20:18:12 +09:00
Dan Balasescu
57f48ca4d0
Merge pull request #19802 from peppy/improve-intro-timings
Improve intro timings when not using osu! theme
2022-08-16 20:07:16 +09:00
Dean Herbert
5ac314077a Improve intro timings when not using osu! theme
Roughly as proposed in https://github.com/ppy/osu/discussions/19687.
2022-08-16 18:19:30 +09:00
Dean Herbert
1a7ddc0040 Fix re-importing existing collections not correctly adding new items 2022-08-16 16:43:05 +09:00
Dean Herbert
ee153a345c Add a few more overlooked beatmap save states on setup screen modifications 2022-08-16 16:31:56 +09:00
Dean Herbert
5238a5c115 Merge branch 'master' into editor-setup-no-state-change 2022-08-16 16:28:29 +09:00
Dean Herbert
9d2c2b71cf Change conditional to check for insertions in addition to modifications
It is possible that the import process itself marks the previous
beatmaps as deleted due to an overlap in metadata or otherwise.
2022-08-16 16:21:36 +09:00
Dean Herbert
c8fdfd298c Merge branch 'master' into carousel-maintain-selection-over-update 2022-08-16 16:04:32 +09:00
Dean Herbert
11f38e539f Rename property to LastLocalUpdate 2022-08-16 16:01:19 +09:00
Dean Herbert
c7db4a532c Merge branch 'master' into store-modified-time 2022-08-16 15:53:51 +09:00
Dean Herbert
ea50936d71 Fix slider ticks playing back at infinite rate while making changes to a slider in the editor 2022-08-16 15:27:58 +09:00
its5Q
e870ac6456 Fix code quality for CI 2022-08-16 15:51:54 +10:00
Dean Herbert
63819648df Fix up flow of actual skip operation 2022-08-16 14:40:02 +09:00
Dean Herbert
9a1a7bae89 Make test actually test things 2022-08-16 14:40:02 +09:00
Dean Herbert
6761f869f9 Modify flow to avoid weird bindable and value resetting 2022-08-16 14:17:35 +09:00
Dean Herbert
c9baadcf88 Merge branch 'master' into improve_retry_behaviour 2022-08-16 13:06:04 +09:00
Bartłomiej Dach
10daac6752
Only open mod customisation panel on explicit selection of single mod 2022-08-15 20:38:23 +02:00
Bartłomiej Dach
f860bc11ee
Fix several schedule-related issues arising from new column addition 2022-08-15 20:38:16 +02:00
Bartłomiej Dach
5ff2e41a55
Add preset column to mod select test scene 2022-08-15 18:38:37 +02:00
its5Q
797a8da996 Replace osu-web strings with new strings and merge to single file 2022-08-16 01:14:16 +10:00
Dean Herbert
61a8873266 Ensure GameplayClockContainer's FramedClock is always non-null 2022-08-15 20:22:36 +09:00
Dean Herbert
1696a905ba Reduce exposed properties in GameplayClockContainer 2022-08-15 20:22:36 +09:00
Dean Herbert
704568ae3b Remove remaining usage of GameplayClock 2022-08-15 20:22:36 +09:00
Dean Herbert
43442dbf65 Merge branch 'even-less-gameplay-clock' into even-nicer-frame-stability-clock 2022-08-15 20:22:30 +09:00
Dean Herbert
87760bbc06 Fix IsCatchingUp not being in correct state 2022-08-15 20:17:48 +09:00
Dean Herbert
1fc3d005c0 Seal FrameStabilityContainer
No one should ever derive from this class. It is already too complex.
2022-08-15 19:31:02 +09:00
Dean Herbert
fff2b57905 Tidy up and document FrameStabilityContainer 2022-08-15 19:28:12 +09:00
Dean Herbert
9bc2e91de0 Fix incorrect handling of reference clocks when no parent IGameplayClock is available 2022-08-15 19:19:19 +09:00
Dean Herbert
828b6f2c30 Remove unnecessary setClock shenanigans 2022-08-15 19:19:19 +09:00
Dean Herbert
27569e2ed5 Remove FrameStableClock (and redirect usages to FrameStabilityContainer) 2022-08-15 19:19:19 +09:00
Dean Herbert
cc982d374c Cache self rather than GameplayClock 2022-08-15 18:30:53 +09:00
Dean Herbert
c5f8529d20 Mark unused methods as NotImplemented for safety 2022-08-15 18:30:53 +09:00
Dean Herbert
f81c7644b4 Make GameplayClockContainer also an IGameplayClock and expose to remaining tests 2022-08-15 18:30:53 +09:00
Dean Herbert
c8764cb333 Move all usage of GameplayClock to IGameplayClock 2022-08-15 18:30:53 +09:00
Dean Herbert
6d78218142 Update usages of GameplayClockContainer.GameplayClock to access properties directly 2022-08-15 18:08:49 +09:00
Dean Herbert
224f3eaa84 Make GameplayClockContainer non-abstract and use in MultiSpectatorPlayer 2022-08-15 18:08:49 +09:00
Dean Herbert
95c1b488a7 Add non-null assertion to FrameStabilityContainer 2022-08-15 18:08:49 +09:00
Dean Herbert
623e90a7b2 Fix div-by-zero in SongProgress when no object duration could be calculated 2022-08-15 15:05:35 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization 2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7 Localise hit result name 2022-08-14 14:57:02 -04:00
naoei
18ce784ae0 Allow StatisticItem's name param to be nullable 2022-08-14 14:51:35 -04:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond" 2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener and KeysPerSecondCalculator not rely on events to add timestamps 2022-08-14 19:31:14 +02:00
Ryuki
d5f10cbb9d
Revert 787dee24 and initialize calculator in HUDOverlay 2022-08-14 18:53:00 +02:00
Bartłomiej Dach
05ddfe7522
Merge branch 'master' into editor-setup-no-state-change 2022-08-14 18:21:31 +02:00
basseX
383afe04f3 Remove not needed override 2022-08-14 15:15:36 +02:00
basseX
932becc4b2 Remove CommentMarkdownTextFlowContainer and rather use base-class OsuMarkdownTextFlowContainer 2022-08-14 10:11:49 +02:00
basseX
b05acb0073 Make CommentMarkdownTextFlowContainer render images 2022-08-13 21:32:24 +02:00
Ryuki
e08f71797e
Change displayed metric from "KPS" to "clicks/s" 2022-08-13 04:27:26 +02:00
Dan Balasescu
c02990ad67
Merge pull request #19718 from peppy/fix-playlist-imported-items
Fix playlist overlay showing new imports when they don't match collection filter
2022-08-12 23:27:26 +09:00
Dan Balasescu
e6ecdf7457
Merge pull request #19715 from peppy/relax-mod-multiplier
Adjust various mod multipliers to avoid competition with normal scores
2022-08-12 23:12:57 +09:00
Dan Balasescu
9d1b0b5836 Revert sealing 2022-08-12 22:32:27 +09:00
Dean Herbert
e5e9841652 Apply multiple other mod debuffs as decided in pull request discussion 2022-08-12 18:58:09 +09:00
Dean Herbert
b76e5757e1 Fix InSelectedCollection not being applied to newly imported beatmaps 2022-08-12 15:06:34 +09:00
Dean Herbert
5111bad86c Refactor TestScenePlaylistOverlay to use realm for testing
Removes the dual-purpose flow which existed only for testing.
2022-08-12 15:06:34 +09:00
Dean Herbert
38afc53bad Update interactive visual test runs to use development directory 2022-08-12 13:40:29 +09:00
Dean Herbert
ac4213ecee Adjust relax mod multiplayer to 0.5x
Has previously been discussed internally. Probably good to get this out
before the next full reprocess of scores server-side.

The multiplier here was @smoogipoo's suggested value. I'd be willing to
go lower if this is seen at too high, but it should be a round number to
make it easy for users to understand the max score available to them.
2022-08-12 12:30:13 +09:00
Andrew Hong
667b700a28
Merge branch 'master' into open-profile-hotkey 2022-08-11 13:04:19 -04:00
Dan Balasescu
d88f247594 Fix possible null reference inspection 2022-08-11 20:38:08 +09:00
Ryuki
9b252b1d81
Make KeysPerSecondCalculator dependency in HUDOverlay nullable 2022-08-11 11:58:30 +02:00
Ryuki
d29cba80e9
Remove useless comment in KeysPerSecondCounter 2022-08-11 11:01:16 +02:00
Ryuki
787dee249d
Move KeysPerSecondCalculator instantiation from HUDOverlay to Player
This prevents messing with *future* Skin (de)serialization
2022-08-11 10:37:16 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage 2022-08-11 10:01:39 +02:00
Dean Herbert
865d63f768 Refactor APIAccess main loop to read better 2022-08-11 15:43:39 +09:00
Dean Herbert
47196b19a5 Stop setting Online state in handleRequest
This is already handled amicably by the `Failing` -> `Connecting` flow.
Having this set in `handleRequest` throws things off, potentially
leading to the `Online` state change before the user has been populated.
2022-08-11 14:36:30 +09:00
Dean Herbert
7ec67c28b9 Set Online state sooner in connection process
This isn't really required as such, but feels more correct. There was no
reason for it to wait for the friend population to complete before
deeming things to be "online".
2022-08-11 14:35:56 +09:00
Dean Herbert
e01383b138 Tidy up user passing logic 2022-08-11 13:17:17 +09:00
Dean Herbert
e5b534bb26 Add thread safety to APIAccess.LocalUser 2022-08-11 12:45:26 +09:00
Ryuki
0a94fb4039
Make KPS counter strictly depending only on KPS calculator
`KeysPerSecondCounter` now depends on `KeysPerSecondCalculator` via the
`BackgroundDependencyLoaderAttribute` method, making it appear only in a
gameplay context without requiring `GameplayClock` without using it.
2022-08-11 00:46:39 +02:00
Ryuki
46e372cb99
Add more readiness checks in KeysPerSecondCalculator 2022-08-11 00:43:15 +02:00
Ryuki
9e80d3f71c
Re-adjust timespan conditions in KeysPerSecondCalculator 2022-08-11 00:42:22 +02:00
Andrew Hong
60abe83398 Remove newline 2022-08-10 17:56:36 -04:00
naoei
7cbe2fa522 Enable localisation for SettingSourceAttribute 2022-08-10 16:12:16 -04:00
naoei
6e13cf82e8 Don't render statistic header if display string is null 2022-08-10 16:05:34 -04:00
naoei
1e356f6137 Revert localisation for GetDisplayNameForHitResult
Came across an issue where `LeaderboardScoreTooltip` attempts to capitalize all letters for the `displayName`.

Unsure if I should completely ignore it and localise it anyway.
2022-08-10 16:03:59 -04:00
naoei
60dae70a18 Change mod description type to LocalisableString 2022-08-10 15:54:48 -04:00
naoei
8cb2e11766 Change most ruleset-accessible string types to Localisable strings 2022-08-10 15:51:11 -04:00
its5Q
2499b7f0cd Add localisation support for beatmap editor setup 2022-08-11 03:53:20 +10:00
Andrew Hong
11d480997a
Merge branch 'master' into open-profile-hotkey 2022-08-10 13:34:53 -04:00
Andrew Hong
396860d9e8 Move Hide() to OsuGame 2022-08-10 13:32:33 -04:00
Dan Balasescu
1721a91168
Merge pull request #19661 from peppy/overlay-key-binding-organisation
Reorganise global bindings and split out overlay bindings to make things easier to find
2022-08-10 21:18:28 +09:00
Dan Balasescu
98c7138803
Merge pull request #19586 from peppy/realm-versioning-for-debug
Version realm files for debug executions
2022-08-10 21:17:51 +09:00
Dan Balasescu
f9c6dc314b
Merge pull request #19678 from peppy/fix-file-comparisons-many-places
Fix audio track not correctly advancing when changing between certain beatmaps
2022-08-10 20:38:14 +09:00
Dan Balasescu
69cbf4185b Match class name to file 2022-08-10 19:53:40 +09:00
Dan Balasescu
76fea25668
Merge pull request #19646 from its5Q/settings-localisation
Add missing localisation for settings enums
2022-08-10 18:51:52 +09:00
Dean Herbert
6e9031b03e Update framework 2022-08-10 17:49:39 +09:00
its5Q
8f5bd437f6 Rename enum member to be more like the other 2022-08-10 18:41:53 +10:00
its5Q
231c331690
Rename keys to match enum members
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2022-08-10 18:31:57 +10:00
Dan Balasescu
c151cb4443
Merge pull request #19677 from peppy/fix-mobile-import-crash
Fix crash when attempting to import on mobile platforms
2022-08-10 16:11:38 +09:00
Dean Herbert
ef10d074e8 Update framework 2022-08-10 16:07:47 +09:00
Dean Herbert
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
Dean Herbert
5f10ec1955 Add extension methods for case insensitive file lookups 2022-08-10 15:48:25 +09:00
Dean Herbert
ddffa9b1bd Fix crash when attempting to import on mobile platforms
Regressed with NRT application to this file. It's probably the first
time we've actually hit this due to an optional DI that is actually not
available outside of tests.
2022-08-10 15:32:43 +09:00
Andrew Hong
6f1fdd4c34
Merge branch 'master' into open-profile-hotkey 2022-08-10 01:31:37 -04:00
Dan Balasescu
87133b9cc5
Merge pull request #19669 from peppy/abort-load-player-more
Handle cancellation at more points during `Player` initialisation
2022-08-10 13:53:27 +09:00
Dan Balasescu
888c4c8e08
Merge pull request #19662 from peppy/startup-correct-username
Use a placeholder user with the correct username during login process
2022-08-10 13:09:37 +09:00
Andrew Hong
8c7ede6111 Add proper toggling 2022-08-09 14:43:37 -04:00
Andrew Hong
7ed489b56d Add hotkey to Toolbar 2022-08-09 14:10:38 -04:00
Andrew Hong
b4fc2a0fc8
Merge branch 'master' into open-profile-hotkey 2022-08-09 13:41:21 -04:00
Dean Herbert
ad410fc88b Update resources 2022-08-10 01:50:23 +09:00
Dean Herbert
e8fef6e05c Update framework 2022-08-10 01:36:39 +09:00
its5Q
abca3d1b2a Prefix common strings for context 2022-08-10 00:35:19 +10:00
Dean Herbert
a5081826b7 Handle cancellation at more points during Player initialisation
As discussed in discord, this will help avoid null references during
cancellation which can otherwise be quite confusing to debug.
2022-08-09 23:25:19 +09:00
Dan Balasescu
4107049b08 Fix host room status showing ended after playing 2022-08-09 21:43:10 +09:00
Dan Balasescu
41af03dec5
Merge pull request #19597 from frenzibyte/hotfix-multi-spectator-results-screen
Fix multi-spectator potentially getting stuck for passed players (hotfix)
2022-08-09 21:11:10 +09:00
HiddenNode
2367dc9610 Improved KeepUprightAndUnscaled 2022-08-09 13:06:11 +01:00
Dean Herbert
551e1cf7ff Revert ordering and reword comment 2022-08-09 19:26:24 +09:00
Dean Herbert
940629f2f1 Fix database storing order being changed by previous changes 2022-08-09 18:18:03 +09:00
Dean Herbert
106932b906 Add null check in TestPlayer's disposal code to avoid cascading test failure 2022-08-09 18:15:50 +09:00
Dan Balasescu
efc4a129d9
Merge pull request #19658 from peppy/user-button-better-display
Display connecting / failing states on toolbar user display
2022-08-09 17:59:28 +09:00
Dean Herbert
4a312d5658 Use a placeholder user with the correct username during connecting process
This allows for various components (like gameplay) to obtain a correct
username even if the API is not yet in a connected state. The most
common case is during startup, where a connection may not have been
established yet, but the user's username was restored from their config
file.

By making the change, local scores will now have the correct username
(although avatar etc. will be missing, which I think it fine) even if
the API is not yet connected. Previously, they would show up as "Guest".
2022-08-09 17:13:09 +09:00
Dean Herbert
f9d0cc3c4e Change APIAccess.IsLoggedIn to also return true when connecting
All usages of this are made with the intention of showing data when an
api is going to eventually become available. In the case of a login
failure, components are also able to display a correct state.

With this change, it makes online components display in a more correct
state during startup or initial logging in phase.
2022-08-09 17:11:44 +09:00
Dean Herbert
beb3d41f0c Fix unsafe usage of APIAccess.LocalUser in BeatmapListingOverlay 2022-08-09 17:11:44 +09:00
Andrew Hong
ce67820d87
Merge branch 'master' into open-profile-hotkey 2022-08-09 04:10:27 -04:00
Andrew Hong
aee18135a9 Switch to toggle 2022-08-09 04:09:22 -04:00
Dean Herbert
961f5d4acc Reorganise global bindings section to be easier to find things 2022-08-09 17:08:31 +09:00
Dan Balasescu
d80db2aee7
Merge pull request #19639 from peppy/fix-fps-damping
Fix incorrect FPS damping implementation
2022-08-09 17:03:55 +09:00
Dean Herbert
a71c2bbe28 Split overlay toggles into own section in key bindings
Things were getting hard to find..
2022-08-09 17:01:38 +09:00
Andrew Hong
6903ce1bcc
Merge branch 'master' into open-profile-hotkey 2022-08-09 03:25:41 -04:00
Andrew Hong
a705c4f5d2 Moved ShowProfile to the bottom of the enum 2022-08-09 03:17:55 -04:00
Andrew Hong
04108a749e Rename translation key 2022-08-09 03:03:14 -04:00
Dean Herbert
47ca812faf
Merge pull request #19656 from smoogipoo/fix-gameplay-test-rerun
Fix gameplay tests crashing when run multiple times
2022-08-09 16:01:39 +09:00
Dean Herbert
32852e5b21 Fix potentially thread-unsafe LocalUser usage 2022-08-09 16:01:04 +09:00
Andrew Hong
ededaed5ef Remove unused import 2022-08-09 02:58:28 -04:00
Dean Herbert
5d8bd1de28 Share localised strings with expanded display message 2022-08-09 15:57:16 +09:00
Andrew Hong
3473347f35 Lowercase "p" 2022-08-09 02:56:12 -04:00
Dean Herbert
3f8cedff3a Add tooltips showing current connecting status 2022-08-09 15:51:27 +09:00
Dean Herbert
4da9482a3e Add ability for loading layer to not block input 2022-08-09 15:51:11 +09:00
Dean Herbert
c35b4ef914 Display connecting / failing states on toolbar user display 2022-08-09 15:51:10 +09:00
Andrew Hong
f65b7ef058 Add keybind for showing profile 2022-08-09 02:49:53 -04:00
Dean Herbert
c7313ac371 Allow LoadingLayer's spinning circle to scale smaller than before 2022-08-09 15:34:11 +09:00
Dan Balasescu
00bdd52cff Move to TestPlayer and add null check 2022-08-09 15:05:40 +09:00
Dan Balasescu
e79052c8a0
Merge pull request #19651 from bdach/mod-select/mod-preset-buggy-sounds
Fix spurious sample playbacks from already-removed mod preset panels
2022-08-09 15:00:47 +09:00
Dan Balasescu
6c671434ec Fix gameplay tests crashing when run multiple times 2022-08-09 14:41:36 +09:00
Ryuki
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
gathering

KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
BlauFx
0afa3a5ec8
Fix xml doc 2022-08-08 21:20:09 +02:00
Bartłomiej Dach
f74fb3491e
Use alternative implementation of preset panel cleanup 2022-08-08 21:08:54 +02:00
Bartłomiej Dach
e77f47e489
Merge branch 'master' into fix-collection-import-notification 2022-08-08 21:05:48 +02:00
BlauFx
f6e65cf1af
Improve implementation 2022-08-08 20:53:05 +02:00
Bartłomiej Dach
a0a6e1faee
Fix spurious sample playbacks from already-removed panels 2022-08-08 20:30:55 +02:00
Bartłomiej Dach
f21a51aa24
Simplify mirror copy of task logic in ModColumn 2022-08-08 19:20:50 +02:00
Bartłomiej Dach
00333fb0d2
Change ?? false test to == true for legibility 2022-08-08 19:19:13 +02:00
its5Q
9f043e725f Fix CI code quality 2022-08-08 22:06:23 +10:00
its5Q
5080d62e77 Add missing localisation for settings enums 2022-08-08 21:51:23 +10:00
BlauFx
fac2596eee
Change type from BindableBool to IBindable<bool> 2022-08-08 13:38:52 +02:00
BlauFx
cd68134565
Call skip method directly 2022-08-08 13:10:28 +02:00
Dean Herbert
cbe5cb5d03 Merge branch 'master' into carousel-maintain-selection-over-update 2022-08-08 18:01:26 +09:00
Dean Herbert
070d156e89 Simplify task logic in ModPresetColumn 2022-08-08 16:13:52 +09:00
Dean Herbert
4f7d63be29 Ignore very long periods of no frame drawing when showing FPS counter ms value 2022-08-08 15:21:49 +09:00
Dean Herbert
81c079c937 Fix incorrect damping implementation
I'm not sure what I was thinking with the weighting stuff. It wasn't
correct. Can most easily be noticed if suspending the app on iOS for a
considerable period, or pausing debugger.
2022-08-08 15:21:49 +09:00
Dean Herbert
6459dbd9e5 Fix collection import not showing progress notification 2022-08-08 14:56:16 +09:00
its5Q
68e7000620 Fix FPS counter disappearing when hovered over 2022-08-08 15:52:47 +10:00
Dean Herbert
237f72efbc Add missing null check on AudioManager 2022-08-08 13:31:57 +09:00
Dean Herbert
a8dee17513 Fix missing DummyRenderer in skin resources tests 2022-08-08 13:06:01 +09:00
Dean Herbert
f1691882e2 Fix incorrect argument passing to ToMod 2022-08-08 12:56:18 +09:00
Dean Herbert
8b990ef3c9 Update framework 2022-08-08 12:31:55 +09:00
Dean Herbert
e1189da824 Merge branch 'master' into irenderer-glwrapper 2022-08-08 12:31:53 +09:00
Dean Herbert
0537c471dc
Merge pull request #19582 from smoogipoo/apimod-json-cleanup
Don't serialise empty mod settings
2022-08-08 11:49:08 +09:00
Bartłomiej Dach
7d6efaebbe
Add maintenance settings section for mod presets 2022-08-07 16:20:31 +02:00
Bartłomiej Dach
839409d7ac
Add preset column to solo mod select overlay 2022-08-07 16:20:31 +02:00
Bartłomiej Dach
b318bbd5e6
Allow non-homogenous column types in mod select overlay 2022-08-07 16:20:31 +02:00
Bartłomiej Dach
0287c49ca8
Implement user selection logic for mod presets 2022-08-07 16:20:20 +02:00
HiddenNode
cfd07cb366 Set InvalidationSource to parent and clean up 2022-08-07 15:04:11 +01:00
Bartłomiej Dach
b1dcd7821c
Automatically toggle preset panels if selected mods match 2022-08-07 15:30:20 +02:00
HiddenNode
ed86255e2b Use UprightUnscaledContainer instead of KeepUprightAndUnscaled 2022-08-07 13:20:22 +01:00
HiddenNode
0bfa6fa975 Implement UprightUnscaledContainer 2022-08-07 13:18:29 +01:00
BlauFx
bb344e064f
Add xml docs 2022-08-07 13:31:26 +02:00
BlauFx
09230304a4
Improve implementation 2022-08-07 13:20:29 +02:00
Dean Herbert
c31e257a1f Clean up pending deletion presets on startup 2022-08-07 15:16:33 +09:00
Dean Herbert
4a95638756
Merge branch 'master' into mod-overlay/delete-preset 2022-08-07 12:34:25 +09:00
Dean Herbert
5946124278
Merge pull request #19612 from bdach/mod-overlay/common-delete-dialog
Unify implementations of deletion dialogs
2022-08-07 12:18:03 +09:00
Ryuki
b2557a8d2d
Refactor KPS
- Remove '#nullable disable' in KeysPerSecondCalculator and
  KeysPerSecondCounter
- Remove KeysPerSecondCalculator IDisposable implementation
- Make KeysPerSecondCalculator static instance initialized once by
  KeysPerSecondCounters
- Auto transfer dependencies from KeysPerSecondCounter to
  KeysPerSecondCalculator using Resolved properties
- Add internal reset logic to KeysPerSecondCalculator and make it
  independent from Player
- Use GameplayClock.TrueGameplayRate to get real-time rate. If 0 then it
  defaults to the last non 0 rate if no such mod is enabled
2022-08-07 00:53:00 +02:00
Bartłomiej Dach
9b3183b2b4
Implement mod preset deletion flow 2022-08-06 21:58:55 +02:00
Bartłomiej Dach
a0d093be5c
Extract common implementation of delete dialog 2022-08-06 21:04:12 +02:00
BlauFx
bd43a9e96e
Add missing type specification 2022-08-06 18:49:07 +02:00
BlauFx
fa6d55b5b5
Remove redundant lambda signature parentheses 2022-08-06 18:47:11 +02:00
Bartłomiej Dach
ab1b38242f
Reorder enum cases to match web order 2022-08-06 18:34:30 +02:00
Bartłomiej Dach
6a9c30c47a
Fix some more wrong icon colours 2022-08-06 18:34:00 +02:00
Bartłomiej Dach
2ba127b6fc
Fix wrong icon for approval event 2022-08-06 18:30:49 +02:00
Bartłomiej Dach
f1e0dd2da3
Match approval type-dependent icon appearance with web 2022-08-06 18:29:24 +02:00
Bartłomiej Dach
f3ecd73e0b
Add references to web source in recent activity icon 2022-08-06 18:23:15 +02:00
BlauFx
0d418559bc
Skip song intro only in case of a quick restart 2022-08-06 17:02:45 +02:00
BlauFx
e411a2d187
Revert reduced wait time commit 2022-08-06 15:12:36 +02:00
LukynkaCZE
3000d9b9c6 Inline everything in RecentActivityIcon 2022-08-06 07:16:34 +02:00
LukynkaCZE
bd27995c71
Merge branch 'ppy:master' into add-missing-icons-to-recent-profile-section 2022-08-06 05:55:51 +02:00
Salman Ahmed
84ef24c341 Fix multi-spectator potentially getting stuck for passed players 2022-08-06 05:41:26 +03:00
BlauFx
445f921756
Move IsSkippable event into load method 2022-08-05 23:21:03 +02:00
BlauFx
0b886a79f1
Merge branch 'ppy:master' into improve_retry_behaviour 2022-08-05 23:16:35 +02:00
BlauFx
d8d7423698
Reduce "wait time" in case restarting the map 2022-08-05 23:04:43 +02:00
BlauFx
99e07aa09a
Skip intro if the map gets restarted 2022-08-05 23:01:52 +02:00
BlauFx
6717f0606c
Add property to SkipOverlay 2022-08-05 23:00:37 +02:00
Ryuki
0886137e39
Prevent KeysPerSecondCounter from NRE when no instance is initialized 2022-08-05 21:03:00 +02:00
HiddenNode
b46bc5d65b Remove empty line 2022-08-05 14:57:33 +01:00
Ryuki
24c29b7e2f
Do not add KPS calculation when gameplay rate is 0 2022-08-05 15:51:07 +02:00
HiddenNode
0243f8d6ac Clean up 2022-08-05 14:28:15 +01:00
Dan Balasescu
cf362a6b4f
Merge pull request #19529 from peppy/locally-modified-pill
Show "locally modified" pill when local modifications have been made
2022-08-05 21:12:13 +09:00
HiddenNode
12ef99a1a1 Fix text position 2022-08-05 12:56:08 +01:00
HiddenNode
8618d9ea0d Implement GrowToFitContainer 2022-08-05 12:55:41 +01:00
HiddenNode
15fb4d8dd5 Change Implementation and name of KeepUprightAndUnstretched 2022-08-05 12:53:14 +01:00
Dan Balasescu
802dc90cb1 Adjust using directives for vertices 2022-08-05 20:37:33 +09:00
Dan Balasescu
c4b9b2a14b Merge branch 'master' into irenderer-glwrapper 2022-08-05 20:35:06 +09:00
Dean Herbert
4544df5978 Leave client.realm around to handle pull requests without this change merged 2022-08-05 18:27:29 +09:00
Dean Herbert
ad3d00b1dc Don't add version suffixes when running unit tests 2022-08-05 18:23:41 +09:00
Dean Herbert
3c84b1a389 Change order of application to use original client.realm last 2022-08-05 17:48:51 +09:00
Dean Herbert
84a3fbd25c Version realm files for debug executions
To make it easier for developers to test out pull requests which bump
the realm schema version, realm files are now stored with the schema
version in the filename.

Note that this means any changes made to a newer version will not be
applied to previous ones.
2022-08-05 17:36:49 +09:00
Dean Herbert
94ec653420 Add same load-cancel safeties to ensure tracks are disposed in card PlayButton 2022-08-05 14:26:01 +09:00
Dean Herbert
6823282604 Fix PlayButton potentially not disposing an unused PreviewTrack during load 2022-08-05 14:15:27 +09:00
Dean Herbert
786af81274 Fix PreviewTrack not disposing its owned audio Track 2022-08-05 14:15:01 +09:00
Dan Balasescu
0de00e9b3f Don't serialise empty mod settings 2022-08-05 14:00:53 +09:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class 2022-08-05 04:17:01 +02:00
Dean Herbert
0d73bfa451
Merge pull request #19575 from smoogipoo/solo-score-info-json-cleanup
Clean up SoloScoreInfo serialised output
2022-08-04 23:19:21 +09:00
Dan Balasescu
2d9da07eb6 Trim zero values from hit statistics 2022-08-04 19:27:50 +09:00
Dan Balasescu
8ff7770a71 Omit irrelevant data from SoloScoreInfo serialisation 2022-08-04 19:11:39 +09:00
Dean Herbert
094eaafd43 Split out common conditional check into local static method 2022-08-04 17:26:54 +09:00
Dan Balasescu
6632367c6d Ensure skin samples are looked up in correct order 2022-08-04 14:48:12 +09:00
Bartłomiej Dach
ca1b4689cb
Automatically focus name textbox upon add preset popover open 2022-08-03 21:26:35 +02:00
Bartłomiej Dach
159d3b032c
Rename locals for legibility 2022-08-03 21:23:31 +02:00
Bartłomiej Dach
82d3fbd51b
Split AddPresetPopover to separate file 2022-08-03 21:22:55 +02:00
Bartłomiej Dach
ac9321204c
Merge branch 'master' into mod-overlay/create-preset 2022-08-03 21:21:52 +02:00
Salman Ahmed
7c45c571a0
Merge branch 'master' into more-beat-sync-dependence 2022-08-03 20:22:42 +03:00
Salman Ahmed
844430502b Replace parantheses with nullable-bool equality operation 2022-08-03 20:11:08 +03:00
Dean Herbert
87cc2db624
Merge branch 'master' into improve-download-limit-message 2022-08-03 20:17:02 +09:00
Dean Herbert
d3954fc583 Use existing localised error message 2022-08-03 20:15:46 +09:00
Dean Herbert
a32149fda1 Convert interface methods to extension methods 2022-08-03 20:07:55 +09:00
Salman Ahmed
4063f92381
Merge branch 'master' into fix-legacy-song-progress-mouse-blocking 2022-08-03 12:12:58 +03:00
Dean Herbert
16ff8d5c38 Use different variable source 2022-08-03 17:47:32 +09:00
Dean Herbert
6ad6561e1c Fix LegacySongProgress incorrectly blocking mouse input from gameplay
Closes #19555.
2022-08-03 17:42:29 +09:00
Dean Herbert
f743dc623f Change migration logic to ignore realm pipe files regardless of database filename 2022-08-03 17:37:30 +09:00
Dan Balasescu
9306dd5e30 Apply changes from removal of GLWrapper 2022-08-03 15:02:22 +09:00
Bartłomiej Dach
add2971eb4
Implement preset creation flow with test coverage 2022-08-02 22:05:54 +02:00
Bartłomiej Dach
7251389e43
Add localisations for add preset button 2022-08-02 22:05:34 +02:00
Bartłomiej Dach
059a465fe8
Add border to popover for better visual contrast 2022-08-02 22:03:33 +02:00
Bartłomiej Dach
1b3074d098
Implement popover for creating mod presets 2022-08-02 22:03:33 +02:00
Bartłomiej Dach
085080576a
Add button for creating new mod presets 2022-08-02 22:03:32 +02:00
HiddenNode
dbb77705da Merge branch 'fix_text_orientation' into fix_progress_bar_info 2022-08-02 19:00:43 +01:00
HiddenNode
bc21a2ed56 Remove unnecessary using directive 2022-08-02 17:41:17 +01:00
HiddenNode
78a98cdb9c Prevent TextSprites inside SongProgressInfo from being stretched or flipped 2022-08-02 17:37:31 +01:00
Dean Herbert
de186f67e0 Limit metadata updates to once per frame 2022-08-02 22:02:30 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dan Balasescu
dc49862466 Merge branch 'irenderer-shaders' into irenderer-textures 2022-08-02 19:25:24 +09:00
Dan Balasescu
a2a913ab52 Merge branch 'irenderer-batches' into irenderer-textures 2022-08-02 19:25:08 +09:00
Dean Herbert
258ad7c6b9 Tidy up kiai time access 2022-08-02 18:18:40 +09:00
Dean Herbert
cc4cde2c79 Improve IBeatSyncProvider interface and reduce beatmap track dependence 2022-08-02 17:59:18 +09:00
Dean Herbert
efa3c3b757 Fix multiple cases of mutations at editor setup screen not triggering a state save 2022-08-02 16:47:37 +09:00
Dean Herbert
7022c6382d Add localisation support for local modification strings 2022-08-02 16:30:14 +09:00
Dean Herbert
8cb02f47eb Mark BeatmapSet.Status as modified when any beatmap is modified, rather than all 2022-08-02 16:08:58 +09:00
Dean Herbert
df76f9f4da Fix some additional metadata being updated when it shouldn't (with local changes) 2022-08-02 15:49:22 +09:00
Dean Herbert
34ffc51c51 Avoid clearing chat overlay textbox when pressing "back" key binding
Generally this is expected behaviour for usages of focused text boxes
(ie. to clear search content), but not so much here.

Addresses https://github.com/ppy/osu/discussions/19403#discussioncomment-3230395.
2022-08-02 13:56:03 +09:00
Dan Balasescu
fc0914bf77
Merge pull request #19536 from frenzibyte/playlists-settings-leak
Fix playlist settings reference leak due to unsafe binding
2022-08-02 13:30:55 +09:00
Dan Balasescu
4295dc3cb9
Merge pull request #19535 from naipofo/overlay-filter-rank
Hide F rank from the beatmap overlay
2022-08-02 13:06:27 +09:00
Dean Herbert
4adc8375e9 Add more xmldoc and avoid BeatmapSet status being set when it shouldn't be 2022-08-02 12:12:02 +09:00
HiddenNode
df85bd74d7 Keep TextSprites in SongProgressInfo upright 2022-08-01 21:46:37 +01:00
HiddenNode
bc059cc1d2 Implemented KeepUpright 2022-08-01 21:46:01 +01:00
Bartłomiej Dach
298efa5391
Fix broken ShearedButton autosizing logic 2022-08-01 22:04:16 +02:00
NaiPofo
3356909026
Merge branch 'master' into overlay-filter-rank 2022-08-01 21:54:44 +02:00
Salman Ahmed
7354f9e6ba Remove localisation for now 2022-08-01 22:05:52 +03:00
Dean Herbert
c0e5f11c90
Merge pull request #19532 from frenzibyte/fix-new-items-sort-stability
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-02 02:20:51 +09:00
Salman Ahmed
7e9d11ee24 Enable NRT on playlists settings overlay 2022-08-01 20:15:08 +03:00
Salman Ahmed
c851e3d8f3 Fix playlist settings reference leak due to unsafe callback binding 2022-08-01 20:08:18 +03:00
notmyname
6686b09549 Hide F rank from beatmap overlay 2022-08-01 18:54:00 +02:00
Salman Ahmed
fc7fc3d673 Fix newly imported beatmaps not using correct comparer for sorting 2022-08-01 19:13:57 +03:00
Dean Herbert
d7a06abcab Add BeatmapInfo.LastUpdate to track the time of local changes 2022-08-02 00:53:07 +09:00
Dean Herbert
013cf7a80a Fix DateAdded not being set to a sane value when creating a new beatmap in the editor 2022-08-02 00:53:07 +09:00
Dean Herbert
0fcae08d38 Show "locally modified" pill when local modifications have been made 2022-08-02 00:52:38 +09:00
Dean Herbert
01cc9bd7ef
Merge pull request #19479 from frenzibyte/carousel-update-on-resume
Fix song select not updating selected beatmap card on editor resume
2022-08-02 00:48:18 +09:00
Salman Ahmed
7c9f8648a5
Merge branch 'master' into remove-nullable-disable-in-the-audio-namespace 2022-08-01 15:25:12 +03:00
andy840119
6cccb6b848 Remove canBeNull: true. 2022-08-01 19:45:15 +08:00
Salman Ahmed
3ff0327d91 Display readable message when reaching download limit 2022-08-01 14:22:54 +03:00
Salman Ahmed
2a127c6ef8
Merge branch 'master' into fix-tags-overflow 2022-08-01 12:40:43 +03:00
Dan Balasescu
d4eec9122f
Merge pull request #19516 from peppy/fix-editor-track-disposal-crash
Fix editor potentially playing a track post-disposal
2022-08-01 18:12:21 +09:00
Dean Herbert
14c2348df7
Merge pull request #19514 from peppy/dont-throw-copy-failure-migration
Fix migration failing on single file copy failure
2022-08-01 17:43:05 +09:00
Gutyina Gergő
c65747d1b8 Use masking instead of scrollable container to prevent tags overflow 2022-08-01 10:36:53 +02:00
Dan Balasescu
5f9c3b42e8
Merge pull request #19513 from peppy/isolate-development-storage
Isolate development builds' storage from release builds
2022-08-01 17:30:25 +09:00
Dan Balasescu
1d27c4f020
Merge pull request #19504 from peppy/skin-serialisation-test-coverfage
Add test coverage of deserialisation of skin layouts
2022-08-01 17:17:16 +09:00
Dean Herbert
cc8a71b65d Re-query file existence before failing a recursive copy operation during migration 2022-08-01 17:01:19 +09:00
Dean Herbert
59210ecc9d Revert "Fix migration failing on single file copy failure"
This reverts commit fc8835d43a.
2022-08-01 16:57:50 +09:00
Dean Herbert
6e7c298aaf Fix changes to audio / background not triggering an editor state change 2022-08-01 16:53:49 +09:00
Dean Herbert
2f60f91a0e Fix editor potentially using a track post-disposal
This changes the editor to track the current track as it is *loaded* by
`MusicController`, rather than haphazardly following the current global
`WorkingBeatmap` (with a potentially unloaded track) or relying on local
immediate-load behaviour (as implemented in `ResourcesSection`).
2022-08-01 16:53:49 +09:00
Dean Herbert
fc8835d43a Fix migration failing on single file copy failure
No longer throw if copying of single files fails during data migration.

Aiming to fix https://github.com/ppy/osu/runs/7601653833?check_suite_focus=true, which could also affect end users. I've left a limit before an exception is still thrown, to handle cases like the user running out of disk space (where we probably *do* want to bail, so they can continue to use their still-intact original storage location).

If this isn't seen as a good direction, an alternative will be to make the migration code aware of the structure of the temporary files created by `Storage` (but doesn't guarantee this will cover all cases of such temporary files – there could for isntance be metadata files created by the host operating system).

Another option would be to mark those temporary files as hidden and skip any hidden files during iteration.
2022-08-01 15:02:39 +09:00
Dean Herbert
8ee4f1e60b
Merge pull request #19510 from bdach/mod-overlay/presets-persistence
Add persistence of mod presets to realm
2022-08-01 14:43:52 +09:00
Dean Herbert
a5f48e336a Isolate development builds' storage from release builds 2022-08-01 14:38:02 +09:00
Dean Herbert
5b98a73edc Apply nullability to SkinComponentToolbox and split out reflection method to get all skinnable components 2022-08-01 14:04:08 +09:00
Bartłomiej Dach
85f77abee1
Fix code quality inspection about ambiguous equality 2022-07-31 23:53:46 +02:00
Bartłomiej Dach
345f103119
Migrate mod preset column to use realm 2022-07-31 23:53:45 +02:00
notmyname
fa3b9ee32f remove unneded guard 2022-07-31 23:42:20 +02:00
Bartłomiej Dach
cbabc4886c
Convert ModPreset to realm object 2022-07-31 22:10:15 +02:00
Gutyina Gergő
98214beb6c Prevent overflow on beatmap info using scrollable container 2022-07-31 21:24:41 +02:00
notmyname
57b43e0065 Stop capturing arrow keys on Playlist 2022-07-31 19:12:29 +02:00
andy840119
094793bbe3 Mark the GetTrack() return type as nullable. 2022-07-31 22:01:30 +08:00
andy840119
6c964dee30 Rename the nullable disable annotation in the Audio namespace and mark some properties as nullable. 2022-07-31 22:00:14 +08:00
Ryuki
89855cc1d6
Change KPS Counter implementation base and add better replay integration
The counter implementaiton is now list based, and will not invalidate
previous hits by removing them but by testing if they are within the 1
second span, allowing better integration with replays and spectators.
2022-07-31 01:29:57 +02:00
Dean Herbert
93b783d9ea Fix previous skins not loading due to namespace changes 2022-07-31 03:25:38 +09:00
Salman Ahmed
faefda9143 Fix song select not updating selected beatmap card on editor resume 2022-07-30 19:47:42 +03:00
Dean Herbert
6ad86ce5b7 Run collection import process asynchronously
Actually required to avoid deadlocking..
2022-07-31 01:06:57 +09:00
Dean Herbert
80ffa2cf20 Move collection database rather than deleting post-migration for safety 2022-07-31 00:54:00 +09:00
Dean Herbert
8e06d55960 Fix collection migration incorrectly running asynchronously 2022-07-31 00:53:39 +09:00
Susko3
38a8b9cf0a Add battery info for desktop platforms 2022-07-30 14:26:19 +02:00
Dean Herbert
43e612f6d4
Merge pull request #19455 from peppy/confirm-playlist-discard
Add confirmation dialog when about to discard a playlist
2022-07-30 19:17:49 +09:00
Salman Ahmed
8ca8484f0e Fix failing tests 2022-07-30 11:49:33 +03:00
Salman Ahmed
369ab10212 Fix exit confirmation dialog not blocking all exit cases 2022-07-30 11:00:31 +03:00
Dean Herbert
eea211eb45 Update framework 2022-07-30 02:46:39 +09:00
Salman Ahmed
2500e5c533
Merge branch 'master' into fix-summary-kiai-ranges 2022-07-29 19:38:28 +03:00
Dan Balasescu
e06f39a69f Apply IRenderer shader changes 2022-07-30 01:29:11 +09:00
Dan Balasescu
09979d44aa Apply DrawNode batching changes 2022-07-29 23:32:09 +09:00
Dean Herbert
acf9ad1429 Apply nullability to EffectPointVisualisation 2022-07-29 23:26:38 +09:00
Salman Ahmed
3bc1774c87
Merge branch 'master' into pie-chart-progress 2022-07-29 16:54:59 +03:00
Salman Ahmed
905bbdc8ee Remove caching of GameplayClockContainer in favour of GameplayClock
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Dan Balasescu
155dac55d0 Apply DrawNode parameter changes 2022-07-29 22:33:34 +09:00
Salman Ahmed
3f72e76348 Expose StartTime from gameplay clock 2022-07-29 16:18:05 +03:00
Dean Herbert
8f1e3b0154 Fix editor summary timeline not responding to kiai changes correctly 2022-07-29 19:31:49 +09:00
Dan Balasescu
70420e6238
Merge pull request #19440 from peppy/bypass-local-metadata-cache
Fix beatmap updater potentially using outdated local metadata
2022-07-29 17:33:53 +09:00
Dean Herbert
9d457535c6 Add confirmation dialog when about to discard a playlist
The confirmation will only show if items have been added to the
playlist.

Closes https://github.com/ppy/osu/issues/19444.
2022-07-29 17:11:37 +09:00
Dean Herbert
eb92c35335
Merge pull request #19442 from smoogipoo/fix-beginplaying-misordering
Move spectator begin/end playing to SubmittingPlayer
2022-07-29 16:09:50 +09:00
Dean Herbert
cb52b696ed
Merge branch 'master' into bypass-local-metadata-cache 2022-07-29 16:05:54 +09:00
Dean Herbert
2ff6ff06d3 Use tuple to better explain new bool parameter 2022-07-29 16:05:41 +09:00
Dan Balasescu
aaa6f963bd Fix potential test failures due to Setup/SetUpSteps ordering 2022-07-29 15:27:39 +09:00
Dean Herbert
fd09155990 Revert blocking call when sending spectator frames
There are a lot of these requests, and we don't really care about
waiting on them to finish sending. This may have negatively affected
send performance for users with very high latency.

Reverts part of 0533249d11.

Addresses concerns in https://github.com/ppy/osu/discussions/19429#discussioncomment-3276400.
2022-07-29 12:24:54 +09:00
Ryuki
2df24019fd
Merge branch 'master' into kps 2022-07-28 18:38:09 +02:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS 2022-07-28 18:37:12 +02:00
Dean Herbert
3005ff1b9f Merge branch 'master' into pie-chart-progress 2022-07-28 22:19:27 +09:00
Dan Balasescu
a59d7f6710
Merge branch 'master' into collections-track-beatmap-updates 2022-07-28 22:05:34 +09:00
Dan Balasescu
aa03df905f
Merge pull request #19441 from peppy/test-working-beatmap-unfuck
Reduce calls to `LoadTrack` by implicitly running on test/dummy classes
2022-07-28 22:05:25 +09:00
Dan Balasescu
11e0022fad Merge branch 'master' into realm-collections 2022-07-28 21:00:08 +09:00
Dan Balasescu
ce694123eb Move spectator begin/end playing to SubmittingPlayer 2022-07-28 20:44:04 +09:00
Dean Herbert
4b140e1f5a Adjust metrics 2022-07-28 18:50:46 +09:00
Dean Herbert
86c2b7e449 Apply nullability to DefaultSongProgress and clean up more stuff 2022-07-28 18:37:17 +09:00
Dean Herbert
ea027eda46 Move initial show to base implementation and add transition for legacy version 2022-07-28 18:29:49 +09:00
Dean Herbert
bfa026879c Remove pointless null check 2022-07-28 18:28:03 +09:00
Dean Herbert
d5e5761892 Fix DefaultSongProgress graph not resetting if time is in intro 2022-07-28 18:25:24 +09:00
Dean Herbert
7108553883 Tidy up various things everywhere 2022-07-28 18:25:14 +09:00
Dean Herbert
a21aee4e9c Reduce calls to LoadTrack by implicitly running on test/dummy classes 2022-07-28 18:11:40 +09:00
Dean Herbert
628a30193f Remove incorrect TrackLoaded override from TestWorkingBeatmap 2022-07-28 17:49:17 +09:00
Dan Balasescu
1da9830145
Merge pull request #19435 from peppy/remove-beatmap-manager-ruleset-store
Remove unused `RulesetStore` from `BeatmapManager` constructor
2022-07-28 17:46:12 +09:00
Dean Herbert
8cb4fb35e0 Rename parameter to read better (and still use local cache if no online API is available) 2022-07-28 17:08:59 +09:00
Dean Herbert
c35da62224 Add flow for bypassing local cache lookups when refreshing beatmap metadata 2022-07-28 16:33:51 +09:00
Dean Herbert
17a3fd30fb Move scheduler from OnlineLookupQueue to BeatmapUpdater 2022-07-28 16:32:22 +09:00
Nitrous
0d36907cad
apply code quality fixes 2022-07-28 15:30:45 +08:00
Nitrous
bca3994d91
set FirstHitTime and LastHitTime once 2022-07-28 15:25:12 +08:00
Dean Herbert
2b9d46d803 Remove unused RulesetStore from BeatmapManager constructor 2022-07-28 16:19:05 +09:00
Nitrous
db62d4be3a
apply suggestions
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Dan Balasescu
c1aaf27c54 Link to correct model in xmldoc 2022-07-28 16:02:19 +09:00
Dean Herbert
525e4a2019 Fix crash in DrawableRoomPlaylistItem context menu creation due to incorrect enumeration casting 2022-07-28 15:51:18 +09:00
Dean Herbert
452d82f292 Add more comprehensive xmldoc for beatmap model classes 2022-07-28 15:41:28 +09:00
Dean Herbert
070f56c30c Add collection transfer logic to beatmap import-as-update flow 2022-07-28 15:03:23 +09:00
Dean Herbert
2209afd0e8 Mark Live methods as InstantHandleAttribute 2022-07-28 15:03:08 +09:00
Dean Herbert
ca68574473 Make NotificationOverlay dependency optional in CollectionSettings 2022-07-28 14:35:27 +09:00
Dean Herbert
392cb352cc Force alphabetical ordering for now 2022-07-28 14:07:42 +09:00
Dean Herbert
da06467891 Add missing realm subscription cleanup 2022-07-28 13:57:21 +09:00
Dean Herbert
ad482b8afc Tidy up naming of collection dropdowns 2022-07-28 13:57:21 +09:00
Dean Herbert
226eefcc5c Add note about hash storage 2022-07-28 13:57:21 +09:00
Dean Herbert
1669208a54 Add migration of existing collections database 2022-07-28 13:57:21 +09:00
Dean Herbert
34a2d1a6e1 Fix ManageCollectionsDialog and remove weird placeholder logic 2022-07-28 13:57:21 +09:00
Dean Herbert
67c7f324ee Simplify CollectionFilterDropdown filter flow weirdness 2022-07-28 13:57:21 +09:00
Dean Herbert
aa65b73f19
Merge branch 'master' into add-notif-externalbutton 2022-07-28 12:17:36 +09:00
Dean Herbert
f44a4c8652 Reorder file content to match expectations 2022-07-28 12:13:47 +09:00
Dean Herbert
f01c397220 Apply nullability 2022-07-28 12:12:46 +09:00
Andrew Hong
f097064eea Adjust to reviews 2022-07-27 21:52:38 -04:00
Andrew Hong
ac39d3a142 "Copied URL" -> "URL copied" 2022-07-27 21:52:28 -04:00
Nitrous
9088caa377
move LegacyComboCounter to osu.Game.Skinning 2022-07-28 08:36:26 +08:00
Nitrous
45c11f2b7b
account for gameplay start time 2022-07-28 08:01:38 +08:00
Micahel Kelly
dd315ff97b Adds hard-delete for a beatmap diff 2022-07-27 21:21:16 +10:00
Dean Herbert
804bb33aed Hook up remaining data flows 2022-07-27 19:35:09 +09:00
Dean Herbert
438067a18b Convert realm data propagation to more correctly use Live<T>
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8 Replace BeatmapCollection with RealmBeatmapCollection 2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48 Remove CollectionManager 2022-07-27 18:45:33 +09:00
Micahel Kelly
3febd6d644 Dialogue touchups 2022-07-27 19:23:55 +10:00
Micahel Kelly
e6fad601cc Adds delete difficulty option to editor 2022-07-27 19:15:43 +10:00
Nitrous
a222278710
remove unused using 2022-07-27 16:01:35 +08:00
Nitrous
37e642b0bd
make SongProgress abstract
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Nitrous
a12676c25d
scale down graph from bleeding through border 2022-07-27 14:35:18 +08:00
Andrew Hong
2d4655f61e Add Toast Notification to Copy URL 2022-07-27 02:25:40 -04:00
Dean Herbert
6b73f7c7ec Split out legacy import path from realm manager 2022-07-27 15:04:09 +09:00
Dean Herbert
e6a3659581 Guard against NewModifiedIndices being empty 2022-07-27 14:23:47 +09:00
Dean Herbert
24d75612e2 Always attempt to follow selection, even if difficulty name / metadata change 2022-07-27 14:18:53 +09:00
Dean Herbert
d8e605d8aa Fix broken tests due to badly reimplemented copy-pasted code 2022-07-27 13:58:01 +09:00
Dean Herbert
62ca3aada6 Transfer TODO comment across to copy-pasted implmentation 2022-07-27 13:53:27 +09:00
Dean Herbert
b803ec543f Remove unused combo DI retrieval 2022-07-27 13:50:03 +09:00
Dean Herbert
8105d4854a Fix beatmap carousel not maintaining selection if currently selected beatmap is updated 2022-07-27 13:33:48 +09:00
Nitrous
842ab3c5c1
remove unused using 2022-07-27 09:41:58 +08:00
Nitrous
3abf44da91
Merge branch 'master' into pie-chart-progress 2022-07-27 08:53:23 +08:00
Nitrous
a2320aeb27
replace SongProgress with LegacySongProgress 2022-07-27 08:52:27 +08:00
Nitrous
6b0f3674c3
implement LegacySongProgress 2022-07-27 08:51:55 +08:00
Dean Herbert
c30e8047ab
Merge pull request #19375 from novialriptide/contextmenu-external-beatmap
Add ContextMenu to beatmap external link
2022-07-26 19:06:10 +09:00
Dan Balasescu
b47f674ddb
Merge pull request #19400 from peppy/button-select-allow-more
Always allow selecting the top-most button using the select binding
2022-07-26 18:49:42 +09:00
Dan Balasescu
bc60552694
Merge pull request #19402 from peppy/debugger-attached-audio-warning-disable
Don't show audio playback issue notification if debugger is attached
2022-07-26 18:49:33 +09:00
Dan Balasescu
8f7dff5c2c
Merge pull request #19378 from peppy/beatmap-update-test
Add separate beatmap update flow to handle edge cases better
2022-07-26 18:49:20 +09:00
Dean Herbert
e782590b3c Don't show audio playback issue notification if debugger is attached
I've hit this countless times recently when debugging during the startup
procedure.
2022-07-26 18:20:46 +09:00
Dean Herbert
9173271900 Fix new update pathway not actually being used 2022-07-26 17:58:09 +09:00
Dean Herbert
1539fa704b Always allow selecting the top-most button using the select binding 2022-07-26 17:46:23 +09:00
Dean Herbert
6ff44ed2c6
Merge pull request #19399 from frenzibyte/carousel-order-stability
Maintain sort stability by using carousel item ID as a fallback
2022-07-26 17:33:30 +09:00
Dean Herbert
7f75184a01
Merge branch 'master' into beatmap-update-test 2022-07-26 17:27:36 +09:00
Andrew Hong
003aec86ae Rearrange sizeaxes 2022-07-26 04:27:22 -04:00
Andrew Hong
aaf6ec05bb Remove notification upon copy 2022-07-26 04:19:54 -04:00
Dean Herbert
4c22b55ce3 Fix incorrect handling if an update is processed with no changes 2022-07-26 17:00:28 +09:00
Dan Balasescu
412d42b907
Merge pull request #19393 from peppy/fix-statistics-panel
Avoid potential realm fetch after disposal in `StatisticsPanel`
2022-07-26 16:32:59 +09:00
Salman Ahmed
a4f6f2b9eb Make item ID comparer static 2022-07-26 09:55:37 +03:00
Dean Herbert
9939866f7d Revert one more missed change 2022-07-26 15:54:10 +09:00
Dean Herbert
8370ca9765 Add ImportAsUpdate method to IModelImporter to avoid otehr changes 2022-07-26 15:49:04 +09:00
Salman Ahmed
693ac8750c Remove remaining uses of "child" terminology in non-drawable components 2022-07-26 09:43:47 +03:00
Salman Ahmed
d7ef4170be Maintain sort stability by using carousel item ID as fallback 2022-07-26 09:40:41 +03:00
Dean Herbert
4efe09e7c2
Merge pull request #19377 from frenzibyte/fix-timeline-tests
Fix intermittent timeline zoom test failures
2022-07-26 15:18:35 +09:00
Dean Herbert
99bdf41717 Avoid potential realm fetch after disposal in StatisticsPanel
As seen at https://github.com/ppy/osu/runs/7513799859?check_suite_focus=true.
2022-07-26 15:12:23 +09:00
Dan Balasescu
1b2158ff04 Remove unused method 2022-07-26 14:15:59 +09:00
Dean Herbert
ef10145d6f Rename MenuCursorContainer and clean up code 2022-07-26 14:11:52 +09:00
Dean Herbert
ee0c67e114 Add ability to make cursor show even during touch input
I completely disagree with this from a UX perspective, but it's come up
so often that I figure we should just let users bone themselves.
2022-07-26 14:08:00 +09:00
Andrew Hong
a8e315abf0 Refactor 2022-07-25 17:16:33 -04:00
Andrew Hong
46c4e78477 Add notification and another menuitem 2022-07-25 16:59:00 -04:00
Dean Herbert
d41ac36a69 Fix scenario where import is expected to be empty 2022-07-25 23:59:27 +09:00
LukynkaCZE
a7c92fe5d6
Merge branch 'ppy:master' into add-missing-icons-to-recent-profile-section 2022-07-25 14:56:00 +02:00
Dean Herbert
8a0c8f5fd8 Fix some realm pieces not being cleaned up 2022-07-25 19:51:19 +09:00
Dean Herbert
2e14d8730c Move implementation of updating a beatmap to BeatmapImporter 2022-07-25 19:51:19 +09:00
Dean Herbert
2363a3fb7b Persist DateAdded over beatmap updates 2022-07-25 19:51:19 +09:00
Dean Herbert
e5ad07454c Ensure previous version prior to update loses online info after marked pending delete 2022-07-25 19:51:19 +09:00
Dean Herbert
912218e123 Ensure scores are transferred after beatmap update if difficulty hash didn't change 2022-07-25 19:51:19 +09:00
Dean Herbert
b7f6413bce Fix old version of beatmap potentially not being deleted during update flow
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
Dean Herbert
6a3e8e31de Centralise calls to reset online info of a BeatmapInfo 2022-07-25 19:51:19 +09:00
Salman Ahmed
1b6ebcfd87 Remove SubmittableScore and replace with SoloScoreInfo extension method 2022-07-25 13:43:43 +03:00
Salman Ahmed
d04df19c7e Remove APIScore and replace its final usage 2022-07-25 13:13:46 +03:00
Dan Balasescu
068063a43a
Merge pull request #19371 from peppy/fix-working-cache-invalidation
Fix calls to `GetWorkingBeatmap` invalidating cache too often
2022-07-25 18:29:46 +09:00
Dan Balasescu
1d48cee230
Merge pull request #19373 from peppy/fix-negative-star-rating-display
Fix star ratings which are still being calculated showing as "-1" at song select
2022-07-25 18:20:30 +09:00
Dan Balasescu
6937296192
Merge pull request #19374 from peppy/fps-counter-no-scheduler
Refactor `FPSCounter` to not use scheduled tasks
2022-07-25 18:19:59 +09:00
Salman Ahmed
48bcf57066 Mark SetupZoom and parameterless ZoomableScrollContainer ctor as protected 2022-07-25 12:07:50 +03:00
Salman Ahmed
07c6b44864 Fix Timeline attempting to setup zoom with unloaded track 2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b Refactor ZoomableScrollContainer to allow setting up zoom range and initial zoom after load 2022-07-25 12:07:50 +03:00
Salman Ahmed
678acabf7e
Merge branch 'master' into log-diffcalc-failure 2022-07-25 11:16:31 +03:00
Andrew Hong
f1534da683 Formatting issues 2022-07-25 04:13:05 -04:00
Andrew Hong
fcf767e28b Add contextmenu to beatmap external link 2022-07-25 04:07:33 -04:00
Dean Herbert
2dd99ef1fd Refactor FPSCounter to not use scheduled tasks
While on the surface this looks harmless (ignoring allocations),
`Scheduler` doesn't clear cancelled tasks until they reach their
execution time. This can cause an increase in time spent processing the
scheduler itself.

I don't think a per-frame updating component should use scheduled tasks
in this way in the first place, so I've just rewritten the logic to
avoid that overhead altogether.
2022-07-25 16:26:48 +09:00
Salman Ahmed
4d90e6bbac Flip method to read better 2022-07-25 10:03:06 +03:00
Dean Herbert
6bf2645b1a Fix StarRatingDisplay not handling negative numbers as "pending" 2022-07-25 15:44:54 +09:00
Salman Ahmed
e402e919ab Display placeholder for user profile scores 2022-07-25 09:40:20 +03:00
Dean Herbert
2ec90e37bb Fix calls to GetWorkingBeatmap invalidating cache too often
With recent changes, the pathway between refetching (on request) and
refetching (on requirement due to unpopulated files) was combined.
Unfortunately this pathway also added a forced invalidation, which
should not have been applied to the second case.

Closes https://github.com/ppy/osu/issues/19365.
2022-07-25 15:30:49 +09:00