Dean Herbert
55b027228f
Update resources
2022-01-14 11:54:50 +09:00
Dean Herbert
eb5f15a77e
Merge pull request #16420 from bdach/slider-paste-parsing-failures-2
...
Fix pasted sliders having sample points with time at infinity
2022-01-13 23:28:49 +09:00
Dean Herbert
54804ebfbd
Fix delete/clear scores buttons not working
2022-01-13 18:38:38 +09:00
Dean Herbert
c33fe7bcc6
Remove one more unnecessary Detach
operation
2022-01-13 18:32:59 +09:00
Jamie Taylor
c6ae255326
Add volume dip to track during fail sequence
2022-01-13 18:31:32 +09:00
Dean Herbert
2840a71dda
Uncomment EF deletion lines in migrations
2022-01-13 18:28:00 +09:00
Dean Herbert
4f8d29c1c0
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-13 18:25:09 +09:00
Dean Herbert
b610d2db12
Add EF to realm beatmap migration
2022-01-13 18:23:18 +09:00
Dean Herbert
45a23e5a43
Add EF to realm score migration
2022-01-13 18:23:18 +09:00
Dean Herbert
ded1d87739
Move RulesetStore
construction earlier in process so rulesets are available for EF migration
2022-01-13 18:23:18 +09:00
Dean Herbert
069d6d2954
Remove pointless compatibility parameter BeatmapSetInfoID
2022-01-13 18:02:10 +09:00
Dean Herbert
4012ef7e7b
Reduce polling rate when idle even if HighPollRate
is requested
2022-01-13 17:33:55 +09:00
Dean Herbert
46d2f305b5
Log chat polling rate changes
2022-01-13 17:31:59 +09:00
Dean Herbert
0bd34253e7
Increase chat polling rate during multiplayer lobby / games
2022-01-13 17:31:49 +09:00
Dean Herbert
2de0c34bc9
Reduce exposure of ChannelManager
2022-01-13 17:10:48 +09:00
Dean Herbert
c61419dfe5
Fix scores not using correct filename/display strings
...
I've updated all cases where we should have been using
`GetDisplayString()` anyway, but left the `ToString()` implementations
in place for safety. They should probably be removed in the future.
2022-01-13 16:56:11 +09:00
Dean Herbert
93c78253d6
Add synchronous fetch flow to BeatmapOnlineLookupQueue
...
The async flow doesn't work great with the realm import process. We
might be able to improve on this going forward, but for the time being
adding a synchronous path seems safest.
After all, we are already an an asynchronous (dedicated) thread pool at
this point.
2022-01-13 16:36:54 +09:00
Dean Herbert
bdb2979b2e
Remove async
from Populate
method
2022-01-13 16:36:54 +09:00
Dean Herbert
70c107b434
Remove pointless override method in RealmArchiveModelManager
2022-01-13 16:27:12 +09:00
Dean Herbert
88145dedf1
Remove oudated comments
2022-01-13 15:27:43 +09:00
Dean Herbert
6025fe325d
Fix filter criteria not being applied after carousel loads new beatmap sets
2022-01-13 15:08:51 +09:00
Dean Herbert
0a133c7e97
Fix typo in comment in IntroScreen
2022-01-13 13:47:23 +09:00
Dean Herbert
dcc354aa7c
Fix deleted scores not being cleaned up on next startup
2022-01-13 13:40:09 +09:00
Dean Herbert
7a81fe19f6
Bump realm schema version to allow upgrades
2022-01-13 13:28:46 +09:00
Dean Herbert
b77cb344d5
Use ctor
rather than MemberwiseClone
to guarantee a safer clone of BeatmapDifficulty
2022-01-13 13:23:41 +09:00
Dean Herbert
86b2ac3217
Remove unnecessary Ruleset
null check in BeatmapDifficultyCache
2022-01-13 13:19:49 +09:00
Dean Herbert
7baff18764
Add back PerformRead
return safety by checking IsManaged
status of returned data
2022-01-13 13:14:44 +09:00
Dean Herbert
085893c9b4
Fix stray bracket
2022-01-13 13:03:57 +09:00
Dean Herbert
65dd80e6f6
Sanitise mods / statistics cache logic in ScoreInfo
2022-01-13 12:59:16 +09:00
Dean Herbert
1a29098f3b
Change default value and add comment explaining why skins are never "locally available"
2022-01-13 12:50:18 +09:00
Joseph Madamba
66773f6d7d
Use comments to disable identifier typos instead
2022-01-12 15:49:28 -08:00
Joseph Madamba
5185f6010e
Fix missed identifier typos
2022-01-12 15:46:20 -08:00
Joseph Madamba
b245ffefc1
Merge remote-tracking branch 'upstream/master' into fix-remaining-identifier-names
2022-01-12 15:05:07 -08:00
Bartłomiej Dach
afce976f08
Fix oversubscription to StartTimeBindable.ValueChanged
2022-01-12 19:29:49 +01:00
Bartłomiej Dach
07fc772c24
Merge branch 'master' into slider-paste-parsing-failures-2
2022-01-12 19:06:36 +01:00
Dean Herbert
4c79145c11
Fix potential mod nullref in APIUserScoreAggregate
's CreateScoreInfo
implementation
2022-01-13 00:28:16 +09:00
Dean Herbert
b2d09b7b10
Fix further warnings
2022-01-12 23:42:12 +09:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
08da948afc
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-12 19:22:55 +09:00
Dean Herbert
017f5a9b9b
Merge pull request #16430 from smoogipoo/less-harsh-mania-hp
...
Fix mania requiring PERFECTs to maintain HP
2022-01-12 19:07:13 +09:00
Dean Herbert
8c8c5f4c33
Fix skin hash repopulation not working since realm migration
2022-01-12 18:32:51 +09:00
Dan Balasescu
4106ebf881
Fix mania requiring PERFECTs to maintain HP
2022-01-12 18:29:23 +09:00
Dean Herbert
ef0f794fd6
Remove stay newline
2022-01-12 18:13:14 +09:00
Dean Herbert
eb70a1eeb7
Replace compatibility properties with direct references
2022-01-12 18:13:14 +09:00
Dean Herbert
482cf29e28
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-12 17:57:14 +09:00
Dean Herbert
e12025dd48
Cascade delete metadata when beatmaps are deleted
2022-01-12 17:49:11 +09:00
Dean Herbert
34aa1bf21d
Sanitise and remove some usages of Detach
which are no longer required
2022-01-12 17:49:11 +09:00
Dean Herbert
5f7365e8f3
Ensure scores are cleaned up alongside beatmap so they don't have a null reference
2022-01-12 17:49:11 +09:00
Dean Herbert
f24b2b1be3
Make copying detached changes to realm only exposed for BeatmapSet
...
Also fixes remaining issues with the copy process.
2022-01-12 17:49:11 +09:00
Dean Herbert
a4de0f93fa
Move manager Update
methods to be explicit to where they are still used by legacy code
...
Also fixes skin hash repopulation being completely broken.
2022-01-12 17:49:11 +09:00
Dean Herbert
580ad03f8d
Combine mapper configurations and add more explanation about special cases
2022-01-12 17:49:11 +09:00
Dean Herbert
51d6db1bca
Add equatable support to IUser
and RealmUser
...
Not sure this will stick, but let's add it for now to make testing
detach support work nicely.
2022-01-12 17:49:11 +09:00
Salman Ahmed
6db3c32dd1
Handle automapper realm cyclic references via AfterMap
s
...
This may not be the cleanest solution, but there don't seem to be any
way towards this either.
- `UseDestinationValue` has been inherited by default as noted in
https://docs.automapper.org/en/stable/10.0-Upgrade-Guide.html#usedestinationvalue-is-now-inherited-by-default , and its behaviour in this case would be using the nested **managed** realm object for the destination member rather than creating an unmanaged version.
- `MaxDepth` already sets `PreserveReferences` so there's no point of using it.
- `MaxDepth` should probably not be set for all maps, only for those with
cyclic references, to avoid the expensive overhead of `PreserveReferences`, as mentioned in https://docs.automapper.org/en/stable/5.0-Upgrade-Guide.html#circular-references .
That aside, `MaxDepth` should actually only be set to `1` for
`BeatmapSetInfo` mapping, because we don't want AutoMapper to create a
nested instance of `BeatmapSetInfo` in each mapped/detached beatmap, but
for some reason, doing that will cause automapper to not map any beatmap
inside the set and leave it with 0 beatmaps.
While on the other hand, using `MaxDepth(2)` for `BeatmapSetInfo` works,
but creates an unused instance of a `BeatmapSetInfo` inside each mapped
beatmap, which may not be ideal.
For `BeatmapInfo`, it has to be `MaxDepth(2)`, in which the first
`BeatmapInfo` depth would be itself (when detaching a beatmap), and the
second would be nested beatmaps inside the mapped/detached
`BeatmapSetInfo` within the beatmap. (note that when detaching a beatmap
set, the unused instance of `BeatmapSetInfo` within each beatmap of that
beatmap set doesn't also have a list of unused beatmaps as one might expect from the depth specification, it surprisingly has 0 beatmaps)
This causes it to create an unused instance of `BeatmapInfo` in the beatmap set resembling the root mapped/detached beatmap, but that one might be inevitable.
2022-01-12 17:49:11 +09:00
Dean Herbert
dc3730f334
Fix song select import popup not always showing
2022-01-12 17:49:11 +09:00
Dean Herbert
017285b694
Update MusicController
to handle deletions more correctly
2022-01-12 17:49:11 +09:00
Dean Herbert
157dfdaa82
Fix protected beatmap sets getting deleted
2022-01-12 17:49:11 +09:00
Dean Herbert
0aff1c232b
Fix deleted/hidden carousel queries
2022-01-12 17:49:11 +09:00
Dean Herbert
72656ae01e
Fix beatmap restore/undelete flows
2022-01-12 17:49:11 +09:00
Dean Herbert
46206f70d6
Fix beatmap mass deletion flow
2022-01-12 17:49:11 +09:00
Dean Herbert
d5239d550a
Add refetch for non-managed hide/restore attempts
2022-01-12 17:49:11 +09:00
Dean Herbert
e0c59f4b3c
Localise EF context factory usage to migration only
2022-01-12 17:49:11 +09:00
Dean Herbert
46e92c3b60
Clean up BeatmapManager
query methods
2022-01-12 17:49:11 +09:00
Dean Herbert
9beabad6a4
Remove hide/restore event flow
2022-01-12 17:49:11 +09:00
Dean Herbert
c06b5951fd
Fix multiple remaining warnings
2022-01-12 17:49:11 +09:00
Dean Herbert
e8dcbaf29a
Fix intro screen hitting null reference if intro beatmap is unavailable
2022-01-12 17:49:11 +09:00
Dean Herbert
7dba3c3551
Fix most remaining test issues
2022-01-12 17:49:11 +09:00
Dean Herbert
b7ee6d1866
Add protections against test null refs when beatmap load fails
2022-01-12 17:49:11 +09:00
Dean Herbert
f986c3ebd4
Add basic write support via automapper
2022-01-12 17:49:11 +09:00
Dean Herbert
80eee6d7b0
Make RealmArchiveModelManager.Update
work using automapper
2022-01-12 17:49:11 +09:00
Dean Herbert
7509a9ff8f
Update BeatmapModelManager.Save
to work for editor scenarios
2022-01-12 17:49:11 +09:00
Dean Herbert
8c3dc4333d
Fix incorrect realm access after new beatmap import
2022-01-12 17:49:11 +09:00
Dean Herbert
64a47ff850
Allow RealmArchiveModelManager
file operations to be performed on detached instances
2022-01-12 17:49:11 +09:00
Dean Herbert
2ce80cc030
Add back caching in WorkingBeatmapCache
2022-01-12 17:49:11 +09:00
Dean Herbert
286994a808
Fix BeatmapDifficulty
cloning regression
2022-01-12 17:49:11 +09:00
Dean Herbert
58f8aae731
Fix one missed instance of GetResultSafely
2022-01-12 17:49:11 +09:00
Dean Herbert
f451560203
Update null allowances across beatmaps and scores
2022-01-12 17:49:11 +09:00
Dean Herbert
6033a825ed
Ensure BeatmapInfo
Difficulty
and Metadata
is non-null
2022-01-12 17:49:11 +09:00
Dean Herbert
a7958b1d31
Fix edge cases in online availability tracker and combine query code
2022-01-12 17:49:10 +09:00
Dean Herbert
c15efaeff2
Fix OnlinePlayBeatmapAvailabilityTracker
not correctly tracking beatmap import changes
2022-01-12 17:49:10 +09:00
Dean Herbert
b531cd0207
Fix donwload trackers not considering deleted scores
2022-01-12 17:49:10 +09:00
Dean Herbert
902dc0eaec
Detach rather than consume live when presenting a beatmap
2022-01-12 17:49:10 +09:00
Dean Herbert
5cbd731864
Add RulesetInfo
hashcode implementation and tidy up equality
2022-01-12 17:49:10 +09:00
Dean Herbert
c33e163178
Bind ruleset to toolbar later for safety
2022-01-12 17:49:10 +09:00
Dean Herbert
02d0ca2741
Fix protected beatmaps showing up in the song select carousel
2022-01-12 17:49:10 +09:00
Dean Herbert
41d90cd0b5
Fix beatmap carousel test failures
2022-01-12 17:49:10 +09:00
Dean Herbert
a0f8debafe
Add note about BeatmapMetadata.Author
being weird
2022-01-12 17:49:10 +09:00
Dean Herbert
f4a1fa85a1
Fix incorrect conditional for deciding whether scores can be deleted from UI
2022-01-12 17:49:10 +09:00
Dean Herbert
ae8f522c20
Add support for persisting score's mods to realm
2022-01-12 17:49:10 +09:00
Dean Herbert
d8e75a9de4
Reimplmeent IsAvailableLocally
as an abstract
method
2022-01-12 17:49:10 +09:00
Dean Herbert
47390d7ec3
Update handling of ruleset nullability when handling a game-wide change
2022-01-12 17:49:10 +09:00
Dean Herbert
ba62d2c756
Fix ScoreInfo
oversights causing automapper to fail
...
Parameter in ctor *has* to be named `realmUser` else automapper will try
to map to the `User` property.
2022-01-12 17:48:49 +09:00
Dan Balasescu
52e240230b
Merge branch 'master' into mouse-button-disable-disables-touch
2022-01-12 17:14:39 +09:00
Dean Herbert
83ccbc1d13
Mention safety failures of Beatmap/Score constructors
2022-01-12 17:00:17 +09:00
Dean Herbert
c831e9107a
Fix BeatmapInfo.Clone
potentially not cloning if already detached
2022-01-12 17:00:17 +09:00
Dean Herbert
5dd0bb1218
Ensure Score
created by GameplayState
has a valid ruleset
2022-01-12 17:00:17 +09:00
Dean Herbert
82259ee072
Improve legibility of RulesetInfo.Equals
2022-01-12 17:00:17 +09:00
Dean Herbert
e5af673b01
Fix incorrect BeatmapInfo.ToString
implementation
2022-01-12 17:00:17 +09:00
Dean Herbert
a3c70ccdfc
Fix OnlineAvailabilityTracker referencing a value in query that could potentially be null
2022-01-12 17:00:17 +09:00
Dean Herbert
b619ff1264
Reattach detached items on delete/undelete
2022-01-12 17:00:17 +09:00
Dean Herbert
e74a5022c9
Fix multiple tests via null checks and changing ToLive
to Detach
...
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
13401a8846
Better handle Statistics to avoid losing data
2022-01-12 17:00:17 +09:00
Dean Herbert
76670a8faa
Fix BeatmapDifficultyCache
not working with detached beatmaps
2022-01-12 17:00:17 +09:00
Dean Herbert
6919df18fa
Fix incorrect ordering and grouping of difficulties at song select
2022-01-12 17:00:17 +09:00
Dean Herbert
aaefd72c69
Handle ignored mappings locally in Detach
configuration
2022-01-12 17:00:17 +09:00
Dean Herbert
2b8706b6ce
Detach and reattach scores to make work
2022-01-12 17:00:16 +09:00
Dean Herbert
60d2de8a3b
Fix potential nullref when song select filters to no results
2022-01-12 17:00:16 +09:00
Dean Herbert
2d2faa72a9
Fix rulesets being out of order
2022-01-12 17:00:16 +09:00
Dean Herbert
e1f77b87de
"Fix" OnlinePlayBeatmapAvailabilityTracker
2022-01-12 17:00:16 +09:00
Dean Herbert
de3a338d02
Update realm queries to use Filter
to allow for indirect property filtering
2022-01-12 17:00:16 +09:00
Dean Herbert
8461eaab46
BeatmapSetInfo
detach support
2022-01-12 17:00:16 +09:00
Dean Herbert
de076678fe
Fix some remaining test failures
2022-01-12 17:00:16 +09:00
Dean Herbert
3811bd8520
Fix some null inspections
2022-01-12 17:00:16 +09:00
Dean Herbert
667cdb2475
Fix skin lookup when there's no beatmap file available
2022-01-12 17:00:16 +09:00
Dean Herbert
33060990b7
Temporarily disable WorkingBeatmapCache
and fix multiple invalid data flows
2022-01-12 17:00:16 +09:00
Dean Herbert
0793b0f0ab
Fix Max
lookup methods not checking for zero beatmap count
2022-01-12 17:00:16 +09:00
Dean Herbert
dcd69e852e
Add back settable RulesetID
for now
2022-01-12 17:00:16 +09:00
Dean Herbert
2a980cc474
Fix BeatmapInfo
file lookup not handling the case where no files exist
...
Quite common for test scenes.
2022-01-12 17:00:16 +09:00
Dean Herbert
167c399e8a
Fix invalid DI resolution of RealmFileStore
2022-01-12 17:00:16 +09:00
Dean Herbert
99e46cd26b
Fix missing BeatmapMetadata.ToString
...
This is relied on by a few usages.
2022-01-12 17:00:16 +09:00
Dean Herbert
4295815c7d
Fix invalid equality comparison in BeatmapLeaderboard
2022-01-12 17:00:16 +09:00
Dean Herbert
86ce2256be
Replace SpectatorScreen
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
5c0d31ed24
Replace OnlinePlayBeatmapAvailabilityTracker
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
6d60aa7d9c
Replace TopLocalRank
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
fe8a5e867d
Remove updated/removed flow method mapping
2022-01-12 17:00:16 +09:00
Dean Herbert
c9257e9ecc
Fix missing disposal of realm subscriptions in BeatmapCarousel
2022-01-12 17:00:16 +09:00
Dean Herbert
8c4836e87d
Replace ScoreDownloadTracker
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
00e9f0d41e
Replace BeatmapDownloadTracker
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
5dc497e949
Replace BeatmapLeaderboard
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
1f9318265e
Update ToLive
usages in line with recent changes
2022-01-12 17:00:16 +09:00
Dean Herbert
db05727ec4
Remove unused includeProtected
parameter
2022-01-12 17:00:16 +09:00
Dean Herbert
a3276758b8
Remove unnecessary re-query of beatmap set in editor menu construction
2022-01-12 17:00:16 +09:00
Dean Herbert
b91f309879
Inline query methods from BeatmapModelManager
to BeatmapManager
where possible
2022-01-12 17:00:16 +09:00
Dean Herbert
1d536fd0bc
Start introducing ILive
2022-01-12 17:00:16 +09:00
Dean Herbert
3152d2d8a0
"Update" BeatmapCarousel
2022-01-12 17:00:16 +09:00
Dean Herbert
8696f82627
Fix intro screen
...
Fix things
2022-01-12 17:00:16 +09:00
Dean Herbert
abd72c496b
"Update" MusicController
2022-01-12 17:00:16 +09:00
Dean Herbert
c4a9211179
Apply NRT to BeatmapManager
and move Hide
/Restore
methods across
2022-01-12 17:00:16 +09:00
Dean Herbert
3ecd535f6e
Add back missing IRulesetStore
cache
2022-01-12 17:00:16 +09:00
Dean Herbert
8d943b5709
Fix many shortcomings and compatibility issues with EF classes post-rename
2022-01-12 17:00:16 +09:00
Dean Herbert
d7fe3584cd
Don't persist Countdown
to realm for now
...
It's another enum which is a pain to handle, and not actually being
consumed anywhere.
2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366
Update model manager and many related classes to get things compiling again
2022-01-12 17:00:00 +09:00
Dean Herbert
a3da8dc49d
Fix missing interface implementation of IRulesetStore
2022-01-12 16:58:58 +09:00
Dean Herbert
d70e292828
Remove old EF classes
2022-01-12 16:57:27 +09:00
Dean Herbert
4f6a05ce3d
Reimplement all query methods
2022-01-12 16:57:27 +09:00
Dean Herbert
53792811b2
more fixes (almost compiles, except ruleset and manager)
2022-01-12 16:57:27 +09:00
Dean Herbert
e711a6d355
Remove unused ScoreImporter
class
2022-01-12 16:57:27 +09:00
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