Dean Herbert
aac2aa341c
Update some more incorrect types for primary key access/set
2022-01-12 16:57:27 +09:00
Dean Herbert
2a4bee61dd
Update many score-related classes to move closer to being able to persist to realm
2022-01-12 16:57:27 +09:00
Dean Herbert
e44751c275
Add required properties for compatibility with existing code
2022-01-12 16:57:27 +09:00
Dean Herbert
638b3d9161
Add statistics storage to realm model
2022-01-12 16:57:27 +09:00
Dean Herbert
3da762e145
Replace EF ScoreInfo
with realm version
...
May contain errors.
2022-01-12 16:57:27 +09:00
Dean Herbert
c5e401d678
Update usages to consume IRulesetStore
2022-01-12 16:57:27 +09:00
Dean Herbert
a5df01ff47
Add score importer
2022-01-12 16:57:27 +09:00
Dean Herbert
0dd23c46b0
Add basic RealmScore
implementation
2022-01-12 16:57:27 +09:00
Dean Herbert
8c0db79ec1
Remove BeatmapStore
and update surrounding code
2022-01-12 16:57:27 +09:00
Dean Herbert
b8cd3cdbbc
Various updates to ruleset and primary key usages to move closer to realm support
2022-01-12 16:57:13 +09:00
Dean Herbert
b77bb2f12b
Switch BeatmapModelManager
to use RealmArchiveModelManager
base class
2022-01-12 16:39:36 +09:00
Dean Herbert
4763fe54d6
Remove unused store classes
2022-01-12 16:39:36 +09:00
Dean Herbert
116f35c52a
Remove EF FileStore
2022-01-12 16:39:36 +09:00
Dean Herbert
3ecd889fef
Replace EF RulesetStore
with realm version
...
Pass full EF context factory to `RealmContextFactory` for migration purposes
2022-01-12 16:39:36 +09:00
Dean Herbert
89d6ffa7f3
Use RealmContextFactory
instead of EF
2022-01-12 16:39:36 +09:00
Dean Herbert
83cbee39de
Mark cases where BeatmapSet
is generally guaranteed to be non-null
2022-01-12 16:39:36 +09:00
Dean Herbert
e6fdd0e969
Miscellaneous fixes that don't fit elsewhere
2022-01-12 16:39:36 +09:00
Dean Herbert
df088f96f4
Fix incorrect Metadata
-related null checks
2022-01-12 16:39:36 +09:00
Dean Herbert
6a671b0a52
Remove unnecessary assigns of BeatmapSetInfo.Metadata
2022-01-12 16:39:36 +09:00
Dean Herbert
fda529de26
Update usages of APIUser
to RealmUser
2022-01-12 16:39:36 +09:00
Dean Herbert
213d89b479
Update null fallback cases involving OnlineID
2022-01-12 16:39:36 +09:00
Dean Herbert
c3df58e01c
Add required properties to make realm models backwards compatible
2022-01-12 16:39:36 +09:00
Dean Herbert
618903c217
Rename realm to become imposter classes
2022-01-12 16:39:36 +09:00
Dean Herbert
0b6c4497bd
Rename EF classes to allow for shit to hit the fan
2022-01-12 16:39:36 +09:00
Dan Balasescu
2e34887999
Merge pull request #16423 from peppy/realm/manual-compact
...
Add button to compact realm on demand
2022-01-12 16:23:00 +09:00
Dean Herbert
a82606cf5c
Merge pull request #16407 from smoogipoo/fix-mania-normalised-scroll-speed
...
Fix calculation of most common beat length for mania scroll speed
2022-01-12 15:23:22 +09:00
Dean Herbert
11e07c1137
Add button to compact realm on demand
...
In general we're doing things correctly so the realm file shouldn't
expand (unless mass deletions are made from it), but this is a nice way
to manually confirm the behaviour.
Sometimes if using realm studio with osu! running, for instance, the
realm file size can blow out of proportion. This will recover from such
cases.
Note that calling `RealmFactory.Compact` itself is not enough, as it
will fail unless all instances of the realm have been closed.
2022-01-12 15:22:36 +09:00
Dan Balasescu
06a5b89071
Merge pull request #16264 from bdach/beatmap-background-with-storyboard-stopping
...
Fix main menu background with storyboard stopping after entering and exiting song select
2022-01-12 14:37:42 +09:00
Dean Herbert
d8c52740cb
Merge pull request #16354 from bdach/slider-snapping
...
Apply slider snapping to current beat divisor more liberally to match user expectations
2022-01-12 11:18:18 +09:00
Susko3
a0842838e7
Add AllowIme => false
where applicable
...
Also adds `AllowWordNavigation => false` to password text box.
2022-01-12 00:15:17 +01:00
Bartłomiej Dach
80ccff9068
Remove no longer necessary guards against default control points
...
The subscription in which the guards were present was moved from
constructor to `ApplyDefaults()`, and at that point neither the sample
control point or the difficulty point can be the default point, because
there are explicit paths that overwrite those with blank points in the
same methods, prior to the subscription's registration.
The only worry would be that someone would set the default point on the
object themselves, but at that point that is most likely programmer
error anyhow.
2022-01-11 22:14:47 +01:00
Bartłomiej Dach
76d5225bb9
Rewrite storyboard clock management in slightly different way
2022-01-11 22:00:04 +01:00
Bartłomiej Dach
970e0cc85a
Merge branch 'master' into beatmap-background-with-storyboard-stopping
2022-01-11 21:39:49 +01:00
Bartłomiej Dach
7a25fe79b7
Fix sample control point time being calculated before defaults applied
...
In editor contexts, the `StartTimeBindable` subscription in `HitObject`
was firing before defaults were applied, which in the case of sliders
manifested in an infinite end time. `ApplyDefaults()` also did not
always set the time of the control point to the correct value, which
matters when the beatmap is encoded.
Ensure that the control points receive the correct time values during
default application, and only register the `StartTimeBindable` change
callback after defaults have been successfully applied.
2022-01-11 21:38:59 +01:00
Salman Ahmed
82722cd804
Merge branch 'master' into patch-1
2022-01-11 21:31:13 +03:00
r00ster
a8c3fdd383
Update outdated OpenTabletDriver FAQ links
2022-01-11 16:11:07 +01:00
Dean Herbert
e6368fd6b2
Merge branch 'master' into fix-mania-normalised-scroll-speed
2022-01-11 21:24:32 +09:00
Dan Balasescu
906e700b60
Improve quality of beatmap background blurs
2022-01-11 21:22:16 +09:00
Dan Balasescu
ef66ec4622
Also fix MessageFormatter tests
2022-01-11 17:55:43 +09:00
Dan Balasescu
3cb5f43f77
Fix incorrect action returned for wiki links in DEBUG mode
2022-01-11 17:46:49 +09:00
Dan Balasescu
892374b50b
Merge pull request #16411 from peppy/update-framework
...
Update framework
2022-01-11 16:09:42 +09:00
Dean Herbert
797d3f5d65
Update framework
2022-01-11 15:09:51 +09:00
Dan Balasescu
38a51b9ce0
Add comment
2022-01-11 13:54:12 +09:00
Dan Balasescu
81fed4c6bf
Use time=0 as for the first control point
2022-01-11 12:55:17 +09:00
Dan Balasescu
a09563a7d9
Fix calculation of most common beat length for mania scroll speed
2022-01-11 11:00:30 +09:00
Dean Herbert
90558f809f
Merge branch 'master' into slider-snapping
2022-01-10 22:42:16 +09:00
Dean Herbert
e333831c45
Merge pull request #16371 from bdach/angle-of-rotation-display
...
Add tooltip with relative rotation in degrees to rotation handles
2022-01-10 22:19:50 +09:00
Dan Balasescu
af9fad00c3
Merge branch 'master' into async-deadlock-safety
2022-01-10 16:11:09 +09:00
Dan Balasescu
928023fabb
Merge pull request #16362 from bdach/multiplayer-wrong-ruleset
...
Fix multiplayer starting gameplay using last picked item ruleset rather than actual current item ruleset
2022-01-10 15:10:27 +09:00
Dan Balasescu
5aaf5953f4
Merge pull request #16393 from peppy/detach-already-detached
...
Add mention to detach methods of only running once
2022-01-10 13:42:50 +09:00
Dan Balasescu
6f18db2136
Merge pull request #16390 from peppy/fix-filter-matching-tests
...
Update `FilterMatchingTest` and filter code to use ruleset's `OnlineID`
2022-01-10 13:10:51 +09:00
Dean Herbert
d072f1d08d
Add mention to detach methods of only running once
2022-01-10 13:09:26 +09:00
Dean Herbert
02d8a6359a
Update FilterMatchingTest
and filter code to use ruleset's OnlineID
...
The tests were relying on the `RulesetID` being set to 0 in the example
beatmap, even though the ruleset *instance* was set to ID 5.
This explicitly adds that 0 value to show intent, and also removes the
incorrect specification of 5 (which would cause the convert filter tests
to fail).
Also updates the filter code to use `OnlineID`, which is required in
realm changes.
2022-01-10 12:30:34 +09:00
Dean Herbert
ca162ed09a
Update resources
2022-01-10 11:36:26 +09:00
Bartłomiej Dach
2e9ba40ae2
Add references to web implementation wrt property used
2022-01-09 14:46:15 +01:00
Bartłomiej Dach
12c8243a9b
Fade out inactive player rows on user ranking table
2022-01-09 14:42:26 +01:00
Bartłomiej Dach
d76c674abc
Add tooltip with relative rotation in degrees to rotation handles
2022-01-08 20:24:15 +01:00
Bartłomiej Dach
24d377fddb
Move implementation of drag handle operations to concrete classes
2022-01-08 20:24:00 +01:00
Bartłomiej Dach
9370e84460
Fix effect point multiplier text box displaying too much decimal digits
2022-01-08 16:12:52 +01:00
Bartłomiej Dach
c5ac996e3f
Restore ruleset using current playlist item on resuming room sub screen
...
Ensures that the ruleset selected at the multiplayer song selection
screen does not overwrite the current playlist item's ruleset.
2022-01-08 14:56:01 +01:00
Bartłomiej Dach
9e84e31eac
Add score time to beatmap set overlay scoreboard table
2022-01-07 19:18:16 +01:00
Bartłomiej Dach
87f7c7e691
Implement scoreboard-specific time formatting
2022-01-07 19:18:16 +01:00
Bartłomiej Dach
881fa2b86b
Add basic test scene for scoreboard time
2022-01-07 19:18:16 +01:00
Bartłomiej Dach
c09f6ee052
Use slider snapping more liberally to match user expectations
...
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
Dean Herbert
f440aadcbc
Merge pull request #16341 from bdach/score-submission-test-failures
...
Fix intermittent failure in score submission test
2022-01-07 22:24:04 +09:00
Dean Herbert
0698ef6330
Fix one missed rename
2022-01-07 17:36:29 +09:00
Dean Herbert
2ef791069c
Fix typon on AdvancedStats
2022-01-07 17:33:38 +09:00
Dean Herbert
6a1e1d186f
Update framework
2022-01-07 17:29:09 +09:00
Dean Herbert
3cd996eb4a
Merge branch 'master' into async-deadlock-safety
2022-01-07 17:28:59 +09:00
Dan Balasescu
bf328dc9e0
Merge pull request #16291 from peppy/fix-mods-mutated-outside-lease
...
Fix `MultiplayerMatchSubScreen` mutating mods outside of bindable lease
2022-01-07 17:12:12 +09:00
Bartłomiej Dach
8f744c99ee
Fix settings toolbox toggle button starting in incorrect state
...
While displaying replays, the colour of the toolbox toggle button would
not match the actual state of the rest of the toolbox, i.e. both buttons
would be white, even though the "playback settings" section was expanded
and as such should have a yellow toggle button.
In the case of the replay player, the failure scenario was as follows:
1. `SettingsToolboxGroup` calls `updateExpanded()` in its BDL to update
the initial state of the toolbox, including the toggle button
colour, by adding a colour fade transform.
2. An ancestor of both the toolbox groups - `PlayerSettingsOverlay`,
which is a `VisibilityContainer` - calls `FinishTransforms(true)` in
its `LoadCompleteAsync()`, therefore instantly applying the colour
from point (1) to the toggle button instantly.
3. However, `IconButton` inherits from `OsuAnimatedButton`. And
`OsuAnimatedButton` changes its colour in `LoadComplete()`, therefore
undoing the instant application from point (2).
This conjunction of circumstances is instrumental to reproducing the
bug, because if the `FinishTransforms(true)` call wasn't there, point
(3) wouldn't matter - the transform would get applied at some
indeterminate point in the future, ignoring the write from
`OsuAnimatedButton`.
As for the fix, move the `updateExpanded()` call in
`SettingsToolboxGroup` to `LoadComplete()` to avoid the above
unfortunate order. Applying initial visual state in `LoadComplete()` is
the idiomatic style of doing things these days anyhow.
2022-01-06 20:45:56 +01:00
Bartłomiej Dach
f5742d3d2a
Merge branch 'master' into editor-toolbox-expand
2022-01-06 19:01:02 +01:00
Dean Herbert
e02863f780
Avoid accessing DrawWidth
from invalidation
2022-01-07 01:24:30 +09:00
Dean Herbert
f703c5f038
Add comment and reduce how often ChildrenOfType
is invoked in ExpandingButtonContainer
2022-01-06 23:38:54 +09:00
Dean Herbert
5aca2dd4ce
Hide header text when it won't fit in the toolbox group
2022-01-06 23:08:50 +09:00
Dean Herbert
690b425380
Move enum local to usage
2022-01-06 22:56:56 +09:00
Dean Herbert
00177a3ae1
Update usages to new naming
2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91
Update continuation usages to use GetCompletedResult
2022-01-06 22:53:07 +09:00
Dean Herbert
cea9cab4dc
Use ExpandingButtonContainer
in editor composer
2022-01-06 21:10:45 +09:00
Dean Herbert
5baaf356aa
Split out SettingsToolboxGroup
from PlayerSettingsGroup
2022-01-06 21:05:00 +09:00
Dean Herbert
77980196c5
Split out expanding container logic from settings sidebar
2022-01-06 21:02:29 +09:00
Bartłomiej Dach
84765b99b3
Handle score submission request in submission test scene
...
Was previously not handled at all, therefore displaying request failures
in the test log output. While that was mostly a red herring and
shouldn't have caused any actual *test* failures, it is still better to
handle this explicitly in a realistic manner.
2022-01-06 12:57:26 +01:00
Bartłomiej Dach
f0797d4066
Merge branch 'master' into editor-flip-over-origin
2022-01-06 09:59:18 +01:00
Dan Balasescu
1d69eb629c
Merge pull request #16327 from peppy/fix-editor-playfield-centering
...
Fix editor playfield not being centered correctly
2022-01-06 16:11:12 +09:00
Dean Herbert
243a1a3cf7
Fix incorrect origin specification for SkinSelectionHandler
flips
2022-01-06 14:47:44 +09:00
Bartłomiej Dach
7d195c4344
Merge branch 'master' into page-selector
2022-01-05 22:23:10 +01:00
Dean Herbert
88602ec1b4
Fix mouse button disable not disabling touch input mappings
2022-01-05 18:29:32 +09:00
Dean Herbert
df6a755c36
Update player loader screen mouse disable text to use localised version
2022-01-05 18:29:09 +09:00
Dean Herbert
6779503e57
Refactor logic to avoid TimelineSelectionHandler
having to block base calls
2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b
Add global flip hotkeys
2022-01-05 16:48:07 +09:00
Dean Herbert
13cce50fa7
Remove existing handling of flip hotkeys
2022-01-05 16:30:42 +09:00
Dean Herbert
ef2a4aed9a
Fix editor playfield not being centered correctly
...
This has come up multiple times, with mappers citing that they have
muscle memory for mapping based on the centre of the playfield being in
the centre of the window.
The original plan was to have a second toolbar on the right hand side of
the screen to balance the padding, but we're not at that point yet.
Easiest solution is to do what stable does and allow the left-hand
toolbar items to overlap the playfield underneath it.
In edge cases where the user is running at an aspect ratio that causes
overlaps, they can choose to collapse the toolbars down. We can probably
work on this UI/UX a bit more as we update designs to be more friendly
to such cases.
2022-01-05 16:05:18 +09:00
Dean Herbert
2bf6b55b19
Fix failing test due to changed reset page logic
2022-01-05 14:53:32 +09:00
Dean Herbert
5ed69338a6
Add omission of pages when there are too many
2022-01-04 19:05:14 +09:00
Dean Herbert
86f72b71b1
Prepare tests and general structure to support omission of pages
2022-01-04 18:46:44 +09:00
Dean Herbert
e75c9519f3
Adjust font weighting on selection
2022-01-04 18:19:23 +09:00
Dean Herbert
5a11ee7810
Use OverlayColourProvider
and fix font weight
2022-01-04 18:14:42 +09:00
Dean Herbert
ee4f5c0e79
Rename button classes to make more sense
2022-01-04 17:52:40 +09:00
Dean Herbert
db58f5de8e
Clean up unnecessary complexity
2022-01-04 17:51:37 +09:00
Dean Herbert
5736b7d978
Fix cursors sent to osu-web being potentially string formatted in incorrect culture
...
Fixed as per solution at https://github.com/JamesNK/Newtonsoft.Json/issues/874 .
Note that due to the use of `JsonExtensionDataAttribute` it's not
feasible to change the actual specification to `JValue` in the
`Dictionary`.
In discussion with the osu-web team, it may be worthwhile to change the cursor
to a string format where parsing is not required at our end. We could already
do this in fact, but there are tests that rely on it being a `JToken` so the
switch to `JValue` seems like the easier path right now.
2022-01-04 17:20:46 +09:00
Dean Herbert
1c899e4402
Fix post-merge issues
2022-01-04 16:46:42 +09:00
Dean Herbert
69e7ee0f48
Merge branch 'master' into page-selector
2022-01-04 16:44:22 +09:00
Dean Herbert
39650ce7e9
Merge pull request #16307 from peppy/beatmap-listing-bottom-padding
...
Add padding to the bottom of the beatmap listing overlay to avoid hovered panels exceeding visible bounds
2022-01-04 14:14:42 +09:00
Dean Herbert
374dac57f2
Change expanded card content height to 200
2022-01-04 13:22:00 +09:00
Dean Herbert
f9713b8895
Replace usage of TimeoutAttribute
to fix beatmap conversion test failures
2022-01-04 11:51:41 +09:00
Dean Herbert
73b40e6833
Replace usage of .Result
with .WaitSafelyForResult
2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a
Replace usages of Wait
with WaitSafely
2022-01-04 11:51:41 +09:00
Dean Herbert
f6b1405fa0
Merge branch 'master' into fix-listing-terminal-breakage
2022-01-04 11:49:02 +09:00
Bartłomiej Dach
87fbac15fd
Merge branch 'master' into fix-skin-editor-overlay-show-thread-safetyu
2022-01-03 20:12:18 +01:00
Bartłomiej Dach
de33b420ab
Add safety against performing operation on non-alive foundContent
2022-01-03 20:02:46 +01:00
Bartłomiej Dach
586f158920
Remove initial foundContent
value
...
It always is replaced on the first search anyway, and just remains
forever in the overlay otherwise.
2022-01-03 19:52:42 +01:00
Bartłomiej Dach
6650a468e0
Fix and simplify very broken beatmap listing content swap-out logic
...
The beatmap listing content swap-out logic was already a source of
several problems, and several attempts of fixing it were made. But as it
turns out it was terminally broken in several aspects.
* The `BypassAutoSizeAxes` juggling was finicky and ugly, and didn't
really look much different than an instant fade. Therefore, all fade
durations and manipulations of `BypassAutoSizeAxes` are removed.
* The transform sequence juggling the `BypassAutoSizeAxes` manipulations
was enqueued on the content which is being in the process of fading
out. That was partially fixed in 25e38560
, but as it turns out, that
only works if `lastContent` is one of the two placeholder drawables
(results not found / supporter required to use filter).
It would not work if `lastContent` is a
`ReverseChildIDFillFlowContainer` with cards from a previous search in
it.
2022-01-03 19:51:46 +01:00
Bartłomiej Dach
ef9f56e585
Fix bad check if content is placeholder
...
The `lastContent == foundContent` check, last touched in a49a4329
, is
terminally broken, as it would always be false. `foundContent` is
mutated when a new card load task is started in `onSearchFinished()`,
which is *before* the aforementioned check.
The code prior to a49a4329
was checking against the two static reused
placeholder drawables which was the correct check to apply, and this
commit reverts to using a variant of that check.
2022-01-03 19:51:20 +01:00
Bartłomiej Dach
97439c3df1
Rename method to reflect what it actually does
2022-01-03 19:30:17 +01:00
Bartłomiej Dach
7c246670b4
Add padding to bottom of spotlights ranking view to avoid hovered panels exceeding visible bounds
2022-01-03 18:43:20 +01:00
Bartłomiej Dach
0ad555e9f7
Remove surplus blank line
2022-01-03 18:33:32 +01:00
Dean Herbert
b9851b278d
Add padding to the bottom of the beatmap listing overlay to avoid hovered panels exceeding visible bounds
...
Closes https://github.com/ppy/osu/issues/16120 .
2022-01-03 13:18:28 +09:00
Dean Herbert
6356180b6a
Remove unnecessary code and fix double nesting causing filtering to not work
2022-01-03 12:53:58 +09:00
Dean Herbert
623d6d6d2d
Add migration of positional hitsounds setting to new level based setting
2022-01-03 12:46:20 +09:00
Dean Herbert
5dd024aab7
Remove outdated settings migration
2022-01-03 12:46:02 +09:00
Dean Herbert
bb54f438aa
Merge branch 'master' into positional-sounds-strength-adjustment
2022-01-03 12:40:56 +09:00
Bartłomiej Dach
e7d7587ea5
Merge branch 'master' into reduce-chat-overhead
2022-01-01 15:02:55 +01:00
Dean Herbert
675bdd3213
Fix MultiplayerMatchSubScreen
mutating mods outside of bindable lease
...
As seen at https://github.com/peppy/osu/runs/4674501626?check_suite_focus=true .
2022-01-01 12:13:59 +09:00
Dean Herbert
1262e76a58
Fix test failure due to missing DI cached IdleTracker
2021-12-31 23:18:03 +09:00
Dean Herbert
670a30b64b
Remove usage of .Result
in ArchiveReader
2021-12-31 01:52:01 +09:00
Dean Herbert
089b756f93
Invert logic to make reading easier
2021-12-30 16:03:16 +09:00
Dean Herbert
ef49f2ed0e
Add extra extra safety against attempting to load a previously expired editor
2021-12-30 16:02:31 +09:00
Joseph Madamba
cdc148f78e
Increase scope of identifier typo disables on special cases
2021-12-29 14:07:36 -08:00
Dean Herbert
b1a444180f
Fix Show
then Reset
potentially resulting in incorrect load target
2021-12-29 21:46:34 +09:00
Dean Herbert
471eea750a
Fix calling SkinEditorOverlay.Show
before the overlay is loaded causing an exception
...
As seen at https://github.com/ppy/osu/runs/4652969942?check_suite_focus=true .
2021-12-29 21:18:17 +09:00
Joseph Madamba
c22a07d9fc
Bump identifier typo inspection and fix remaining identifier names
2021-12-28 11:26:42 -08:00
Bartłomiej Dach
63e0492725
Mark ShouldSerialize()
methods as implicitly used
2021-12-28 09:02:03 +01:00
Bartłomiej Dach
bc39c2a877
Revert incorrect property rename
2021-12-28 08:31:27 +01:00
Dean Herbert
73dca0c7e3
Merge pull request #16266 from Joehuu/fix-identifier-typos
...
Fix and normalise most identifier names in code
2021-12-28 15:21:42 +09:00
Joseph Madamba
0bd928b5cd
Fix incorrect naming / apply review
2021-12-27 21:44:19 -08:00
Joseph Madamba
5082b0e63f
Fix some identifiers using shortened naming
2021-12-27 20:26:28 -08:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
568cab6808
Add clarification comment about explicit ProcessFrame()
call
2021-12-27 21:13:04 +01:00
Dean Herbert
eb04cc9213
Update framework
2021-12-27 23:04:10 +09:00
Bartłomiej Dach
9f8ad9f833
Fix menu background storyboard stopping after track reload
2021-12-27 12:30:53 +01:00
Dean Herbert
8d927920cb
Add comment explainng why to block idle updates when host is not active
2021-12-27 13:31:07 +09:00
Bartłomiej Dach
5a591713ae
Fix legacy combo counter not fully hiding for rulesets that implement their own
2021-12-26 16:49:20 +01:00
Bartłomiej Dach
724b601d2a
Rename AllowSampleLookup
argument to something saner
2021-12-26 14:29:07 +01:00
Bartłomiej Dach
dc21c8901e
Always allow looking up storyboard samples from beatmap skin
2021-12-26 14:25:28 +01:00
Dean Herbert
7c25ce81e1
Further reduce chat poll rate when idle or not visible
2021-12-26 16:26:47 +09:00
Dean Herbert
e448c28cad
Change IdleHandler
to not consider mouse movement as active unless focused
2021-12-26 16:26:33 +09:00
Dean Herbert
8ad53138a6
Merge pull request #16234 from smoogipoo/fix-initial-button-colour
...
Fix OsuAnimatedButton animating when initially disabled
2021-12-25 15:34:40 +09:00
Dean Herbert
957a1648c7
Merge pull request #16237 from smoogipoo/fix-finished-play-exception-2
...
Improve reliability of exiting gameplay in multiplayer
2021-12-25 15:32:14 +09:00
Dean Herbert
ac1a452e20
Merge pull request #16239 from peppy/sanitise-test-directory-usage
...
Fix some more test directory usage weirdness
2021-12-25 12:09:18 +09:00
Dean Herbert
7088471cad
Protect against test failures due to logger being set too early (and beginning logging)
2021-12-25 02:21:49 +09:00
Dean Herbert
a9a7a33974
Update framework
2021-12-25 02:04:47 +09:00
Dan Balasescu
a43cc20ae2
Apply changes to GameplayCompleted from reviews
2021-12-24 21:58:20 +09:00
Dan Balasescu
c6854b37c8
Unbind event on disposal
2021-12-24 21:58:09 +09:00
Dan Balasescu
d36fe3af09
Merge pull request #16238 from peppy/fix-incorrect-delegate-capture
...
Fix incorrect delegate capture leading to slow leak of audio tracks
2021-12-24 21:34:04 +09:00
Dean Herbert
1c0dc204c4
Fix some regressing behaviour due to CleanRunHeadlessGameHost
's naming structure changing
2021-12-24 20:24:37 +09:00
Dean Herbert
8cdad5f4d9
Remove incorrectly used gameSuffix
from CleanRunHeadlessGameHost
2021-12-24 20:15:10 +09:00
Dean Herbert
2ee3e61983
Merge branch 'master' into beatmap-card/extra-on-listing
2021-12-24 19:02:51 +09:00
Dean Herbert
cc7089c3f4
Cancel more liberally
2021-12-24 19:00:09 +09:00
Dean Herbert
d602aebebb
Add missing cancellation token and rename load task variable to match purpose
2021-12-24 18:58:31 +09:00
Dean Herbert
842d508aee
Fix incorrect delgate capture leading to slow leak of audio tracks
...
During profile, it was found that the `Completed` delegate was
incorrectly also capturing `lastTrack`, leading to an unexpected
reference chain that led to a memory leak over a long period of time.
This solves the issue by moving the delegate construction to its own
method, where it won't capture the other variables.
2021-12-24 18:39:29 +09:00
Dean Herbert
83a1d39f80
Merge pull request #16231 from bdach/ruleset-config-cache-overwriting-3
...
Fix ruleset config cache potentially not working correctly in test contexts
2021-12-24 17:18:42 +09:00
Bartłomiej Dach
3ca238825b
Unify width of normal and extra card sizes
2021-12-24 09:17:07 +01:00
Dan Balasescu
18c144395a
Rename to dimColour
2021-12-24 17:03:29 +09:00
Dan Balasescu
f44af1ad69
Move bind to LoadComplete
2021-12-24 17:00:59 +09:00
Dan Balasescu
727335dcad
Improve reliability of exiting gameplay
2021-12-24 14:23:09 +09:00
Dan Balasescu
c973739b08
Fix OsuButton event binding + inital-enablement colour
2021-12-24 11:56:12 +09:00
Dan Balasescu
c8073000c5
Fix initally-disabled OsuAnimatedButton colour fading
2021-12-24 11:56:12 +09:00
Dean Herbert
ce4389576f
Merge branch 'master' into fix-incorrect-reference
2021-12-24 10:03:11 +09:00
Bartłomiej Dach
c429c74d89
Expose and use test ruleset config cache in test scenes
2021-12-23 19:42:26 +01:00
Bartłomiej Dach
8094b502cb
Remove test-specific logic from RulesetConfigCache
2021-12-23 19:42:26 +01:00
Bartłomiej Dach
77da1e12d5
Add test implementation of the ruleset config cache
2021-12-23 19:40:55 +01:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI
2021-12-23 19:02:10 +01:00
Bartłomiej Dach
0f65c4e960
Extract interface for ruleset config cache
2021-12-23 18:59:02 +01:00
Bartłomiej Dach
a49a4329ee
Add capability to switch between card sizes
2021-12-23 15:55:37 +01:00
Bartłomiej Dach
d0427ec85f
Add support card size tab control to beatmap listing
2021-12-23 15:55:37 +01:00
Bartłomiej Dach
1876617d8e
Implement beatmap card size tab control
2021-12-23 15:55:36 +01:00
Bartłomiej Dach
cd4c1bc678
Add factory method for various card sizes
2021-12-23 15:55:36 +01:00
Dan Balasescu
998b07db90
Fix TestMultiplayerClient referencing the wrong room
2021-12-23 19:14:09 +09:00
Bartłomiej Dach
1040590844
Add cancellation support to game-side IResourceStore
s
2021-12-23 10:33:17 +01:00
Dean Herbert
0732a9e6da
Update framework
2021-12-23 18:08:44 +09:00
Dean Herbert
d69552fbcf
Fix potential crash from cross-thread drawable mutation in collection management
...
As seen at https://github.com/peppy/osu/runs/4613800663?check_suite_focus=true .
2021-12-23 13:21:17 +09:00
Dan Balasescu
e1b539fa9e
Merge pull request #16213 from peppy/working-beatmap-live
...
Tidy up `WorkingBeatmap`
2021-12-23 13:02:37 +09:00
Bartłomiej Dach
25e38560ce
Fix placeholder drawables on beatmap listing not always hiding correctly
...
`BeatmapListingOverlay.addContentToPlaceholder()`, in order to make
transitions between different beatmap listing content (whether it is
actual cards, or placeholders for no beatmaps found/supporter-specific
filters chosen), would set `BypassAutoSizeAxes = Y` on content as it is
fading out, to make the transition smoother. The property in question
was supposed to be getting restored to `None` on the next show.
In testing scenarios, it sometimes turned out that this wasn't the case,
therefore making the placeholders effectively not show - while they
were present and fully opaque, they would be the only child of
an auto-sized container with `BypassAutoSizeAxes = Y`, so the parent
auto-sized to a zero height, which logically follows from the premise,
but is not what was desired.
This in turn was caused by the fact that the `BypassAutoSizeAxes = Y`
set was scheduled, and sometimes it would be scheduled in such a way
that the drawable would cease to be present on the next frame due to its
alpha being past the cutoff point of 0.0001. Therefore the scheduled set
would not execute until the *next* time the placeholder was shown,
therefore causing the bug.
Fix by ensuring that the placeholder drawables are always present if
their schedulers have any tasks enqueued, on top of the usual checks of
alpha and scale performed via the base implementation.
2021-12-22 15:05:23 +01:00
Dean Herbert
f179ff33c9
Remove all NRT changes
...
This reverts commit bb9877adab
.
2021-12-22 21:02:06 +09:00
Dean Herbert
bb9877adab
Reapply IWorkingBeatmap
nullability fixed
2021-12-22 20:48:48 +09:00
Dan Balasescu
67e6b50c12
Merge pull request #16135 from stanriders/refactor-diffcalc
...
Slightly refactor difficulty and pp calculators
2021-12-22 19:44:02 +09:00
Dan Balasescu
fa5ee5f72c
Merge pull request #16212 from peppy/fix-beatmap-leaderboard-global-reference
...
Fix potential errors thrown during beatmap leaderboard display due to incorrect beatmap reference
2021-12-22 19:26:32 +09:00
Dean Herbert
bc47801cbb
Revert "Apply NRT to WorkingBeatmap
"
...
This reverts commit 9e17d7d4e3
.
2021-12-22 19:14:18 +09:00
Dean Herbert
9e17d7d4e3
Apply NRT to WorkingBeatmap
2021-12-22 18:41:45 +09:00
Dean Herbert
53c0a6708f
Move public accessor properties to top of file
2021-12-22 18:25:09 +09:00
Dean Herbert
a5f77a86ef
Move load methods and rename loadedTrack
to match other private fields
2021-12-22 18:24:51 +09:00
Dean Herbert
7344c87b16
Remove RecyclableLazy
2021-12-22 18:18:12 +09:00
Dean Herbert
f3f491374b
Remove unused load checks
2021-12-22 18:17:00 +09:00
Dean Herbert
3c95497ed7
Reorder methods to hopefully make more sense
2021-12-22 18:17:00 +09:00
Dean Herbert
e38e4c0adc
Enable NRT on IWorkingBeatmap
2021-12-22 18:17:00 +09:00
Dean Herbert
967419c9ac
Remove BeatmapSetInfo
and Metadata
from interface
...
There were very few accesses to this, and after realm they should all be
done via the `BeatmapInfo`, so let's remove this.
2021-12-22 18:17:00 +09:00
Dean Herbert
1b0af78831
Simplify WorkingBeatmap
in multiple ways
...
Just a clean-up pass.
2021-12-22 18:17:00 +09:00
Dean Herbert
b38b300159
Convert BeatmapMetadata
access to be via a computed property
2021-12-22 18:17:00 +09:00
Dean Herbert
5b3a154431
Fix potential errors thrown during beatmap leaderboard display due to incorrect beatmap reference
...
Specifically, the global `BeatmapInfo` is referenced inside the web
request's success callback, and used to attempt population via methods
which expect non-null beatmap inputs.
Closes #16211 .
2021-12-22 17:24:48 +09:00
Dean Herbert
f81e32149b
Fix ImportCollectionsTest.TestSaveAndReload
not cleaning up before/after run
2021-12-22 13:38:20 +09:00
Dean Herbert
a88800c99a
Merge pull request #16198 from smoogipoo/fix-current-item-before-population
...
Fix delete button showing on current item before beatmap retrieval
2021-12-22 13:15:07 +09:00
Dan Balasescu
98f044881e
Merge branch 'master' into refactor-diffcalc
2021-12-22 12:31:28 +09:00
Dan Balasescu
7bc5079485
Merge pull request #16201 from bdach/timeline-blueprint-contrast-improvement
...
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-22 11:33:29 +09:00
Bartłomiej Dach
7ab1c0c99d
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-21 12:54:17 +01:00
StanR
88436d51ae
Remove using
2021-12-21 13:44:20 +03:00
Bartłomiej Dach
ca7303a50a
Fix online lookup cache not clearing completed task on early return
...
The task not being cleared in the early return path would cause
`pendingRequestTask` to become stuck as a completed task, and
`queryValue()` would not recreate it due to the null check there,
therefore stalling all lookups forevermore until a game restart.
2021-12-21 11:13:41 +01:00
Bartłomiej Dach
ee89d8643e
Extract abstract implementation of online lookup cache
2021-12-21 11:12:51 +01:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
Dean Herbert
df975fb29e
Merge pull request #16181 from dekrain/statics-reset-no-sb
...
Split session statics reset method to prevent unloading seasonal backgrounds
2021-12-21 18:52:04 +09:00
Dean Herbert
0bda7892f7
Merge pull request #16197 from bdach/beatmap-card/renames
...
Rename beatmap card-related classes
2021-12-21 18:51:34 +09:00
Dan Balasescu
4ce61d4260
Directly bind to room updates
...
Currently doesn't really cause any difference, however it may in the
future if we decide the queueing algorithm shouldn't update PlaylistOrder
when an item has been played.
2021-12-21 18:40:29 +09:00
Dan Balasescu
a34d24fb20
Disallow expired items from showing delete button
...
This isn't possible in practice since expired items are removed from the
queue list, but this helps out in tests.
2021-12-21 18:37:42 +09:00
Dan Balasescu
d7136d6b48
Merge pull request #16196 from peppy/update-framework
...
Update framework
2021-12-21 18:23:02 +09:00
Dan Balasescu
4ba5a939db
Merge pull request #16178 from bdach/lounge-background-screen-correct
...
Fix lounge screen showing information sourced from wrong playlist item
2021-12-21 17:36:23 +09:00
Dan Balasescu
51b7e920c0
Fix delete button being able to show on current item
2021-12-21 16:57:58 +09:00
Bartłomiej Dach
979624160f
Do not reset last hover sound playback time on inactivity
2021-12-21 08:47:41 +01:00
Bartłomiej Dach
cd10af633c
Remove unused private method
2021-12-21 08:47:26 +01:00
Dean Herbert
0198d49a3a
Update framework
2021-12-21 16:38:03 +09:00
Dan Balasescu
32fbaf47c0
Merge pull request #16192 from peppy/add-room-lost-logging
...
Add logging of `MultiplayerMatchSubScreen` exiting from room loss
2021-12-21 16:37:08 +09:00
Bartłomiej Dach
c7b9b176c6
Rename BeatmapCard{Base => }
2021-12-21 08:26:25 +01:00
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal}
2021-12-21 08:26:21 +01:00
Bartłomiej Dach
bd1fb33ad6
Add and use separate extensions for historical and upcoming playlist items
2021-12-21 08:01:04 +01:00
Dean Herbert
2707b2fbda
Merge pull request #16012 from bdach/beatmap-card/extra
...
Implement "extra" beatmap card size
2021-12-21 15:40:33 +09:00
Dean Herbert
981158ed88
Rename method and simplify SetDefault
calling code
2021-12-21 15:34:32 +09:00
Dan Balasescu
5cea8da80f
Merge pull request #16188 from peppy/multiplayer-button-enabled
...
Centralise all multiplayer button clicking test logic
2021-12-21 15:10:26 +09:00
Dean Herbert
d08b66a5ff
Also add logging to OnlinePlayScreen
2021-12-21 15:07:06 +09:00
Dean Herbert
ddadf3c4b5
Add logging of MultiplayerMatchSubScreen
exiting from room loss
2021-12-21 14:53:24 +09:00
Dean Herbert
9aff646ff4
Centralise all multiplayer button clicking test logic
...
This adds the "wait for enabled" check in a way that can be easily
reused, as it keeps getting missed in test implementations.
This particular commit hopefully fixes
https://github.com/ppy/osu/runs/4583845033?check_suite_focus=true .
2021-12-21 13:49:51 +09:00
Dean Herbert
edcbd4de6d
Fix incorrect event unbind logic
2021-12-21 13:05:26 +09:00
Dean Herbert
52db7b36fc
Move Schedule
call to base implementation of error meter for extra safety
2021-12-21 12:55:21 +09:00
Dean Herbert
28d6ff5d9c
Fix potential wrong thread mutation in ColourHitErrorMeter
2021-12-21 12:36:04 +09:00
dekrain
9344897542
Split session statics reset method to prevent unloading seasonal backgrounds while idle
2021-12-20 16:51:51 +01:00
Bartłomiej Dach
f1a03aced5
Merge branch 'master' into beatmap-card/extra
2021-12-20 15:49:00 +01:00
Bartłomiej Dach
0975f570ba
Return last playlist item if all expired
2021-12-20 13:49:05 +01:00
Bartłomiej Dach
a5a9922f81
Fix lounge screen content not matching current room playlist item
2021-12-20 13:32:42 +01:00
Bartłomiej Dach
a59583ee09
Add extension method for returning next playlist item
2021-12-20 13:18:02 +01:00
Dean Herbert
6907a9a3cc
Name some screen stacks for better logging context
2021-12-20 18:24:14 +09:00
Dean Herbert
1533aefce5
Update framework
2021-12-20 18:22:19 +09:00
Dan Balasescu
9316abc278
Better fix for intermittent multiplayer tests
2021-12-20 13:10:13 +09:00
Bartłomiej Dach
a6ccbafc77
Fix rank graph showing for unranked users
2021-12-19 13:40:22 +01:00
Bartłomiej Dach
097402677d
Add test for ranked/unranked user display
2021-12-19 13:40:22 +01:00
Dean Herbert
04cfae9bde
Fix "Random Skin" text not showing up correctly
2021-12-18 16:26:15 +09:00
StanR
2f2006715e
Slightly refactor difficulty and pp calculators
2021-12-17 23:40:23 +03:00
Bartłomiej Dach
33e930f477
Move scale-on-expand logic to BeatmapCardContent
2021-12-17 13:29:20 +01:00
Bartłomiej Dach
d6f6039934
Extract base class for beatmap cards
2021-12-17 13:27:11 +01:00
mk-56
fd5af1fbe7
Code refactor and name changes
...
cleaned code up with Jetbrains i hope it suffices
2021-12-17 13:16:06 +01:00
Bartłomiej Dach
f052b47d87
Extract collapsible button container for card usage
2021-12-17 12:58:05 +01:00
Bartłomiej Dach
7aab12d4b0
Share extra row dropdown show/cancel show logic
2021-12-17 11:45:05 +01:00
Bartłomiej Dach
3fa45479b0
Share hype/nomination statistic show logic
2021-12-17 11:45:05 +01:00