Dean Herbert
0275e974e5
Merge branch 'master' into multiplayer-countdown-timers-2
2022-03-24 17:24:00 +09:00
Dean Herbert
e3f8bc0588
Revert Availability
to private
2022-03-24 17:15:17 +09:00
Dan Balasescu
528ffea38d
Fix incorrect event binding
2022-03-24 17:11:08 +09:00
Dean Herbert
a7554dcdf7
Use a constant for the early version timing offset
2022-03-24 16:43:41 +09:00
Dan Balasescu
dfa076c169
Refactor cancellation logic
2022-03-24 16:29:59 +09:00
Dean Herbert
a7d5f2281c
Apply beatmap offsets to legacy replay frame handling
2022-03-24 16:16:40 +09:00
Dan Balasescu
4c0d76573c
Asserate code is running on update thread
2022-03-24 15:51:30 +09:00
Dan Balasescu
f0d132b16e
Rename FinishCountdown() -> SkipToEndOfCountdown()
2022-03-24 15:21:46 +09:00
Dan Balasescu
d2ecc100e5
Revert unnecessary async change
2022-03-24 15:07:24 +09:00
Dan Balasescu
8f3a4df70a
Add explanation for try-catch
2022-03-24 15:07:24 +09:00
Dan Balasescu
d36944ac95
Dispose token manually
...
Cover more branches with cancellation source disposal
2022-03-24 15:07:24 +09:00
Dean Herbert
8ca9cbc866
Set a more correct initial value for pauseFreqAdjust
...
As the `GameplayClock` now starts paused, this value needs to match to
ensure things work correctly.
For a better explanation of how we got here, see discussion at
https://github.com/ppy/osu/pull/17302#discussion_r830017735 .
2022-03-24 14:50:00 +09:00
Dan Balasescu
96a447f68b
Rename Multiplayer prefix to button classes
2022-03-24 14:28:38 +09:00
Dan Balasescu
90c7945bca
Re-remove PopoverButton class with better test fix
2022-03-24 14:26:31 +09:00
Dean Herbert
6f529cf7a4
Merge branch 'master' into fix-spectator-seeks
2022-03-24 14:24:20 +09:00
Dean Herbert
e243a7c55d
Reword storage
param xmldoc to use stronger and better defined langauge
2022-03-24 12:45:11 +09:00
Dean Herbert
0cd29a73b9
Fix typo in xmldocs
2022-03-24 12:39:47 +09:00
Dean Herbert
a4d17a915f
Fix incorrect HUD component fallback
...
Legacy skins should now always show the legacy hud components. The
conditional here is no longer valid as fallback lookups happen at a
*skin*-fallback level rather than internal *source*-fallback.
Put another way, `LegacyDefaultSkin` (with user customisations) should
still display the classic HUD components even if a font is not provided,
as that font will be available via the skin lookup hierarchy.
The TODO removed in this commit has been already resolved so this code
is no longer required.
2022-03-24 12:36:20 +09:00
Dan Balasescu
547418e47e
Revert "Remove PopoverButton class"
...
This reverts commit 6b712be97d
.
2022-03-24 11:15:51 +09:00
Dean Herbert
7296bad294
Convert LegacyBeatmapSkin
to use nullable
2022-03-24 00:24:06 +09:00
Dean Herbert
194bf4fb05
Convert LegacySkin
to use nullable
2022-03-24 00:23:55 +09:00
Dean Herbert
3e020073c5
Convert Skin
to use nullable
2022-03-24 00:23:55 +09:00
Dean Herbert
05c7e09d79
Make Textures
and Samples
read-only
2022-03-24 00:02:38 +09:00
Dean Herbert
c079a9cd32
Add comment regarding equality check importance in LegacyHitSampleInfo
2022-03-23 20:18:44 +09:00
Dean Herbert
997c091a8d
Revert "Remove IsLayered
from LegacyHitSampleInfo
comparison"
...
This reverts commit 4523393208
.
2022-03-23 20:15:17 +09:00
Dean Herbert
2ea9e5245c
Revert "Remove IsLayered
from GetHasCode
implementation"
...
This reverts commit 16ee6b5fc7
.
2022-03-23 20:15:13 +09:00
Dan Balasescu
34a367b369
Merge branch 'master' into multiplayer-countdown-timers-2
2022-03-23 15:40:50 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck
2022-03-23 15:30:22 +09:00
Dan Balasescu
a83a90e675
Rename countdown Delay -> Duration
2022-03-23 15:21:16 +09:00
Dan Balasescu
f7c0047206
Send time remaining in countdowns instead
2022-03-23 15:19:43 +09:00
Dean Herbert
078288a616
Make "skin.ini" the default skin filename and remove redundant parameters
2022-03-23 15:05:01 +09:00
Dean Herbert
7a1909bf97
Change parameter order of LegacySkin
to put IStorageResourceProvider
first
...
The optional resource store should not be before the (basically)
required resource provider.
2022-03-23 15:02:04 +09:00
Dean Herbert
d0ea1739b4
Remove skin configuration stream logic as it is no longer required
2022-03-23 14:57:42 +09:00
Dean Herbert
9d3c6ade62
Remove unnecessary skin reading hack in DefaultLegacySkin
2022-03-23 14:57:42 +09:00
Dean Herbert
6c405f1dee
Remove storage
override from LegacyBeatmapSkin
2022-03-23 14:57:42 +09:00
Dean Herbert
b48aa1d8fa
Ensure HitObjectSampleTest
's TestWorkingBeatmap
provides the marking resource store correctly
2022-03-23 14:57:42 +09:00
Dean Herbert
e56d13d8be
Fix realm backed store not being initialised for some tests
2022-03-23 14:57:42 +09:00
Dean Herbert
a5acd38fd5
Fix HitObjectSampleTest
adding null files to realm models
2022-03-23 14:57:42 +09:00
Dean Herbert
00aea9bef0
Only use legacy resources lookup for protected (aka default) skin
2022-03-23 14:57:42 +09:00
Dean Herbert
3c38b14228
Documentation improvements
2022-03-23 14:57:42 +09:00
Dean Herbert
32e2cfb8ee
Leave realm resource store construction to base class
2022-03-23 14:57:42 +09:00
Dean Herbert
e1236e07ad
Fix extensions not being specified in time for realm file caching
2022-03-23 14:57:42 +09:00
Dean Herbert
a7f63fb034
Make providing a custom ResourceStore
to LegacyBeatmapSkin
optional (for tests only)
2022-03-23 14:57:42 +09:00
Dean Herbert
35d2f973a3
Prefer provided resource store over realm backed to keep tests working
2022-03-23 14:57:42 +09:00
Dean Herbert
b4d89b4e31
Replace duplicate LegacySkinResourceStore
class with RealmBackedResourceStore
2022-03-23 14:57:42 +09:00
Dean Herbert
5c4a74378d
Remove Textures
and Samples
initialisation to Skin
2022-03-23 14:57:42 +09:00
Dean Herbert
657daf07d7
Update LocalisationAnalyser to support .net6
2022-03-23 11:03:24 +09:00
Dan Balasescu
d4ad4ac9db
Limit countdown updates to once per second
2022-03-23 10:50:05 +09:00
Dan Balasescu
6b712be97d
Remove PopoverButton class
2022-03-23 10:40:38 +09:00
Dan Balasescu
9138aaf780
Split MultiplayerReadyButton
2022-03-23 10:38:56 +09:00
Dan Balasescu
1ffa1e1219
Merge pull request #17400 from nagilson/screen-mod-retention
...
Fix mods from single player carrying over to multiplayer
2022-03-23 08:36:15 +09:00
Dan Balasescu
8591630e5c
Merge branch 'master' into editor-exit-harsh-blocking
2022-03-23 07:06:25 +09:00
Bartłomiej Dach
51a1721bc9
Fix unprotected access to potentially-null DI'd dialog overlay
2022-03-22 22:10:05 +01:00
Bartłomiej Dach
f3aad77239
Remove unused local variable
2022-03-22 22:00:24 +01:00
Bartłomiej Dach
a38bafab91
Remove unused using directive
2022-03-22 22:00:05 +01:00
Bartłomiej Dach
8647bebdca
Merge branch 'master' into hold-to-discard-changes
2022-03-22 20:37:43 +01:00
Bartłomiej Dach
8192fb47fe
Merge branch 'master' into skin-editor-eat-input
2022-03-22 19:22:48 +01:00
Dean Herbert
09ec49e6fa
Rename realm-backed resource store in preparation for non-legacy usage
2022-03-22 18:31:18 +09:00
Dean Herbert
ff8352b749
Merge branch 'master' into screen-mod-retention
2022-03-22 17:27:26 +09:00
Dean Herbert
483fb84b56
Fix typo in FinishCountdown
method
2022-03-22 16:50:13 +09:00
Dean Herbert
61ddf1e6cf
Disallow exiting the editor without saving (unless explicitly confirming)
2022-03-22 15:42:56 +09:00
Dean Herbert
f95bd89166
Revert editor exit behaviour to exit without changes for now
2022-03-22 14:46:57 +09:00
Dean Herbert
fb7f9a81db
Remove unnecessary equality check in skin editor construction path
2022-03-22 14:35:13 +09:00
Dan Balasescu
23be0f1be9
Remove availability picker for now
2022-03-22 14:34:06 +09:00
Dan Balasescu
d0fee53e1f
Implement auto countdown timers
...
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
Dean Herbert
0fcb3bdba9
Fix beatmap date added not being updated on reimporting a soft deleted beatmap
...
Addresses concerns raised in https://github.com/ppy/osu/discussions/17399 .
2022-03-22 14:10:36 +09:00
Dan Balasescu
4630aa15cc
Apply refactorings according to reviews
2022-03-22 12:54:19 +09:00
NAGILSON
17b639b404
Implement suggested change to wipe mods on multiplayer screen
2022-03-21 22:42:17 -04:00
Dan Balasescu
36772ec652
Merge pull request #17356 from apollo-dw/strict-tracking
...
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
Dan Balasescu
aea03ca21d
Merge pull request #17359 from frenzibyte/fix-score-panel-max-combo
...
Improve method of retrieving beatmap maximum combo for results score panels
2022-03-22 06:28:30 +09:00
Dean Herbert
9a2691c1bc
Remove unnecessary schedule
2022-03-21 23:54:47 +09:00
Salman Ahmed
33acc5d720
Remove no longer valid comments
2022-03-21 14:06:53 +03:00
Salman Ahmed
058fbbbe6c
Remove unused using directive
2022-03-21 14:06:36 +03:00
Dean Herbert
2a696783af
Remove unused const in SkinEditorOverlay
2022-03-21 17:33:56 +09:00
Dean Herbert
2f18c512cd
Convert SkinEditorOverlay
to an OverlayContainer
to allow it to block input
2022-03-21 17:33:56 +09:00
Dean Herbert
3643f879e4
Add test coverage of skin editor settings slider not working via keyboard adjustments
2022-03-21 17:33:56 +09:00
Dean Herbert
36868dbdb4
Add the ability to override the user setting for hold-to-confirm containers
...
Sometimes the user is not right.
2022-03-21 16:07:27 +09:00
Dean Herbert
d811a70f4b
Change button types on editor exit dialog to match purpose
...
Addresses https://github.com/ppy/osu/discussions/17363 .
2022-03-21 16:06:59 +09:00
Dean Herbert
b42081dd9b
Add DangerousButton
for use in popup dialogs
2022-03-21 16:06:45 +09:00
Dean Herbert
31570d3114
Merge pull request #17252 from jai-x/new-chat-channel-control
...
Implement `ChannelListItem` for new chat design
2022-03-21 15:41:00 +09:00
Dean Herbert
3bb01fd595
Fix close button animation not being applied correct on mouse down due to conflicting scales
2022-03-21 14:41:57 +09:00
Dean Herbert
7ca3beb7cc
Also add fade to ChannelItem
selected box
2022-03-21 14:41:42 +09:00
Dean Herbert
428e439f40
Remove space between '#' and channel name
...
This was in flyte's design (he was following discord) but doesn't feel
too correct when it's not aligned with anything else. We can revisit
this if/when we have better glyphs to represent channel types.
2022-03-21 14:36:56 +09:00
Dean Herbert
16caf2d30b
Add slight animation when highlighting an unread channel
2022-03-21 14:34:54 +09:00
Dean Herbert
692362131e
Add animation when mention pill appears (or a new message arrives)
2022-03-21 14:31:51 +09:00
Dean Herbert
11b050b66b
Add slight fade when hovering ChannelListItem
s
2022-03-21 14:28:14 +09:00
Dean Herbert
9eda2f2df1
Remove box surrounding close button
2022-03-21 14:25:29 +09:00
Dean Herbert
f922a6b556
Rename renaming button/pill classes
2022-03-21 14:15:22 +09:00
Dean Herbert
812343b410
Merge branch 'master' into new-chat-channel-control
2022-03-21 14:14:02 +09:00
Dean Herbert
355b0fa314
Fix loading player via skin editor still allowing changing current audio track
...
`PlayerLoader` is required in the sequence to get the game into the
correct state for gameplay right now. Applying ths simplest fix here.
Closes https://github.com/ppy/osu/issues/17351 .
2022-03-21 13:49:56 +09:00
Salman Ahmed
5c1e11c153
Merge branch 'master' into queue-list-counter
2022-03-21 05:01:09 +03:00
hwabis
06136b2247
Revert OsuTabItem Text to protected, update tab count test
2022-03-20 21:37:02 -04:00
hwabis
8fbdd06895
add queue tab count test
2022-03-20 16:24:41 -04:00
Salman Ahmed
b9859f9f21
Obsolete BeatmapInfo.MaxCombo
and suppress in usages
2022-03-20 16:30:29 +03:00
Salman Ahmed
c2063f415d
Remove unnecessary MaxCombo
migration between unmapped database fields
2022-03-20 16:27:54 +03:00
Salman Ahmed
aef40da8d4
Add note about null return value
2022-03-20 16:24:30 +03:00
Salman Ahmed
2a78042038
GetBeatmapMaximumComboAsync
-> GetMaximumAchievableComboAsync
2022-03-20 16:18:53 +03:00
Salman Ahmed
e1d22e58bf
Simplify queue count text logic
2022-03-20 06:25:14 +03:00
Salman Ahmed
7529d6fc00
Bind queue items during playlist initialization
...
Along with where the other bindables are bound together (only bind, not
listening).
2022-03-20 06:23:44 +03:00
Salman Ahmed
eca7975864
Compute the beatmap maximum achievable combo instead of Beatmap.MaxCombo
2022-03-20 05:38:14 +03:00
Salman Ahmed
d36f32a9c9
Introduce method for computing maximum achievable combo properly
2022-03-20 05:38:14 +03:00
Salman Ahmed
c5cc7eec79
Add explicit todo about removing BeatmapInfo.MaxCombo
...
Using that property is a trap basically.
2022-03-20 05:38:14 +03:00
Jai Sharma
f3702fbefb
Pass correct params to UpdateableAvatar
ctor in ChannelListItem
2022-03-19 22:20:17 +00:00
Jai Sharma
ba5a43b526
Rename ControlItem
-> ChannelListItem
and associated classes
2022-03-19 21:49:14 +00:00
Jai Sharma
653bb47dd5
Use UpdateableAvatar
and remove redundant ControlItemAvatar
class
2022-03-19 21:36:11 +00:00
Jai Sharma
5373c3066f
Use OsuAnimatedButton
as base for ControlItemClose
2022-03-19 21:23:32 +00:00
apollo-dw
149cfd338d
Use new mod-related object types for Strict Tracking
2022-03-19 18:29:44 +00:00
hwabis
ef823d58a7
address frenzibyte review (refactor bindable flow, clean up CI stuff)
2022-03-19 13:05:35 -04:00
Jai Sharma
a293e0c766
Remove redundant ControlItemText
class
2022-03-19 16:44:58 +00:00
Salman Ahmed
9afe82a0d5
Fix potentially null drawable call to SetLayoutPosition
2022-03-19 14:54:58 +03:00
Dean Herbert
d681643c38
Merge pull request #17299 from nekodex/arm64
...
Update download links for macOS builds (to add Apple Silicon)
2022-03-19 20:45:51 +09:00
Dean Herbert
9aa902785c
Merge pull request #17327 from frenzibyte/simplify-extension-methods
...
Simplify `IncreasesCombo`/`BreaksCombo` helper method implementation
2022-03-19 20:23:09 +09:00
Bartłomiej Dach
b7d5a628bc
Merge branch 'master' into fix-spectator-seeks-hot
2022-03-19 11:39:01 +01:00
Dean Herbert
a903aee17e
Use schedule to workaround seek issue instead
2022-03-19 18:00:14 +09:00
Dean Herbert
cf2212e794
Revert "Fix spectator not starting from correct seek point (hotfix)"
...
This reverts commit 2b59eff465
.
2022-03-19 17:20:54 +09:00
Dean Herbert
2b59eff465
Fix spectator not starting from correct seek point (hotfix)
2022-03-19 15:14:25 +09:00
Dean Herbert
63998ad9f1
Add test coverage of SpectatorPlayer
failing to seek on inopportune frame arrival time
2022-03-19 15:06:22 +09:00
Dean Herbert
dae5569e36
Use nullable
in PlayerLoader
2022-03-19 15:06:22 +09:00
Dean Herbert
da76358ee0
Expose the loading player in PlayerLoader
2022-03-19 15:06:22 +09:00
Salman Ahmed
b99541fb5e
Revert "Swap placements of "hold for menu" and key counter"
...
This reverts commit 5bcb7c167c
.
2022-03-19 08:08:07 +03:00
hwabis
5d16519a82
make code prettier
2022-03-18 23:41:55 -04:00
Salman Ahmed
ad9b119e3d
Reduce "hold for menu" radius of visibility
2022-03-19 05:04:54 +03:00
Salman Ahmed
486be83177
Calculate position adjustment distance in local parent space
2022-03-19 05:04:13 +03:00
Salman Ahmed
5bcb7c167c
Swap placements of "hold for menu" and key counter
2022-03-19 05:02:22 +03:00
Salman Ahmed
0adad3a599
Handle potential null room hosts
2022-03-19 04:01:35 +03:00
hwabis
5a5629eb5a
(works now) use BindValueChanged to set the Queue text
2022-03-18 20:47:45 -04:00
hwabis
5e5fbc496e
(still not working) try bindables instead of int
2022-03-18 20:32:37 -04:00
hwabis
d9b2a29c6d
(not working yet) add MultiplayerPlaylistTabControl, "Queue ({count})"
2022-03-18 20:02:26 -04:00
hwabis
faa36c78e5
put count and tabs into new fillflowcontainer
2022-03-18 12:55:00 -04:00
Salman Ahmed
8078a8c1f8
Simplify IncreasesCombo
/BreaksCombo
helper method implementation
2022-03-18 17:18:42 +03:00
Dean Herbert
fc75aa0807
Merge pull request #17324 from frenzibyte/score-panel-max-combo
...
Display beatmap maximum combo next to score combo in results panel
2022-03-18 22:59:38 +09:00
Dan Balasescu
4b23f02f03
Merge pull request #17320 from peppy/hit-error-meter-settings
...
Add new settings for adjusting the hit error display
2022-03-18 22:28:20 +09:00
Salman Ahmed
fa8eb1feec
Update score panel to check for all combo-breaking statistics
2022-03-18 15:23:14 +03:00
Salman Ahmed
5ec2d86c09
Update ScoreProcessor
to use new defined helper methods
2022-03-18 15:22:53 +03:00
Salman Ahmed
fc576b1369
Separate increase/break combo helper methods from AffectsCombo
2022-03-18 15:22:01 +03:00
Dan Balasescu
04f4e81852
Rename start countdown request
2022-03-18 21:05:19 +09:00
Dean Herbert
ed90dc6d6b
Fix centering of labels using Height
instead of location to better handle rotations
2022-03-18 20:17:04 +09:00
Dean Herbert
806a16d8f6
Fix SkinComponentToolbox
attempting to create instances of abstract classes
2022-03-18 20:13:15 +09:00
Dean Herbert
bd488d139d
Better centre text labels for hit error meter
2022-03-18 20:11:05 +09:00
Salman Ahmed
af22e67e15
Fix perfect combo check not accounting for LargeTickMiss
...
`LargeTickMiss` can affect combo, see
a352a140bc/osu.Game/Rulesets/Scoring/HitResult.cs (L124-L144)
.
2022-03-18 13:11:41 +03:00
Salman Ahmed
9215384229
Display beatmap maximum combo in score panel
2022-03-18 13:11:41 +03:00
Dean Herbert
7c9fe4036c
Add setting to change the style of the early/late markers
2022-03-18 17:50:37 +09:00
Dean Herbert
919583137e
Add line style for centre marker
2022-03-18 17:50:37 +09:00
Dean Herbert
cdeab1b14e
Add setting to change the style of the centre marker
2022-03-18 17:50:37 +09:00
Dean Herbert
331cb2aa80
Add setting to show or hide the moving average arrow
2022-03-18 17:50:37 +09:00
Dean Herbert
3f92bef9df
Add setting for judgement line thickness
2022-03-18 17:50:37 +09:00
Dean Herbert
611562c650
Add more comments around catch up logic
2022-03-18 16:21:14 +09:00
Dean Herbert
0988c2b0fa
Move DrawableRuleset
binding to LoadComplete
to avoid exceptions on InputManager
access
2022-03-18 15:28:48 +09:00
Dean Herbert
f09a946722
Start GameplayClockContainer
paused for better state control
2022-03-18 15:28:22 +09:00
Dean Herbert
59aef88504
Simplify clock reset/start flow in MultiSpectatorScreen
2022-03-18 15:07:57 +09:00
hwabis
c2e7ff7e3e
display count of listQueue
2022-03-18 01:37:53 -04:00
Dan Balasescu
72843a6797
Add support for starting/stopping countdowns
2022-03-18 14:33:09 +09:00
Dan Balasescu
3b938865a1
Add room structure for countdown timers
2022-03-18 14:31:57 +09:00
Dan Balasescu
efce471f0b
Add countdown button + popover
2022-03-18 14:31:57 +09:00
Dan Balasescu
b76a87e6f8
Split ready button visual logic into button itself
2022-03-18 14:31:57 +09:00
Salman Ahmed
1bd08b4a4b
Remove kick button fading as well to not look jarring
2022-03-18 08:09:15 +03:00
Dean Herbert
dfda093f4b
Rename icon creation method
2022-03-18 14:03:52 +09:00
Dean Herbert
5d940ded09
Fix incorrect usage of nullable in ControlItemMention
2022-03-18 13:59:03 +09:00
Dean Herbert
d1fd14e287
Add missing nullable
2022-03-18 13:57:36 +09:00
Salman Ahmed
98b420ee6f
Remove no longer correct crown fade animation
...
Since the host is pinned to the top without any animation, it would look
jarring for the crown to fade away from the old panel (and at a 50ms
duration).
2022-03-18 07:25:12 +03:00
Salman Ahmed
1c899d00b9
Pin multiplayer host panel to the top of the list
2022-03-18 07:25:03 +03:00
Dan Balasescu
af6d53ad64
Merge pull request #17279 from peppy/skin-editor-borrowed-dependencies
...
Only show components in skin editor which are usable on the current screen
2022-03-18 11:29:12 +09:00
Bartłomiej Dach
cf623a2889
Merge branch 'master' into multiplayer-button-refactor
2022-03-17 22:33:48 +01:00
Bartłomiej Dach
50d64e1b65
Merge branch 'master' into skin-editor-borrowed-dependencies
2022-03-17 21:27:43 +01:00
Dean Herbert
c6be26eb01
Rename start time calculation method and add more commenting to explain purpose better
2022-03-18 01:35:50 +09:00
Dean Herbert
e3ab5de8cd
Tidy up constructor logic overlap with gameplayStartTime
2022-03-18 01:35:50 +09:00
Dean Herbert
a4a0241800
Use a more explicit flow to set and reset GameplayClockContainer
start time
2022-03-17 20:57:30 +09:00
Dean Herbert
e3a8bb2d1c
Add test coverage of SpectatorPlayer
failing to seek on inopportune frame arrival time
2022-03-17 20:57:30 +09:00
Dean Herbert
5164b4d640
Use nullable
in PlayerLoader
2022-03-17 20:57:30 +09:00
Dean Herbert
21348e6620
Merge pull request #17290 from frenzibyte/fix-message-highlight-crash
...
Fix message highlighting crashing when chat overlay is never open
2022-03-17 19:54:39 +09:00
Dean Herbert
e3a5299b1a
Expose the loading player in PlayerLoader
2022-03-17 19:32:01 +09:00
Dean Herbert
4650c197a3
Make SongProgress.DrawableRuleset
nullable to allow test scene to work
2022-03-17 18:45:37 +09:00
Jamie Taylor
0d79dd5e62
Update SimpleUpdateManager to handle new macOS build naming scheme
2022-03-17 18:45:31 +09:00
Dan Balasescu
da0ffab14e
Integrate ready button implementation
2022-03-17 18:43:04 +09:00
Dean Herbert
e252f1a3cd
Add explanation about try-catch logic in SkinComponentToolbox
2022-03-17 18:40:26 +09:00
Dan Balasescu
461d41529b
Integrate spectate button implementation
2022-03-17 18:36:33 +09:00
Dan Balasescu
7b8fb341a5
Fix not handling IconButtons
2022-03-17 17:59:28 +09:00
Dean Herbert
1d83b36cfc
Merge branch 'master' into skin-editor-borrowed-dependencies
2022-03-17 15:09:04 +09:00
Dean Herbert
fd71aa4a4d
Change SongProgress
resolution requirements to be required
2022-03-17 15:05:54 +09:00
Dean Herbert
ac739c9dae
Change PerformancePointsCounter
resolution requirements to be required
...
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Salman Ahmed
7aae9bbd1b
Improve channel bindable logic in ChatOverlay
to avoid potential nullrefs
2022-03-17 08:31:38 +03:00
Dan Balasescu
e3cbde5099
Merge pull request #17282 from peppy/skin-editor-reset-position
...
Add "Reset position" menu item in skin editor
2022-03-17 14:20:24 +09:00
Dan Balasescu
e8886e4c50
Merge pull request #17286 from frenzibyte/rewrite-mod-instantiation-method
...
Update mod instantiation utility method inline with `APIMod.ToMod` changes
2022-03-17 14:19:55 +09:00
Dan Balasescu
1eac0f41bf
Remove unused using
2022-03-17 13:44:54 +09:00
Dan Balasescu
07433d0540
Merge pull request #17278 from peppy/skin-editor-multiple-component-settings
...
Show settings for multiple skin components in a selection
2022-03-17 13:43:59 +09:00
Salman Ahmed
e0a06bf5d9
Update mod instantiation utility method inline with APIMod.ToMod
changes
2022-03-17 06:28:10 +03:00
Salman Ahmed
83189d1f07
Revert "Update mod instantiaton utility method to no longer check for validity"
...
This reverts commit 1a04260807
.
2022-03-17 06:24:55 +03:00
Salman Ahmed
1a04260807
Update mod instantiaton utility method to no longer check for validity
2022-03-17 05:51:12 +03:00
Bartłomiej Dach
624f9fc774
Implement mod settings area component
2022-03-16 23:13:11 +01:00
Bartłomiej Dach
b21fa78cbf
Move dependencies out of fields to BDL args where possible
2022-03-16 21:55:36 +01:00
Bartłomiej Dach
e577152d2a
Merge branch 'master' into skin-editor-borrowed-dependencies
2022-03-16 21:11:00 +01:00
Dean Herbert
38d15145ac
Merge branch 'master' into skin-editor-multiple-component-settings
2022-03-16 22:23:53 +09:00
Dean Herbert
6df36171b5
Merge branch 'master' into skin-editor-toolbox-ui
2022-03-16 22:21:10 +09:00
Dan Balasescu
7f65f6adcc
Merge branch 'master' into skin-editor-sidebars
2022-03-16 21:12:18 +09:00
Dan Balasescu
b9387c7ff1
Merge branch 'master' into skin-editor-scene-library
2022-03-16 20:42:30 +09:00
Dan Balasescu
7faa35950a
Merge pull request #17272 from peppy/skin-editor-hide-toolbar
...
Hide the game toolbar (and overlays) when entering the skin editor
2022-03-16 20:42:20 +09:00
Dean Herbert
7e52623645
Add "Reset position" menu item in skin editor
2022-03-16 20:02:52 +09:00
Dean Herbert
cc356bcfe4
Show components available for current screen only (using actual live dependencies)
2022-03-16 19:42:00 +09:00
Dean Herbert
b07ca87965
Merge branch 'skin-editor-toolbox-ui' into skin-editor-borrowed-dependencies
2022-03-16 19:38:28 +09:00
Dean Herbert
27122c17c9
Show settings for multiple components in a selection
2022-03-16 19:35:45 +09:00
Dean Herbert
54e351efe9
Convert top level skin editor layout to use grid container
...
Fix `SkinEditor`'s initial target not being a `Screen`
2022-03-16 19:30:51 +09:00
Dean Herbert
4525ed645c
Update skin editor to use EditorSidebar
2022-03-16 19:30:51 +09:00
Dean Herbert
59cb1ac126
Order components by name for now
2022-03-16 19:21:15 +09:00
Dean Herbert
e4a6b7ae91
Expand toolbox component items on hover
2022-03-16 19:21:15 +09:00
Dean Herbert
fdb411c0f3
Update skin editor toolbox design to suck less
2022-03-16 19:21:15 +09:00
Dean Herbert
b08d4bb8eb
Move SceneLibrary
implementation to its own file
2022-03-16 19:13:52 +09:00
Dean Herbert
ee3715f5cf
Use OverlayColourProvider
and adjust metrics to roughly match new designs
2022-03-16 19:13:52 +09:00
Dean Herbert
aff6a5a428
Better align scene selector with menu bar
2022-03-16 19:13:52 +09:00
Dean Herbert
c6aa32a003
Add basic song select setup for skinnability
2022-03-16 19:12:06 +09:00
Dean Herbert
8d85723a62
Split out SceneLibrary
into its own component
2022-03-16 19:12:06 +09:00
Dean Herbert
d062810ff2
Add basic scene selector
2022-03-16 19:12:06 +09:00
Dean Herbert
c807ad7e4e
Ensure toolbar is hidden even when the active screen is changed while the editor is open
2022-03-16 19:11:22 +09:00
Dean Herbert
86960c791f
Close overlays and toolbar on entering the skin editor
2022-03-16 19:00:23 +09:00
Dean Herbert
99e3161cf0
Fix SkinEditor
's initial target not being a Screen
2022-03-16 18:57:47 +09:00
Dean Herbert
603527d72d
Fix potential crash when highlighting chat messages
...
Test failed locally in `TestPublicChannelMention`. This test seems to
specify that the same message may arrive twice with the same ID, so
rather than overthinking this one I propose we just use `FirstOrDefault`.
```csharp
TearDown : System.AggregateException : One or more errors occurred.
(Sequence contains more than one matching element)
----> System.InvalidOperationException : Sequence contains more than
one matching element
--TearDown
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean
includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,
CancellationToken cancellationToken)
at osu.Framework.Extensions.TaskExtensions.WaitSafely(Task task)
at osu.Framework.Testing.TestScene.checkForErrors()
--InvalidOperationException
at System.Linq.ThrowHelper.ThrowMoreThanOneMatchException()
at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source,
Func`2 predicate, Boolean& found)
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1
source, Func`2 predicate)
at
osu.Game.Overlays.Chat.DrawableChannel.<processMessageHighlighting>b__14_0()
in
/Users/dean/Projects/osu/osu.Game/Overlays/Chat/DrawableChannel.cs:line
102
at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
```
2022-03-16 18:38:06 +09:00
Dan Balasescu
7e8aa77b2b
Merge pull request #17260 from peppy/editor-sidebar
...
Add `EditorSidebar` component
2022-03-16 18:20:18 +09:00
Dean Herbert
ba1642a680
Allow section headers to wrap
2022-03-16 17:19:08 +09:00
Dan Balasescu
d80830b415
Merge pull request #17226 from peppy/skin-component-settings
...
Allow skin components to have settings
2022-03-16 17:12:11 +09:00
Jai Sharma
e38d9eafa0
Use BindTarget
instead of caching for ControlItem
unread flow
2022-03-15 22:37:15 +00:00
Jai Sharma
49b74d7867
Use BindTarget
instead of caching for ControlItem
mentions bindable flow
2022-03-15 22:33:36 +00:00
Jai Sharma
481b8fe80b
Use Orange1
for ControlItemMention
background colour
2022-03-15 22:22:32 +00:00
Jai Sharma
7621e779fa
Move ControlItem
Action assignments into BDL
2022-03-15 22:19:58 +00:00
Dean Herbert
a0a033520f
Rider no add licence headers
2022-03-15 16:48:14 +09:00
Dean Herbert
4ab5d6e3f0
Remove unnecessary FillFlowContainer
from section
2022-03-15 16:47:08 +09:00
Dean Herbert
9e476ced63
Add EditorSidebar
component
2022-03-15 16:38:00 +09:00
Dean Herbert
2b02a6555b
Remove current screen check from skin editor changes
2022-03-15 15:40:26 +09:00
Dean Herbert
1814a325d8
Move GetSettingUnderlyingValue
to a SettingSource
extension method
2022-03-15 14:54:00 +09:00
Dean Herbert
6d5692fcec
Fix typo in setting name
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-15 14:25:05 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction
2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
...
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
4ff6879b85
Fix incorrect copied room end dates
2022-03-15 11:30:57 +09:00
Dan Balasescu
ca62560495
Resolve inspections
2022-03-15 09:20:32 +09:00
Dan Balasescu
3a6d254d1f
Add safeguards around incorrect ruleset sources
2022-03-15 09:20:32 +09:00
Jai Sharma
73a0373b4e
Code quality fixes
2022-03-14 21:56:56 +00:00
Jai Sharma
ec61b88ec2
Adjust ControlItem padding
2022-03-14 21:39:57 +00:00
Jai Sharma
75958bf270
Refactor ControlItemText to use bindable flow for unread state
2022-03-14 21:32:30 +00:00
Jai Sharma
b01a809d55
Refactor ControlItemMention to use bindable flow
2022-03-14 21:26:33 +00:00
Jai Sharma
1f0f6990f0
Use ColourProvider.Content1 for ControlItemText colour
2022-03-14 21:16:28 +00:00
Jai Sharma
3aa343b987
Use OsuColour.YellowLight for ControlItemMention background
2022-03-14 21:14:33 +00:00
Jai Sharma
9621ef9437
Use OsuColour.Red1 for ControlItemClose hover colour
2022-03-14 21:10:39 +00:00
Jai Sharma
e91af664ef
Adjust ControlItemAvatar placeholder animation and colour
2022-03-14 20:37:54 +00:00
Jai Sharma
12472593cc
Mark required dependencies as non-nullable
2022-03-14 20:14:04 +00:00
Jai Sharma
c0d82dfb41
Code quality fixes
2022-03-14 19:42:55 +00:00
Jai Sharma
39c30516d0
Implement ChannelControlItem
for new chat design
...
Adds new component `ChannelControlItem` and it's child components to be
used as the clickable control in the new chat sidebar for joined
channels.
Has public properties `HasUnread` and `MentionCount` to control the
display of the channel having unread messages or mentions of the user.
Channel select/join requests are exposed via `OnRequestSelect` and
`OnRequestLeave` events respectively which should be handled by a parent
component.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
Requires a cached `OveralayColourScheme` instance to be provided by a
parent component.
2022-03-14 18:55:27 +00:00
Dean Herbert
e047413329
Merge pull request #17196 from frenzibyte/skinnable-welcome-intro
...
Add skinning support for "Welcome" intro sequence
2022-03-14 22:54:19 +09:00
Dean Herbert
8fdf2b13ac
Update framework
2022-03-14 22:23:50 +09:00
Dean Herbert
8b3360d6d2
Merge branch 'master' into confine-host-cursor
2022-03-14 22:23:45 +09:00
Dean Herbert
163cd48bf6
Further metrics tweaking
2022-03-14 19:27:53 +09:00
Dean Herbert
e91b3ae5f1
Move constants closer to usages
2022-03-14 19:18:47 +09:00
Dean Herbert
6eed2c35a4
Adjust visual appearance of BarHitErrorMeter
for easier reading
2022-03-14 19:16:38 +09:00
Dan Balasescu
e79bed8fbe
Merge branch 'master' into skin-component-settings
2022-03-14 18:54:27 +09:00
Dan Balasescu
dc1e5a456a
Merge pull request #17244 from peppy/preload-sample-pools
...
Fix samples not being preloaded before gameplay starts
2022-03-14 18:53:42 +09:00
Dean Herbert
16ee6b5fc7
Remove IsLayered
from GetHasCode
implementation
2022-03-14 18:12:04 +09:00
Dan Balasescu
fd93b42630
Merge pull request #17217 from peppy/skin-editor-reload-on-scene-change
...
Refactor `SkinEditor` to support switching target screens without full reload
2022-03-14 18:02:01 +09:00
Dan Balasescu
75470730cc
Merge pull request #17218 from peppy/skin-editor-target-other-containers
...
Allow skin editor to target different target containers for placement purposes
2022-03-14 17:40:41 +09:00
Dean Herbert
3c5fda5f23
Add early exist if the target screen is no longer current
2022-03-14 17:24:31 +09:00
Dean Herbert
39d95aa8cf
Add automatic preloading of sample pools at a Playfield
level
2022-03-14 17:19:48 +09:00
Dean Herbert
4523393208
Remove IsLayered
from LegacyHitSampleInfo
comparison
...
The equality of samples is generally used to compare the sample
equality, not its full properties. For instance, we don't compare
`Volume` in the base implementation.
Having `IsLayered` here breaks actual usages of equality, ie. for
pooling purposes.
2022-03-14 17:19:48 +09:00
Dean Herbert
8676a2587c
Add the ability for HitObject
s to specify auxiliary samples
2022-03-14 17:19:48 +09:00
Dan Balasescu
028750936c
Apply review suggestions
2022-03-14 17:10:37 +09:00
Dan Balasescu
8f9b72c2ee
Merge pull request #17239 from frenzibyte/storyboard-negative-scale
...
Fix drawable storyboard sprites not flipping origin on negative scale
2022-03-14 15:59:06 +09:00
Dan Balasescu
3fff7f4b7e
Require ScoreProcessor to receive ruleset
2022-03-14 15:51:10 +09:00
Dan Balasescu
9cc7f70872
Nullable annotate classes
2022-03-14 15:38:00 +09:00
Dan Balasescu
926827207a
Reduce calculator allocations in counter
2022-03-14 14:44:06 +09:00
Dan Balasescu
4a3e3aba65
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-14 14:25:28 +09:00
Dan Balasescu
21beb8774d
Change to lambda method
2022-03-14 13:54:54 +09:00
Dan Balasescu
4ae6cba080
Expose UseDevelopmentServer as virtual
2022-03-14 13:49:38 +09:00
Salman Ahmed
c1697c7621
Update DrawableStoryboardSprite
to use helper method
2022-03-14 06:30:54 +03:00
Salman Ahmed
740a72e16d
Share origin adjustment logic between storyboard sprite and animation
2022-03-14 05:44:34 +03:00
Salman Ahmed
9cf05080da
Simplify conditionals to one XOR operations with comments
2022-03-14 04:40:35 +03:00
Salman Ahmed
0b8c89bfa8
Fix drawable storyboard sprites not flipping origin on negative scale
2022-03-14 03:50:12 +03:00
Salman Ahmed
c9d54834be
Fix SkinnableSprite
s in storyboards not autosizing to their textures
2022-03-14 03:46:13 +03:00
Dean Herbert
7d2752185d
Add disclaimer and adjust metrics of BigBlackBox
2022-03-13 17:03:25 +09:00
Dean Herbert
e4211104b0
Add new settings to the big black box
2022-03-13 17:03:25 +09:00
Dean Herbert
458136dfe7
Add BigBlackBox
for skinning testing purposes
2022-03-13 17:03:25 +09:00
Dean Herbert
8d1ee28e67
Add settings modification UI to skin editor
2022-03-13 17:03:25 +09:00
Dean Herbert
c99397f75a
Add the ability to add settings to skinnable elements
2022-03-13 17:03:25 +09:00
Dean Herbert
7a2a3528ef
Merge branch 'skin-editor-reload-on-scene-change' into skin-component-settings
2022-03-13 17:03:23 +09:00
Dean Herbert
0a1e55e4eb
Merge branch 'skin-editor-target-other-containers' into skin-component-settings
2022-03-13 17:03:22 +09:00
Dean Herbert
f95e753adb
Rename double-container variable name
2022-03-13 16:10:06 +09:00
Dean Herbert
d1a9b88fe7
Fix typo in comment
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-13 16:05:45 +09:00
Salman Ahmed
53c57661c7
Move implementtaion detail to inline comment
2022-03-11 18:34:22 +03:00
Salman Ahmed
5b70139b33
Avoid running message highlight processing more than once
2022-03-11 18:32:49 +03:00
Salman Ahmed
cc87563d57
Merge branch 'master' into chat-mention-highlight
2022-03-11 17:51:22 +03:00
Dean Herbert
3db42dd772
Allow skin editor to target different target containers for placement purposes
2022-03-11 23:23:32 +09:00
Dean Herbert
9a1ade4f79
Refactor SkinEditor
to support switching target screens without full reload
2022-03-11 23:08:40 +09:00
Susko3
ac55fea3c9
Confine the host cursor to area of 'everything' scaling container
2022-03-11 14:04:12 +01:00
Dean Herbert
32c7a023f8
Make OsuGame.ScreenChanged
private
and non-virtual
...
Just reducing complexity scope here.
2022-03-11 19:54:15 +09:00
Bartłomiej Dach
398af246a5
Merge branch 'master' into blueprint-container-selected-items-bind
2022-03-11 00:37:45 +01:00
Salman Ahmed
d07e3101ea
Improve message highlight handling in DrawableChannel
2022-03-10 23:07:15 +03:00
Salman Ahmed
a31611bdec
Improve channel switching flow in HighlightMessage
2022-03-10 23:07:15 +03:00
Salman Ahmed
8086f73451
Revert "Add functionality to switch to successfully joined channel"
...
This reverts commit c72e8a8b5e
.
2022-03-10 23:07:15 +03:00
Salman Ahmed
5315ff794a
Handle non-existing channels on message highlighting gracefully
2022-03-10 21:29:32 +03:00
Salman Ahmed
c72e8a8b5e
Add functionality to switch to successfully joined channel
2022-03-10 21:28:38 +03:00
Salman Ahmed
8cbc8b944f
Rescope scheduling and improve comment
2022-03-10 17:25:13 +03:00
Dean Herbert
68aedd63a7
Move SelectionHandler
's SelectedItems
binding to the base implementation
...
Until now it was up to each implementation to connect
`BlueprintContainer` to its `SelectionHandler`, which didn't make much
sense at all.
2022-03-10 23:22:19 +09:00
Dean Herbert
e31b174cc2
Merge pull request #17198 from smoogipoo/fix-beatmap-wedge-async-mutation
...
Fix beatmap wedge possibly applying transforms incorrectly and crashing
2022-03-10 23:12:58 +09:00
Dean Herbert
cee6a12d0b
Merge pull request #17199 from smoogipoo/fix-multiplayer-test-failures
...
Fix potential multiplayer crash with async disposal
2022-03-10 23:07:05 +09:00
Salman Ahmed
717ddbba4e
Fix skin components toolbox not autosizing properly
2022-03-10 16:30:20 +03:00
Dan Balasescu
885cb3ce5b
Add current screen checks for added safety
2022-03-10 20:03:02 +09:00
Dan Balasescu
2de7795844
Fix always rolling up from zero
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-10 19:59:05 +09:00
Dean Herbert
2d135e5be6
Explain purpose of Schedule
call in MultiplayerPlayer.onResultsReady
2022-03-10 19:56:13 +09:00
Dean Herbert
d1f8fd01df
Merge pull request #17180 from jai-x/new-chat-channel-listing
...
Implement `ChannelListing` for new chat design
2022-03-10 19:27:58 +09:00
Dan Balasescu
dfe98c6536
Merge pull request #17162 from peppy/realm-offset-feedback-fix-2
...
Fix feedback from realm writes causing offset slider to jump around
2022-03-10 18:53:08 +09:00
Dan Balasescu
45d537ef72
Fix potential multiplayer crash with async disposal
2022-03-10 18:50:53 +09:00
Dan Balasescu
671d614c92
Fix beatmap wedge mutating transforms incorrectly
2022-03-10 17:54:33 +09:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
...
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dan Balasescu
c61397cc22
Fix whitespace/inspection
2022-03-10 16:22:27 +09:00
Dan Balasescu
13a4058efd
Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
...
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
Dan Balasescu
cf91353009
Merge branch 'master' into scoreprocessor-rework
2022-03-10 16:14:28 +09:00
Dean Herbert
46f2db1712
Move ChannelListingItem
spacing into item so input is always handled by an item in the list
...
Without this change, there would be a couple of pixels between each list
item where nothing would be hovered. This is a pretty annoying UX which
we should be avoiding we possible.
2022-03-10 15:58:57 +09:00
Dean Herbert
1a187d4dec
Add animation to checkbox when joning/leaving a channel
2022-03-10 15:54:42 +09:00
Dean Herbert
0155519343
Merge branch 'master' into new-chat-channel-listing
2022-03-10 15:49:06 +09:00
Dean Herbert
eaef27595c
Also mark UnknownMod
as not user-playable
2022-03-10 15:33:50 +09:00
Dean Herbert
03d7d1e6ca
Merge pull request #17195 from smoogipoo/classic-score-multiplier
...
Tune classic mod scaling per-ruleset
2022-03-10 14:32:52 +09:00
Dean Herbert
022dd88aef
Merge branch 'master' into chat-mention-highlight
2022-03-10 14:23:23 +09:00
Dan Balasescu
c17dba4948
Merge pull request #17193 from peppy/update-dependencies
...
Update dependencies
2022-03-10 12:26:13 +09:00
Salman Ahmed
2c1589e068
Add skinning support for "seeya" sample
2022-03-10 05:52:45 +03:00
Salman Ahmed
b8ee786d77
Add skinning support for "welcome" sample
2022-03-10 05:52:45 +03:00
Salman Ahmed
b38de6e580
Add skinning support for welcome sprite text
2022-03-10 05:52:43 +03:00
Dan Balasescu
c36badab4b
Add per-ruleset score multipliers for classic scoring
2022-03-10 10:26:09 +09:00
Salman Ahmed
b25c37ce62
Instantiate highlight background container on animation
...
Also removes the necessity of scheduling as it actually never worked as
intended, `Scheduler` will still update even when the chat line is
masked away, and the animation will never be held anyways.
The new duration of the animation should be enough for long scrolls
either way.
2022-03-10 03:49:42 +03:00
Salman Ahmed
cf9671cafb
Increase highlight delay to 1500ms
2022-03-10 02:50:15 +03:00
Salman Ahmed
80c0df6af5
Scroll chat line to channel center
...
We may eventually want that encapsulated within `ScrollIntoView`, as it
would also come in handy for `GameplayLeaderboard`.
2022-03-10 02:50:15 +03:00
Salman Ahmed
93cf93943f
Schedule chat line highlight after children to handle non-loaded lines
2022-03-10 02:48:33 +03:00
Salman Ahmed
2d8983383a
Revert newMessagesArrived
changes and always schedule highlight
...
In the case a message arrives and the chat overlay is hidden, clicking
on the mention notification will not work as the `HighlightedMessage`
bindable callback will execute before the scheduled `newMessagesArrived`
logic (which was hanging since the message arrived until the chat
overlay became open because of the notification).
Simplify things by always scheduling the `HighlightedMessage` bindable
callback.
2022-03-10 01:11:27 +03:00
Jai Sharma
b67f9269f9
Remove NewChat
namespace
2022-03-09 18:13:56 +00:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework
2022-03-09 23:04:18 +09:00
Dean Herbert
df500dec04
Merge pull request #17187 from smoogipoo/fix-playlist-copy
...
Fix unable to copy playlist rooms without first opening
2022-03-09 23:03:43 +09:00
Dean Herbert
5fb51b578f
Update dependencies
...
Mainly for a `Clowd.Squirrel` bump to fix https://github.com/ppy/osu/discussions/17190 .
2022-03-09 19:09:51 +09:00
Dean Herbert
02f44d7061
Merge branch 'master' into fix-mod-conversion-exceptions
2022-03-09 18:07:42 +09:00
Dean Herbert
2eb3365f46
Fix regressing issues when attempting to exit Player
after an unsuccessful beatmap load
2022-03-09 17:57:58 +09:00
Dean Herbert
1ee0be5e39
Ensure gameplay can't start when an UnknownMod
is present
2022-03-09 17:57:58 +09:00
Dean Herbert
0267aed846
Change ToMod
to return an UnknownMod
rather than throw if a mod isn't available
...
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).
Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.
```
An unhandled has occurred.
System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Dean Herbert
8bb07f83cd
Merge pull request #17054 from hlysine/mod-adaptive-speed
...
Implement Adaptive Speed mod
2022-03-09 17:56:34 +09:00
Dan Balasescu
4839bd8044
Notify if copying room fails
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-09 16:47:47 +09:00
Dean Herbert
520d2d6cfa
Fix beatmap carousel panels accepting input while marked as not-visible
...
This is an issue as carousel panels manage their own animated state. If
they are marked as not-visible (done at a higher level, from filtering
or update pathways) but clicked while fading out, they will animate back
to a visible state but not be marked as visible.
No tests for this one as it's probably not worthwhile to test (and hard
to do so). Manual testing can be done with the following patch:
```diff
diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs
b/osu.Game/Screens/Select/BeatmapCarousel.cs
index c3d340ac61..3372242acc 100644
--- a/osu.Game/Screens/Select/BeatmapCarousel.cs
+++ b/osu.Game/Screens/Select/BeatmapCarousel.cs
@@ -255,7 +255,7 @@ private void
beatmapSetsChanged(IRealmCollection<BeatmapSetInfo> sender, ChangeS
}
foreach (int i in changes.NewModifiedIndices)
- UpdateBeatmapSet(sender[i].Detach());
+ Scheduler.AddDelayed(() =>
UpdateBeatmapSet(sender[i].Detach()), 100, true);
foreach (int i in changes.InsertedIndices)
UpdateBeatmapSet(sender[i].Detach());
```
- Enter gameplay and adjust beatmap offset then return to song select
and click the flashing panel.
OR
- Enter editor and save then return to song select and click the
flashing panel.
Closes https://github.com/ppy/osu/discussions/17171 .
2022-03-09 16:08:52 +09:00
Dan Balasescu
b07a1e8d09
Fix unable to copy playlist rooms without first opening
2022-03-09 15:38:00 +09:00
Dan Balasescu
ad0ca5673a
Fix avatar not clickable after watching replay
2022-03-09 14:39:02 +09:00
Dean Herbert
6bf436cd62
Only null the realm write task if it actually completed
2022-03-09 13:52:58 +09:00
Dean Herbert
affcf5180b
Merge pull request #17161 from smoogipoo/fix-listing-score-conversion
...
Fix scores not being recalculated in beatmap overlay
2022-03-09 13:32:45 +09:00
Dean Herbert
58aef25ad5
Merge pull request #17152 from bdach/mod-overlay/difficulty-multiplier
...
Implement difficulty multiplier display for new mod select design
2022-03-09 12:11:16 +09:00
Dan Balasescu
b3fd156f10
Merge pull request #17158 from peppy/realm-recover-from-newer-database-version
...
Add flow to allow recovery after running an older release (with a different realm database version)
2022-03-09 11:30:58 +09:00
Jai Sharma
7daa2d0ea4
Use correct fonts and colours in ChannelListingItem
2022-03-09 00:36:19 +00:00
Jai Sharma
7dd51a9c4a
Reorder class attributes
2022-03-09 00:12:44 +00:00
Jai Sharma
a3477c3841
Implement ChannelListing
for new chat design
...
Adds components `ChannelListing` and `ChannelListing` item with visual
test. Essentially a more simplified version of the existing
`ChannelSelectionOverlay` component.
Correctly implements `IFilterable` behaviour to filter child channel
items. Channel joined state is based on the underlying `Joined` bindable
of the `Channel` class.
Channel join/leave events are exposed via `OnRequestJoin` and
`OnRequestLeave` events which should be handled by parent component.
Requires a cached `OverlayColourScheme` instance to be provided by the
parent overlay component when added.
2022-03-08 22:30:58 +00:00
Dean Herbert
a2ef086c1f
Fix potential crash on rare incorrect firing of skin dropdown update methods
...
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847 .
There's a chance that the dropdown is not populated by the time
`updateSelectedSkinFromConfig` is fired via an external means (config
changes).
2022-03-09 01:08:13 +09:00
Dean Herbert
512536f5fe
Fix unconditional null in Equals
implementation
2022-03-08 23:25:51 +09:00
Dan Balasescu
6fd8b4d891
Safeguard method against invalid invocation
2022-03-08 22:30:44 +09:00
Dan Balasescu
f1c40bd9ed
Rework GetScore() method signatures + implementations
...
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
a8e99f1a95
Calculate classic score using total basic hitobject count
2022-03-08 21:49:41 +09:00
Dan Balasescu
5b6b8d1fa9
Remove GetStandardisedScore() proxy method
2022-03-08 21:49:41 +09:00
Dan Balasescu
6654977a7b
Add GetScore() overload with total hitobject count
2022-03-08 21:49:41 +09:00
Dan Balasescu
2c382bd1d9
Rename GetImmediateScore() as overload of GetScore()
2022-03-08 21:49:40 +09:00
Dean Herbert
c867068cae
Update framework
2022-03-08 21:15:14 +09:00
Dean Herbert
da7c6f1772
Merge branch 'master' into chat-mention-highlight
2022-03-08 21:15:12 +09:00
Dan Balasescu
a352a140bc
Merge pull request #17157 from peppy/fix-statistics-json-serialisation
...
Fix incorrect serialisation of submitted scores
2022-03-08 20:20:31 +09:00
Dean Herbert
960b6528ca
Ensure the value used during realm async write is the same as whe compared for equality
2022-03-08 19:36:23 +09:00
Dean Herbert
daa42584f4
Fix feedback from realm writes causing offset slider to jump around
2022-03-08 19:36:08 +09:00
Dan Balasescu
4603e082f5
Merge pull request #17160 from peppy/remove-unnecessary-user-submittable-score
...
Remove `user` from `SubmittableScore`
2022-03-08 19:34:47 +09:00
Dan Balasescu
f5cd967635
Fix scores not being recalculated in beatmap listing
2022-03-08 19:07:39 +09:00
Dean Herbert
b0f40d9e45
Remove user
from SubmittableScore
...
This wasn't being used by osu-web, and included far too much unnecessary
data. Of note, `pp` and `ruleset_id` are also not strictly required, but
there's no harm in sending them so I've left them be for now.
2022-03-08 18:38:24 +09:00
Dean Herbert
6565c95b17
Remove unused variable
2022-03-08 18:19:54 +09:00
Dan Balasescu
a172fc6cb8
Add IsBasic() and IsTick() extensions on HitResult
2022-03-08 18:19:12 +09:00
Dean Herbert
0718a55ad0
Add flow to allow recovery after running an older release (with a different realm database version)
...
As brought up in https://github.com/ppy/osu/discussions/17148
2022-03-08 18:15:28 +09:00
Dean Herbert
589a40ca2d
Add EnumMember
naming to HitResult
to allow for correct json serialisation
2022-03-08 17:58:37 +09:00
Dean Herbert
622ec53130
Fix BeatmapLeaderboard
refreshing on unrelated changes to a beatmap
2022-03-08 14:50:47 +09:00
Dean Herbert
2a55c5e02e
Add extension method to detect and isolate realm collection-level changes
2022-03-08 14:50:47 +09:00
Salman Ahmed
5e0882df8d
Simplify message highlighting transforms
2022-03-08 04:00:11 +03:00
Salman Ahmed
d74064b94b
Use Equals
instead of reference equality operator
2022-03-08 03:56:27 +03:00
Salman Ahmed
f645869958
Update ChannelManager.CurrentChannel
directly to handle non-loaded chat scenario
...
`currentChannel` gets instantiated once the chat overlay is open, while
`HighlightMessage` could be called while the chat overlay has never been
open.
This will all be rewritten with the new chat overlay design anyways, so
should be fine for now.
2022-03-08 03:42:18 +03:00
Salman Ahmed
f8e5570e41
Fix Message
equality not passing on equal references
2022-03-08 03:20:20 +03:00
Salman Ahmed
7f47be4680
Refactor message highlighting logic to rely on a Channel
data bindable
2022-03-08 03:19:37 +03:00
Salman Ahmed
5764c53c17
OpenChannelNotification -> HighlightMessageNotification
2022-03-08 03:16:07 +03:00
Salman Ahmed
22a2ef42c5
Check channel ID on message highlight using currentDrawableChannel
2022-03-08 01:22:47 +03:00
Bartłomiej Dach
643f68e844
Better annotate initial rolling counter value set
2022-03-07 23:11:20 +01:00
Bartłomiej Dach
019f4d965d
Show two decimal digits on mod multiplier rather than one
2022-03-07 22:55:55 +01:00
Bartłomiej Dach
c25d7a1c75
Use rolling counter for multiplier display
2022-03-07 22:50:51 +01:00
Bartłomiej Dach
78a3b5961e
Implement basic difficulty multiplier display
2022-03-07 22:50:51 +01:00
Dean Herbert
31d6c75f40
Merge branch 'master' into realm-property-watching
2022-03-07 13:53:17 +09:00
Dan Balasescu
b90a5864b1
Merge pull request #17138 from peppy/disallow-icon-interaction
...
Disallow interaction with carousel set difficulty icons unless selected
2022-03-07 13:00:18 +09:00
Dean Herbert
da29947ecd
Disallow interaction with carousel set difficulty icons unless selected
...
I kinda liked this flow, but from multiple reports from users it
definitely seems in the way. We can revisit after the new design is
applied to song select.
Note that this means the tooltips also don't display. If it is preferred
that they should (arguable from a UX perspective, since I'd expect to be
able to click at that point) then the issue can be addressed using a
slightly different path (a few more lines - nothing too complex).
2022-03-07 11:34:08 +09:00
Dean Herbert
bd1adaf245
Merge pull request #17115 from frenzibyte/manual-channel-scroll
...
Refactor channel scrolling container to handle non-user scrolls
2022-03-07 11:26:23 +09:00
Salman Ahmed
32d242dd62
Hook up message notifications to chat message highlighting logic
2022-03-07 05:10:49 +03:00
Salman Ahmed
f4fa80c1e3
Add support to highlight messages in chat overlay
2022-03-07 05:10:49 +03:00
Salman Ahmed
30b38345aa
Add ability to highlight chat lines
2022-03-07 05:08:36 +03:00
Dan Balasescu
ba83db0229
Merge pull request #17134 from bdach/mod-overlay/popup-screen-title
...
Implement popup screen title component
2022-03-07 11:03:38 +09:00
Salman Ahmed
e5a6564034
Merge branch 'master' into fix-storyboard-sample-rate
2022-03-07 03:12:40 +03:00
Salman Ahmed
d9be65ea39
Remove no longer necessary CancelUserScroll
method
2022-03-06 23:58:06 +03:00
Salman Ahmed
60334046e4
Revert UserTrackingScrollContainer
changes
2022-03-06 23:57:51 +03:00
Salman Ahmed
a13a087f5d
Add xmldoc to trackNewContent
to explain its purpose
2022-03-06 23:51:27 +03:00
Salman Ahmed
9ec0e74813
Move scrolling to UpdateAfterChildren
to avoid scheduling
...
At least that's what I believe "let FillFlow update to new size" means.
2022-03-06 23:50:58 +03:00
Salman Ahmed
9bc1f3f014
Further refactor and simplify ChannelScrollContainer
2022-03-06 23:34:12 +03:00
Bartłomiej Dach
54275813b5
Use text flow container in popup screen title
2022-03-06 20:41:31 +01:00
Bartłomiej Dach
df0617f34c
Implement popup screen title component
2022-03-06 16:09:18 +01:00
Bartłomiej Dach
e1eeb9c6bb
Allow tabbing between textboxes in sample point popover
2022-03-06 01:43:56 +01:00
Salman Ahmed
634821e49f
Use the term "programmatically" instead
2022-03-06 00:01:45 +03:00
Salman Ahmed
5b3ffb12b7
Refactor channel scrolling container to handle manual scrolls resiliently
2022-03-05 23:27:07 +03:00
Dean Herbert
06512e8bd9
Use const
for minimum height specification in final usage location
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-06 01:01:22 +09:00
Dean Herbert
f8ef352306
Don't consider judgements beneath the minimum height as being applicable
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-06 01:00:47 +09:00
Bartłomiej Dach
08b3bc222d
Revert "Fix potential crash in tests when attempting to lookup key bindings in cases the lookup is not available"
...
This reverts commit 8115a4bb8f
.
Commit was cherrypicked out to a separate pull on a different merge
base, then reverted in that pull, so it should be reverted here too.
2022-03-05 16:42:51 +01:00
Bartłomiej Dach
e4b4c3c5c4
Merge branch 'master' into offset-ui-improvements
2022-03-05 16:10:18 +01:00
Dean Herbert
6264dd266d
Merge pull request #17087 from peppy/combine-time-slider-implementation
...
Centralise implementation of slider bars which display millisecond time values
2022-03-05 23:48:26 +09:00
Dean Herbert
faddc20dca
Merge pull request #17073 from peppy/add-offset-adjust-tooltip-text
...
Add tooltip text for offset adjustment slider
2022-03-05 23:28:24 +09:00
Bartłomiej Dach
346cec3577
Merge branch 'add-offset-adjust-tooltip-text' into combine-time-slider-implementation
2022-03-05 14:58:56 +01:00
Henry Lin
8b8b54b58f
Scale rate adjustments based on hit timing consistency and tweak some related numbers
2022-03-05 21:48:57 +08:00
Dean Herbert
ce51ce49cf
Revert changes to GetTooltipText
and use TooltipText
override directly
2022-03-05 22:46:13 +09:00
Bartłomiej Dach
38abfbf4d1
Merge branch 'master' into add-display-choice-dropdown
2022-03-05 14:39:59 +01:00
Bartłomiej Dach
1e34aca984
Rename method to better fit purpose
2022-03-05 14:38:15 +01:00
Dean Herbert
524b8e02ef
Revert "Update all usages of OsuSlider.TooltipText
overrides to instead implement GetTooltipText
"
...
This reverts commit abba49fd8f
.
2022-03-05 22:37:36 +09:00
Dean Herbert
bbc2b36117
Merge branch 'master' into add-offset-adjust-tooltip-text
2022-03-05 22:37:04 +09:00
Dean Herbert
c132fc19e7
Update resources
2022-03-04 22:59:33 +09:00
Dean Herbert
19a940482f
Merge pull request #17100 from nekodex/cursor-tap-volume
...
Reduce 'cursor-tap' sample playback volume on MouseUp
2022-03-04 22:17:59 +09:00
Dean Herbert
d6e78e7d95
Merge pull request #17068 from peppy/fix-hit-distribution-rounding
...
Fix hit distribution graph midpoint rounding not looking great around zero
2022-03-04 22:16:30 +09:00
Jamie Taylor
1e246bf560
Reduce 'cursor-tap' sample playback volume on MouseUp
2022-03-04 20:14:14 +09:00
Dean Herbert
6673e456c5
Merge pull request #17090 from miniriley2012/wiki-locale-fix
...
Fix wiki links containing locale not loading when opened from chat.
2022-03-04 19:36:14 +09:00
Salman Ahmed
70219f511c
Merge branch 'master' into fix-apply-offset-from-non-zero
2022-03-04 12:14:01 +03:00
Dean Herbert
1c40fcb79e
Reorder math to be easier to pass
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-04 17:54:04 +09:00
Henry Lin
76d257fbe4
Merge branch 'master' into mod-adaptive-speed
2022-03-04 15:16:37 +08:00
Salman Ahmed
3fdc7ed9d2
Remove brackets surrounding one-line statements
2022-03-04 10:14:19 +03:00
Salman Ahmed
5d337e41cf
Merge branch 'master' into fix-profile-badge-cancellation
2022-03-04 10:07:09 +03:00
Salman Ahmed
129c290ca0
Dispose cancellation token source on disposal
2022-03-04 10:01:07 +03:00
Salman Ahmed
76c293b9e9
Fix cancellation token source recreated on every medal
2022-03-04 10:00:56 +03:00
Riley Quinn
8491bab77c
Replace string locale with Language
2022-03-04 00:57:13 -06:00
Dean Herbert
5a164e4520
Hide adjustment when no adjustment is applied
2022-03-04 15:19:55 +09:00
Dean Herbert
e9e92b991e
Fix calibrating offset from previous non-zero offset not applying adjustment correctly
2022-03-04 15:09:44 +09:00
Dean Herbert
8c7b1e0aa8
Only construct the adjustment portion of bars when required
2022-03-04 15:01:54 +09:00
Dean Herbert
2785218b79
Only apply animation if the bar is going to be larger than the minimum height
2022-03-04 14:59:53 +09:00
Riley Quinn
81a49057ec
Fix wiki links containing locale not loading when opened from chat.
2022-03-03 23:38:51 -06:00
Dean Herbert
540d7d0e2c
Add the ability to set and show an offset value on timing distribution graph
2022-03-04 14:36:15 +09:00
Salman Ahmed
95044bbbac
Merge branch 'master' into fix-storyboard-sample-rate
2022-03-04 08:17:40 +03:00
Dean Herbert
d3e04fe594
Colour centre bin in distribution graph differently
2022-03-04 14:09:27 +09:00
Dean Herbert
c063a73742
Fix autosize weirdness by specifying a constant size for the x axis
2022-03-04 14:05:42 +09:00
Dean Herbert
010fa7ed01
Allow an offset to be shown on the timing distribution graph
2022-03-04 14:05:42 +09:00
Dean Herbert
e09dd7d8fe
Fix calibrating offset from previous non-zero offset not applying adjustment correctly
2022-03-04 13:25:14 +09:00
Salman Ahmed
06b46d2b5e
Merge branch 'master' into fix-test-null-ref-key-bind-lookup
2022-03-04 07:12:49 +03:00
Henry Lin
f72c9a1f41
Cap speed change per hit and apply a speed decrease on miss
2022-03-04 11:48:48 +08:00
Dean Herbert
c1c9482077
Add note about how global audio offset is currently applied
2022-03-04 12:44:02 +09:00
Dean Herbert
5dca0e3377
Revert back to private set
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-04 12:44:02 +09:00
Dean Herbert
cc4f89eef4
Add tooltip text for offset adjustment slider
2022-03-04 12:44:02 +09:00
Dean Herbert
657f2ebb9d
Restructure OsuSliderBar
to allow for custom tooltips
2022-03-04 12:44:02 +09:00
Dean Herbert
8115a4bb8f
Fix potential crash in tests when attempting to lookup key bindings in cases the lookup is not available
2022-03-04 12:44:02 +09:00
Dean Herbert
835cb09537
Merge branch 'master' into fix-hit-distribution-rounding
2022-03-04 12:43:57 +09:00
Dean Herbert
8b504bb5ac
Ensure rounding is still applied in non-midpoint cases
2022-03-04 12:42:07 +09:00
Dean Herbert
ac914878b8
Move default function specifications to OsuConfigManager
...
This ensures that running tests in release configuration will not fail
due to the same issue being fixed in this PR.
2022-03-04 12:31:58 +09:00
Dean Herbert
33862fc0db
Centralise implementation of slider bars which display millisecond time values
2022-03-04 12:25:19 +09:00
Dean Herbert
7854a0a913
Use double
instead of float
for UIHoldActivationDelay
configuration value
...
All times use double, so let's also use double here.
2022-03-04 12:22:56 +09:00
Dean Herbert
abba49fd8f
Update all usages of OsuSlider.TooltipText
overrides to instead implement GetTooltipText
2022-03-04 12:16:05 +09:00
Dean Herbert
c38126ba9d
Make mods argument optional for storyboard construction
2022-03-04 12:05:02 +09:00
Dean Herbert
b0688cc6dd
Merge branch 'master' into fix-storyboard-sample-rate
2022-03-04 12:04:49 +09:00
Henry Lin
b66af7edf4
Rename approximatedRates
to ratesForRewinding
and update xmldoc
2022-03-04 11:03:57 +08:00
Dean Herbert
3a37e6e8b1
Fix profile badges potentially showing on incorrect profile when switching users
...
Closes https://github.com/ppy/osu/issues/17081 .
2022-03-04 12:01:00 +09:00
Dean Herbert
eeb7d359ec
Merge pull request #17069 from hlysine/fix-IUpdatableByPlayfield
...
Change `IUpdatableByPlayfield.Update` to be called by the main playfield only
2022-03-04 11:58:00 +09:00
Dean Herbert
1d7d6a1b65
Merge pull request #17042 from peppy/ruleset-leaderboard-unavailable
...
Improve leaderboard messaging when using a custom ruleset (and add localisation support)
2022-03-04 11:56:04 +09:00
Dean Herbert
18b207400d
Update framework
2022-03-04 11:34:25 +09:00
Bartłomiej Dach
36263b4dbf
Replace remaining manual online ID check with extension method
2022-03-03 23:09:56 +01:00
Bartłomiej Dach
e1610b5d32
Merge branch 'master' into ruleset-leaderboard-unavailable
2022-03-03 22:52:20 +01:00
Bartłomiej Dach
2354737abe
Merge branch 'master' into scaling-container-better-custom-override
2022-03-03 22:32:23 +01:00
Bartłomiej Dach
9dbb0bd85c
Merge branch 'master' into player-loader-settings-scroll
2022-03-03 21:17:53 +01:00
Bartłomiej Dach
15f65c7897
Rename lambda param to avoid name shadowing
2022-03-03 20:28:19 +01:00
Bartłomiej Dach
2e24e7ef56
Use property expression rather than block
2022-03-03 20:28:00 +01:00
Bartłomiej Dach
edd361d256
Trim unused using directives
2022-03-03 20:21:48 +01:00
Bartłomiej Dach
0fbc018a42
Remove redundant string interpolation prefixes
2022-03-03 20:21:09 +01:00
Bartłomiej Dach
fcefd3c725
Fix slightly wrong references in xmldocs
2022-03-03 17:39:55 +01:00
Bartłomiej Dach
3797871aa0
Add extended documentation of adaptive speed mod machinations
2022-03-03 17:25:49 +01:00
Bartłomiej Dach
ffaf5b729f
Move and reword docs of allowable rate range constants
2022-03-03 17:07:43 +01:00
Dean Herbert
5cfa8b8821
Revert back to private set
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-03 21:31:56 +09:00
Dean Herbert
cecc746f9e
Update existing usages to use SubscribeToPropertyChanged
2022-03-03 17:42:50 +09:00
Dean Herbert
35f532fefa
Add ability to watch properties via a RealmAccess
helper method
2022-03-03 17:42:40 +09:00
Dean Herbert
3848964faa
Add tooltip text for offset adjustment slider
2022-03-03 17:07:46 +09:00
Dean Herbert
7ee30024e8
Restructure OsuSliderBar
to allow for custom tooltips
2022-03-03 17:07:26 +09:00
Dean Herbert
f09a4e9c5b
Fix potential crash in tests when attempting to lookup key bindings in cases the lookup is not available
2022-03-03 16:29:37 +09:00
Dean Herbert
9c43500ad3
Add ability for player loading screen settings to scroll
...
As we add more items here this is going to become necessary. Until the design no doubt gets changed.
2022-03-03 16:23:31 +09:00
Dean Herbert
a06d806fb9
Fix hit distribution graph midpoint rounding not looking great around zero
...
Not sure this will be accepted and it's likely only ever going to show
in tests, but seems to be a better approach to midpoint rounding for
this case?
2022-03-03 15:43:02 +09:00
Henry Lin
464be6e64c
Only call IUpdatableByPlayfield.Update
if the playfield isn't nested
2022-03-03 14:37:39 +08:00
Dean Herbert
ab0ee26540
Remove padding from distribution graph bars to fix some bars becoming invisible at low sizes
2022-03-03 15:13:42 +09:00
Dean Herbert
cb0d643f70
Add parameter xmldoc to explain what a null rect does
2022-03-03 14:38:20 +09:00
Dean Herbert
29bf7d0bde
Fix shocking grammar and typos in block comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-03 14:35:52 +09:00
Dean Herbert
a38eb426ef
Merge pull request #17026 from peppy/beatmap-offset-control
...
Add basic beatmap offset adjustment
2022-03-03 14:23:19 +09:00
Dean Herbert
42e07b7308
Convert to extension method to avoid recursive calls
2022-03-03 14:15:37 +09:00
Henry Lin
4ce2044e4c
Reorder members
2022-03-03 13:09:41 +08:00
Dean Herbert
fab9323707
Replace all legacy ruleset checks with a helper property call
2022-03-03 14:08:48 +09:00
Henry Lin
9c2aa51194
Rename applyPitchAdjustment
to adjustPitchChanged
2022-03-03 13:07:30 +08:00
Henry Lin
ae71dcceeb
Convert comments to xmldoc
2022-03-03 13:03:53 +08:00
Henry Lin
09254407fe
Interpolate speed change using IUpdatableByPlayfield
2022-03-03 12:09:36 +08:00
Henry Lin
51258dbab4
Use binary search in ApplyToBeatmap
2022-03-03 11:21:20 +08:00
Henry Lin
95a40c5dc5
Remove pointless comment
2022-03-03 10:43:30 +08:00
Henry Lin
ff7f65de27
Extract duplicated conditionals
2022-03-03 10:43:04 +08:00
Henry Lin
55737226a3
Use Enumerable.Repeat
2022-03-03 10:18:36 +08:00
Salman Ahmed
2f485a29d5
Merge branch 'master' into mod-overlay/columns
2022-03-03 00:11:33 +03:00
Salman Ahmed
3630ab2db2
Remove unnecessary nullability of storyboard mods list
2022-03-03 00:09:12 +03:00
Bartłomiej Dach
7e90b4456d
Merge branch 'master' into skin-editor-ui
2022-03-02 21:01:03 +01:00
Bartłomiej Dach
f627a8af30
Merge branch 'master' into legacy-score-encoder-no-beatmap-required
2022-03-02 20:27:38 +01:00
Salman Ahmed
cbb8dc2891
Fix storyboard samples rate not adjusted from actual gameplay mods
2022-03-02 20:56:18 +03:00
Salman Ahmed
e14a35b469
Add failing test case
2022-03-02 20:32:41 +03:00
Henry Lin
d335a2229f
Tweak average_count
2022-03-02 21:07:57 +08:00
Henry Lin
17bc714297
Allow the mod to properly react to nested hit objects
2022-03-02 20:48:57 +08:00
Henry Lin
6caecf79a0
Use smooth speed change
2022-03-02 20:08:05 +08:00
Dean Herbert
b5684aaa76
Scale -> Rect to read better
2022-03-02 20:33:28 +09:00
Dean Herbert
8d7cdbd883
Add note about nested masking case
2022-03-02 20:25:34 +09:00
Dean Herbert
29ed419d53
Change how custom scales are applied to ScalingContainer
to allow for better transitions
2022-03-02 20:13:01 +09:00
Dean Herbert
ff7db4f405
Replace jank buttons with menu in skin editor
2022-03-02 20:08:17 +09:00
Dean Herbert
1916011ebf
Tween corner radius when scaling container becomes non-fullscreen
2022-03-02 20:08:12 +09:00
Dean Herbert
f15b8781bb
Move editor mode selector out of EditorMenuBar
to allow for better reuse
2022-03-02 20:05:01 +09:00
Dean Herbert
c06703d662
Add ability to select which display the game runs on
2022-03-02 18:29:07 +09:00
Dean Herbert
dc6fa13337
Merge branch 'master' into mod-overlay/columns
2022-03-02 15:04:37 +09:00
Dean Herbert
763f881d4a
Use more correct mod check to encompass more than just autoplay
2022-03-02 14:42:10 +09:00
Dean Herbert
e184b26cdd
Remove Precision
call for database write shortcutting
...
Shouldn't be required.
2022-03-02 14:39:29 +09:00
Dean Herbert
8bd66f1ed7
Fix incorrect precision specification for button disable check
2022-03-02 14:36:49 +09:00
Dean Herbert
3cbcb702f6
Fix calibration button disabled state not checking in corrrect direction
2022-03-02 14:36:15 +09:00
Dean Herbert
c07f754565
Enable nullable
on BeatmapOffsetControl
2022-03-02 14:34:24 +09:00
Dean Herbert
d4a2645510
Add localisation support for leaderboard error text
2022-03-02 14:14:44 +09:00
Dean Herbert
c342030b2c
Add specific placeholder message for custom rulesets rather than showing network error
2022-03-02 14:10:59 +09:00
Dean Herbert
09a74cdfc6
Merge pull request #17023 from peppy/realm-async-write
...
Add `RealmAccess.WriteAsync` method and more statistics of realm reads/writes
2022-03-02 12:31:16 +09:00
Henry Lin
c6934b4bce
Improve adaptive speed algorithm and add rewind support
2022-03-02 10:35:03 +08:00
Henry Lin
783f43ccfb
Add initial rate setting
2022-03-02 09:57:52 +08:00
Henry Lin
c9b205afeb
Add adaptive speed mod
2022-03-02 09:57:52 +08:00
Salman Ahmed
97c54de3bf
Fix performance statistic not handling rulesets with unimplemented calculator
2022-03-01 20:43:20 +03:00
Dean Herbert
222f50d211
Fix calibration being back-to-front
2022-03-01 20:41:54 +09:00
Dean Herbert
6c09237956
Reorder fields in BeatmapOffsetControl
and MasterGameplayClockContainer
2022-03-01 20:16:55 +09:00
Dean Herbert
7d11cfb301
Add detach mapping for BeatmapUserSettings
2022-03-01 20:12:59 +09:00
Dean Herbert
9792f0653a
Don't show calibration controls for autoplay
2022-03-01 20:12:59 +09:00
Dean Herbert
4aee57c9c1
Add localisation of all beatmap offset strings
2022-03-01 20:12:59 +09:00
Dean Herbert
4d9efe771b
Don't display calibration options when the previous play was too short to be useful
2022-03-01 20:12:59 +09:00
Dean Herbert
bc2a15db96
Handle cases of beatmaps not existing in realm for tests
2022-03-01 20:12:59 +09:00
Dean Herbert
99c1ba19aa
Allow BeatmapOffsetControl
to react to external changes to offset
2022-03-01 20:12:59 +09:00
Dean Herbert
bb8caabb8b
Subscribe to changes in offset
2022-03-01 20:12:59 +09:00
Dean Herbert
071ba5c1df
Make writes asynchronously to avoid synchronous overhead
2022-03-01 20:12:59 +09:00
Dean Herbert
047e801da9
Store and retrieve offset from realm
2022-03-01 20:12:59 +09:00
Dean Herbert
acf8db13ac
Store user settings to realm
2022-03-01 18:44:15 +09:00
Dean Herbert
2901d2a650
Hook offset adjustment control up to last play via PlayerLoader
2022-03-01 18:44:15 +09:00
Dean Herbert
7215f3f66b
Fix CalculateAverageHitError
throwing if there are zero HitEvent
s
2022-03-01 18:44:15 +09:00
Dean Herbert
350b0b488c
TODO: Get score from previous play session for further analysis
2022-03-01 18:44:15 +09:00
Dean Herbert
1847f69bf9
Add basic beatmap offset adjustment control
2022-03-01 18:44:15 +09:00
Dean Herbert
4117a6adf7
Move player loader audio settings to new group
2022-03-01 18:44:15 +09:00
Dean Herbert
9a117467b5
Add RealmAccess.WriteAsync
method
2022-03-01 18:44:05 +09:00
Dean Herbert
7fa5842783
Add global statistics output for all realm reads/writes
2022-03-01 18:31:18 +09:00
Dan Balasescu
f42c72c800
Merge branch 'master' into legacy-score-encoder-no-beatmap-required
2022-03-01 12:21:01 +09:00
Dean Herbert
eb75a29b20
Use constant for maximum legacy ruleset id
2022-03-01 12:07:03 +09:00
Bartłomiej Dach
899b95e61b
Do not delay inital mod update by a frame
2022-02-28 21:46:58 +01:00
Bartłomiej Dach
e8701f46f1
Add xmldoc to Filter
to explain usage
2022-02-28 21:39:21 +01:00
Bartłomiej Dach
6cc972aa6a
Fix test failures by waiting for panel load
2022-02-28 21:36:13 +01:00
Dean Herbert
159db38f8a
Add missing xmldoc
2022-02-28 19:14:43 +09:00
Dean Herbert
a41e1c80f1
Show hit error on results screen
...
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dean Herbert
52e50db6b9
Enable nullable
for LegacyScoreEncoder
2022-02-28 18:42:23 +09:00
Dean Herbert
723e96309a
Only convert non-legacy frames (and throw on conversion failure)
2022-02-28 18:42:23 +09:00
Dean Herbert
2e96f74c94
Allow LegacyScoreEncoder
to be used without a beatmap if frames are already legacy frames
2022-02-28 18:42:23 +09:00
Dean Herbert
2be40f36f7
Reword popup text to read better (or more vaguely)
...
Removed some words but also don't mention "smaller" because it's...
musically incorrect and also functionally incorrect – entering 1/[8]
will result in 1/16 also being populated for instance.
2022-02-28 15:26:50 +09:00
Dean Herbert
368eadd8d1
Remove unused using statement
2022-02-28 15:24:02 +09:00
Dean Herbert
3634e12e66
Automatically focus divisor textbox and hide popover after successful change
2022-02-28 15:23:01 +09:00
Dean Herbert
4a555d067d
Change ModPanel
to not handle OnMouseDown
to allow drag scrolling in ModColumn
2022-02-28 14:32:50 +09:00
Bartłomiej Dach
774952adda
Rescale components from figma to real dimensions
2022-02-27 23:08:31 +01:00
Bartłomiej Dach
16c6b9b3b3
Add keyboard selection support to mod column
2022-02-27 22:51:29 +01:00
Bartłomiej Dach
b690df05de
Hide multiselection checkbox if everything is filtered
2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a83f96b026
Add filtering support to mod column
2022-02-27 22:51:29 +01:00
Bartłomiej Dach
a80b4334ff
Tweak layout of column display for better spacing
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
53e8072632
Port multiselection from previous design
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
f40bd39487
Add toggle all checkbox to column display
2022-02-27 22:51:28 +01:00
Bartłomiej Dach
2e04a83554
Implement column display for new mod design
2022-02-27 22:51:27 +01:00
Bartłomiej Dach
7de5dad4f0
Add test coverage for divisor behaviour
2022-02-27 19:23:02 +01:00
Bartłomiej Dach
423838a649
Add flow for specifying entirely custom snaps
2022-02-27 17:55:20 +01:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets
2022-02-27 15:37:51 +01:00
Bartłomiej Dach
36137e0619
Add simple carousel divisor type selector
2022-02-27 15:37:51 +01:00
Dean Herbert
67082b8c5d
Remove verbose logging from SpectatorClient
for now
2022-02-25 22:25:36 +09:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability
2022-02-25 20:20:30 +09:00
Dean Herbert
926abf7a0c
Merge pull request #16985 from smoogipoo/multi-spectator-chat
...
Add chat display to multiplayer spectator
2022-02-25 20:19:07 +09:00
Dan Balasescu
8eef1774d5
Use Logger.Log instead of console
2022-02-25 20:18:22 +09:00
Dan Balasescu
a86bc344da
Merge pull request #16977 from peppy/pause-at-results
...
Allow pausing audio via hotkey at multiplayer lobby and results screen
2022-02-25 19:13:06 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
...
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Dan Balasescu
387ae59bc4
Fix nullref in tests
2022-02-25 16:12:25 +09:00
Dan Balasescu
48ed9c6144
Enable high chat polling rate
2022-02-25 16:03:56 +09:00
Dan Balasescu
f9d9ad388b
Add chat display to multiplayer spectator screen
2022-02-25 16:03:28 +09:00
Dean Herbert
a9e7e8fb18
Merge pull request #16924 from Susko3/android-allow-exiting
...
Allow exiting/minimizing the game on Android when on the initial screen
2022-02-25 11:01:35 +09:00
Susko3
33a87976a8
Rewrite to read better
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-02-24 21:11:49 +01:00
Bartłomiej Dach
769dc9b00b
Merge branch 'master' into mod-overlay/panel
2022-02-24 21:02:28 +01:00
Bartłomiej Dach
c189cc5d00
Remove unused using directive
2022-02-24 21:01:37 +01:00
Dan Balasescu
80fc13fc1f
Merge pull request #16976 from peppy/dont-expose-mark-as-read-errors-to-user
...
Don't expose "mark as read" errors to the user via notifications
2022-02-24 23:20:34 +09:00
Dan Balasescu
16a3bbbcb4
Merge pull request #16944 from peppy/rooms-request-faster
...
Update playlists/multiplayer to use new compact response
2022-02-24 23:20:07 +09:00
Dean Herbert
35302aa297
Merge pull request #16980 from smoogipoo/fix-union-workaround-resolver
...
Fix SignalR union workaround resolver failing on multiple union'd types
2022-02-24 22:24:48 +09:00
Dan Balasescu
c5b1e5cbf8
Fix union resolver failing on multiple derived types
2022-02-24 20:27:22 +09:00
Dean Herbert
d69446ff6e
Merge pull request #16979 from smoogipoo/fix-playlists-partial-mod
...
Fix playlists not allowing entry with partial mods
2022-02-24 19:37:10 +09:00
Susko3
6f29cbccd1
Remove unused using
2022-02-24 10:36:10 +01:00
Susko3
255b3b067b
Remove track fade
2022-02-24 10:13:27 +01:00
Dan Balasescu
7193bc8554
Fix playlists comparing mod equality via APIMod
2022-02-24 17:04:16 +09:00
Dan Balasescu
2acaffd5e7
Fix APIMod storing bindables instead of value
2022-02-24 17:01:12 +09:00
Dean Herbert
bb1aa032bd
Combine SelectedItem
and CurrentPlaylistItem
into same storage
2022-02-24 16:21:20 +09:00
Dean Herbert
c6d78b9325
Fix several oversights in data linking causing drawable rooms not updating as expected
2022-02-24 16:12:15 +09:00
Dean Herbert
b4a54b38e7
Remove redundant parameter specification
2022-02-24 16:02:16 +09:00
Dean Herbert
401cf2a955
Allow pausing game-wide audio via hotkey as long as LocalUserPlaying
is not set
...
`Player` seems to handle this correctly locally already, which is to say
if the user attempts to toggle the pause state incorrectly, it will
still recover.
The logic stoppic this operation was only in the key binding handler,
which meant it was already possible from the now playing overlay this
whole time, so I *think* this should be quite safe.
2022-02-24 16:00:14 +09:00
Dean Herbert
3f6bdc5585
Don't expose "mark as read" errors to the user via notifications
...
This can happen if the user leaves the channel before the request is
fired. You can't mark a channel as read when you're not in the channel.
Addresses https://github.com/ppy/osu/discussions/16973 .
2022-02-24 15:40:07 +09:00
Dean Herbert
435bdd0b4a
Combine and simplify state management logic
...
This makes a few changes to bring things into a better shape during
mouse interactions with the mod panels:
- Dragging away from the panel now works in line with other buttons (ie.
`OsuButton`)
- Hovering now uses a lightened version of the current state, rather
than always using the active colour. I think this feels better.
- Mouse down now uses a transform point of 0.5. This is to give the
button a feeling of one of those latching light switches which resists
until reaching a point of overcoming the spring and switching state. I
think 0.4 (non-active) and 0.6 (from active) may work better, but left
at 0.5 for simplicity of implementation and I think it's good enough?
- Border always uses the gradiented version. I did this for simplicity
of implementation, but also think it looks better.
- Adjusted transform durations to feel better to me.
2022-02-24 15:25:30 +09:00
Dean Herbert
6e8daa06fa
Merge branch 'master' into mod-overlay/panel
2022-02-24 14:34:59 +09:00
Dean Herbert
2a2b8912c1
Merge branch 'master' into android-allow-exiting
2022-02-24 13:22:52 +09:00
Dean Herbert
8f951f8e8a
Merge pull request #16969 from peppy/update-framework
...
Update framework
2022-02-24 11:32:34 +09:00
Bartłomiej Dach
713f89a59c
Implement incompatibility-displaying variant of mod panel
2022-02-23 23:19:06 +01:00
Bartłomiej Dach
bbe2dfa458
Move out incompatibility displaying tooltip to own class
2022-02-23 23:18:15 +01:00
Bartłomiej Dach
8a0aba6c59
Implement mod panel for new mod select screen
2022-02-23 23:18:14 +01:00
Bartłomiej Dach
29d77a29aa
Merge branch 'master' into startup-protocol-handling
2022-02-23 21:10:27 +01:00
Dean Herbert
3f2ef030e4
Group SpectatorClient
private fields together
2022-02-24 02:31:55 +09:00
Dean Herbert
5ffdd57895
Rename weirdly named parameter
2022-02-24 02:28:13 +09:00
Dean Herbert
694c6ad872
Fix frames potentially getting lost due to non-matching Schedule
usage
2022-02-24 02:28:13 +09:00
Dean Herbert
260cf793fe
Add test coverage of more advanced frame delivery scenarios to TestSceneSpectatorPlayback
2022-02-24 02:28:13 +09:00
Dean Herbert
47b84295a6
Fix bundle send logic not correctly waiting for task completion (due to nested schedule)
2022-02-24 02:23:48 +09:00
Dean Herbert
c94e7e2abe
Add ability to simulate network failures to TestSpectatorClient
2022-02-24 02:23:48 +09:00
Dean Herbert
14c8ce50a0
Prefix all test send methods in TestSpectatorClient
with Send
2022-02-24 02:23:48 +09:00
Dean Herbert
cff6f85472
Add note about reconnection being insufficient currently
2022-02-24 02:23:48 +09:00
Dean Herbert
5ff4d3f8e5
Add support to SpectatorClient
to resend failed frame bundles
2022-02-24 02:21:29 +09:00
Susko3
5dd0d48df9
Move the key handling logic to MainMenu and simplify it
...
Also makes use of the host.SuspendToBackground() return value.
2022-02-23 14:06:22 +01:00
Dean Herbert
53bbd00675
Also make APIUser
opt-in and remove the remaining serialization exclusion rule
2022-02-23 17:12:38 +09:00
Dean Herbert
43c83d2de1
Add note about why RoomID
is nulled in DeepClone
2022-02-23 17:10:11 +09:00
Dean Herbert
f14a9af801
Make Room
opt-in rather than opt-out for json serialization
2022-02-23 17:10:10 +09:00
Dean Herbert
28c9c5ab6a
Remove unnecessary ShouldSerialize
rules in Room
2022-02-23 17:10:10 +09:00
Dean Herbert
5d73691de4
Use existing HandleLink
flow rather than reimplmenting
2022-02-23 17:02:39 +09:00
Dean Herbert
87da650dfb
Update framework
2022-02-23 14:06:56 +09:00
Dean Herbert
5e7dd31f6d
Merge branch 'master' into mod-overlay/switches
2022-02-23 13:49:23 +09:00
Dan Balasescu
71a012bea6
Don't update count twice immediately
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-23 13:42:47 +09:00
Dan Balasescu
2bea485af8
Fix currently playing text not showing in lounge
2022-02-23 13:37:47 +09:00
Susko3
7bdcb5952e
Fix handling badly-formatted osu:// urls
2022-02-23 00:36:56 +01:00
Bartłomiej Dach
d8fa443ea0
Extract default mod switch measurements to constants
...
For use later when specific sizes/scales of the mod switches are
desired.
2022-02-22 23:22:11 +01:00
Bartłomiej Dach
1a358698fb
Merge branch 'master' into startup-protocol-handling
2022-02-22 22:42:16 +01:00
Bartłomiej Dach
d1d6847d32
Add comment about split usage in osu:// protocol link handling
2022-02-22 22:24:37 +01:00
Dan Balasescu
bedd07d2e4
Add remark about usage of CalculateAll()
2022-02-22 18:12:55 +09:00
Dean Herbert
6de4e05e49
Fix current selection not being correctly maintained when BeatmapPicker
updates its display
2022-02-22 17:17:08 +09:00
Dean Herbert
ed008267d7
Fix one more case of escaping not being present
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:18 +09:00
Dean Herbert
ca0a041153
Fix missing escaping causing test failures
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:04 +09:00
Dean Herbert
61b3280de1
Add missing property copies in Room.CopyFrom
implementation
2022-02-22 15:47:00 +09:00
Dean Herbert
71ae425fb2
Merge branch 'master' into rooms-request-faster
2022-02-22 15:45:05 +09:00
Dean Herbert
057fd6c352
Add mention of StarRatingRangeDisplay
fallback scenario being wrong for multiplayer
2022-02-22 15:37:42 +09:00
Dean Herbert
f12044b03e
Add mention of PlaylistItem.Beatmap
being a placeholder in many cases
2022-02-22 15:31:08 +09:00
Dean Herbert
cde3d9c08b
Change precedence order to favour playlist as a source for beatmap count
2022-02-22 15:15:57 +09:00
Dean Herbert
e744840d07
Ensure old results are cleared from beatmap overlay on logout
2022-02-22 14:56:04 +09:00
Dean Herbert
d6032a2335
Fix beatmap overlay not re-fetching results after login
2022-02-22 14:55:52 +09:00
Dan Balasescu
a676acd80d
Merge pull request #16945 from peppy/three-column-playlist
...
Update playlist room display to a three column layout
2022-02-22 12:21:56 +09:00
Bartłomiej Dach
cfc41a0a36
Implement small mod switch
2022-02-22 00:26:35 +01:00
Bartłomiej Dach
5186693dad
Implement tiny mod switch
2022-02-22 00:26:35 +01:00
Bartłomiej Dach
cd3641137b
Add OsuColour
method mapping colours from basic theme to mod types
2022-02-22 00:02:54 +01:00
Bartłomiej Dach
d71e511413
Merge branch 'master' into spotlights-on-top
2022-02-21 23:42:02 +01:00
Bartłomiej Dach
959f0330e0
Merge branch 'master' into three-column-playlist
2022-02-21 23:40:21 +01:00
Bartłomiej Dach
e3ae52360e
Merge branch 'master' into leaderboard-score-timeref
2022-02-21 20:50:00 +01:00
Susko3
3eee505aa2
Update "exit" flow when pressing back on Android
2022-02-21 20:24:17 +01:00
Susko3
8d70b85e41
Revert changes
2022-02-21 20:20:24 +01:00
Dean Herbert
897f0ecd5f
Merge pull request #16938 from smoogipoo/classic-score-hitobject-factor
...
Scale classic score by hitobject count instead of max combo
2022-02-22 00:40:56 +09:00
Dean Herbert
113153e6a3
Fix remaining filter tests
2022-02-22 00:25:00 +09:00
Dean Herbert
2aa0364092
Fix null reference in tests during attempted ruleset filtering
2022-02-22 00:14:33 +09:00
Dean Herbert
98c008b95f
Fix test failures due to order change
2022-02-21 19:48:39 +09:00
Dean Herbert
655b23f408
Update playlist room display to a three column layout
...
Similar to the changes made to multiplayer.
2022-02-21 19:46:33 +09:00
Dean Herbert
c7e9cf904b
Fix incorrect null check on now-bindable DifficultyRange
2022-02-21 19:38:26 +09:00
Dean Herbert
ffa5291b74
Add fallback handling for item count to support different request types
2022-02-21 19:37:36 +09:00
Dean Herbert
b5348e0407
Update ruleset filtering to use newly provided array return
2022-02-21 19:05:32 +09:00
Dean Herbert
b43008b9f6
Add cover and count handling from newer response version
2022-02-21 19:05:22 +09:00
Dean Herbert
39d64e779c
Handle API returned difficulty range for rooms
2022-02-21 19:05:19 +09:00
Dean Herbert
7f4cc221d2
Add API versioning
2022-02-21 19:02:03 +09:00
Dan Balasescu
3e0e77394b
Merge branch 'master' into beatmap-decoder-ruleset-store
2022-02-21 18:26:22 +09:00
Dan Balasescu
0cfb85f3bb
Merge pull request #16939 from peppy/fix-intro-import-failure-ruleset-test-projects
...
Add safeties to skip attempted import of the intro beatmap when osu! ruleset not present
2022-02-21 18:24:56 +09:00
Dean Herbert
02a8500500
Ensure spotlights always show at the top of the lounge listing
...
As proposed at https://github.com/ppy/osu/discussions/16936 . Spotlights
are intended to have focus, so let's make sure they are the first thing
the user sees for the time being.
2022-02-21 18:01:46 +09:00
Dean Herbert
1737128334
Allow room category to be copied even if Spotlight
...
I remember that this conditional copy was added to support making copies
of spotlight rooms without carrying across the `Spotlight` type, but in
testing this is already handled web side to the point that it's not
required.
The rationale for allowing the copy is that this method is used for
tests, where it was not being copied correctly from the input as
expected (used at
bdc3b76df0/osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs (L38)
).
2022-02-21 17:47:56 +09:00
Dan Balasescu
c466d6df94
Ensure to not multiply by 0
2022-02-21 17:19:35 +09:00
Dean Herbert
2f6e65a9a2
Gracefully handle undefined DateTimeOffset
values
...
Only seems to happen in tests, but best to safeguard against this
regardless.
2022-02-21 16:35:40 +09:00
Dean Herbert
656c58567d
Add safeties to skip attempted import of the intro beatmap when osu! ruleset not present
...
In general running this import will not cause any critical failures, but
the import itself *will* fail – and more loudly with the upcoming
changes to `RulesetStore` (https://github.com/ppy/osu/pull/16890 ). Due
to it being a loud failure, it will cause the notification overlay to
display a parsing error, which can interrupt the flow of some tests.
See test failure at
https://github.com/ppy/osu/runs/5268848949?check_suite_focus=true as an
example (video coverage at
https://github.com/ppy/osu/pull/16890#issuecomment-1046542243 ).
2022-02-21 16:21:38 +09:00
Dean Herbert
3d0caa44c8
Remove unused utils class
2022-02-21 13:43:30 +09:00
Dean Herbert
fc1877b6fa
Move to extension method and revert logic to match previous implementation
2022-02-21 13:42:26 +09:00
Dan Balasescu
c3b365cf6b
Scale classic score by hitobject count
2022-02-21 13:31:03 +09:00
Dean Herbert
79408f6afc
Add xmldoc and clean up ScoreboardTimeUtils
extension methods a touch
2022-02-21 13:30:58 +09:00
Dean Herbert
2ded7d281b
Remove unused using statement
2022-02-21 13:17:19 +09:00
Dean Herbert
abe1a3990a
Merge branch 'master' into leaderboard-score-timeref
2022-02-21 12:11:10 +09:00
Bartłomiej Dach
36a00c1ee2
Remove static OverlayColourProvider
s
2022-02-20 21:09:08 +01:00
Bartłomiej Dach
ce0db9d4db
Remove all references to static OverlayColourProvider
s
2022-02-20 21:09:08 +01:00
Bartłomiej Dach
79ba37bbab
Add Colour0
to OverlayColourProvider
2022-02-20 21:09:08 +01:00
Bartłomiej Dach
2592f0900d
Add comments about OverlayColourProvider
vs OsuColour
distinction
2022-02-20 21:08:58 +01:00
Bartłomiej Dach
e20ae5b871
Add all colour constants for "basic" colour theme to OsuColour
2022-02-20 21:00:49 +01:00
dekrain
262751a98a
Revert highlighting recent scores
2022-02-19 21:23:35 +01:00
dekrain
31b7ce053d
Fix CI issues
2022-02-19 21:18:26 +01:00
dekrain
0d83c5a39a
Add colour highlighting recent scores
2022-02-19 20:47:30 +01:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together
2022-02-19 20:47:02 +01:00
Susko3
7ef710de22
Allow exiting/minimizing on Android when on the initial cookie screen
2022-02-19 18:15:49 +01:00
Dean Herbert
c869be87d1
Update FlatFileWorkingBeatmap
to not require a ruleset store
2022-02-19 20:53:04 +09:00
Dan Balasescu
65ffcefdf9
Merge pull request #16910 from peppy/fix-storyboard-background-replacement
...
Fix storyboard background replacement logic not working for beatmaps with multiple backgrounds
2022-02-18 19:08:52 +09:00
Dan Balasescu
567da9214e
Merge branch 'master' into osu-diff-calc-max-combo
2022-02-18 18:35:24 +09:00
Dean Herbert
a029e418cf
Use internal
instead of protected internal
2022-02-18 17:06:04 +09:00
Dean Herbert
3abbf07fb3
Revert local registrations in test scenes
2022-02-18 16:52:34 +09:00
Dean Herbert
cf1dd1ebd3
Disallow registering a null RulesetStore
2022-02-18 16:52:34 +09:00
Dean Herbert
420e2c538f
Automatically use an AssemblyRulesetStore
if no custom store is registered
2022-02-18 16:52:34 +09:00
Dean Herbert
631c23ea3a
Merge branch 'master' into beatmap-decoder-ruleset-store
2022-02-18 16:52:33 +09:00
Dean Herbert
e49da2948d
Fix storyboard background replacement logic not working for beatmaps with multiple backgrounds
...
In the case where the background image of individual difficulties is
different, querying the beatmap *set*'s metadata as we were will cause
issues.
I haven't added test coverage for this but can if required. Can be
manually tested using https://osu.ppy.sh/beatmapsets/1595773#osu/3377474
(specifically the highest difficulty).
Closes https://github.com/ppy/osu/discussions/16873 .
2022-02-18 16:24:19 +09:00
Dean Herbert
29c5683ba3
Add handling of beatmap links on startup
2022-02-18 16:14:37 +09:00
Dean Herbert
98aaf83177
Add a centralised constant for the osu URL schema protocol
2022-02-18 15:57:37 +09:00
dekrain
1abbb9ab39
Align the bar to be on baseline of score components
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-17 21:26:59 +01:00
OctopuSSX
08317b4265
Update ScreenshotManager.cs
2022-02-17 20:43:36 +03:00
Dean Herbert
d7ef0e4174
Merge pull request #16895 from bdach/better-new-difficulty-naming
...
Name newly created difficulties in a better way
2022-02-17 21:54:09 +09:00
Dan Balasescu
3945cd24eb
wip
2022-02-17 21:14:49 +09:00
Dean Herbert
9d0023c750
Fix incorrect mappings
2022-02-17 21:12:51 +09:00
Dean Herbert
3d5ed24e20
Fix beatmap overlay leaderboards and links not working
...
Completely aware that this isn't how it should be done, but would like
to get this out in a hotfix release today. Maybe changes opinions on
https://github.com/ppy/osu/pull/16890 structure?
2022-02-17 21:05:00 +09:00
Dean Herbert
bbc4ea1203
Merge branch 'master' into better-new-difficulty-naming
2022-02-17 19:21:33 +09:00
dekrain
f4d1e6f600
Add tests for timerefs
2022-02-17 10:38:29 +01:00
dekrain
7bd731ae08
Move the date next to the flag icon
2022-02-17 10:12:35 +01:00
Dean Herbert
2a1edcdf73
Merge branch 'master' into remove-playlistitem-beatmap
2022-02-17 17:19:26 +09:00
Dean Herbert
dc74d17478
Update framework
2022-02-17 16:45:20 +09:00
Dean Herbert
7307e68e9c
Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
...
This reverts commit 252b945d3b
, reversing
changes made to a1b39a96cf
.
2022-02-17 13:26:12 +09:00
Stedoss
aac1c53b06
Remove creator name from playlist item panel beatmap text
2022-02-17 03:04:16 +00:00
Bartłomiej Dach
8a08bb7aaf
Use best-name-finding helper in new difficulty creation flow
2022-02-17 00:28:18 +01:00
Bartłomiej Dach
e09570c31b
Implement best-name-finding helper method
2022-02-17 00:28:17 +01:00
Bartłomiej Dach
cb9ffc655a
Add tests showing expected behaviour of naming helper
2022-02-17 00:28:13 +01:00
dekrain
333a305af3
Use floor instead of ceiling
2022-02-17 00:09:17 +01:00
dekrain
c124034cf3
Add text displaying recent score time
2022-02-16 23:18:14 +01:00
Dean Herbert
23933fc881
Update xmldoc to mention that multipliers are not applied anywhere
2022-02-16 17:32:22 +09:00
Dean Herbert
5ffd3ff82a
Add xmldoc and allow constructing an AssemblyRulesetStore
with a directory path
2022-02-16 17:25:16 +09:00
Dean Herbert
5477af08c5
Register an AssemblyRulesetStore
in tests which don't use OsuGameBase
2022-02-16 17:21:57 +09:00
Dean Herbert
d0efecfc9c
Add RulesetStore
for use where realm is not present (ie. other projects)
2022-02-16 17:13:54 +09:00
Dean Herbert
13086541f0
Add static RulesetStore
to LegacyBeatmapDecoder
2022-02-16 17:13:54 +09:00
Dean Herbert
7a69de0060
Split out realm portion of RulesetStore
2022-02-16 17:13:31 +09:00
Dean Herbert
3d3f0a89c2
Remove legacy RulesetID
property from BeatmapInfo
2022-02-16 16:46:53 +09:00
Dan Balasescu
4c1413e0c7
No longer require Mod implementation
2022-02-16 16:36:02 +09:00
Salman Ahmed
b66566e96d
Use explicit culture info rather than null
2022-02-16 10:35:57 +03:00
Dan Balasescu
5dd9771c5f
Remove mod multipliers from being applied to scores
2022-02-16 16:27:27 +09:00
Dan Balasescu
55d9f0b44b
Store beatmap to a field instead
2022-02-16 16:03:08 +09:00
Dan Balasescu
edd31bf3aa
Revert styling change
2022-02-16 15:51:18 +09:00
Dean Herbert
7e24b36f26
Merge branch 'master' into remove-playlistitem-beatmap
2022-02-16 14:24:57 +09:00
Dan Balasescu
84e82ef5e4
Add XMLDocs to difficulty attribute properties
2022-02-16 14:09:19 +09:00
Dan Balasescu
215da7e933
Reimplement as extension method on IBeatmap
...
Implementation has changed slightly to support arbitrary levels of
nested hitobjects.
2022-02-16 12:06:49 +09:00
Dan Balasescu
5db63a8751
Expose read-only list from request
2022-02-16 11:30:03 +09:00
Dean Herbert
6a08fd57ef
Rename "client" fields in tests to specify whether spectator or multiplayer
2022-02-16 09:52:18 +09:00
Dean Herbert
187870b794
Merge branch 'master' into fix-multi-cache-dependencies
2022-02-16 09:44:37 +09:00
Salman Ahmed
0992bec2c8
Change "distance spacing" multipler type to double
...
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.
Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true ).
2022-02-16 03:28:12 +03:00
Salman Ahmed
7654584e40
Allow using SizeSlider
on different value types
2022-02-16 03:25:03 +03:00
Salman Ahmed
f7edf25d4c
Remove no longer required property
2022-02-16 03:23:02 +03:00
Dean Herbert
954ae60b81
Merge branch 'master' into copy-existing-difficulty
2022-02-16 08:55:12 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6
2022-02-16 00:40:04 +09:00
Dan Balasescu
b1dbd4abfe
Fix incorrect playlist item <-> availability tracker logic
...
Results in revert to some prior logic for the tracker implementation.
2022-02-15 23:50:12 +09:00
Dan Balasescu
48573d2401
Move test request handling earlier in setup
2022-02-15 23:50:10 +09:00
Dan Balasescu
bdc3b76df0
Remove beatmap bindable from PlaylistItem
2022-02-15 23:50:08 +09:00
Dan Balasescu
94a974e1c9
Make OnlinePlayBeatmapAvailabilityTracker look up the online beatmap
2022-02-15 23:41:50 +09:00
Dan Balasescu
afcb7a4630
Make DrawableRoomPlaylistItem look up the online beatmap
2022-02-15 23:41:50 +09:00
Dan Balasescu
73ce1b324e
Make DrawableRoom look up the online beatmap
2022-02-15 23:41:50 +09:00
Dan Balasescu
ccd265ebe7
Handle beatmap lookup requests in TestRoomRequestsHandler
2022-02-15 23:41:50 +09:00
Dan Balasescu
a5183cec77
Add helper to construct APIBeatmap
2022-02-15 23:41:08 +09:00
Dan Balasescu
2675bb87ff
Add BeatmapLookupCache as another dependency
2022-02-15 21:05:25 +09:00
Dan Balasescu
c48a0dc993
Move UserLookupCache to online play test dependencies
2022-02-15 20:56:46 +09:00
Dan Balasescu
b2276baf71
Seal OnlinePlayTestScene.CreateChildDependencies()
2022-02-15 20:55:57 +09:00
Dan Balasescu
5b765581d8
Fix free mod selection not showing allowed mods
2022-02-15 16:28:15 +09:00
Dan Balasescu
efeba30b9f
Remove ruleset and mod bindables from PlaylistItem
2022-02-15 16:28:15 +09:00
Dean Herbert
334fe1f120
Add AsSplitQuery
specification to avoid optimisation recommendation log messages
2022-02-15 15:23:17 +09:00
Dean Herbert
8ec28dc8bc
Update OsuDbContext
in line with EF changes
2022-02-15 15:19:50 +09:00
Dean Herbert
28b45fa899
Add assertions against null reference for connection usages
2022-02-15 15:19:50 +09:00
Dean Herbert
60153bb69d
Update nuget packages to highest usable versions
...
EF packages are intentionally pinned to 5.0.14 as higher versions no
longer support `netstandard2.1`, which we require for xamarin projects.
2022-02-15 15:19:23 +09:00
Salman Ahmed
f5d0eb41cb
Update further ChangeFocus
usages
2022-02-15 02:42:39 +03:00
Salman Ahmed
868dcd20f5
Remove e.ShiftPressed
handling for now
...
Broken on macOS, will be handled differently later on as discussed.
2022-02-15 02:21:53 +03:00
Salman Ahmed
9504942cfd
Add test case for distance spacing hotkeys scrolling behaviour
2022-02-15 02:21:53 +03:00
Salman Ahmed
528dc03b8c
Expose distance spacing in IPositionSnapProvider
for updating distance grid
...
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Salman Ahmed
19ee05c232
Add "distance spacing" multiplier for osu! ruleset
...
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Bartłomiej Dach
e45a2ae0fc
Restructure difficulty copy flow to adapt to latest changes
2022-02-14 22:02:37 +01:00