Bartłomiej Dach
a2c2b2bbb3
Add flow for copying existing difficulty content
2022-02-13 14:01:20 +01:00
Dan Balasescu
8b05b35b8c
Merge pull request #16854 from peppy/combine-score-submission-request-implementation
...
Standardise and combine base implementation of score submission requests
2022-02-11 17:31:55 +09:00
Dean Herbert
28bbf34b14
Remove unnecessary this.
prefix
2022-02-11 16:21:49 +09:00
Dan Balasescu
43f1044987
Merge pull request #16850 from frenzibyte/readonly-pinned-scores
...
Add read-only pinned scores view in user profile overlay
2022-02-11 16:15:46 +09:00
Dean Herbert
908c31c687
Update stream read operations to use new helper methods
2022-02-11 16:02:25 +09:00
Dean Herbert
beb3731c0b
Standardise and combine base implementation of score submission requests
...
These share too much yet have very different constructor signatures and
property exposure. Just a clean-up pass as I begin to look at replay
submission.
2022-02-11 15:53:47 +09:00
Salman Ahmed
ccd6648961
Update pinned score container header to use localised title
2022-02-11 09:22:09 +03:00
Salman Ahmed
b06caf2bf7
Update resources
2022-02-11 09:12:02 +03:00
Salman Ahmed
92e22c57a7
Introduce private APIRuleset
for online ID equality comparison
2022-02-11 08:27:01 +03:00
Salman Ahmed
6f0e32826c
Standardise ordering/grouping of IRulesetInfo
/RulesetInfo
s
2022-02-11 04:27:11 +03:00
Salman Ahmed
26839f6ad8
Consider OnlineID
s during ruleset equality if available
...
Required for `APIBeatmap`s, which provide `Ruleset` instances with `OnlineID` available only.
Also consistent with the comparer implementation.
2022-02-11 04:26:58 +03:00
Salman Ahmed
1b729e891d
Update pointless CompareTo
implementation once again
2022-02-11 04:17:30 +03:00
Salman Ahmed
9574bc1382
Allow IRulesetInfo
s of same type to be comparable
...
At first I was planning on making `CompareTo` implemented at
`IRulesetInfo` itself and shared across classes, but turns out it only
implements it explicitly and not allow direct `IRulesetInfo.Equals`
calls.
It messed with my head enough that I decided to just let each class have
its own implementation and only allow same type.
2022-02-11 04:03:23 +03:00
Salman Ahmed
4f7003928a
Add score container for pinned scores in ranks section
2022-02-10 21:32:18 +03:00
Salman Ahmed
9cd88ec2b8
Update API models with score pinning changes
2022-02-10 21:23:38 +03:00
Dean Herbert
2939bc4644
Update resources
2022-02-11 01:49:52 +09:00
Dean Herbert
eda213e4de
Merge pull request #16827 from smoogipoo/spectator-state-rework
...
Add user state to SpectatorState, allowing multiplayer to continue to results
2022-02-11 01:48:47 +09:00
Dean Herbert
44f2d8a448
Allow game folder migration to fail gracefully when cleanup cannot completely succeed
2022-02-10 19:30:26 +09:00
Dean Herbert
88bb9d4237
Fix migration errors not outputting the call stack to logs
2022-02-10 15:50:03 +09:00
Dan Balasescu
ebd105422f
Remove unused using
2022-02-10 14:22:08 +09:00
Dan Balasescu
f7fb7825cc
Simplify disposal
2022-02-10 14:21:51 +09:00
Dan Balasescu
a3896a8ebd
Remove allowance of null dependency
2022-02-10 14:21:50 +09:00
Dan Balasescu
18251c9285
Clean up SpectatorScreen based on suggestions
2022-02-09 12:20:07 +09:00
Dan Balasescu
ffc4c64f7e
Unify namings across the board
2022-02-09 12:10:07 +09:00
Dean Herbert
c242a63b11
Fix playlist overlay null reference when attempting an empty selection
...
As reported at https://github.com/ppy/osu/discussions/16829 .
2022-02-09 10:16:45 +09:00
Dan Balasescu
886d1d2df6
Refactorings
2022-02-08 21:29:43 +09:00
Dean Herbert
79d1d54e33
Rename parameter to match other usages
2022-02-08 20:35:38 +09:00
Dan Balasescu
c1766d8a41
Add paused state
2022-02-08 20:29:53 +09:00
Dan Balasescu
4c76027178
Rename completed state to passed
2022-02-08 20:29:49 +09:00
Dan Balasescu
45b3f472ab
Merge branch 'master' into spectator-state-rework
2022-02-08 19:51:50 +09:00
Dan Balasescu
b1a73996ba
Fix incorrect check for beatmap availability
2022-02-08 19:36:42 +09:00
Henry Lin
10bdb7240f
Pre-check for divisor zero and add explanation
2022-02-08 14:36:29 +08:00
Dean Herbert
8cca12da64
Merge branch 'master' into display-performance-attributes
2022-02-08 14:45:35 +09:00
Dan Balasescu
c2416c490e
Fix crash on disconnection during multi-spectate
2022-02-08 11:29:39 +09:00
Henry Lin
56c90a21ce
Add a todo
2022-02-06 11:22:12 +08:00
Henry Lin
f78c853bc7
Calculate max combo locally in PerformanceBreakdownCalculator
2022-02-06 10:59:53 +08:00
Henry Lin
0b1fef38af
Use the playable beatmap provided in CreateStatisticsForScore
2022-02-05 21:36:34 +08:00
Henry Lin
c35ef917a1
Remove tooltip from performance statistic
2022-02-05 21:18:23 +08:00
Henry Lin
2e1a9f1379
Add performance breakdown as statistic item in extended statistics panel
2022-02-05 21:13:16 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes
2022-02-05 16:59:46 +08:00
Dean Herbert
eb25730b61
Revert "Merge pull request #16716 from peppy/carousel-less-invalidations"
...
This reverts commit 8d13e0514b
, reversing
changes made to 95582a9023
.
2022-02-05 16:12:58 +09:00
Dean Herbert
fd81842ade
Merge pull request #16778 from smoogipoo/simplify-test-spectator-client
...
Refactor TestSpectatorClient implementation
2022-02-05 00:26:44 +09:00
Salman Ahmed
5f5db2ae82
Merge branch 'master' into mvp-safe-area-support
2022-02-04 17:01:46 +03:00
Dan Balasescu
3a8ec205b3
Merge branch 'simplify-test-spectator-client' into spectator-state-rework
2022-02-04 22:42:53 +09:00
Dan Balasescu
09728a29ed
Merge branch 'fix-broken-test-scene' into spectator-state-rework
2022-02-04 22:42:10 +09:00
Dan Balasescu
750f90e728
Simplify TestSpectatorClient implementation
2022-02-04 22:38:40 +09:00
Dean Herbert
d62885f30b
Don't schedule call to updateSize
in LoadComplete
to ensure following FinishTransforms
runs as expected
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-04 22:31:41 +09:00
Salman Ahmed
5e47ce333c
Change SafeAreaOverrideEdges
to be get-only and protected
2022-02-04 16:10:49 +03:00
Dean Herbert
b5dde6f1ad
Update resources
2022-02-04 21:38:52 +09:00
Dean Herbert
e2262bf3b2
Schedule all calls to updateSize
for safety
2022-02-04 20:33:15 +09:00
Dean Herbert
98f61415c2
Merge branch 'master' into mvp-safe-area-support
2022-02-04 20:05:35 +09:00
Jamie Taylor
0f48c0131c
Layer playback of beatmap-changed and random-beatmap samples
2022-02-04 19:57:54 +09:00
Dean Herbert
002cc7261b
Merge pull request #16773 from smoogipoo/fix-spectator-restart-crash
...
Fix crash when gameplay is started while inside multiplayer spectator screen
2022-02-04 19:23:08 +09:00
Dean Herbert
503025b970
Fix completely incorrect and dangerous usage of bindable binding
2022-02-04 19:19:44 +09:00
Dean Herbert
915d63f6de
Limit safe area bottom override to iOS only
2022-02-04 18:58:29 +09:00
Dean Herbert
8fc4d0c6f5
Add override edge rule to overflow above home indicator on iOS
2022-02-04 18:20:17 +09:00
Dan Balasescu
d5269ba05b
Merge branch 'fix-spectator-restart-crash' into spectator-state-rework
2022-02-04 17:59:18 +09:00
Dan Balasescu
0473c6c52f
Also handle null SelectedItem for safety
2022-02-04 17:53:51 +09:00
Dan Balasescu
b41655d5b9
Fix crash when gameplay starts while in multi-spectator screen
2022-02-04 17:47:41 +09:00
Dean Herbert
30d2c7ba6a
Add parenthesis to disambiguify conditionals
2022-02-04 17:07:23 +09:00
Dean Herbert
52fdf0349f
Add safe area support via ScalingContainer
2022-02-04 16:37:05 +09:00
Dean Herbert
4728919bca
Update framework
2022-02-04 15:45:27 +09:00
Dan Balasescu
63064d682b
Merge pull request #16743 from hlysine/extended-statistics-without-replay
...
Allow statistic items in results screen to display without needing to watch a replay
2022-02-04 15:07:52 +09:00
Salman Ahmed
bbef12e72c
Refactor ExpandingControlContainer
to no longer rely on controls
2022-02-04 05:45:12 +03:00
Dean Herbert
ee1feae806
Remove unnecessary ruleset ordering
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-04 11:06:18 +09:00
Bartłomiej Dach
6dc0f3fd96
Merge difficulty creation methods into one
...
One of them wasn't really doing much anymore and was more obfuscating
what was actually happening at this point.
2022-02-03 18:14:30 +01:00
Bartłomiej Dach
b7d7e6612e
Merge branch 'master' into new-difficulty-creation-v3
2022-02-03 16:36:18 +01:00
Dan Balasescu
f285060148
Fix MultiSpectatorScreen not continuing to results
2022-02-03 21:50:19 +09:00
Dan Balasescu
483977d5c8
Merge branch 'master' into spectator-state-rework
2022-02-03 19:59:07 +09:00
Dean Herbert
bef0a2da21
Remove return type from AddDifficultyToBeatmapSet
...
Also removes a pointless realm encapsulation.
2022-02-03 19:43:43 +09:00
Dean Herbert
ad47649d1c
Make BeatmapModelManager.Save
non-virtual
2022-02-03 19:38:53 +09:00
Dean Herbert
b2efce2656
Merge branch 'master' into expandable-controls
2022-02-03 19:23:34 +09:00
Dean Herbert
47d577ec9c
Add back constructor for ruleset compatibility
2022-02-03 19:17:56 +09:00
Dean Herbert
6974c2d255
Remove weird panelIsComplete
flag and replace LINQ with simple foreach
2022-02-03 19:00:03 +09:00
Dean Herbert
df9d99f5aa
Merge branch 'master' into extended-statistics-without-replay
2022-02-03 18:59:48 +09:00
Dean Herbert
6d6327d3da
Fix test beatmap loading potentially performing selection before carousel itself is loaded
2022-02-03 18:40:16 +09:00
Dean Herbert
e65996efc3
Rename variable to match purpose better
2022-02-03 17:14:38 +09:00
Dean Herbert
137a9a0305
Merge branch 'master' into songselect-random-sfx
2022-02-03 17:14:28 +09:00
Dean Herbert
c8ce00b26a
Trigger a re-layout of HUD components when scoring mode is changed
...
This is a simple way of fixing the layout of scoring elements
overlapping due to different score display width requirements of
different scoring modes. It will only resolve the case where a user
hasn't customsied the layout of the default skins, but as this is a very
simple / low effort implementation for the most common scenario, I think
it makes sense.
Closes https://github.com/ppy/osu/issues/16067 .
2022-02-03 14:50:41 +09:00
Dean Herbert
a69c7a9de6
Split exceptions back out to give better messaging
2022-02-03 14:09:27 +09:00
Dean Herbert
62fa915193
Standardise exception messages for local-user-logged-out flows
2022-02-03 13:58:55 +09:00
Dan Balasescu
d9a43b4c4c
Fix API requests not completing when offline
2022-02-03 13:16:54 +09:00
Henry Lin
aff36d4e16
Refactor populateStatistics
to avoid disposing
2022-02-03 11:52:37 +08:00
Dan Balasescu
62537eb4aa
Fix spectator not completing
2022-02-03 12:44:33 +09:00
Dean Herbert
b94fe84712
Merge branch 'master' into new-difficulty-creation-v3
2022-02-03 10:48:20 +09:00
Dean Herbert
2731d8e3c2
Merge pull request #16701 from LeNitrous/mod-alternate-osu
...
Add "Alternate" mod for osu! ruleset
2022-02-03 10:41:23 +09:00
Bartłomiej Dach
a8ffc4fc2a
Add editor override to respect IsolateSavingFromDatabase
2022-02-02 21:57:21 +01:00
Bartłomiej Dach
47429fb0c6
Fix same-name safety firing wrongly
2022-02-02 21:57:21 +01:00
Bartłomiej Dach
afc48d86df
Add failing test coverage for save after safeties addition
2022-02-02 21:57:10 +01:00
Bartłomiej Dach
4f1aac9345
Add safeties preventing creating multiple difficulties with same name
2022-02-02 21:57:09 +01:00
Bartłomiej Dach
54bb6ad40c
Fix working beatmaps not seeing new difficulties after add
2022-02-02 21:55:34 +01:00
Bartłomiej Dach
0d51c015ad
Add basic test coverage for new difficulty creation
2022-02-02 21:55:34 +01:00
Bartłomiej Dach
dc96c4888b
Add support for creating new blank difficulties
2022-02-02 21:55:33 +01:00
Bartłomiej Dach
b613aedeb8
Fix menu item width changing when hovered
2022-02-02 21:23:35 +01:00
Bartłomiej Dach
3386f038ba
Add new difficulty creation menu
2022-02-02 21:23:35 +01:00
Bartłomiej Dach
e2fcdc394b
Extract method for difficulty switch menu creation
2022-02-02 21:23:35 +01:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits
2022-02-02 20:41:25 +01:00
Salman Ahmed
074a691635
Set keyboard step to 0.1
for difficulty adjust sliders
2022-02-02 17:43:08 +03:00
Dan Balasescu
81a22dbd29
Add back playing users list
2022-02-02 23:19:43 +09:00
Dan Balasescu
fcbba3d948
Rename PlayingUserStates -> WatchingUserStates
2022-02-02 23:11:29 +09:00
Dan Balasescu
9d1d13c715
Fix up TestSpectatorClient implementation
...
Rather than using a list which is supposed to be updated "client"-side,
now uses the "server"-side list.
2022-02-02 23:05:09 +09:00
Dean Herbert
19eb9ad8a7
Reorder StatisticsItem
constructor to make a touch more sense
2022-02-02 23:02:38 +09:00
Henry Lin
3c2a6fe208
Don't prompt for a replay if no item requires hit events
2022-02-02 19:07:14 +08:00
Henry Lin
1e19c7046a
Use spacing instead of bottom margin
2022-02-02 19:02:29 +08:00
Henry Lin
b0023b9809
Also dispose rows
2022-02-02 19:00:46 +08:00
Dan Balasescu
6d3bc005ea
Merge branch 'master' into spectator-state-rework
2022-02-02 18:57:04 +09:00
Dan Balasescu
b5fb3b7dae
Fix crash when selecting swap mod as freemod
2022-02-02 18:42:22 +09:00
Henry Lin
36bfef4f54
Dispose container before replacing
2022-02-02 17:32:16 +08:00
Henry Lin
042574660c
Rename "Content" to "CreateContent"
2022-02-02 17:29:03 +08:00
Henry Lin
90e30bc9e8
Remove useless null checks
2022-02-02 17:26:17 +08:00
Henry Lin
5e3d124eef
Add scrolling to the extended statistics panel
2022-02-02 17:20:22 +08:00
Dan Balasescu
db0f3b7f5e
Merge pull request #16738 from peppy/fix-ruleset-incorrectly-loading
...
Fix rulesets potentially being marked `Available` even when methods are missing
2022-02-02 18:03:04 +09:00
Dean Herbert
4f3e55a0ce
Merge branch 'master' into songselect-random-sfx
2022-02-02 17:18:24 +09:00
Dean Herbert
cb31ce812c
Merge branch 'master' into cursor-tap
2022-02-02 16:34:34 +09:00
Dean Herbert
4758de226b
Update resources
2022-02-02 16:27:59 +09:00
Dean Herbert
0c5da9370a
Fix rulesets potentially being marked Available
even when methods are missing
...
Came up when running the game after the recent breaking changes
(https://github.com/ppy/osu/pull/16722 ), where two template rulesets I
had loaded were erroring on startup but still being marked as available,
allowing them to crash the game on attempting to initiate relpay logic.
These cases are already handled for first-time ruleset loading via the
`GetTypes()` enumeration in `RulesetStore.addRuleset`, but when
consistency checking already present rulesets the only runtime
validation being done was `ruleset.CreateInstance()`, which does not
handle missing types or methods.
2022-02-02 14:52:01 +09:00
Jamie Taylor
6e60e68b80
Change from click to mousedown+mouseup and only play when cursor is visible
2022-02-02 14:44:06 +09:00
Henry Lin
3ba5d88914
Update statistics item display logic
2022-02-02 13:41:51 +08:00
Henry Lin
c5c4c85006
Lazily create content of StatisticItem
2022-02-02 13:29:18 +08:00
Dean Herbert
6d962e7925
Merge pull request #16726 from dekrain/leaderboard-score-tooltip
...
Add basic tooltip for leaderboard scores
2022-02-02 13:56:45 +09:00
Dean Herbert
d065e32ca1
Fix crash due to MatchLeaderboardScore
s not having populated rulesets
2022-02-02 13:23:49 +09:00
Henry Lin
b4fd1ecba2
Hide attribute if the maximum is 0
2022-02-02 11:02:01 +08:00
Dean Herbert
35b7653290
Revert mod flow changes and add visual test coverage showing an overflow case
2022-02-02 09:13:19 +09:00
Bartłomiej Dach
75101b1105
Remove unused ruleset ctor params from test beatmap model managers
...
No longer used since 00e3af3366
.
2022-02-01 21:49:41 +01:00
Bartłomiej Dach
994fb966b6
Remove Host
ctor param from SkinModelManager
...
No longer used since 29d074bdb8
.
2022-02-01 21:37:19 +01:00
Bartłomiej Dach
07d09b3520
Remove unused parameter from createGameplayComponents()
...
No longer used since 136843c8e4
.
2022-02-01 21:35:41 +01:00
Bartłomiej Dach
a94702b3ae
Remove unused parameters in LegacyComboCounter
...
No longer used since 9bb8a43bce
.
2022-02-01 21:35:41 +01:00
Bartłomiej Dach
1fa2bf5d69
Remove unused parameter from createColourBars()
...
No longer used since b61aa660c6
.
2022-02-01 21:35:40 +01:00
Bartłomiej Dach
c6a65ccfed
Remove unused parameter from createContent()
...
No longer used since 513e470b52
.
2022-02-01 21:35:40 +01:00
Bartłomiej Dach
16e0cc6a2b
Remove IIpcHost
param from ScoreManager
...
No longer used since 3e3b9bc963
.
2022-02-01 21:35:40 +01:00
Bartłomiej Dach
a378e78ced
Fix RealmLive
unnecessarily passing ID around
...
Appears to have never been needed. When the `retrieveFromID` method was
created in 81b5717ae7
, it didn't use the
`id` parameter for anything either.
2022-02-01 21:35:12 +01:00
Bartłomiej Dach
3d7af805a3
Fix BeatmapMetadata
not using its user param correctly
2022-02-01 21:16:28 +01:00
dekrain
eee020f8e4
Cleanup tooltip layout
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 20:26:52 +01:00
Henry Lin
b06128ffa5
Rename "Final PP" to "Achieved PP"
2022-02-01 22:26:55 +08:00
Henry Lin
39524f3dd2
Split total pp into 2 lines
2022-02-01 22:26:30 +08:00
Dan Balasescu
f4210f7a30
Rework spectator components to use new user state
2022-02-01 21:53:25 +09:00
Dan Balasescu
41007169f7
Give SpectatorState a user state
2022-02-01 21:51:05 +09:00
Dean Herbert
0f83f77d2b
Add xmldoc for new ResetFromReplayFrame
method
2022-02-01 16:52:53 +09:00
Dean Herbert
f87920cd83
Remove unnecessary GridContainer
and list mods verticall to give more space
2022-02-01 16:43:26 +09:00
Dean Herbert
8eace12fe3
Synchronise (roughly) backgrounds of all custom tooltips
2022-02-01 16:35:25 +09:00
Dean Herbert
fdb52a8fd7
Remove gap in tooltip display between statistics
2022-02-01 16:35:25 +09:00
Dean Herbert
855135c51e
Fix potential nullref during display due to incorrect equality check
2022-02-01 16:13:27 +09:00
Dean Herbert
e1b57c4bf6
Fix inspections
2022-02-01 16:07:57 +09:00
dekrain
d7b939277e
Code quality improvements
2022-02-01 07:10:00 +01:00
dekrain
fd287e06f2
Add missing license header
2022-02-01 06:51:00 +01: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
dekrain
c2b775c0a3
Minor alignment adjustments
2022-02-01 06:45:59 +01:00
Dan Balasescu
502e6af008
Remove PlayingUsers list from SpectatorClient
2022-02-01 14:42:30 +09:00
Dan Balasescu
0641264a11
Merge branch 'master' into spectator-consistency-frames
2022-02-01 14:35:30 +09:00
dekrain
db973fb348
Add basic tooltip for leaderboard scores
2022-02-01 06:28:18 +01:00
Dan Balasescu
c421d8d3cd
Merge pull request #16719 from peppy/mania-column-touch
...
Add basic touch input support for osu!mania
2022-02-01 12:26:29 +09:00
Dan Balasescu
c50577e25f
Apply suggestion from review
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 10:48:41 +09:00
Dan Balasescu
4fb565e15f
Reset ScoreProcessor from statistics replay frames
2022-01-31 21:32:56 +09:00
Dan Balasescu
39e1d65976
Make ScoreProcessor write all judgement types
2022-01-31 18:53:47 +09:00
Dan Balasescu
0458d408bb
Add replay statistics frames to FramedReplayInputHandler
2022-01-31 18:53:47 +09:00
Dan Balasescu
4727aeda01
Give last bundled replay frame the frame header
2022-01-31 18:53:47 +09:00
Dan Balasescu
f3d4756c7f
Merge pull request #16713 from frenzibyte/fix-spectator-gcc-state-2
...
Fix multiplayer spectator occasionally rewinding time unexpectedly
2022-01-31 18:33:08 +09:00
Dan Balasescu
62603e78fd
Merge pull request #16714 from frenzibyte/rewrite-hardware-correction-clock
...
Rewrite `HardwareCorrectionOffsetClock` to handle seeking on different gameplay rates
2022-01-31 17:32:22 +09:00
Dan Balasescu
a49a9ed0a0
Fix incorrect invoke
2022-01-31 17:19:04 +09:00
Dean Herbert
0e764538e0
Retrieve KeyBindingContainer
via DI rather than traversal lookup
2022-01-31 17:05:04 +09:00
Dean Herbert
9005bce0fa
Add "counter" keyword for key overlay setting
2022-01-31 16:37:51 +09:00
Dean Herbert
a84fd2e20c
Merge branch 'master' into master
2022-01-31 16:30:08 +09:00
Dan Balasescu
cec16d17ab
Merge pull request #16696 from peppy/fix-migration-crash-case-sensitivity
...
Fix stable import not working when multiple configuration files exist with different file case
2022-01-31 15:52:29 +09:00
Dan Balasescu
8d13e0514b
Merge pull request #16716 from peppy/carousel-less-invalidations
...
Refactor carousel drawables to reduce invalidations
2022-01-31 15:52:08 +09:00
Dean Herbert
c8c0ae5658
Merge branch 'master' into flush-frames-end-play
2022-01-31 15:12:41 +09:00
Dean Herbert
57f793aff0
Rename dictionary and make private
for added safety
2022-01-31 15:12:08 +09:00
Dean Herbert
6bc6675fa1
Adjust fade in times slightly
2022-01-31 14:46:20 +09:00
Dean Herbert
8917ab78f4
Reduce unnecessary container nesting and adjust empty state opacity slightly
2022-01-31 14:46:20 +09:00
Dean Herbert
2ee0db0ebf
Move fade in function local
2022-01-31 14:46:20 +09:00
Dean Herbert
c3e3b2019d
Reduce overhead of ApplyState
by tracking previous values
...
Even with pooling applied, there are overheads involved with transforms
when quickly cycling through the carousel.
The main goal here is to reduce the transforms in cases the reuse is
still in the same state. Avoiding firing `FadeIn` and `FadeOut` are the
main areas of saving.
2022-01-31 14:46:20 +09:00
Dean Herbert
a06287e76a
Remove DrawableCarouselItem.Update
updating of height
...
Marginal from a performance aspect, but reads better.
2022-01-31 14:46:20 +09:00
Dan Balasescu
e9f3e7f5cb
Merge pull request #16703 from peppy/leaderboard-component-fixes
...
Rewrite `Leaderboard` component to bring up to current code standards
2022-01-31 14:33:04 +09:00
Dean Herbert
9c9fda84f3
Add schedule and cancellation check to score ordering step
2022-01-31 13:50:53 +09:00
Dean Herbert
610eb9f6a4
Remove unnecessary container level
2022-01-31 13:45:49 +09:00
Salman Ahmed
6556a7e3c3
Handle different gameplay rates when seeking on master clock
2022-01-31 01:40:07 +03:00
Dean Herbert
f8939af5e6
Track loading via state as well
2022-01-31 01:12:03 +09:00
Dean Herbert
1cec76df74
Fix weird reading xmldoc
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-01-30 23:18:40 +09:00
Dean Herbert
82806d7aeb
Ensure the background is eventually displayed when IntroTriangles
suspends
2022-01-30 21:32:39 +09:00
Dean Herbert
52f1c2bfdb
Add failsafe to IntroScreen
to stop users with incorrect audio configuration getting stuck
...
The most common case of this seems to be linux users with incorrect or
unsupported audio driver configurations. It continues to be brought up
in discussions as people are unsure of why their game freezes on
startup, and unable to easily recover.
2022-01-30 18:51:16 +09:00
Dean Herbert
04dbb5d3c6
Disallow setting "NoScores" externally as it is handled internally
2022-01-30 16:18:19 +09:00
Dean Herbert
acc1199add
Consolidate flows of Set
operations, either result or error
2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8
Also refactor placeholder
logic to make more sense
2022-01-30 10:50:32 +09:00
Salman Ahmed
3ec193d47e
Fix spectator clock container incorrectly starting catch-up clock
2022-01-30 01:46:10 +03:00
Salman Ahmed
4f4f60248f
Add failing test case
2022-01-30 01:46:10 +03:00
Dean Herbert
b434e29a7c
Move loading hide operation inside early return to ensure not hidden too early
...
It should only be hidden after the async load completes.
2022-01-30 03:10:15 +09:00
Dean Herbert
dad9cc9315
Ensure Reset
/Scores_Set
run inline where possible
2022-01-30 03:06:29 +09:00
Dean Herbert
9b573fbc2b
Add missing entries to switch
statement and guard against out of range
2022-01-30 02:58:53 +09:00
Dean Herbert
d21464ea61
Fix assertions to work in both directions
2022-01-30 02:54:51 +09:00
Dean Herbert
d3cb910cf8
Convert inline math to not so inline to make operation more explicit
2022-01-30 02:37:01 +09:00
Dean Herbert
3d771c0fc7
Remove unnecessary loading
hide call from PlaceholderState_Set
and add more assertiveness
2022-01-30 02:34:31 +09:00
Nitrous
e408d8ef0e
rename Frames
to ReplayFrames
2022-01-29 23:19:51 +08:00
Dean Herbert
6f54f8ad78
Add more safety around CancellationToken
usage
2022-01-29 23:58:57 +09:00
Dean Herbert
d0b74a91fb
Fix edge cases with score drawable loading
2022-01-29 23:58:57 +09:00
Dean Herbert
0293d95f82
Simplify IsOnlineScope
usage
2022-01-29 23:58:57 +09:00
Dean Herbert
daea13f491
Simplify flow of cancellation token
2022-01-29 23:58:57 +09:00
Dean Herbert
3d59bab7c6
Remove fetch callback logic completely
2022-01-29 23:58:57 +09:00
Dean Herbert
13f445ddd5
Move score update code into own method
2022-01-29 23:58:57 +09:00
Dean Herbert
c48e9f2bbd
Remove more unnecessary schedule/cancel logic
2022-01-29 23:58:57 +09:00
Dean Herbert
a700ad3849
Remove scoresLoadedOnce
weirdness
2022-01-29 23:58:57 +09:00
Dean Herbert
661fec7c8a
Make score setter private
2022-01-29 23:58:57 +09:00
Dean Herbert
b85b2c01fb
Reorder based on accessibility and add regions
2022-01-29 23:58:57 +09:00
Dean Herbert
c548658662
Remove move unused pieces
2022-01-29 23:58:57 +09:00
Dean Herbert
17aa9f3040
Remove pointless level of schedule/cancel logic
2022-01-29 23:58:57 +09:00
Dean Herbert
64925b3fea
Remove unused Content
override
2022-01-29 23:58:57 +09:00
Dean Herbert
b9dac6c3b2
Reorder and tidy up bindable flows
2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5
Rename methods to make more sense (and always run through AddOnce
)
2022-01-29 23:58:57 +09:00
Dean Herbert
c6d303a5b4
Add xmldoc to Leaderboard
class
2022-01-29 23:58:57 +09:00
Nitrous
a8eb3f95df
add readonly modifier
2022-01-29 22:54:17 +08:00
Nitrous
b4e516c535
allow test scenes to specify replays manually
2022-01-29 22:31:24 +08:00
Dean Herbert
1a14ccc7ee
Run EF migrations before migrating to realm
...
Turns out that there are more than zero users that are upgrading from
old databases. I think we probably want to support this for now.
Tested against database in https://github.com/ppy/osu/discussions/16700
and one other I had locally, both work correctly.
2022-01-29 23:13:23 +09:00
Dean Herbert
d48fae1100
Revert "Remove all EF migrations"
...
This reverts commit bb5b9458e8
.
2022-01-29 23:13:23 +09:00
Nitrous
98d8b26a9c
move ModAlternate
to OsuModAlternate
and check if intro has ended
2022-01-29 21:49:40 +08:00
Nitrous
2326c36836
remove unused method and fix description
2022-01-29 21:09:36 +08:00
Nitrous
aa582fb0e1
add Alternate Mod
2022-01-29 20:38:12 +08:00
Dean Herbert
e7823982d8
Fix ruleset value not being transferred when FinaliseSelection
is not called
2022-01-29 18:44:48 +09:00
Dean Herbert
b2ebcabdd5
Fix potential crash during stable install migration due to multiple configuration files
...
Apparently this can be a thing on windows.
Closes https://github.com/ppy/osu/discussions/16689 .
2022-01-29 13:30:07 +09:00
Dan Balasescu
3037a3a769
Purge final spectator frames before ending play
2022-01-28 22:26:05 +09:00
Dan Balasescu
397971c631
Change FrameDataBundle.Frames into an IList
2022-01-28 22:06:34 +09:00
Dan Balasescu
8883505eed
Merge pull request #16686 from peppy/fix-ar-on-old-maps
...
Fix approach rate not being transferred from OD on older beatmaps
2022-01-28 20:17:37 +09:00
Dean Herbert
53ca597e2b
Update framework
2022-01-28 19:12:32 +09:00
Dean Herbert
142a67e163
Fix approach rate not being transferred from OD on older beatmaps
2022-01-28 18:53:28 +09:00
Jamie Taylor
4d9b61212b
Add 'cursor tap' audio feedback
2022-01-28 18:13:51 +09:00
Dan Balasescu
f021a274d2
Merge pull request #16681 from peppy/fix-delete-local-scores
...
Fix delete local scores via "Clear all scores" button crashing the game
2022-01-28 17:01:31 +09:00
Dan Balasescu
bdc9ca40f2
Merge pull request #16676 from peppy/fix-editor-custom-ruleset
...
Fix editor crashing on custom rulesets due to `ChangeHandler` not being supported
2022-01-28 16:26:56 +09:00
Dan Balasescu
c7f8528d63
Merge pull request #16673 from peppy/fix-polling-component-thread-safety
...
Fix occasional non-fatal errors from polling API requests incorrectly getting queued twice
2022-01-28 16:26:47 +09:00
Dan Balasescu
b94984bd2d
Merge pull request #16678 from peppy/hold-for-menu-always-fade
...
Ensure hold for menu button fades out if the cursor is never moved
2022-01-28 15:55:41 +09:00
Dean Herbert
0d3ac4fd9c
Fix delete local scores crashing the game
2022-01-28 15:54:53 +09:00
Dean Herbert
778eebc94d
Add test coverage of local score import and deletion
2022-01-28 15:50:36 +09:00
Dean Herbert
cb7ae413fe
Ensure test game is always active
2022-01-28 15:50:35 +09:00
Dan Balasescu
0bba8a52c6
Merge pull request #16663 from bdach/beatmap-info-defaults
...
Change some beatmap info/metadata defaults in a backwards compatible manner
2022-01-28 15:41:20 +09:00
Dean Herbert
28c8e07e3f
Ensure hold for menu button fades out if the cursor is never moved
...
Closes https://github.com/ppy/osu/discussions/16669 .
2022-01-28 14:48:35 +09:00
Dean Herbert
b7d8c9bf06
Fix a couple of cases of incorrect equality checks in the case both values are null
2022-01-28 14:29:56 +09:00
Dean Herbert
b3856c9005
Fix editor crashing on custom rulesets due to ChangeHandler
not being supported
...
As per https://github.com/ppy/osu/discussions/16668 , even without proper
saving support some ruleset developers do want to work on the editor.
This brings things back into a workable state.
2022-01-28 14:03:31 +09:00
Dean Herbert
91be77ad3d
Fix null ref in ComposeScreen
when ruleset doesn't provide a composer
2022-01-28 14:01:10 +09:00
Dean Herbert
c953a5d503
Ensure PollingComponent.Poll
is always called from the update thread
...
Not strictly required since all `Poll` implementations are now
threadsafe, but extra safety is never a bad thing?
2022-01-28 13:44:11 +09:00
Dean Herbert
c44af4853d
Add thread safety to PollingComponent.Poll
implementations
2022-01-28 13:43:53 +09:00
Jamie Taylor
f59828e2d9
Add audio feedback to song select 'random'
2022-01-28 13:43:37 +09:00
Bartłomiej Dach
6674567af1
Use -1 as the default preview time globally in metadata
2022-01-27 21:51:51 +01:00
Bartłomiej Dach
1b8136e3e0
Change some BeatmapInfo
defaults in a backwards compatible manner
2022-01-27 21:49:37 +01:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete
2022-01-27 20:46:19 +01:00
Dean Herbert
942ea896f1
Skip scores missing beatmaps during realm migration
2022-01-28 01:20:32 +09:00
Dean Herbert
81461be49f
Skip beatmap imports where ruleset is not present in realm
...
Closes #16651 .
When a ruleset is not available, the `Find` call would return null. When
a null is passed to the constructor, `BeatmapInfo` would create an "osu"
ruleset, which tries to get stored to realm and fails on duplicate
primary key.
Probably need to add better safeties against this (or change that
constructor...) but this will fix the migration process.
Probably not serious enough to pull the build. This only affects
rulesets like karaoke which have custom beatmaps.
2022-01-28 00:14:20 +09:00
Dean Herbert
2d1a8a9d49
Use a more correct CompareTo
implementation for ruleset ordering
2022-01-27 21:58:04 +09:00
Salman Ahmed
2cc69d6b19
Replace IsControlDragged
with an abstract ShouldBeExpanded
2022-01-27 15:57:56 +03:00
Dean Herbert
33b7bdcf82
Update pointless CompareTo
implementation
2022-01-27 21:49:33 +09:00
Dean Herbert
7af23328a4
Merge branch 'master' into ruleset-ordering-fix
2022-01-27 21:46:03 +09:00
Dean Herbert
d7fd11a16d
Merge pull request #16644 from peppy/ruleset-id-fixes
...
Update all usages of `RulesetID` and `Ruleset.ID` to use `Ruleset.OnlineID`
2022-01-27 21:44:22 +09:00
Dean Herbert
df9f969030
Merge pull request #16645 from peppy/fix-button-system-crash
...
Fix `ButtonSystem` null reference crash due to missing null check in delayed animations
2022-01-27 17:09:46 +09:00
Dean Herbert
3ae5973ab7
Fix compilation error due to commit split
2022-01-27 17:08:31 +09:00