smoogipoo
d0655c21c6
Simplify implementation of CheckCompatibleSet
2021-02-02 18:18:57 +09:00
smoogipoo
8232d9d2fe
Fix incorrect implementation
2021-02-02 18:01:38 +09:00
Dean Herbert
40233fb47c
Make font bolder
2021-02-02 17:09:59 +09:00
Dean Herbert
6d9ac4d0f0
Increase darkness of gradient on buttons to make text readability (slightly) better
2021-02-02 16:57:27 +09:00
Dean Herbert
fb52ac8c69
Share remove from playlist button design with adjacent download button
2021-02-02 16:57:08 +09:00
Dean Herbert
bdc05af4b7
Make playlist settings area taller to better match screen aspect ratio
2021-02-02 16:30:45 +09:00
Dean Herbert
a76314a876
Use Update instead of UpdateAfterChildren (no need for the latter)
2021-02-02 15:57:17 +09:00
Dean Herbert
bb0753f68d
Use a better method of cancelling user scroll
2021-02-02 15:44:03 +09:00
Dean Herbert
398ab9c2c2
Use UserTrackingScrollContainer instead
2021-02-02 15:29:38 +09:00
Dean Herbert
ed63b571d2
Add "new" override for ScrollToEnd To UserTrackingScrollContainer
2021-02-02 15:16:28 +09:00
Dean Herbert
1c645601d4
Fix typo in xmldoc
2021-02-02 14:14:31 +09:00
smoogipoo
0bce9d6833
Clear freemods when ruleset is changed
2021-02-02 13:54:58 +09:00
smoogipoo
4194c9308e
Add xmldoc
2021-02-02 13:50:05 +09:00
smoogipoo
173e20938c
Revert changes to ModDisplay
2021-02-02 13:49:58 +09:00
smoogipoo
53cfc3bc6e
Make ModIcon a bit more safe
2021-02-02 13:42:45 +09:00
smoogipoo
1d3dff8c75
Refactor ModDisplay flag usage
2021-02-02 13:41:01 +09:00
smoogipoo
87f9e46b16
Add option to select all
2021-02-02 13:37:25 +09:00
smoogipoo
9c3c0895cf
Hide customise button + multiplier label
2021-02-02 13:36:58 +09:00
Dean Herbert
0d5353008c
Update sentry sdk usage
2021-02-02 13:34:37 +09:00
smoogipoo
7a14e14e67
Refactor condition
...
This won't make any noticeable difference, but is the more correct way
to handle MultiMod because flattening works through infinite recursion levels.
2021-02-02 12:54:26 +09:00
smoogipoo
b54f65c282
Exclude more mods from multiplayer
2021-02-02 12:48:15 +09:00
smoogipoo
4cf52077b6
Make checkbox also respond to all mods selected
2021-02-02 11:11:28 +09:00
dependabot-preview[bot]
216b0d89a7
Bump Sentry from 2.1.8 to 3.0.1
...
Bumps [Sentry](https://github.com/getsentry/sentry-dotnet ) from 2.1.8 to 3.0.1.
- [Release notes](https://github.com/getsentry/sentry-dotnet/releases )
- [Changelog](https://github.com/getsentry/sentry-dotnet/blob/main/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-dotnet/compare/2.1.8...3.0.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-01 19:16:51 +00:00
Salman Ahmed
5c28c030c8
Unconditionally set "autoscroll" state
2021-02-01 22:08:57 +03:00
Salman Ahmed
15fcabb128
Add documentation to auto-scroll leniency
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-02-01 22:04:44 +03:00
dependabot-preview[bot]
286726feb0
Bump SharpCompress from 0.26.0 to 0.27.1
...
Bumps [SharpCompress](https://github.com/adamhathcock/sharpcompress ) from 0.26.0 to 0.27.1.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases )
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.26...0.27.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-01 17:44:30 +00:00
Dan Balasescu
c70dd2edfc
Merge pull request #11569 from peppy/fix-editor-new-beatmap-crash
...
Fix a potential crash when exiting the editor before a new beatmap is added to the database
2021-02-01 21:01:51 +09:00
Dean Herbert
425dc8a210
Ensure mods are always in a valid state at a game level
2021-02-01 20:20:19 +09:00
Dean Herbert
ead8262257
Add function to check for (and return) invalid mods
2021-02-01 20:20:10 +09:00
smoogipoo
97e3023df9
Renamespace/rename MatchSongSelect -> PlaylistsSongSelect
2021-02-01 20:16:58 +09:00
smoogipoo
97247b7a67
Fix unset key
2021-02-01 19:59:18 +09:00
smoogipoo
b9832c1b2d
Add ModUtils class for validating mod usages
2021-02-01 19:37:24 +09:00
smoogipoo
e5ca9b1e50
Remove usage of removed method
2021-02-01 19:28:33 +09:00
smoogipoo
9c4c47599f
Merge branch 'master' into freemods
2021-02-01 19:28:10 +09:00
smoogipoo
76ebb3811a
Fix mod icons potentially having incorrect colours
2021-02-01 19:08:52 +09:00
smoogipoo
ee92ec0a5c
Disallow local user mod customisation
2021-02-01 18:54:47 +09:00
smoogipoo
89a42d60fb
General cleanup
2021-02-01 18:50:32 +09:00
smoogipoo
3a906a89fc
Pin mod position in participant panels
2021-02-01 18:27:15 +09:00
smoogipoo
51cb288717
Reduce mod selection height
2021-02-01 18:18:59 +09:00
smoogipoo
e134af82f5
Stack freemods for the local user
2021-02-01 18:16:38 +09:00
smoogipoo
3e74f8fd9e
Disable customisation of freemods, move stacking to property
2021-02-01 18:11:20 +09:00
smoogipoo
3cd30d284e
Renamespace
2021-02-01 18:08:49 +09:00
smoogipoo
f538963607
Extra mods -> user mods
2021-02-01 17:57:32 +09:00
smoogipoo
ac2a995041
Add user and panel states
2021-02-01 17:54:56 +09:00
Dean Herbert
328bd191d4
Merge pull request #11561 from Mysfit/fix-storyboard-samples
...
Fix storyboard samples continuing to play when the beatmap is paused or intro is skipped
2021-02-01 17:48:08 +09:00
Dean Herbert
1d8de2f718
Rename class to better match purpose
2021-02-01 17:32:54 +09:00
Dean Herbert
fabb0eeb29
Add signalr messagepack key attribute
2021-02-01 17:27:14 +09:00
Dean Herbert
c73a05d0b5
Merge branch 'master' into multiplayer-beatmap-tracker
2021-02-01 17:24:24 +09:00
Salman Ahmed
49e62c3a4b
Apply documentation changes
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-02-01 11:02:08 +03:00
Dean Herbert
05982f42ab
Add more comprehensive commenting and simplify base call logic
...
We can call the base method regardless for better safety. Worst case
it's just going to run `Stop()` twice anyway.
2021-02-01 16:43:54 +09:00
Dean Herbert
25614c7923
Merge pull request #11636 from bdach/fix-time-ramp-calculation
...
Fix incorrect speed change calculation in time ramp mods
2021-02-01 16:32:44 +09:00
smoogipoo
0909c73ead
Once again disallow DT/etc as allowable mods
2021-02-01 15:07:56 +09:00
smoogipoo
b43e529964
Fix allowed mods being copied into required mods
2021-02-01 15:07:43 +09:00
smoogipoo
426569c2a9
Move common song select implementation for online play
2021-02-01 14:57:39 +09:00
smoogipoo
b846146f16
Update mods when resuming room subscreen
2021-02-01 13:58:44 +09:00
smoogipoo
4ae10b1e1c
Add initial UI for selecting extra mods
2021-02-01 13:40:59 +09:00
smoogipoo
e02e3cf19a
Disallow selecting DT/HT/WU/WD as allowable freemods
2021-02-01 13:35:48 +09:00
smoogipoo
797a810287
Allow unstacking mods
2021-02-01 13:24:56 +09:00
smoogipoo
230b347c1e
Move ModSelectOverlay.IsValidMod to a property
2021-02-01 12:18:11 +09:00
Salman Ahmed
e806e5bcd1
Improve robustness of chat auto-scrolling logic
...
Fix auto-scrolling state changing by old messages removal logic
2021-01-31 23:45:49 +03:00
Bartłomiej Dach
a0de1cbfd0
Handle no-duration single-object edge case
2021-01-31 21:09:41 +01:00
Bartłomiej Dach
547b3d8bed
Fix speed change calculation in time ramp mods
2021-01-31 20:34:56 +01:00
Bartłomiej Dach
81b052b866
Add failing test cases
2021-01-31 20:34:22 +01:00
Bartłomiej Dach
b9a49d5589
Coerce undefined animation loop types to Forever
2021-01-31 15:43:58 +01:00
Bartłomiej Dach
90ba8ae234
Don't part room if join task was cancelled
2021-01-30 23:39:01 +01:00
Bartłomiej Dach
5f320cd426
Move lease check inside schedule
...
Theoretically safer due to avoiding a potential data race (change in
`leasedInProgress` between the time of the check and start of schedule
execution).
2021-01-30 21:03:09 +01:00
Bartłomiej Dach
96f56d1c94
Return tracker lease via UnbindAll()
...
Improves reliability by being fail-safe in case of multiple returns,
which can happen if the operation tracker is part of a screen being
exited (as is the case with its current primary usage in multiplayer).
2021-01-30 21:00:13 +01:00
Bartłomiej Dach
c3ba92f057
Set canceled result in scheduleAsync
...
Was holding up the task completion source, and in consequence,
potentially the entire task chain.
2021-01-30 16:13:50 +01:00
Bartłomiej Dach
9ab1ad25eb
Merge branch 'master' into fix-leave-room-race-2
2021-01-30 13:41:04 +01:00
Bartłomiej Dach
6a1387191a
Merge branch 'master' into fix-skin-dropdown-update-crash
2021-01-30 13:01:52 +01:00
Dean Herbert
16f3d1815f
Fix SQLite exception thrown is a beatmap lookup is attempted without an OnlineBeatmapID present
...
It turns out the SQLite API isn't smart enough to handle nullables
directly, so we need to help it out a bit.
Stops the following from being thrown:
```
System.InvalidOperationException: Value must be set.
at Microsoft.Data.Sqlite.SqliteParameter.Bind(sqlite3_stmt stmt) = 3
at
at Microsoft.Data.Sqlite.SqliteParameterCollection.Bind(sqlite3_stmt
stmt) = 3 at
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior
behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
at
osu.Game.Beatmaps.BeatmapManager.BeatmapOnlineLookupQueue.checkLocalCache(BeatmapSetInfo
set, BeatmapInfo beatmap) in
/Users/dean/Projects/osu/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs:line
166 = 166
```
2021-01-29 19:53:57 +09:00
Dean Herbert
18e6afbec0
Ensure the item is present before trying to select it
2021-01-29 19:17:12 +09:00
Dean Herbert
1ce383fc20
Merge branch 'master' into fix-skin-dropdown-update-crash
2021-01-29 19:16:20 +09:00
smoogipoo
ab9a3e6dd0
Pass allowed mods and consume on server callback
2021-01-29 18:21:22 +09:00
Dean Herbert
a61444690e
Remove all usage of CatchUnobservedExceptions
...
This should no longer be required with the recent framework side change
that stops a game from crashing on unobserved exceptions
(https://github.com/ppy/osu-framework/pull/4171 ).
2021-01-29 16:32:29 +09:00
Dean Herbert
1ec305e10d
Update TaskChain to use ContinueWithSequential internally
...
It turns out we may still want to use TaskChain for its locking
behaviour, so I've made it internally use the refactored version I
implemented, while keeping the general structure.
2021-01-29 16:19:46 +09:00
Bartłomiej Dach
0f1d72e073
Merge branch 'master' into ios-signalr-use-json
2021-01-28 23:28:49 +01:00
Bartłomiej Dach
386f9f7842
Fix typos in comments
2021-01-28 22:36:07 +01:00
Bartłomiej Dach
8afd1bce21
Merge branch 'master' into fix-ios-beatmap-cache-lookups
2021-01-28 22:33:58 +01:00
Dean Herbert
34f8e4b672
Merge pull request #11613 from bdach/order-attribute-move
...
Remove game-local enum `[Order]` attribute
2021-01-29 00:41:43 +09:00
Dean Herbert
a616688a47
Update framework
2021-01-28 23:55:03 +09:00
Dean Herbert
c3d4044017
Avoid using Dapper to fix iOS compatibility of beatmap lookup cache
2021-01-28 16:53:56 +09:00
Dean Herbert
90a82f986b
Fallback to using json for signalr communication if JIT is unavailable
2021-01-28 16:20:19 +09:00
Bartłomiej Dach
2c08ce05fa
Remove game-local enum [Order] attribute
...
In favour of the newly-added framework one.
2021-01-27 22:29:52 +01:00
Salman Ahmed
63f057a525
Fix dotnet run/publish with runtime specified not working again
2021-01-27 20:45:52 +03:00
Dean Herbert
45395cb5e8
Update framework
2021-01-27 23:00:14 +09:00
smoogipoo
b79d1c7b81
Add mods to footer
2021-01-27 22:33:03 +09:00
smoogipoo
ff8ee379fb
Fix possible nullref
2021-01-27 22:27:31 +09:00
smoogipoo
c408b46a21
Add AllowedMods to MultiplayerRoomSettings model
2021-01-27 22:25:14 +09:00
smoogipoo
4c256f1fb3
Actually populate the playlist item
2021-01-27 22:23:38 +09:00
smoogipoo
45e41aaeac
Initial implementation of freemod selection overlay
2021-01-27 22:15:53 +09:00
smoogipoo
4019cc38e5
Allow footer buttons to be customised
2021-01-27 22:03:51 +09:00
smoogipoo
91d34d86f7
Abstractify ModSelectOverlay
2021-01-27 22:02:23 +09:00
smoogipoo
0ff300628e
Fix type not being set
2021-01-27 20:07:22 +09:00
Dean Herbert
a30aecbafe
Comment and add xmldoc
2021-01-27 20:01:21 +09:00
smoogipoo
f2fa51bf5e
Make ModSections overrideable
2021-01-27 19:59:28 +09:00
Dean Herbert
fcfb0d52c2
Proposal to use extension method instead of TaskChain class
2021-01-27 19:50:16 +09:00
smoogipoo
a800955bb1
Add mod validation utilities
2021-01-27 19:46:25 +09:00
Mysfit
ee89aa159c
Removed blank line
2021-01-26 23:12:26 -05:00
Mysfit
690feb1c1e
Allow looping storyboard samples to follow the base samplePlaybackDisabled event logic.
2021-01-26 23:08:51 -05:00
Dan Balasescu
7d06af916c
Merge branch 'master' into add-messagepack
2021-01-27 13:00:46 +09:00
Bartłomiej Dach
4d4d97661e
Fix connection loop always getting a cancelled token
2021-01-26 21:26:50 +01:00
Lucas A
383c40b992
Address remaining reviews suggestions.
2021-01-26 20:35:42 +01:00
Lucas A
2a2b6f347e
Use a lazy for delegating Songs directory locating until it is actually used.
2021-01-26 19:07:05 +01:00
Lucas A
043385f919
Rename const and fix unintended tabbing.
2021-01-26 18:45:04 +01:00
Lucas A
9f9206726a
Fix typos.
2021-01-26 18:11:54 +01:00
smoogipoo
248989b3eb
wip
2021-01-27 01:20:50 +09:00
smoogipoo
085115cba5
Make threading even more thread safe
2021-01-26 22:49:01 +09:00
smoogipoo
8c3b0a3167
Fix TaskChain performing the action in-line, add test
2021-01-26 22:47:37 +09:00
Dean Herbert
67014018fc
Merge pull request #11589 from MiraiSubject/osu-mod-icon-fallbacks
...
Allow tournament client to use default mod icons if custom icons are not present
2021-01-26 19:57:21 +09:00
Dean Herbert
a5f3418e56
Avoid tooltip display
2021-01-26 19:11:19 +09:00
Dean Herbert
b573c96c07
Move disconnect logic inside connection loop to ensure previous connection is disposed
2021-01-26 18:59:42 +09:00
Dean Herbert
fedcbf79fa
Merge pull request #11572 from EVAST9919/comment-pill
...
Make VotePill background transparent for own comments
2021-01-26 18:57:00 +09:00
Dean Herbert
15885c17af
Remove unused usings
2021-01-26 18:07:43 +09:00
Dean Herbert
468dfbecbe
Merge branch 'master' into fix-beatmap-listing-2
2021-01-26 17:56:37 +09:00
Dean Herbert
fcf4d4ee18
Merge pull request #11604 from frenzibyte/fix-beatmap-listing
...
Fix beatmap listing placeholder potentially getting disposed
2021-01-26 17:56:19 +09:00
Dean Herbert
20cfa991bf
Switch clients to MessagePack mode
2021-01-26 17:41:21 +09:00
Dean Herbert
9537090d28
Setup all spectator model classes for MessagePack
2021-01-26 16:39:35 +09:00
Dean Herbert
e4fc604163
Setup all multiplayer model classes for MessagePack support
2021-01-26 16:26:03 +09:00
Dean Herbert
60ae87ec38
Add MessagePack package
2021-01-26 16:25:49 +09:00
Salman Ahmed
93bb2611d6
Merge branch 'fix-beatmap-listing' into fix-beatmap-listing-2
2021-01-26 09:43:49 +03:00
Dean Herbert
ca0242debe
Tidy up logic to correctly expire in cases where expiry is expected
2021-01-26 15:42:48 +09:00
Mysfit
3307e8357f
DrawableStoryboardSample event method override for SamplePlaybackDisabledChanged
2021-01-26 00:36:32 -05:00
Salman Ahmed
0d8d0d6852
Apply alternative way of fixing
2021-01-26 01:03:29 +03:00
Salman Ahmed
c317d60169
Add offline test scene for beatmap listing overlay
2021-01-26 00:03:20 +03:00
Salman Ahmed
75d6dbdbb7
Fix beatmap listing placeholder potentially getting disposed
2021-01-26 00:03:20 +03:00
Salman Ahmed
9efce5717f
Fix beatmap listing placeholder disappearing on second time display
2021-01-26 00:03:20 +03:00
Lucas A
a4a7f0c578
Address CI inspections.
2021-01-25 19:05:16 +01:00
Dan Balasescu
30f7e4c794
Merge branch 'master' into fix-timeline-parts-working-beatmap
2021-01-25 21:22:45 +09:00
smoogipoo
c17774e23c
Add xmldoc
2021-01-25 21:01:39 +09:00
smoogipoo
bb44fcfe31
Prevent some data races
2021-01-25 21:01:39 +09:00
smoogipoo
964976f604
Use a task chain and fix potential misordering of events
2021-01-25 21:01:39 +09:00
Dean Herbert
b489e92c9e
Fix TimelineParts not using correct beatmap
2021-01-25 18:44:36 +09:00
Dean Herbert
4ac362ee1a
Move cloning local to editor
2021-01-25 18:29:00 +09:00
Dean Herbert
f054b38105
Merge branch 'master' into revert-beatmap-controlpointinfo-cloning
2021-01-25 18:25:53 +09:00
Dan Balasescu
803ada42ea
Merge pull request #11595 from peppy/leaderboard-bind-handlers-later
...
Bind MultiplayerGameplayLeaderboard to player updates later in load process
2021-01-25 18:18:54 +09:00
Dan Balasescu
c0ea610e2e
Merge pull request #11594 from peppy/fix-mod-select-appear-animation
...
Fix mod select footer not animating correctly on first reveal
2021-01-25 18:16:37 +09:00
Dean Herbert
91ce3df3a9
Bind MultiplayerGameplayLeaderboard to player updates later in load process
2021-01-25 17:44:01 +09:00
Dean Herbert
0f09a7feb9
Avoid semaphore potentially getting held forever
2021-01-25 17:17:04 +09:00
Dean Herbert
994fb2667d
Call DisposeAsync instead of StopAsync
2021-01-25 17:11:04 +09:00
Dean Herbert
c05ae3497a
Make connect/disconnect private
2021-01-25 17:02:24 +09:00
Dean Herbert
13e0423ed8
Merge branch 'master' into fix-multiplayer-client-connection-reliability
2021-01-25 17:00:35 +09:00
Dean Herbert
10e8b7082e
Rework logic to avoid custom disposal early return handling
2021-01-25 16:53:58 +09:00
Dean Herbert
2db0da6e94
Merge branch 'master' into ongoing-tracker-disposal
2021-01-25 16:22:36 +09:00
Dean Herbert
bb8113fb51
Fix mod select footer not animating correctly on first reveal
2021-01-25 14:47:47 +09:00
Dean Herbert
dee0d3c33a
Merge branch 'master' into apply-sv-to-taiko-hr-ez
2021-01-25 14:28:06 +09:00
Lucas A
51d4da565c
Fix ArchiveModelManagers lookup paths.
2021-01-24 22:25:49 +01:00
Lucas A
f0fdad2f83
Construct a DesktopStorage pointing to the absolute path of the song directory.
2021-01-24 22:04:46 +01:00
Lucas A
d71ac83428
Use StableStorage in ArchiveModelManager.
2021-01-24 19:46:10 +01:00
Lucas A
9a5790cd31
Implement StableStorage class.
2021-01-24 19:18:16 +01:00
Bartłomiej Dach
d22f557a3b
Remove possibility of double-disposal interference
2021-01-23 16:14:58 +01:00
Bartłomiej Dach
7f89d9117d
Make disposal of tracker idempotent for operations
2021-01-23 16:04:12 +01:00
Bartłomiej Dach
18b309a195
Make disposal of tracker operation idempotent
2021-01-23 16:02:51 +01:00
Andrei Zavatski
e9d10bb6e7
Revert "Minor refactoring"
...
This reverts commit 3d42cc1f91
.
2021-01-22 22:49:49 +03:00
Bartłomiej Dach
b692abd3c2
Simplify condition from two to one operand
2021-01-22 20:35:34 +01:00
Andrei Zavatski
3d42cc1f91
Minor refactoring
2021-01-22 22:27:26 +03:00
Bartłomiej Dach
360f26c13d
Merge branch 'master' into scroll-to-20
2021-01-22 19:58:36 +01:00
Bartłomiej Dach
f3192877fe
Update outdated comment
2021-01-22 19:48:33 +01:00
Andrei Zavatski
20161aea6a
Show LoginOverlay if not logged-in when clicking on a pill
2021-01-22 21:47:53 +03:00
Bartłomiej Dach
61fcb486a8
Trim unnecessary parentheses
2021-01-22 19:47:38 +01:00
Andrei Zavatski
6379381f95
Make VotePill background transparent for own comments
2021-01-22 20:46:20 +03:00
Mysfit
e0f8f6a23f
introduce overrideable bool instead of copying event logic entirely
2021-01-22 12:09:40 -05:00
Dan Balasescu
26779a9403
Merge pull request #11567 from peppy/fix-chat-local-echo-effect
...
Fix local echo messages remaining permanently dimmed when chatting via multiplayer
2021-01-22 21:58:55 +09:00
Dean Herbert
b44bd8c4ee
Remove unused using statement
2021-01-22 18:03:33 +09:00
Dean Herbert
a9c8f9bd4a
Fix a potential crash when exiting the editor before a new beatmap is added to the database
2021-01-22 17:47:38 +09:00
Dean Herbert
a5f7ca485b
Fix unintended xmldoc tag edit
2021-01-22 16:53:31 +09:00
Dean Herbert
bfabb1fdea
Change offset value to 10%
2021-01-22 16:50:22 +09:00
Dean Herbert
fca6b15d2f
Fix local echo messages remaining permanently dimmed when chatting via multiplayer
2021-01-22 16:05:45 +09:00
Dean Herbert
65b7075984
Limit the effect of parallax when outside the bounds of the ParallaxContainer
...
This fixes the visual issues that still remain when mouse confining
fails. I think it also feels more correct in general.
2021-01-22 15:43:19 +09:00
Dean Herbert
d24d236468
Make OperationCanceledException throwing behaviour consistent
2021-01-22 14:34:58 +09:00
Dean Herbert
9f89b4e6d7
Rewrite connection logic to better handle failure cases
...
The main goal here is to ensure the connection is built each connection
attempt. Previously, the access token would never be updated, leading to
outdated tokens failing repeatedly (in the connection retry loop) and
never being able to establish a new connection as a result.
Due to threading considerations, this isn't as simple as I would hope it
to be. I'm open to proposals as to a better way of handling this.
Also, keep in mind that this logic will need to be abstracted and
(re)used in `SpectatorClient` as well. I've intentionally not done that
yet until we agree that this is a good direction forward.
2021-01-22 14:25:23 +09:00
Mysfit
5b1bdfbdc5
Use callback method override
2021-01-21 20:06:24 -05:00
Mysfit
b53ad50cd4
Remove redundant variable
2021-01-21 18:00:37 -05:00
Mysfit
07ec0c0e0b
Updated DrawableStoryboardSample to use GetBoundCopy()
2021-01-21 17:46:47 -05:00
Mysfit
b220939650
Fix storyboard samples continuing to play when the beatmap is paused or the intro is skipped.
2021-01-21 17:10:11 -05:00
Andrei Zavatski
2eba2a9abf
Rename FriendsButton to FollowersButton
2021-01-21 23:40:23 +03:00
Andrei Zavatski
c631354b57
Rename property
2021-01-21 23:39:19 +03:00
Andrei Zavatski
4555b9ff70
Make ProfileHeaderButton height defined
2021-01-21 22:56:12 +03:00
Andrei Zavatski
e87197c7fc
Adjust text size
2021-01-21 22:48:31 +03:00
Andrei Zavatski
343166f158
Make CreateIcon a property
2021-01-21 22:47:44 +03:00
Andrei Zavatski
a7c22ebe88
Implement MappingSubscribersButton component
2021-01-21 22:02:54 +03:00
Andrei Zavatski
966440f109
Add MappingFollowerCount field to User
2021-01-21 22:02:19 +03:00
Andrei Zavatski
2aa1df9ea4
Implement ProfileHeaderStatisticsButton component
2021-01-21 21:38:52 +03:00
Andrei Zavatski
05d3914fee
Rename friends tooltip to followers
2021-01-21 21:26:33 +03:00
Dan Balasescu
0fa0e70bff
Merge branch 'master' into leave-channel-on-exiting-multiplayer
2021-01-21 19:04:33 +09:00
Dan Balasescu
04095cd5b9
Merge branch 'master' into fix-editor-scroll-interruption
2021-01-21 17:46:18 +09:00
Dan Balasescu
9eb74e86ed
Apply comment suggestion
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-21 17:40:15 +09:00
Dean Herbert
e6980688f6
Leave the multiplayer channel when leaving multiplayer
2021-01-21 15:42:23 +09:00
Dean Herbert
8853ac04d9
Rename some variable and add xmldoc for scroll centre position
2021-01-21 15:08:36 +09:00
Dean Herbert
c650cbd2a7
Rename variable to something slightly better
2021-01-21 15:01:23 +09:00
Dean Herbert
9daf29fedc
Extract out commonly used variables
2021-01-21 15:01:23 +09:00
Dean Herbert
a85f952a38
Inline single use function
2021-01-21 15:01:23 +09:00
Dean Herbert
e5eec27e95
Simplify selected section resolution
2021-01-21 15:01:23 +09:00
Dean Herbert
6d167b7865
Remove the need to store the smallest section
2021-01-21 14:40:55 +09:00
Dean Herbert
555abcdc36
Replace nan usage with nullable float
2021-01-21 14:31:31 +09:00
Dean Herbert
8f9089d1ae
Move constant to a better place
2021-01-21 14:30:22 +09:00
Dean Herbert
0fcf61d352
Replace null check with assert
2021-01-21 14:29:49 +09:00
Dean Herbert
a6516e3be5
Merge branch 'master' into scroll-to-20
2021-01-21 14:28:17 +09:00
Andrei Zavatski
65ece1aa72
Mark OverlayHeader as NotNull in FullscreenOverlay
2021-01-21 07:50:41 +03:00
Dean Herbert
7c4a072568
Merge branch 'master' into scroll-to-20
2021-01-21 13:48:26 +09:00
Andrei Zavatski
da0066e7b0
Merge master with conflicts resolved
2021-01-21 07:30:47 +03:00
Dan Balasescu
76e1f6e57b
Fix locking on incorrect object
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-21 12:45:44 +09:00
Dan Balasescu
c3675293fa
Merge branch 'master' into beatmapset-refactor
2021-01-21 12:38:34 +09:00
Bartłomiej Dach
1d9aaac2c2
Fix HOC not propagating DHO results applied on kill
...
`DrawableHitObject.OnKilled()` calls `UpdateResult()` to clean up a
hitobject's state definitively with regards to the judgement result
before returning the DHO back to the pool.
As it turns out, if a consumer was relying on this code path (as taiko
was in the case of nested strong hit objects), it would not work
properly with pooling, due to `HitObjectContainer` unsubscribing from
`On{New,Revert}Result` *before* calling the DHO's `OnKilled()`.
This in turn would lead to users potentially getting stuck in gameplay,
due to `ScoreProcessor` not receiving all results via that event path.
To resolve, change the call ordering to allow hit result changes applied
in `OnKilled()` to propagate normally.
2021-01-21 00:05:37 +01:00
vmaggioli
5ee3a5f230
Use AlmostEquals
2021-01-20 13:00:25 -05:00
vmaggioli
ce3c2f07dc
Fix zero length spinners and sliders
2021-01-20 12:19:52 -05:00
Dan Balasescu
7da7079ef2
Merge pull request #11537 from Mysfit/mp-initial-creation-screen-fix
...
Fix match/playlist room screen showing briefly behind initial room settings window on creation.
2021-01-20 22:05:14 +09:00
Dan Balasescu
95f52ae054
Merge pull request #11536 from rednir/sort-skins-alphabetically
...
Sort SkinSection in alphabetical order
2021-01-20 21:49:31 +09:00
Dan Balasescu
455383c3c0
Merge pull request #11528 from peppy/fix-autoplay-in-multiplayer
...
Fix multiplayer mod select showing autoplay as a choice
2021-01-20 21:49:16 +09:00
Dan Balasescu
12f2067357
Merge branch 'master' into sort-skins-alphabetically
2021-01-20 21:15:16 +09:00
smoogipoo
eb85efcea2
Add check to playlists too
2021-01-20 20:59:28 +09:00
Dan Balasescu
250727cbd1
Merge branch 'master' into mp-initial-creation-screen-fix
2021-01-20 20:53:33 +09:00
smoogipoo
6b139d4cf3
Reset task post-execution
2021-01-20 20:27:58 +09:00
smoogipoo
e005a1cc9f
Remove unnecessary condition blocking the part
2021-01-20 20:16:34 +09:00
smoogipoo
5261c01849
Tie JoinRoom() and PartRoom() together
2021-01-20 19:43:42 +09:00
smoogipoo
8ffbcc9860
Fix test failures and general discrepancies
2021-01-20 14:05:35 +09:00
smoogipoo
bdb9d4f7d0
Restart sound on play
2021-01-20 13:59:30 +09:00
smoogipoo
58269f9314
Update with framework changes
2021-01-20 13:35:43 +09:00
Andrei Zavatski
2ca3ccad06
Move all the content to BeatmapSetHeaderContent drawable
2021-01-20 04:56:46 +03:00
Andrei Zavatski
94fee3800d
Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmapset-refactor
2021-01-20 04:32:56 +03:00
Dean Herbert
2fabfe54a0
Merge pull request #11546 from bdach/mark-test-as-abstract
...
Mark legacy beatmap skin colour test as abstract
2021-01-20 10:03:40 +09:00
Bartłomiej Dach
82e5a5bf6f
Mark legacy beatmap skin colour test as abstract
2021-01-19 23:10:15 +01:00
Bartłomiej Dach
3b49b7461e
Schedule entire operation for safety
...
Also removes a redundant list copy.
2021-01-19 19:35:53 +01:00
Bartłomiej Dach
78e590d25d
Refactor skin sorting method
...
* Rename to `sortUserSkins` to convey meaning better.
* Sort in-place instead of slicing the list.
* Change to `void` to avoid misleading users that the method returns
a new list instance.
* Fix typo in comment.
2021-01-19 18:36:42 +01:00
Bartłomiej Dach
b00c6a1d60
Make first non-default skin index a property
...
The previous code was very brittle - it was not always updating
properly, and seems to have worked either by a carefully crafted set of
circumstances, or just plain coincidence.
Having this be a get-only property avoids potential error in the future
caused by not updating the index properly, at the expense of an added
linear lookup.
2021-01-19 18:31:37 +01:00
Salman Ahmed
34612ae233
Forward internal management to a container alongside tracker
2021-01-19 20:01:22 +03:00
rednir
206a0b8bac
Fix firstNonDefault staying as -1
2021-01-19 16:55:50 +00:00
rednir
a880b8d21d
Satisfy AppVeyor
2021-01-19 16:11:16 +00:00
Mysfit
052e9eef02
Added inline comments
2021-01-19 09:16:39 -05:00
rednir
b265d2dab4
Remove another whitespace
2021-01-19 14:16:22 +00:00
rednir
1d4c813ff6
Merge branch 'sort-skins-alphabetically' of https://github.com/rednir/osu into sort-skins-alphabetically
2021-01-19 14:03:31 +00:00
rednir
31e61326e1
Only user skins are sorted
2021-01-19 14:00:17 +00:00
Mysfit
33677f5770
Use BindValueChanged to show main content for new multiplayer and playlist rooms when the settings overlay is hidden.
2021-01-19 08:52:43 -05:00
Mysfit
6d1d488831
Revert "Use the client.RoomUpdated action instead of binding the value of the settings overlay visibility and creating an event from it based on its ValueChanged action."
...
This reverts commit cbfb999c28
.
2021-01-19 08:24:14 -05:00
Mysfit
9b7187e3c8
Revert "Use fades instead of event listening. Fixed same issue in the playlist room creation."
...
This reverts commit 3a7608275d
.
2021-01-19 08:23:31 -05:00
rednir
f1894a8bac
fixed itemUpdated()
2021-01-19 12:17:56 +00:00
Salman Ahmed
63b4c529a6
Add xmldoc explaining what the multiplayer beatmap tracker is for
2021-01-19 11:59:07 +03:00
Salman Ahmed
5a64abee64
Inline with above method
2021-01-19 11:59:07 +03:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
Mysfit
3a7608275d
Use fades instead of event listening. Fixed same issue in the playlist room creation.
2021-01-19 00:35:56 -05:00
Andrei Zavatski
f0add0a7cf
Make BeatmapSetOverlay use OverlayHeader
2021-01-19 01:34:37 +03:00
Mysfit
cbfb999c28
Use the client.RoomUpdated action instead of binding the value of the settings overlay visibility and creating an event from it based on its ValueChanged action.
2021-01-18 17:13:24 -05:00
Bartłomiej Dach
b35d224efb
Merge branch 'master' into less-black-confirm-to-exit
2021-01-18 23:03:24 +01:00
Mysfit
5233a0449a
Hide main room subscreen on initial mp room creation. Toggle mp room subscreen visibility based on settings overlay visibility before room is created.
2021-01-18 16:08:06 -05:00
rednir
0b65c0cd25
Remove whitespace
2021-01-18 20:17:42 +00:00
rednir
da89426a3b
Merge branch 'master' of https://github.com/ppy/osu into sort-skins-alphabetically
2021-01-18 20:09:15 +00:00
Salman Ahmed
63ca9de7e4
Rewerite beatmap term properly
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-18 23:00:07 +03:00
rednir
7476cb3047
Sort SkinSection in alphabetical order
2021-01-18 19:51:42 +00:00
Salman Ahmed
5e476fa189
Enforce one missed property back to single-floating type
2021-01-18 22:07:25 +03:00
Salman Ahmed
25f511fd5b
Remove unnecessary full querying
2021-01-18 21:34:24 +03:00
Andrei Zavatski
c6b0f3c247
Implement TabbableOnlineOverlay component
2021-01-18 21:22:50 +03:00
Andrei Zavatski
70420b56d3
Merge remote-tracking branch 'refs/remotes/ppy/master' into overlay-header-refactor
2021-01-18 20:09:51 +03:00
Salman Ahmed
4a1acdece2
Merge branch 'multiplayer-beatmap-tracker' into ready-button-clean-up
2021-01-18 20:06:47 +03:00
Salman Ahmed
dc91cebce9
Merge branch 'master' into multiplayer-beatmap-tracker
2021-01-18 19:15:45 +03:00
Dean Herbert
fda271d9d9
Merge pull request #11520 from frenzibyte/fix-item-download-button
...
Fix playlist item download button never shown back after hiding
2021-01-18 23:37:33 +09:00
Salman Ahmed
e6ceaad732
Revert user state back to idle upon availability change
2021-01-18 17:23:51 +03:00
Dean Herbert
ced7a36788
Update namespaces
2021-01-18 21:24:10 +09:00
Dean Herbert
12443e39ae
Update framework
2021-01-18 19:16:32 +09:00
Dean Herbert
707d5346c9
Merge branch 'master' into fix-spinner-spinning-weirdness
2021-01-18 18:26:44 +09:00
Dean Herbert
0560eb4120
Reduce final fill alpha of main menu confirm-to-exit
2021-01-18 18:22:21 +09:00
Dean Herbert
0b165dce4b
Fix multiplayer mod select showing autoplay as a choice
2021-01-18 17:50:32 +09:00
Andrei Zavatski
6e34ab5d15
Rename WebOverlay to OnlineOverlay
2021-01-18 11:13:38 +03:00
Andrei Zavatski
b27b18f70f
Merge remote-tracking branch 'refs/remotes/ppy/master' into overlay-header-refactor
2021-01-18 11:10:55 +03:00
Salman Ahmed
6deb10e075
Add UI state display for each client's beatmap availability
2021-01-18 11:10:02 +03:00
Salman Ahmed
bd44bf8c0b
Extract disabling progress bar user-interactivity
2021-01-18 10:51:39 +03:00
Salman Ahmed
4e6c1a3906
Update client beatmap availability in-line with tracker
2021-01-18 10:51:39 +03:00
Salman Ahmed
88abee705b
Add missing event mapping for user beatmap availability change
2021-01-18 10:49:02 +03:00
Andrei Zavatski
27ffc98445
Implement WebOverlay component
2021-01-18 10:48:12 +03:00
Dean Herbert
94fee8c31d
Avoid doing a config lookup if initial conditional fails
2021-01-18 16:13:58 +09:00
Dean Herbert
1364de1166
Merge branch 'master' into beatmap-colour-setting
2021-01-18 16:07:46 +09:00
Salman Ahmed
38588ab96b
Merge branch 'multiplayer-beatmap-tracker' into ready-button-clean-up
2021-01-18 10:00:31 +03:00
Salman Ahmed
b6a37c1c15
Make TriggerSuccess(filename)
protected and expose in test instead
2021-01-17 22:10:30 +03:00
Salman Ahmed
ccef50e2a2
Log important message if user imported bad-checksum beatmap
2021-01-17 22:10:30 +03:00
Salman Ahmed
0425a659a8
Add null-permissive operator to manager back
2021-01-17 21:19:55 +03:00
Salman Ahmed
d93a853dfd
Enforce float
type in the download progress path instead
2021-01-17 21:16:48 +03:00
Salman Ahmed
585aa87c53
Fix playlist item download button never shown back after hiding
2021-01-17 19:17:14 +03:00
Dean Herbert
5e0fcc4a6c
Merge pull request #11473 from frenzibyte/explicit-search-control
...
Add "explicit maps" search filter control to beatmap listing
2021-01-17 23:27:15 +09:00
Dean Herbert
5278cad393
Reword setting to make more sense
2021-01-17 22:42:48 +09:00
Dean Herbert
5fd644fc57
Unify variable names
2021-01-17 22:42:48 +09:00
Bartłomiej Dach
eb53e32792
Use task completion source for room join flow
...
On Android, users were unable to join or create multiplayer rooms. The
root cause of that was that the both the wait and set of the
`ManualResetEvent` in `getRoomUsers` occurred on the same thread, which
created a chicken-and-egg situation - the set could not proceed until
the wait had actually completed.
Resolve by substituting the `ManualResetEvent` for a
`TaskCompletionSource` to achieve a promise-style task, which the
previous code was a crude approximation of anyway.
Closes #11385 .
2021-01-17 14:40:22 +01:00
Dean Herbert
addd463d26
Merge branch 'master' into explicit-search-control
2021-01-17 21:44:25 +09:00
Dean Herbert
edb6d3907b
Merge pull request #11472 from frenzibyte/explicit-beatmap-markers
...
Add explicit content markers to beatmap panels and overlay
2021-01-17 21:44:10 +09:00
Bartłomiej Dach
816cc7a59b
Adjust explicit label spacing on beatmap set overlay
2021-01-17 00:35:23 +01:00
Bartłomiej Dach
dee46d7ba2
Use GroupBy() instead
2021-01-16 23:42:28 +01:00
Bartłomiej Dach
bb0d289993
Split variable for readability
2021-01-16 23:24:28 +01:00
Bartłomiej Dach
1d7be6a604
Merge branch 'master' into android-multiple-import-support-suppot
2021-01-16 23:13:11 +01:00
Salman Ahmed
59ae50b0e5
Clean up ready button logic into using MultiplayerBeatmapTracker
2021-01-17 01:11:03 +03:00
Salman Ahmed
adb2605d5d
Enforce double
type in the download progress path
...
Wasn't sure where to exactly put this, or whether to split it, but it's very small change to worry about, so I guess it's fine being here
2021-01-17 00:12:14 +03:00
Salman Ahmed
23c7afa573
Expose method for setting progress of archive download request
2021-01-17 00:05:51 +03:00
Salman Ahmed
4778686dc4
Expose method for triggering filename-backed success in APIDownloadRequest
...
Exactly like in `APIRequest<T>`
2021-01-17 00:01:11 +03:00
Salman Ahmed
96feaa027d
Make ArchiveModelManager
import method overridable (for testing purposes)
2021-01-17 00:01:11 +03:00
Salman Ahmed
cf23781036
Cache beatmap tracker and bind to selected item in RoomSubScreen
2021-01-17 00:01:11 +03:00
Salman Ahmed
da9c23f347
Add beatmap availability tracker component for multiplayer
2021-01-17 00:01:11 +03:00
Salman Ahmed
7ad8b167cc
Add overridable method for checking local availability of current model
2021-01-17 00:01:11 +03:00
Salman Ahmed
04d17aadfa
Add overridable method for verifying models in database
2021-01-17 00:01:11 +03:00
Salman Ahmed
d9034eab26
Make model manager in DownloadTrackingComposite
protected
2021-01-16 22:54:54 +03:00
Bartłomiej Dach
c80e9c08fd
Merge branch 'master' into net5.0
2021-01-16 16:07:44 +01:00
Mysfit
a3535f4b79
Further simplified beatmap colouring tests.
2021-01-16 02:09:35 -05:00
Mysfit
112967c1e8
Created base class for testing beatmap colours.
2021-01-15 23:46:46 -05:00
Bartłomiej Dach
d9b671667b
Merge branch 'master' into fix-judgement-animation-conditional
2021-01-15 22:10:17 +01:00
Bartłomiej Dach
3c1a86d11d
Trim braces for consistency
2021-01-15 22:04:45 +01:00
Dean Herbert
d6e6b4bbee
Revert forced cloning of ControlPointInfo
...
This reverts commit 3c3e860dbc
.
Closes https://github.com/ppy/osu/issues/11491 .
2021-01-15 17:34:59 +09:00
Dean Herbert
8a6857f151
Add support for playing a SkinnableSample without restarting it
2021-01-15 17:16:12 +09:00
Dean Herbert
b5e784ed42
Fix possibility of crash when selecting a random skin during skin import
2021-01-15 16:34:28 +09:00
Dean Herbert
831c06a3c7
Expose and consume boolean covering whether an ongoing smooth seek is running
2021-01-15 16:14:38 +09:00
Dean Herbert
04fa32bc34
Rename and add xmldoc for smooth seeking method
2021-01-15 16:14:21 +09:00
Dean Herbert
ed78be825f
Fix editor timeline not snapping on non-precise wheel scroll
...
For wheel input with precision, we still prefer exact tracking for now.
May change this in the future based on feedback from mappers, but it
makes little sense to do non-snapped scrolling when input is coming from
a non-precise source.
2021-01-15 15:47:42 +09:00
Dean Herbert
c3049f431a
Merge branch 'master' into net5.0
2021-01-15 15:23:41 +09:00
Dean Herbert
2b578e97e5
Fix deadlock scenario when calculating fallback difficulty
...
The previous code would run a calcaulation for the beatmap's own ruleset
if the current one failed. While this does make sense, with the current
way we use this component (and the implementation flow) it is quite unsafe.
The to the call on `.Result` in the `catch` block, this would 100%
deadlock due to the thread concurrency of the `ThreadedTaskScheduler`
being 1. Even if the nested run could be run inline (it should be), the
task scheduler won't even get to the point of checking whether this is
feasible due to it being saturated by the already running task.
I'm not sure if we still need this fallback lookup logic. After removing
it, it's feasible that 0 stars will be returned during the scenario that
previously caused a deadlock, but I don't necessarily think this is
incorrect. There may be another reason for this needing to exist which
I'm not aware of (diffcalc?) but if that's the case we may want to move
the try-catch handling to the point of usage.
To reproduce the deadlock scenario with 100% success (the repro
instructions in the linked issue aren't that simple and require some
patience and good timing), the main portion of the lookup can be changed
to randomly trigger a nested lookup:
```
if (RNG.NextSingle() > 0.5f)
return GetAsync(new
DifficultyCacheLookup(key.Beatmap, key.Beatmap.Ruleset,
key.OrderedMods)).Result;
else
return new StarDifficulty(attributes);
```
After switching beatmap once or twice, pausing debug and viewing the
state of threads should show exactly what is going on.
2021-01-15 15:19:12 +09:00
Dean Herbert
ede5abdba4
Fix unstable multiplayer room ordering when selection is made
2021-01-15 15:19:12 +09:00
Dean Herbert
b8c85ef017
Revert polling changes to fix participant list display
...
It turns out this polling was necessary to get extra data that isn't
included in the main listing request. It was removed deemed useless, and
in order to fix the order of rooms changing when selecting a room.
Weirdly, I can't reproduce this happening any more, and on close
inspection of the code can't see how it could happen in the first place.
For now, let's revert this change and iterate from there, if/when the
same issue arises again.
I've discussed avoiding this second poll by potentially including more
data (just `user_id`s?) in the main listing request, but not 100% sure
on this - even if the returned data is minimal it's an extra join
server-side, which could cause performance issues for large numbers of
rooms.
2021-01-15 15:19:12 +09:00
Dean Herbert
e0a4a666c8
Remove unnecessary workaround (mentioned package is pinned by SignalR to a working version)
2021-01-15 15:01:16 +09:00
Dean Herbert
f42a6270bb
Update framework (again) for native libs fix
2021-01-15 14:57:01 +09:00
Dean Herbert
86f66727de
Update KeyBinding usages in line with interface changes
2021-01-15 14:57:01 +09:00
Dean Herbert
ebbc32adfa
Change conditional used to decide legacy judgement animation to match stable
...
In stable, the type of legacy judgement to show is based on the presence
of particle textures in the skin. We were using the skin version
instead, which turns out to be incorrect and not what some user skins
expect.
Closes #11078 .
2021-01-15 14:51:27 +09:00
Dan Balasescu
40f020c683
Merge pull request #11494 from peppy/fix-beatmap-carousel-incorrect-sample
...
Fix the beatmap carousel playing the difficulty change sample on beatmap change
2021-01-15 14:47:00 +09:00
smoogipoo
24e991a5ef
Actually return beat length and not BPM
2021-01-15 14:35:09 +09:00
smoogipoo
c6e9a6cd5a
Make most common BPM more accurate
2021-01-15 14:28:49 +09:00
Dean Herbert
0a65ae8f1e
Fix the beatmap carousel playing the difficulty change sample on beatmap change
2021-01-15 14:07:24 +09:00
Mysfit
0c01a3a685
Found a better solution than TValue type checking for additional beatmap colour settings. Added unit tests for Catch Beatmap Skin settings.
2021-01-14 23:30:24 -05:00
Dean Herbert
4cccde9007
Update framework
2021-01-15 13:20:46 +09:00
Salman Ahmed
dc8e38cf4d
Remove pointless inline comment
2021-01-15 07:20:13 +03:00
Dan Balasescu
67b5ebadf5
Merge branch 'master' into fix-is-connected-thread-safety
2021-01-15 12:56:21 +09:00
Mysfit
99e43c77c2
Simplified colour config checks in SkinProvidingContainer.cs
2021-01-14 16:53:55 -05:00
Dan Balasescu
3e8732a59f
Merge branch 'master' into fix-participants-list
2021-01-14 21:30:53 +09:00
Dan Balasescu
063acefd5c
Merge branch 'master' into fix-difficulty-calculation-deadlock
2021-01-14 20:32:43 +09:00
Roman Kapustin
0ea4e221b2
Merge branch 'master' into net5.0
2021-01-14 14:02:51 +03:00
Dean Herbert
862cb1412c
Merge pull request #11410 from frenzibyte/user-beatmap-downloading-states
...
Add change state methods for multiplayer user beatmap availability
2021-01-14 18:42:26 +09:00
Dean Herbert
8a0b975d71
Fix deadlock scenario when calculating fallback difficulty
...
The previous code would run a calcaulation for the beatmap's own ruleset
if the current one failed. While this does make sense, with the current
way we use this component (and the implementation flow) it is quite unsafe.
The to the call on `.Result` in the `catch` block, this would 100%
deadlock due to the thread concurrency of the `ThreadedTaskScheduler`
being 1. Even if the nested run could be run inline (it should be), the
task scheduler won't even get to the point of checking whether this is
feasible due to it being saturated by the already running task.
I'm not sure if we still need this fallback lookup logic. After removing
it, it's feasible that 0 stars will be returned during the scenario that
previously caused a deadlock, but I don't necessarily think this is
incorrect. There may be another reason for this needing to exist which
I'm not aware of (diffcalc?) but if that's the case we may want to move
the try-catch handling to the point of usage.
To reproduce the deadlock scenario with 100% success (the repro
instructions in the linked issue aren't that simple and require some
patience and good timing), the main portion of the lookup can be changed
to randomly trigger a nested lookup:
```
if (RNG.NextSingle() > 0.5f)
return GetAsync(new
DifficultyCacheLookup(key.Beatmap, key.Beatmap.Ruleset,
key.OrderedMods)).Result;
else
return new StarDifficulty(attributes);
```
After switching beatmap once or twice, pausing debug and viewing the
state of threads should show exactly what is going on.
2021-01-14 18:25:34 +09:00
Dean Herbert
6eca8eac65
Merge pull request #11479 from smoogipoo/fix-judgement-1-frame-issue
...
Fix default judgement text mispositioned for one frame
2021-01-14 13:14:50 +09:00
smoogipoo
d5878db615
Fix default judgement text mispositioned for one frame
2021-01-14 12:33:33 +09:00
Salman Ahmed
6281c1086a
Space out explicit marker in beatmap overlay
2021-01-14 05:41:09 +03:00
Salman Ahmed
abf718242b
Make explicit marker font semi-bold
2021-01-14 05:40:43 +03:00
Jesse Myers
562634dfd2
Improve naming around the config lookup with fallback private method.
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-13 16:49:14 -05:00
Mysfit
8b95817f7a
Moved SkinProvidingContainer bindable fetching to common method. Replaced redundant test boolean declarations with inline values.
2021-01-13 16:05:46 -05:00
Salman Ahmed
95acc457aa
Fix stupid mistake
...
fuck.
2021-01-13 22:35:21 +03:00
Salman Ahmed
560b1e970c
Merge branch 'master' into user-beatmap-downloading-states
2021-01-13 22:31:31 +03:00
Mysfit
1248d39d7e
Reverted change to AllowConfigurationLookup and added a separate AllowColourLookup bool with config case based on lookup type in SkinProvidingContainer GetConfig call.
2021-01-13 13:07:07 -05:00
Salman Ahmed
1f12b2bd09
Rename download state Downloaded
to Importing
2021-01-13 18:04:53 +03:00
Salman Ahmed
43daa7c7c0
Use Colour2
of orange theme for explicit pill
2021-01-13 17:07:42 +03:00
Salman Ahmed
e275dd02e0
Create static colour properties for now
2021-01-13 17:07:11 +03:00
Salman Ahmed
9d59d784f8
Add Colour{1-4} properties to OverlayColourProvider
2021-01-13 17:06:44 +03:00
Salman Ahmed
a5f99ed8e6
Merge branch 'explicit-beatmap-markers' into explicit-search-control
2021-01-13 12:53:57 +03:00
Salman Ahmed
f827c62081
Add empty online info to test beatmap
...
This is for `BeatmapSetOverlay` to not eat a null reference trying to access `Beatmap.OnlineInfo`.
2021-01-13 12:27:15 +03:00
Salman Ahmed
1502b07ea8
Add explicit pill to playlist items
2021-01-13 12:27:15 +03:00
Salman Ahmed
78631323ba
Add explicit pill to beatmap overlay
2021-01-13 12:13:14 +03:00
Salman Ahmed
f6637eec36
Add explicit pill to beatmap panels
2021-01-13 12:13:14 +03:00
Salman Ahmed
ee6baeb57e
Add "explicit" marker pill
2021-01-13 12:13:14 +03:00
Salman Ahmed
e8daea91d2
Add online beatmap "explicit content" property
2021-01-13 12:13:14 +03:00
Mysfit
7bfb5954a8
Fix whitespace formatting.
2021-01-13 00:25:54 -05:00
Mysfit
5f10bcce02
Added beatmap colour settings checkbox and associated tests.
2021-01-13 00:09:22 -05:00
Bartłomiej Dach
2d3cacca11
Fix non-hosts crashing on load requested
...
`onLoadRequested()` always released the `readyClickOperation` ongoing
operation, without checking whether it actually needs to/should (it
should only do so if the action initiating the operation was starting
the game by the host). This would crash all other consumers, who already
released the operation when their ready-up operation completed server
side.
To resolve, relax the constraint such that the operation can be ended
multiple times in any order. At the end of the day the thing that
matters is that the operation is done and the ready button is unblocked.
2021-01-13 00:58:53 +01:00
Dean Herbert
7298adc9d9
Fix non-threadsafe usage of MultiplayerClient.IsConnected
2021-01-12 19:04:16 +09:00
Dean Herbert
b51b07c3a9
Fix unstable multiplayer room ordering when selection is made
2021-01-12 18:05:29 +09:00
smoogipoo
9a22df2b88
Fix BPM multiplier not working in all cases
2021-01-12 17:50:22 +09:00
Dean Herbert
422260797b
Revert polling changes to fix participant list display
...
It turns out this polling was necessary to get extra data that isn't
included in the main listing request. It was removed deemed useless, and
in order to fix the order of rooms changing when selecting a room.
Weirdly, I can't reproduce this happening any more, and on close
inspection of the code can't see how it could happen in the first place.
For now, let's revert this change and iterate from there, if/when the
same issue arises again.
I've discussed avoiding this second poll by potentially including more
data (just `user_id`s?) in the main listing request, but not 100% sure
on this - even if the returned data is minimal it's an extra join
server-side, which could cause performance issues for large numbers of
rooms.
2021-01-12 17:26:00 +09:00
Salman Ahmed
24c1839739
Add global web setting for allowing explicit content
2021-01-12 11:10:25 +03:00
Salman Ahmed
249be461d5
Add "explicit maps" search filter control
2021-01-12 11:09:55 +03:00
Bartłomiej Dach
0d5fbb15ac
Fix up code comments
...
Default value restated in xmldoc was snipped because it's made redundant
by the initialiser and possibly bound to be outdated at some point.
2021-01-11 20:31:52 +01:00
Salman Ahmed
90fb67b377
Update code in-line with decided direction
2021-01-11 20:52:24 +03:00
Dean Herbert
dd809df076
Merge pull request #11118 from MiraiSubject/tourney-switching-ui
...
Add the ability to switch tournaments to the SetupScreen
2021-01-11 16:36:45 +09:00
Salman Ahmed
2286e3679f
Downloaded -> Importing
2021-01-11 08:21:07 +03:00
Salman Ahmed
a8dfa5e2a9
Rename typo'd method
2021-01-11 08:04:00 +03:00
Salman Ahmed
e99310b59c
Add JsonConstructor attribute
2021-01-11 08:02:57 +03:00
Dean Herbert
d2ca6da0fd
Remove unused constant
2021-01-11 01:56:09 +09:00
Dean Herbert
bd37723788
Expose as IBindable for added safety
2021-01-11 01:55:54 +09:00
Dean Herbert
e4eb44df6e
Merge branch 'master' into fix-play-button-crashes
2021-01-11 01:46:41 +09:00
Shivam
959696c296
Merge branch 'master' into tourney-switching-ui
2021-01-10 17:34:03 +01:00
Shivam
e5c670f843
Merge branch 'master' into tourney-switching-ui
2021-01-10 17:33:52 +01:00
Bartłomiej Dach
d110ed9e95
Merge branch 'master' into fix-mod-buttons-not-copying-settings
2021-01-10 15:42:33 +01:00
Bartłomiej Dach
4b4adc927c
Rename param to match method body
2021-01-10 15:35:53 +01:00
Dean Herbert
4e32b0d6de
Merge branch 'master' into ongoing-operation-tracker-safety
2021-01-10 23:05:03 +09:00
Dean Herbert
95ad324a39
Merge branch 'master' into fix-mod-buttons-not-copying-settings
2021-01-10 23:01:54 +09:00
Dean Herbert
e81f9e358e
Merge pull request #11448 from bdach/fix-editor-enter-crash
...
Fix editor crashing on enter if login overlay was previously opened
2021-01-10 12:59:47 +09:00
Bartłomiej Dach
8c3955d341
Improve safety of ongoing operation tracker
...
Finishing an operation started via
`OngoingOperationTracker.BeginOperation()` was risky in cases where the
operation ended at a callback on another thread (which, in the case of
multiplayer, is *most* cases). In particular, if any consumer registered
a callback that mutates transforms when the operation ends, it would
result in crashes after the framework-side safety checks.
Rework `OngoingOperationTracker` into an always-present component
residing in the drawable hierarchy, and ensure that the
`operationInProgress` bindable is always updated on the update thread.
This way consumers don't have to add local schedules in multiple places.
2021-01-09 22:45:24 +01:00
Dean Herbert
b69fe8a274
Merge branch 'master' into disable-repeat-multi-actions
2021-01-09 10:15:20 +09:00
Salman Ahmed
0aad0c7c6c
Target logic at this
and adjust variables
2021-01-09 00:31:18 +03:00
Bartłomiej Dach
ff60d652ed
Move out test ongoing operation tracker to higher level
2021-01-08 22:28:21 +01:00
Salman Ahmed
375ecf92ed
Merge remote-tracking branch 'upstream/master' into fix-mod-buttons-not-copying-settings
2021-01-09 00:26:18 +03:00
Bartłomiej Dach
c2eeb822b8
Rename {joiningRoom -> operationInProgress}
2021-01-08 22:23:38 +01:00
Bartłomiej Dach
dad5dd3667
Remove unnecessary permissiveness wrt null
2021-01-08 22:21:54 +01:00
Bartłomiej Dach
284d30d336
Move screen activity update to LoadComplete()
...
Fixes a potential crash when moving from main menu to editor after
having previously opened the login settings overlay. Setting the
activity in BDL as done before is unsafe, as that set can trigger value
change callbacks, which in turn can trigger adding transforms, which
should always be done on the update thread.
Semantically it also makes sense, as the user activity should change
once the screen they're moving to has actually loaded and displayed to
the user.
2021-01-08 21:18:15 +01:00
Bartłomiej Dach
274a045d8d
Remove Dispose() override
...
Culls another non-thread-safe mutation of the `Playing` bindable.
It seems to be a weird vestige from an earlier revision of the old
"direct" panel, which relied on `DisposeOnDeathRemoval` to finish track
playback (and then was removed in
6c150c9ed7
). The play button is no longer
responsible for managing preview track lifetime anyway;
`PreviewTrackManager`'s method are intended for that.
2021-01-08 20:08:19 +01:00
Bartłomiej Dach
52789118a3
Schedule play button state update
...
Revealed by the framework-side transform thread safety checks. `Stopped`
is even annotated as not being thread-safe (but was annotated as such
long after the class's nascence).
2021-01-08 20:08:19 +01:00
Dean Herbert
8a7a1fc40a
Merge pull request #11439 from peppy/improve-hover-sounds-debounce
...
Improve hover sounds playback (to reduce volume saturation and delay)
2021-01-09 02:31:02 +09:00
Bartłomiej Dach
49c6abcb5c
Remove mention of default value in xmldoc
...
Just bound to get outdated with every change anyway. Look at the actual
default value declaration to see what the default is.
2021-01-08 18:26:41 +01:00
Bartłomiej Dach
d507a08951
Start with null last hover playback time
2021-01-08 18:16:03 +01:00
Dean Herbert
3bb71e4b77
Merge branch 'master' into fix-transform-mutation-mod-selection
2021-01-09 01:44:52 +09:00
Dean Herbert
8feaf3fb6a
Update framework
2021-01-09 01:24:18 +09:00
Dean Herbert
05ba5d4c31
Merge pull request #11438 from bdach/difficulty-adjust-defaults
...
Fix difficulty adjust mod treating default values as user overrides
2021-01-09 01:18:34 +09:00
Bartłomiej Dach
0cf5be3ef4
Fix selection change event being invoked with wrong mod
2021-01-08 17:02:57 +01:00
Dean Herbert
edd328c8fe
Move bindable closer to source class
2021-01-08 17:24:55 +09:00
Dean Herbert
c208800150
Fix auto selection scenario regressing due to scheduling too much
2021-01-08 14:17:14 +09:00
Dean Herbert
e156bcdcae
Remove unnecessary (and broken) requiresDebounce check
2021-01-08 14:05:34 +09:00
Dean Herbert
11801d61c1
Use nullable doubule to better represent initial playback case
2021-01-08 14:05:22 +09:00
Dean Herbert
22981a667c
Merge branch 'master' into fix-transform-mutation-mod-selection
2021-01-08 11:16:22 +09:00
Dean Herbert
4973e23003
Merge branch 'master' into fix-transform-mutation-mod-selection
2021-01-08 11:16:15 +09:00
Dean Herbert
2cfd1e8b47
Merge branch 'master' into fix-control-point-pollution
2021-01-08 00:02:45 +09:00
Dean Herbert
3c3e860dbc
Move ControlPointInfo copying to base Beatmap.Clone method (and remove setter)
2021-01-07 23:52:04 +09:00
Dean Herbert
77b55212a3
Change access of beatmap to use working for consistency in file
2021-01-07 19:11:51 +09:00
Dean Herbert
42643fbaf6
Use already resolved EditorBeatmap rather than resolving a second time locally
2021-01-07 19:10:19 +09:00
Dean Herbert
00dc98e3ab
Make legacy control point's BpmMultiplier setter private again
2021-01-07 19:06:52 +09:00
Dean Herbert
69ac22dd7f
Fix incorrectly copy pasted xmldoc
2021-01-07 19:06:10 +09:00
Dean Herbert
8f52a83b29
Share hover sound debounce across all instances via SessionStatics
2021-01-07 18:47:20 +09:00
Dean Herbert
6620eadec3
Reduce default hover sound debounce interval
2021-01-07 18:47:03 +09:00
Bartłomiej Dach
303cc62ee7
Transfer flags indicating if settings were changed
2021-01-06 22:46:46 +01:00
Bartłomiej Dach
4998aaaa98
Remove outdated warning disable
...
Does not trigger any more on Rider 2020.3.2.
2021-01-06 18:38:25 +01:00
Bartłomiej Dach
68352782db
Change .StartsWith() to .Equals()
...
In line with planned-but-delayed breaking change.
2021-01-06 18:38:24 +01:00
Bartłomiej Dach
9cc63e8dce
Remove obsoleted IHasEndTime
2021-01-06 18:38:24 +01:00
Bartłomiej Dach
539785e422
Remove obsoleted IHasCurve
2021-01-06 18:38:24 +01:00
Bartłomiej Dach
09742998cd
Fix mistaken obsoletion notice
...
It was added in c9f38f7bb6
, which
specified 2021 in another place (and was committed in October of 2020
anyway). Update the year so that it doesn't get culled prematurely.
2021-01-06 18:38:24 +01:00
Bartłomiej Dach
a761ec952a
Merge branch 'master' into remove-osu-direct
2021-01-06 17:32:12 +01:00
Dean Herbert
866fb28d6c
Merge pull request #11411 from LavaDesu/feature/discord-presence-toggle
...
Add ability to toggle discord rich presence
2021-01-07 00:52:38 +09:00
Bartłomiej Dach
4c2caec72e
Merge branch 'master' into remove-osu-direct
2021-01-06 16:49:38 +01:00
Dean Herbert
35be7ec0e1
Add back button but rename to "browse"
2021-01-06 23:28:14 +09:00
Dean Herbert
cfbfb8d58b
Revert "Remove related events"
...
This reverts commit 59025e9d50
.
2021-01-06 23:21:46 +09:00
Dean Herbert
283c69a68f
Update enum name in line with changes
2021-01-06 23:12:56 +09:00
Dean Herbert
59025e9d50
Remove related events
2021-01-06 23:09:58 +09:00
Dean Herbert
32accc8eab
Remove "osu!direct" button
2021-01-06 22:56:10 +09:00
Bartłomiej Dach
7651d4554a
Merge branch 'master' into fix-transform-carousel
2021-01-06 13:49:05 +01:00
Bartłomiej Dach
43b9fde457
Add some nullability annotations for good measure
2021-01-06 13:15:15 +01:00
Dean Herbert
99701a6d9b
Add null check on beatmapContainer for safety
2021-01-06 21:06:33 +09:00
Dean Herbert
ffafdf2209
Merge branch 'master' into fix-transform-carousel
2021-01-06 21:03:22 +09:00
Bartłomiej Dach
25b4628672
Merge branch 'master' into fix-transform-mutation-from-background
2021-01-06 11:04:51 +01:00
Dean Herbert
07cff70387
Add specific messaging for when there's no background stack available
2021-01-06 18:19:03 +09:00
Bartłomiej Dach
6572bb18de
Merge branch 'master' into fix-transform-mutation-display-settings
2021-01-06 10:09:14 +01:00
Dean Herbert
550ef3f133
Aggressively dispose ownedBackground if it was not used, because we can
2021-01-06 15:28:01 +09:00
Dean Herbert
e9d4e4d1d5
Add xmldoc and throw a local exception on null background
2021-01-06 15:26:44 +09:00
Dean Herbert
11a0c637bc
Mark background properties as nullable
2021-01-06 15:26:00 +09:00
Dean Herbert
15dd7a87a6
Move gameplay preview event binding to LoadComplete
2021-01-06 15:19:12 +09:00
Bartłomiej Dach
52687fc37c
Merge branch 'master' into fix-transform-mutation-loading-layer
2021-01-05 23:10:51 +01:00
Bartłomiej Dach
0880e76da8
Mark background dim layer as possibly-null
2021-01-05 22:56:53 +01:00
Bartłomiej Dach
ac1d6d4444
Make auto-property get-only
2021-01-05 22:56:53 +01:00
Bartłomiej Dach
2b253f6d01
Remove now-unused fields & locals
2021-01-05 22:56:53 +01:00
Bartłomiej Dach
fbbc26d7d8
Merge branch 'master' into fix-carousel-centering-on-window-resize
2021-01-05 21:30:39 +01:00
Bartłomiej Dach
847d2d8deb
Merge branch 'master' into fix-transform-mutation-from-disposal-thread
2021-01-05 19:52:10 +01:00
Dean Herbert
4b539b01c1
Match code between updateSelectedBeatmap/Ruleset
2021-01-05 20:38:58 +09:00
Dean Herbert
83dbba3cbf
Fix carousel beatmap set panels applying transforms to difficulties while they are loading
2021-01-05 18:41:45 +09:00
Dean Herbert
d0d2e41b28
Fix display settings binding to configuration bindables in async load
2021-01-05 18:19:28 +09:00
Dean Herbert
0639429a23
Fix test (and remove no longer valid test)
2021-01-05 18:10:39 +09:00
Dean Herbert
3b98782964
Merge pull request #11420 from kyekiller/master
...
Fix to toolbar tooltips
2021-01-05 17:43:32 +09:00
Dean Herbert
0b1ee2e267
Remove unused dispose logic
2021-01-05 17:42:19 +09:00
Dean Herbert
54982dcdd7
Refactor LoadingLayer to avoid applying effects to external drawables
...
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.
This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.
The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).
I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
Dean Herbert
5d8c153c1e
Move schedule logic to buttons rather than section
...
It turns out there's some quite convoluted scheduling / order of
execution requirements of ModSelectOverlay and ModSection. Applying
scheduling causes a runaway condition ending in zero frames after many
mod button changes.
I wanted to avoid rewriting the whole component, so have just moved the
schedule to guard against the part where drawables are actually changed.
2021-01-05 16:41:05 +09:00
Dean Herbert
4d6c13f169
Privatise ModSelectOverlay methods that may be unsafe to be called externally
2021-01-05 16:18:13 +09:00
Dean Herbert
9bac791a57
Fix deselection of autoplay mod failing
2021-01-05 16:17:58 +09:00
Dean Herbert
57a8cd7461
Schedule deselection operations for safety
2021-01-05 16:17:58 +09:00
Dean Herbert
60fc60fa00
Merge pull request #11415 from frenzibyte/fix-ready-button-crash
...
Fix multiplayer ready button crashing when deleting selected beatmap set
2021-01-05 15:58:09 +09:00
Dean Herbert
b3f08b29ca
Ensure that all changes to screen backgrounds are on the correct thread
2021-01-05 15:22:50 +09:00
Dean Herbert
a3e4e2f6c3
Switch ResultsScreen and SongSelect inheritance and remove local implementation
2021-01-05 15:22:50 +09:00