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
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
Dean Herbert
a5d422e82c
Merge branch 'master' into ruleset-id-fixes
2022-01-27 17:07:18 +09:00
Dean Herbert
29a4ec949f
Merge pull request #16637 from bdach/editor-changes-not-resetting
...
Fix changes to beatmap info made in editor persisting after exit without save
2022-01-27 17:02:42 +09:00
Dean Herbert
449e9bcf5c
Ensure beatmap carousel scroll position is maintained during deletion operations
2022-01-27 16:52:02 +09:00
Dean Herbert
0a45aa80cb
Remove unnecessary double-schedule in UpdateBeatmapSet
2022-01-27 16:52:02 +09:00