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
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