1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 03:02:54 +08:00
Commit Graph

41668 Commits

Author SHA1 Message Date
Salman Ahmed
20fd458fac Perserve miss animation when followed by a hit at same frame 2023-12-05 21:59:28 +03:00
Salman Ahmed
9496cdf42b Add explanatory note for scheduling 2023-12-05 21:59:28 +03:00
Salman Ahmed
927cfe4257 Fix health processor event leaks 2023-12-05 21:59:28 +03:00
Bartłomiej Dach
88095aaefa
Merge pull request #25637 from smoogipoo/multiplayer-abort
Add ability for the host to abort an in-progress match
2023-12-05 13:51:00 +01:00
Bartłomiej Dach
4644c4e7a2
Remove unused class 2023-12-05 12:43:32 +01:00
Bartłomiej Dach
566d336470
Merge pull request #25679 from peppy/song-select-search-performance
Improve song select search performance
2023-12-05 11:06:31 +01:00
Dean Herbert
8704dc3505
Fix change in filter behaviour 2023-12-05 18:20:27 +09:00
Dean Herbert
5a2240838b
Merge branch 'master' into multiplayer-abort 2023-12-05 17:01:54 +09:00
Dean Herbert
02178d8e61
Remove usage of case-when 2023-12-05 16:58:16 +09:00
Dean Herbert
f317e06da1
Use DangerousActionDialog 2023-12-05 16:54:44 +09:00
Dean Herbert
7b9c9a3bfd
Merge pull request #25675 from vegguid/editor-setup-show-filename
Changed the LabelledFileChooser in the setup to show the file name of the file that is was selected
2023-12-05 16:38:07 +09:00
Dean Herbert
45e499778f
Search terms before performing other criteria checks
Very minor, but putting the more common case towards the
start of the method allows early return.
2023-12-05 15:28:56 +09:00
Dean Herbert
42010574b5
Avoid list construction when doing filtering 2023-12-05 15:26:14 +09:00
Dean Herbert
27e778ae09
Avoid sorting items when already in the correct sort order 2023-12-05 14:47:32 +09:00
Dean Herbert
7fda38d0b0
Use ordinal comparison when searching at song select
Bypasses various overheads. In theory should be fine? (until it's not on some language)
2023-12-05 14:14:13 +09:00
Guido
8756dd25c6 Changed file chooser in resource selection to show file name when file is selected 2023-12-04 22:51:56 +01:00
Salman Ahmed
629e64d50a Fix ArgonHealthDisplay not displaying miss correctly during initial transition 2023-12-04 23:55:31 +03:00
Salman Ahmed
4d82a55594 Remove method for being unused 2023-12-04 23:24:28 +03:00
Salman Ahmed
5723715ea0 Fix ArgonHealthDisplay sometimes behaving weirdly on miss judgements 2023-12-04 23:24:28 +03:00
Susko3
0e47492858 Uncomment net6.0 code and remove old code 2023-12-04 20:17:22 +01:00
Dean Herbert
c5a08a0711
Remove unused using statement 2023-12-04 23:06:08 +09:00
Bartłomiej Dach
5512298d60
Trim unused resolved bindable 2023-12-04 15:01:23 +01:00
Bartłomiej Dach
8754fa40f4
Source autoplay mod from beatmap about to be presented rather than ambient global 2023-12-04 14:42:51 +01:00
Bartłomiej Dach
063694f544
Do not attempt to load gameplay scene if current beatmap is dummy 2023-12-04 14:42:51 +01:00
Bartłomiej Dach
9d39b70e38
Fix endless player not handling load failure 2023-12-04 14:42:51 +01:00
Bartłomiej Dach
055fb5bd8f
Do not set initial activity in skin editor endless player
Seems like an overreach to say that the user is "watching a replay"
there.
2023-12-04 14:42:51 +01:00
Dan Balasescu
8587652869
Fix countdown button being enabled 2023-12-04 11:00:11 +09:00
Dan Balasescu
c2644a5d5e
Correctly implement button enabled state 2023-12-04 10:18:37 +09:00
Dan Balasescu
b56a78c6ec
Adjust with framework changes 2023-12-04 08:51:21 +09:00
Susko3
abb4c943a7 Rename to more readable names 2023-12-01 18:35:57 +01:00
Bartłomiej Dach
30a4e77097
Merge branch 'master' into fix-overlapping-chat-links 2023-12-01 14:30:55 +01:00
Bartłomiej Dach
28aa98ab6a
Merge branch 'master' into cleanup-chat-link-test 2023-12-01 13:34:42 +01:00
Dan Balasescu
f3530a79b1
Add test 2023-12-01 21:34:20 +09:00
Bartłomiej Dach
cdaff30aa6
Update framework 2023-12-01 13:24:51 +01:00
Dan Balasescu
1b0fc8ca9d
Refactor 2023-12-01 20:41:41 +09:00
Dan Balasescu
15c9416244
Rename method 2023-12-01 18:47:40 +09:00
Dan Balasescu
a94180c8c6
Rename LoadAborted -> GameplayAborted, AbortGameplayReal -> AbortMatch 2023-12-01 18:26:59 +09:00
Dan Balasescu
894c31753b
Add initial support for aborting multiplayer games 2023-12-01 15:31:06 +09:00
Susko3
d3517998cf Use common Overlaps() logic
This actually fixes the problem and makes the tests pass
2023-12-01 01:11:10 +01:00
Susko3
30bdd2d4c0 Extract Overlaps() logic to accept generic index and length 2023-12-01 01:07:23 +01:00
Susko3
152c7e513e Ignore overlapping links instead of crashing 2023-12-01 00:54:13 +01:00
Joseph Madamba
d2324cd8f9 Fix chat overlay top bar icon being incorrect 2023-11-30 10:20:01 -08:00
Dean Herbert
3553717cc6
Fix results screen not including slider end misses in tick count 2023-11-29 21:28:25 +09:00
Dean Herbert
1cfcaee121
Reorder badges so that SS shows above others
This isn't perfect and probably needs much more consideration, but let's
at least give the "better" ranks more visibility by bringing them to the
front.

Of note, this is only important due to the changes to osu!catch
accuracy-grade cutoffs, which brings things closer in proximity than
ever before.
2023-11-29 20:29:52 +09:00
Dan Balasescu
295a1b01d6
Adjust catch score grade cutoffs 2023-11-29 19:05:31 +09:00
Dean Herbert
537c9e031d
Merge pull request #25522 from bdach/no-concurrent-connections
Implement flow allowing disconnection from online services when another client instance for same user is detected
2023-11-28 19:09:38 +09:00
Dean Herbert
efb6c30252
Merge branch 'master' into scoring-test-mods 2023-11-28 18:38:50 +09:00
Dean Herbert
51de98f341
Use Logger.Storage rather than locally querying 2023-11-28 17:59:21 +09:00
Dean Herbert
4c2819dbc2
Update button text and make localisable 2023-11-28 17:59:05 +09:00
Dean Herbert
11f1f44237
Add button to compress log files for bug submission 2023-11-27 17:13:11 +09:00
Dean Herbert
ff18f80559
Apply NRT to UpdateSettings 2023-11-27 16:56:11 +09:00
Bartłomiej Dach
874a3706bc
Merge branch 'master' into spinner-glow 2023-11-27 15:06:27 +09:00
Bartłomiej Dach
3f73610ee7
Update framework ^& resources 2023-11-27 15:06:11 +09:00
Bartłomiej Dach
e2d51973ce
Merge pull request #25569 from smoogipoo/legacy-hp-abstraction
Encapsulate common HP logic from osu and catch HP calculations
2023-11-27 14:38:41 +09:00
Bartłomiej Dach
6eebf633c6
Merge pull request #25566 from peppy/show-spectator-fail-2
Fix spectator not immediately showing when a spectated user fails
2023-11-27 13:30:18 +09:00
Dean Herbert
a4be28a2ae
Don't show buttons on fail overlay when player interaction is disabled 2023-11-27 12:25:24 +09:00
Bartłomiej Dach
98ab9853ce
Merge branch 'master' into show-spectator-fail-2 2023-11-27 12:24:59 +09:00
Bartłomiej Dach
e8730fae84
Merge branch 'master' into skin-editor-load-gameplay 2023-11-27 12:14:25 +09:00
Bartłomiej Dach
7e3bb5f8db
Make skin editor overlay dependency nullable to fix tests 2023-11-27 12:09:13 +09:00
Bartłomiej Dach
3f48f4acdf
Remove blank line 2023-11-27 12:06:08 +09:00
Bartłomiej Dach
19639de299
Merge branch 'master' into fix-spectator-quit-2 2023-11-27 11:36:10 +09:00
Bartłomiej Dach
7f788058cd
Revert incorrect xmldoc change 2023-11-27 11:35:10 +09:00
Bartłomiej Dach
1388e492b1
Merge branch 'master' into chat-drag-improvements 2023-11-27 10:46:55 +09:00
Bartłomiej Dach
6f66819e51
Privatise setter 2023-11-27 10:44:50 +09:00
Salman Ahmed
68fca00757 Improve handling of beatmap collection changes in CollectionDropdown
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-11-25 02:40:32 +03:00
Zyf
71e5654b64 Account for legacyAccScore in score conversion 2023-11-24 23:07:27 +01:00
Zyf
27f9dfccc4 Fix scoring-conversion when miss-count is 0 2023-11-24 22:05:24 +01:00
Dean Herbert
a6cf1e5d2e
Make osu! logo do something when in edit submenu 2023-11-25 00:53:25 +09:00
Dean Herbert
a44edfdedd
Fix incorrect sample for top level edit button 2023-11-24 19:37:57 +09:00
Dan Balasescu
8314f656a3
Encapsulate common HP logic from osu and catch HP calculations 2023-11-24 18:32:06 +09:00
Dean Herbert
3015135178
Merge branch 'master' into chat-drag-improvements 2023-11-24 18:13:18 +09:00
Dean Herbert
7153c823e8
Choose a better beatmap if the intro is still playing
Also skip intro time.
2023-11-24 17:47:20 +09:00
Dean Herbert
95229cb336
Show gameplay when loading the skin editor from the main menu 2023-11-24 17:47:20 +09:00
Dean Herbert
290c3d6349
Clean up left-overs 2023-11-24 17:46:23 +09:00
Dean Herbert
3b41480bef
Always show drag bar on mobile 2023-11-24 17:46:02 +09:00
Dean Herbert
de1d921383
Merge branch 'master' into menu-skin-editor-button 2023-11-24 17:39:54 +09:00
Dean Herbert
55df8e81b9
Merge pull request #25560 from peppy/hexacons-sprite-icon
Replace all hexacon lookups with strongly typed properties
2023-11-24 17:38:58 +09:00
Dean Herbert
59800821da
Update framework 2023-11-24 16:44:18 +09:00
Dean Herbert
7600595e5d
Add drag bar on chat overlay to better signal resizability 2023-11-24 16:39:54 +09:00
Dean Herbert
36b45d34f7
Check drag location on mouse down instead of drag start to avoid lenience issues 2023-11-24 16:39:29 +09:00
Dean Herbert
e3217bc82e
Merge branch 'master' into hp-drain-fix-breaks 2023-11-24 15:15:48 +09:00
Dan Balasescu
289cda71b2
Fix inspections 2023-11-24 15:06:51 +09:00
Dean Herbert
7ceb49fbc0
Add extra test coverage and handle case where still at loading screen 2023-11-24 15:05:39 +09:00
Dean Herbert
d3a55d83c0
Schedule FailScore inside onFail instead of onFailComplete 2023-11-24 14:44:57 +09:00
Dean Herbert
ef5dd24589
Update failing test coverage and fix onFail being called too often 2023-11-24 14:44:57 +09:00
Dean Herbert
4ad3cb3b49
Submit and send failed spectator state more aggressively 2023-11-24 14:44:57 +09:00
Dean Herbert
8375dd72d6
Add xmldoc to new AllowFail method 2023-11-24 14:44:57 +09:00
Dean Herbert
ca93fdc94b
Add visualisation of when a spectated player fails
Create a new stack each time for isolation and safety
2023-11-24 14:44:57 +09:00
Dean Herbert
b024065857
Remove implicit schedule of abstract methods in SpectatorScreen
This allows each implementation to have control over scheduling. Without
this, the solo implementation would not be able to handle quit events
while watching a player, as it would push a child (gameplay) screen to
the stack where the `SpectatorScreen` would usually be.
2023-11-24 14:26:09 +09:00
Dean Herbert
ed5375536f
Reduce access to various fields and events in SpectatorClient
Restore some `virtual` specs to appease Moq
2023-11-24 14:26:09 +09:00
Dean Herbert
335e8efff7
Apply NRT to SoloSpecatorScreen 2023-11-24 14:26:09 +09:00
Dean Herbert
dabbdf674b
Rename SoloSpectator to SoloSpectatorScreen 2023-11-24 14:26:08 +09:00
Dean Herbert
4c7d2bb0fb
Apply NRT to SpectatorScreen 2023-11-24 14:26:08 +09:00
Dean Herbert
b8179aa875
Use better(?) icons and full strings 2023-11-24 13:23:47 +09:00
Dean Herbert
a069a673fa
Allow buttons to be displayed on more than one state (and share the back button) 2023-11-24 13:18:17 +09:00
Dean Herbert
1d1b3ca982
Apply NRT to MainMenuButton 2023-11-24 13:18:17 +09:00
Dean Herbert
8ad414488a
Play out previous transforms immediately to avoid flow issues with multiple sub menus 2023-11-24 13:18:17 +09:00
Dean Herbert
7e59a1d0be
Apply NRT to ButtonSystem 2023-11-24 13:18:17 +09:00
Dean Herbert
5905ca6492
Add second level menu for skin editors 2023-11-24 13:18:17 +09:00
Dean Herbert
340227a06d
Replace all hexacon lookups with strongly typed properties 2023-11-24 13:17:39 +09:00
Dean Herbert
95c00f9666
Add HexaconIcons lookup to allow usage with SpriteIcon 2023-11-24 13:17:39 +09:00
Dean Herbert
537b0ae870
Add silly annotation for now (more new r# rules) 2023-11-24 12:47:42 +09:00
Bartłomiej Dach
9541d3d452
Merge pull request #25553 from peppy/skin-player-elements
Allow use of skin username/flag/avatar components outside of gameplay
2023-11-24 11:28:01 +09:00
Bartłomiej Dach
02c794cc1f
Merge pull request #25552 from peppy/fix-r#-inpsections
Fix a couple of new r# inspections
2023-11-24 11:04:08 +09:00
Bartłomiej Dach
ca37e1afc2
Merge branch 'master' into scorev3 2023-11-24 10:37:10 +09:00
Bartłomiej Dach
7590bae445
Rename and comment everything in score migration code
Hopefully, _hopefully_, makes all this a little bit less inscrutable.
2023-11-24 10:34:13 +09:00
Dean Herbert
686afa9697
Merge branch 'master' into fix-combo-handling 2023-11-24 10:30:52 +09:00
Dan Balasescu
10e16e4b04
Fix handling of combo offset without new combo, and incorrect lazer tests 2023-11-24 09:46:06 +09:00
Givikap120
93e3156868 slight format changes 2023-11-24 01:07:37 +02:00
Givikap120
c2a44cf118 Made custom tooltip 2023-11-23 23:30:18 +02:00
Dean Herbert
268b965ee8
Enable NRT on Beatmap 2023-11-23 17:28:16 +09:00
Dean Herbert
5239fee947
Allow use of skin username/flag/avatar components outside of gameplay 2023-11-23 17:15:03 +09:00
Dean Herbert
a80a5be4ec
Fix a couple of new r# inspections 2023-11-23 17:11:40 +09:00
Dean Herbert
9a6857bfad
Merge pull request #25530 from yesseruser/FlagHUD
Fix skin element "PlayerFlag" responding to clicks/hovers
2023-11-23 16:51:09 +09:00
Dean Herbert
191e8c5487
Add note about skin editor reload jank 2023-11-23 16:39:05 +09:00
Dan Balasescu
7bc2d6e6cd
Merge branch 'master' into fix-combo-handling 2023-11-23 16:22:01 +09:00
Dean Herbert
5d367c247c
Merge pull request #25547 from bdach/skin-editor-paste-catching-fire
Fix skin editor crashing when pasting with nothing in clipboard
2023-11-23 16:15:11 +09:00
Dan Balasescu
7998204cfe
Fix combo/combo colouring issues around spinners 2023-11-23 13:54:05 +09:00
Bartłomiej Dach
d4519f74ab
Merge branch 'master' into hp-drain-fix-breaks 2023-11-23 10:31:42 +09:00
Bartłomiej Dach
abbcdaa7f7
Fix skin editor crashing when pasting with nothing in clipboard 2023-11-23 09:55:27 +09:00
Dan Balasescu
30309cdf11
Merge pull request #25415 from Poyo-SSB-forks/unify-ur
Change unstable rate calculation to account for rate-change mods
2023-11-23 09:53:28 +09:00
Dan Balasescu
5b0f8ee9c2
Merge pull request #25546 from bdach/classic-score-overflow
Fix classic scoring overflowing in osu! ruleset due to integer multiplication overflow
2023-11-23 09:03:43 +09:00
Bartłomiej Dach
e28e0ef1cc
Fix classic scoring overflowing in osu! ruleset due to integer multiplication overflow
Closes https://github.com/ppy/osu/issues/25545.
2023-11-23 08:16:25 +09:00
Dean Herbert
52dc02fd32
Merge pull request #25418 from smoogipoo/hp-drain-v1-2
Add `OsuHealthProcessor` that uses the legacy drain rate algorithm
2023-11-23 00:08:20 +09:00
yesseruser
82fec4194d Disabled RecievePositionalInputAtSubTree in PlayerFlag. 2023-11-22 15:45:32 +01:00
yesseruser
08e0279d72 Revert "Renamed UpdateableFlag to ClickableUpdateableFlag."
This reverts commit 671177e871.
2023-11-22 15:25:43 +01:00
yesseruser
be8b59e59d Revert "Created and implemened a BaseUpdateableFlag."
This reverts commit cd7e0bf620.
2023-11-22 15:25:35 +01:00
yesseruser
7bc304f20e Revert "Added a BaseDrawableFlag without a tooltip, and used it."
This reverts commit b2f74325ef.
2023-11-22 15:25:17 +01:00
yesseruser
33de27499a
Merge branch 'master' into FlagHUD 2023-11-22 14:36:20 +01:00
Dan Balasescu
cb4568c4a1
Fix first object after break not starting a new combo 2023-11-22 17:22:48 +09:00
Bartłomiej Dach
f1f820bec3
Merge pull request #25523 from peppy/save-skin-on-screen-change
Save any unsaved changes in the skin editor when game changes screens
2023-11-22 14:19:57 +09:00
Dean Herbert
b30a4ab3a9
Merge pull request #25536 from peppy/combo-commenting
Improve commenting around `IHasCombo` interfaces
2023-11-22 13:28:03 +09:00
Dean Herbert
d86e743745
Merge branch 'master' into login-state-changes-user-profile-overlay 2023-11-22 12:13:49 +09:00
Dean Herbert
ad6af1d9b7
Ensure only run once 2023-11-22 12:03:42 +09:00
Dean Herbert
fe15b26bd2
Refactor to use API state instead of logged in user state 2023-11-22 12:02:37 +09:00
Dean Herbert
04640b6fb0
Improve commenting around IHasCombo interfaces
Following discusion with smoogi IRL.
2023-11-22 10:44:29 +09:00
Poyo
3a0586a8f5 Rewrite backwards assertion 2023-11-21 15:19:04 -08:00
Poyo
0cf925dadf Use better fallback
Seems better to use the rate from a non-gameplay clock than to arbitrarily apply 1.
2023-11-21 15:18:04 -08:00
Bartłomiej Dach
c98be5823d
Update framework 2023-11-22 07:52:28 +09:00
yesseruser
b2f74325ef Added a BaseDrawableFlag without a tooltip, and used it.
The BaseDrawableFlag is used in a BaseUpdateableFlag so the tooltip is not shown, the ClickableUpdateableFlag still shows the tooltip.
2023-11-21 19:51:35 +01:00
yesseruser
cd7e0bf620 Created and implemened a BaseUpdateableFlag.
The tooltip still shows.
2023-11-21 19:27:33 +01:00
yesseruser
671177e871 Renamed UpdateableFlag to ClickableUpdateableFlag. 2023-11-21 19:02:23 +01:00
Clément Burgelin (Zyfarok)
901e45b6a4 Scoring conversion: remove mention of v3 + improve comments 2023-11-21 14:26:07 +01:00
Clément Burgelin (Zyf)
16acec335f
Fix: update score migration of special case to match the new score
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-11-21 11:27:03 +01:00
Dan Balasescu
8302ebcf1a
Remove default DrainRate value 2023-11-21 19:18:02 +09:00
Dean Herbert
aa749aeb73
Save any unsaved changes in the skin editor when game changes screens
Closes https://github.com/ppy/osu/issues/25494.
2023-11-21 17:49:57 +09:00
Bartłomiej Dach
85bddab52b
Refactor OnlineStatusNotifier to be more local 2023-11-21 17:36:29 +09:00
Dean Herbert
21bf288277
Merge pull request #25520 from peppy/context-menu-spacers
Allow context menus to have visible spacers
2023-11-21 16:56:36 +09:00
Bartłomiej Dach
bf972a04ee
Merge pull request #25409 from Tom94/bspline-sliders
Add free-hand drawing of sliders to the editor
2023-11-21 16:28:14 +09:00
Bartłomiej Dach
d83b2e24e7
Merge pull request #25371 from RatinFX/open-editor-timestamp
Implement opening editor timestamp links
2023-11-21 15:48:36 +09:00
Dean Herbert
4b2d8aa6a6
Add ToString on PathType for better test output 2023-11-21 15:38:12 +09:00
Dean Herbert
ba6fbbe43c
Update framework 2023-11-21 15:38:12 +09:00
Dean Herbert
3d094f84ad
Fix incorrect parsing of BSpline curve types 2023-11-21 15:38:12 +09:00
Bartłomiej Dach
aa3ff151c0
Fix RoomManager attempting to part room when not online 2023-11-21 15:15:46 +09:00
Bartłomiej Dach
42fada578e
Centralise and improve messaging around online state
When the server requests a disconnect due to a user connecting
via a second device, the client will now log the user out on the first
device and show a notification informing them of the cause of
disconnection.
2023-11-21 15:15:46 +09:00
Bartłomiej Dach
2391035e49
Remove redundant api field from HubClientConnector 2023-11-21 15:15:46 +09:00
Bartłomiej Dach
1c612e2e0c
Implement client-side disconnection flow 2023-11-21 15:15:45 +09:00
Dean Herbert
7c5345bf7e
Use SimpleErrorNotification for error display 2023-11-21 15:10:41 +09:00
Dean Herbert
917a68eac3
Adjust localisablel strings and keys 2023-11-21 15:08:15 +09:00
Dean Herbert
405ab499e9
Allow context menus to have visible spacers 2023-11-21 14:24:10 +09:00
Stedoss
ec7b82f5e8 Change early return to check for online State instead of IsLoggedIn 2023-11-21 01:55:08 +00:00
Stedoss
5514a53df1 Pass ruleset to callback to prevent ruleset desync 2023-11-21 01:04:46 +00:00
Bartłomiej Dach
b6215b2809
Rename and document SelectFromTimestamp 2023-11-20 21:57:14 +09:00
Bartłomiej Dach
234ef6f923
Rectify selection keep-alive logic 2023-11-20 21:57:14 +09:00
Bartłomiej Dach
246aacb216
Remove unnecessary guard
Setting a bindable's value to something if that value is already there
is a no-op (doesn't trigger bindings / callbacks).
2023-11-20 21:57:14 +09:00
Bartłomiej Dach
0e0ab66148
Simplify parsing code
Less methods, less smeared around logic, saner data types.
2023-11-20 21:57:12 +09:00
Bartłomiej Dach
c9e8d66e19
Improve xmldoc 2023-11-20 21:02:12 +09:00
Dean Herbert
ded9981d07
Update framework 2023-11-20 17:55:01 +09:00
Bartłomiej Dach
8e39dbbff1
Adjust casing of curve type menu items
The "Perfect curve" one in particular... fixes test failures, as some
tests were relying on this particular casing. But the new version feels
more correct anyway, so it's whatever.
2023-11-20 15:42:55 +09:00
Bartłomiej Dach
6d7d826b8b
Fix incorrect legacy conversion when B-splines are used 2023-11-20 15:08:58 +09:00
Bartłomiej Dach
80a3225bb2
Use static BEZIER instead of allocating new every time 2023-11-20 13:35:07 +09:00
Bartłomiej Dach
487326a4c7
Remove pattern matching syntax usage in switch
Also throw on unknown types.
2023-11-20 13:34:01 +09:00
Bartłomiej Dach
5d1bac6d7a
Remove IToolboxAttachment for now
The interface doesn't really do anything useful right now because
it enforces a common contract, but all usages of the contract
go through the concrete implementation, and it inflates
the already-huge diff.
2023-11-20 13:17:43 +09:00
Bartłomiej Dach
7820c8ce4d
Decrease redundancy of equality implementations 2023-11-20 12:28:20 +09:00
Bartłomiej Dach
25c1a90047
Change switchexpr to standard switch statement 2023-11-20 12:26:45 +09:00
Bartłomiej Dach
577cb9994c
Move static instances / construction methods closer together 2023-11-20 12:26:43 +09:00
Bartłomiej Dach
33b592f1c7
Update framework (again) 2023-11-20 12:04:30 +09:00
Bartłomiej Dach
b6e3e42445
Merge branch 'master' into bspline-sliders 2023-11-20 12:03:29 +09:00
Clément Burgelin (Zyfarok)
1f88658bad Fix syntax 2023-11-20 03:05:46 +01:00
Stedoss
bfcca38200 Handle login API state changes in UserProfileOverlay 2023-11-20 02:00:57 +00:00
Zyf
432b88674b Scoring : change formula parameters to match survey results 2023-11-20 00:02:58 +01:00
Zyf
cadd9b4ace Merge remote-tracking branch 'upstream/master' into scorev3 2023-11-19 23:53:05 +01:00
Poyo
d9cd546377 Use rate fallback in DrawableHitObject 2023-11-18 12:09:37 -08:00
Dean Herbert
6fa7b4f552
Merge branch 'master' into hp-drain-v1-2 2023-11-17 18:33:03 +09:00
Dean Herbert
bd932a5417
Update localisation analyser
Pulls in https://github.com/ppy/osu-localisation-analyser/pull/60.
2023-11-17 17:07:21 +09:00
Dean Herbert
9172632b0b
Rename method and adjust xmldoc to be very explicit about how wrong this is 2023-11-17 17:04:20 +09:00
Dean Herbert
d1cea10f21
Add note about localisation 2023-11-17 16:52:40 +09:00
Dean Herbert
7472dc9bb5
Update APIState checks 2023-11-16 20:39:23 +09:00
Dean Herbert
b88e3cd26f
Change ResourceStore provided to Skin to be a fallback, not replacement 2023-11-16 20:19:01 +09:00
Dean Herbert
167f5b4ef4
Tidy up localisations and connect missing links 2023-11-16 18:28:46 +09:00
Dean Herbert
f7fa9c90d6
Add test coverage of 2FA flow 2023-11-16 18:18:40 +09:00
Dean Herbert
285f740e2a
Update various components to handle new state 2023-11-16 18:18:15 +09:00
Dean Herbert
0e4244a692
Add APIAccess flow for 2fa 2023-11-16 18:18:15 +09:00
Dean Herbert
c4e461ba44
Add two factor auth form 2023-11-16 18:18:15 +09:00
Dean Herbert
e9d4cf2e24
Setup basic form flow 2023-11-16 18:18:15 +09:00
Dean Herbert
80c879e5eb
Adjust member ordering in LoginForm 2023-11-16 18:18:15 +09:00
Dean Herbert
85e303ec54
Add two factor step to api state flow 2023-11-16 18:18:15 +09:00
Dean Herbert
87a76b9ee8
Merge pull request #25478 from Joehuu/fix-comment-markdown
Fix `CommentMarkdownTextFlowContainer` not inheriting osu! class
2023-11-16 17:39:35 +09:00
Dean Herbert
0a8ede6274
Merge pull request #25469 from Joehuu/argon-hide-counter-labels
Add ability to toggle labels on argon counter components
2023-11-16 17:01:03 +09:00
Bartłomiej Dach
1e2f1b3ef2
Merge branch 'master' into unload-main-menu-storyboard 2023-11-16 15:46:44 +09:00
Bartłomiej Dach
dbd4f26436
Use alternative method of scheduling storyboard unload 2023-11-16 15:37:53 +09:00
Dean Herbert
b45872d2e0
Merge branch 'master' into argon-hide-counter-labels 2023-11-16 14:20:13 +09:00
Dean Herbert
73eda6c09c
Move non-matching default value to argon skin default speficiation instead 2023-11-16 14:18:49 +09:00
Dean Herbert
39a3313929
Update tooltip description slightly 2023-11-16 14:11:01 +09:00
Joseph Madamba
dc2d574965 Fix comment markdown image not showing tooltips 2023-11-15 19:50:32 -08:00
Joseph Madamba
2b19cf6ce4 Fix comment markdown style regression 2023-11-15 19:50:32 -08:00
Poyo
a73c870712 Allow GameplayRate to be nullable and assert before use 2023-11-15 17:00:35 -08:00
Dean Herbert
7f90db7603
Merge pull request #25472 from bdach/argon-health-folding-in-on-self
Fix argon health bar folding in on itself when too narrow
2023-11-15 19:02:30 +09:00
Dean Herbert
2987c0e802
Add note about enfocing size methodology 2023-11-15 19:01:52 +09:00
Dean Herbert
189fca2eb6
Merge pull request #25339 from joshika39/change-clickable-avatars-tooltip-for-usergrid
Add `UserGridPanel` as the `ClickableAvatar` tooltip
2023-11-15 18:01:24 +09:00
Joseph Madamba
7b987266d5
Change behavior of some clickable avatars in line with web 2023-11-15 17:22:36 +09:00
Joshua Hegedus
deef8998f7
reverted the change 2023-11-15 17:22:36 +09:00
Joshua Hegedus
aa9deecafe
added missing comment, fixed incorrect visibility 2023-11-15 17:22:36 +09:00
cs
520642975b Fix control point hover text and context menu 2023-11-15 07:45:09 +01:00
Bartłomiej Dach
8cd1f08a92
Fix argon health bar folding in on itself 2023-11-15 15:42:45 +09:00
Joseph Madamba
62352ce5f3 Add ability to toggle labels on argon counter components 2023-11-14 20:46:42 -08:00
Joseph Madamba
87ace7565d Use existing localisation for argon counter component labels 2023-11-14 20:44:33 -08:00
Bartłomiej Dach
159cf41f82
Fix default argon health bar width being zero
Closes #25460.
2023-11-15 12:53:09 +09:00
Dean Herbert
2264e1e249
Change default value and range of BoxElement's corner radius to match other usages 2023-11-15 10:45:01 +09:00
Dean Herbert
74fb1b5f81
Rename property to match expctations 2023-11-15 10:40:59 +09:00
Joseph Madamba
535282ba7d Use existing localisation for corner radius in BoxElement 2023-11-14 14:13:20 -08:00
Poyo
f5e1734de9 Use soft-cast to access IGameplayClock 2023-11-14 13:51:55 -08:00
Bartłomiej Dach
711bf14c06
Merge pull request #25443 from peppy/fix-argon-custom-skins
Fix customised argon skins no longer loading due to incorrect resource store specification
2023-11-14 23:11:39 +09:00
Dean Herbert
9a7d7dda2a
Update resources 2023-11-14 23:04:11 +09:00
Dean Herbert
a745642f76
Fix customised argon skins no longer loading due to incorrect resource store spec 2023-11-14 22:01:56 +09:00
Bartłomiej Dach
83f8f03c7e
Fix argon health bar not relative sizing correctly 2023-11-14 21:54:06 +09:00
Bartłomiej Dach
70d2de5669
Move song select touch detector to solo implementation
It should not run in multiplayer. Even if we wanted to allow touch-only
playlist items at some point, the current behaviour of multiplayer song
selects with respect to touch device mod is currently just broken.
2023-11-14 16:35:16 +09:00
Bartłomiej Dach
69c2c0e427
Fix touch device mod declared valid for multiplayer
Mostly matters for web, so that it doesn't permit creation of playlist
items with touch device inside.
2023-11-14 16:30:10 +09:00
Dan Balasescu
e3137d575b
Fix osu! and base HP processor break time implementation 2023-11-14 01:11:17 +09:00
cs
fa976a5aa0 Fix code style/quality issues 2023-11-13 08:25:27 +01:00
Dean Herbert
8ad8764947
Update framework 2023-11-13 14:06:18 +09:00
Dan Balasescu
98e6b7744b
Cleanup 2023-11-13 13:46:47 +09:00
Poyo
f794d4dc83 Allow gameplayClock to be null 2023-11-12 13:29:40 -08:00
Poyo
e67725f5d6 Use IGameplayClock for rate 2023-11-12 12:14:19 -08:00
Givikap120
26d493986c Fixed precision and updated AdvancedStats 2023-11-12 18:05:18 +02:00
ratinfx
fab6fc9adb Updated comments, renamed method 2023-11-12 15:09:15 +01:00
Bartłomiej Dach
bb2f38d189
Merge pull request #25411 from peppy/fix-key-counter-sizing-woes
Refactor `KeyCounterDisplay` to use autosize
2023-11-12 20:47:55 +09:00
Dean Herbert
469b9e2546
Increase size and adjust positioning of max combo display in argon skin 2023-11-12 17:28:15 +09:00
Dean Herbert
798e677c09
Refactor KeyCounterDisplay to use autosize
A previous attempt at this was unsuccessful due to a partially
off-screen elements not getting the correct size early enough (see
https://github.com/ppy/osu/issues/14793). This can be accounted for by
setting `AlwaysPresent` when visibility is expected.

This fixes [test failures](https://github.com/ppy/osu/actions/runs/6838444698/job/18595535795)
due to the newly added `Width` / `Height` being persisted with
floating-point errors (by not persisting the values in the first place,
via `AutoSize.Both`).
2023-11-12 17:19:25 +09:00
Dean Herbert
4df1eb1b37
Refactor logic and tooltip formatting 2023-11-12 16:19:55 +09:00
Dean Herbert
6bd5eda2a0
Merge branch 'master' into arod_rate_adjust 2023-11-12 15:49:07 +09:00
ratinfx
c367697559 Changed TIME_REGEX to accept everything in the parentheses
- changed osu-web link to the current value
2023-11-11 16:14:26 +01:00
cs
54b8244a18 CI Fixup 2023-11-11 15:02:06 +01:00
Dean Herbert
04a16b3596
Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-11 22:38:39 +09:00
ratinfx
4e1e19728c Refactor HitObject selection in Composer 2023-11-11 14:02:42 +01:00
cs
3f85aa79c5 Add free-hand drawing of sliders to the editor 2023-11-11 13:33:25 +01:00
Thomas Müller-Höhne
926636cc03 Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01:00
Bartłomiej Dach
ea556abad8
Merge branch 'skin-size-editing' into gameplay-hud-redesign/counters 2023-11-11 21:28:29 +09:00
Bartłomiej Dach
50789d2e18
Fix song progress bars not sizing vertically properly 2023-11-11 21:28:04 +09:00
Bartłomiej Dach
870e4ce27e
Fix argon health display not handling invalidation correctly 2023-11-11 20:42:45 +09:00
Dean Herbert
b0aa4a4257
Add "export" item to skin editor menu 2023-11-11 20:34:35 +09:00
Bartłomiej Dach
b7972e3c84
Merge branch 'skin-size-editing' into gameplay-hud-redesign/counters 2023-11-11 20:16:14 +09:00
Dean Herbert
ed59a379f1
Merge pull request #25407 from peppy/update-framework
Update framework
2023-11-11 20:15:07 +09:00
Bartłomiej Dach
8d7539ab70
Merge branch 'master' into skin-size-editing 2023-11-11 19:56:09 +09:00
Dean Herbert
61d336521d
Update framework 2023-11-11 19:48:56 +09:00
Bartłomiej Dach
2428a97d44
Fix editor not clearing undo history on skin change 2023-11-11 18:49:44 +09:00
Poyo
064857c40b Calculate unstable rate using rate-adjusted offsets 2023-11-10 19:57:44 -08:00
Salman Ahmed
96da7a07bb Add detailed explaination on existence of ScheduleUntilTransitionEnd 2023-11-11 02:57:29 +03:00
Salman Ahmed
bb912bc616 Avoid spinning another load thread on initial storyboard load 2023-11-11 02:57:17 +03:00
Salman Ahmed
080f13e34d Schedule outside of UnloadStoryboard and fix disposal happening on update thread 2023-11-11 02:56:45 +03:00
Givikap120
60c3e7250b fixed naming incconvinence 2023-11-10 15:13:40 +02:00
Givikap120
d0d334a371 Update Ruleset.cs 2023-11-10 15:05:26 +02:00
Givikap120
9ef34fa51a FIxed stated problems 2023-11-10 15:02:15 +02:00
Dean Herbert
57cd5194ce
Flip comparison to allow non-composite drawables to still get resized 2023-11-10 20:00:20 +09:00
Bartłomiej Dach
b7acbde719
Only store width/height of serialised drawable if it isn't automatically computed 2023-11-10 19:12:26 +09:00
Dan Balasescu
fecc6f580b
Add legacy reference health processor 2023-11-10 18:40:21 +09:00
Bartłomiej Dach
fbf94214a5
Fully delegate tooltip show/hide logic 2023-11-10 18:36:09 +09:00
Bartłomiej Dach
26eae0bdee
Remove unused using directive 2023-11-10 18:25:39 +09:00
Bartłomiej Dach
43a4b34295
Fix typo 2023-11-10 18:20:14 +09:00
Bartłomiej Dach
c522a703eb
Merge branch 'master' into skin-size-editing 2023-11-10 18:19:27 +09:00
Bartłomiej Dach
374e13b496
Remove argon health display bar length setting
It is no longer needed.

Intentionally not doing backwards migration to simplify things; users
can fix their skins.
2023-11-10 18:18:58 +09:00
Bartłomiej Dach
2c1f304f3b
Fix test failures due to fluctuations in needlessly-serialised automatic sizings 2023-11-10 18:13:36 +09:00
Dean Herbert
1c63f1f89d
Merge pull request #25348 from bdach/less-basic-touchscreen-detection
Implement basic touchscreen detection
2023-11-10 18:01:40 +09:00
Bartłomiej Dach
36d0bae42d
Restore mention of dependency on another ctor param 2023-11-10 17:57:16 +09:00
Dean Herbert
35e11c7c63
Rename diagonal scale variable and update xmldoc 2023-11-10 17:55:02 +09:00
Dean Herbert
f25489cc7b
Check X/Y sizing available separately to fix weird edge cases 2023-11-10 17:54:43 +09:00
Dean Herbert
46a219e010
Add comment explaining AutoSize change in LegacySongProgress 2023-11-10 17:53:52 +09:00
Dean Herbert
a02aeed50a
Adjust combo animation slightly 2023-11-10 16:53:16 +09:00
Dean Herbert
67312a2db9
Remove ArgonScoreWedge and use ArgonWedgePiece directly 2023-11-10 16:53:16 +09:00
Dean Herbert
b4ec62473e
Remove width/height bindables from ArgonWedgePiece 2023-11-10 16:53:15 +09:00
Dean Herbert
7c4e9506da
Merge pull request #25399 from Susko3/mobile-touch-settings
Show touch input settings on mobile
2023-11-10 16:25:01 +09:00
Dean Herbert
7db14baed7
Update resources 2023-11-10 16:20:05 +09:00
Dean Herbert
60df2722ab
Rename RoundedLine to BoxElement and make more generically useful 2023-11-10 16:20:05 +09:00
Dean Herbert
4f90ac15fa
Reduce the default wireframe opacity a bit 2023-11-10 15:53:05 +09:00
Dean Herbert
7e0b41219c
Change animation to only affect number portion, add miss animation 2023-11-10 15:53:05 +09:00
Dean Herbert
e861681cd4
Adjust argon rolling easings 2023-11-10 15:53:05 +09:00
Dean Herbert
7c3a626f4b
Add basic animation for combo counter 2023-11-10 15:53:05 +09:00
Dean Herbert
6c1d48dfaf
Remove unused function 2023-11-10 15:53:05 +09:00
Dean Herbert
99d9db5b76
Use a better default size for line 2023-11-10 15:53:05 +09:00
Dean Herbert
f31c1c9c79
Rename and move skinnable line component to a more commomn place 2023-11-10 15:53:05 +09:00
Dean Herbert
175dae49c6
Reset scale per axis 2023-11-10 14:43:51 +09:00
Dean Herbert
0add035c67
Disable resizing of LegacySongProgress
Because it looks bad.
2023-11-10 14:31:02 +09:00
Dean Herbert
fb361a4e0a
Reset size along with scale for relative items 2023-11-10 14:25:55 +09:00
Dean Herbert
ec3b6e47fb
Change selection handling to adjust Size instead of Scale for edge nodes 2023-11-10 14:22:28 +09:00
Dean Herbert
b0c5b3cb10
Add Size to serialised components of a SerialisedDrawableInfo 2023-11-10 14:22:20 +09:00
Dean Herbert
7fc2050f72
Rename variables and mak seconary tooltip type work again 2023-11-10 11:52:34 +09:00
Salman Ahmed
d3af3c615f Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-10 01:04:03 +03:00
Salman Ahmed
6f5d905ce7 Update argon accuracy counter design 2023-11-10 01:02:05 +03:00
Salman Ahmed
59998b507a Hide background sprite when storyboard finishes loading 2023-11-09 23:23:57 +03:00
Salman Ahmed
e947158969 Remove fade out transition
Unnecessary addition from this PR, makes the background fade to ugly black during transition between screens.
2023-11-09 23:03:30 +03:00
Salman Ahmed
768a31b2f5 Fix background crash on a beatmap with no storyboard 2023-11-09 22:57:20 +03:00
Salman Ahmed
bd8409219f Unload beatmap storyboard background when no longer present 2023-11-09 17:20:11 +03:00
Susko3
1b08f317fb Show touch input settings on iOS
This does not cover android since `TouchHandler` is SDL-based.
2023-11-09 15:12:24 +01:00
Susko3
0c4c9aa4b5 Show touch taps setting in player loader on mobile platforms 2023-11-09 14:52:33 +01:00
Susko3
51cf85a9ab Add touch input settings to android
Also updates touch settings so the touch handler can't be disabled on mobile.
2023-11-09 14:52:15 +01:00
Dean Herbert
615d8384ab
Refactor everythign back to sanity 2023-11-09 22:31:28 +09:00
Joshua Hegedus
4900a91c60
fixed static analysis problems and finished the implementation 2023-11-09 13:27:09 +01:00
Joshua Hegedus
ccb9ff826a
fixed tests 2023-11-09 13:09:59 +01:00
Dean Herbert
92043f45a4
Merge branch 'master' into slider-combo-matching-2 2023-11-09 18:45:37 +09:00
Dean Herbert
02966bc02f
Merge branch 'master' into change-clickable-avatars-tooltip-for-usergrid 2023-11-09 18:19:23 +09:00
Dean Herbert
67dc3aa5b7
Merge pull request #25366 from Susko3/better-touch-settings
Add "disable taps during gameplay" to touch input settings and related UI
2023-11-09 18:19:02 +09:00
Dean Herbert
e3e752b912
Update resources 2023-11-09 17:56:58 +09:00
Bartłomiej Dach
63a0ea5410
Fix PlayerTouchInputDetector applying touch device mod when other inactive mods present 2023-11-09 17:51:01 +09:00
Bartłomiej Dach
13b599b9b6
Merge branch 'master' into less-basic-touchscreen-detection 2023-11-09 17:36:48 +09:00
Jamie Taylor
8a47f05b16
Always play 'swoosh' sample when transitioning back to logo 2023-11-09 14:01:33 +09:00
Jamie Taylor
f69c2ea39b
Implement sample choking/muting for ButtonSystem samples 2023-11-08 22:21:24 +09:00
Jamie Taylor
f0a1df06ac
Add 'swoosh' samples to accentuate MainMenu animations 2023-11-08 22:21:24 +09:00
Jamie Taylor
17aa079cb1
Use new tiered 'back' samples 2023-11-08 22:21:24 +09:00
Jamie Taylor
fc1a0cf645
Update ButtonSystem to use new sample names 2023-11-08 22:21:24 +09:00
Dean Herbert
5ac285ed2f
Merge pull request #25380 from frenzibyte/fix-create-difficulty-crash
Fix editor crash when creating a new difficulty in a non-existent beatmap
2023-11-08 18:56:00 +09:00
Dean Herbert
626cfae3fe
Merge pull request #25386 from EVAST9919/bar-graph-smooth
Ensure `BarGraph`'s draw quad is thick enough
2023-11-08 17:24:37 +09:00
Dean Herbert
6c6baab115
Reword comment to explain why 2023-11-08 16:41:30 +09:00
Joseph Madamba
c8d276281a Fix flags not showing on kudosu rankings
The `country` attribute is optional and not included in the kudosu rankings response so use `country_code` instead.
2023-11-07 16:09:48 -08:00
Joseph Madamba
387de7ec24 Add ability to view kudosu rankings 2023-11-07 15:58:17 -08:00
Salman Ahmed
2ef17c56b1 Remove unused local 2023-11-08 02:13:35 +03:00
Salman Ahmed
18c71c95cc Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-08 02:12:37 +03:00
Salman Ahmed
07b7e13633 Place health display in front of the score wedge 2023-11-08 02:07:24 +03:00
Salman Ahmed
4de5454538 Bring back left-side line next to health display
Makes the score counter not look weird when it reaches 8 digits
2023-11-08 02:07:15 +03:00
Salman Ahmed
fdc714a248 Support percentages and ignore dot characters in wireframes part 2023-11-08 02:06:14 +03:00
Salman Ahmed
d30bac3f49 Move "required display digits" feature to reside in argon score counter 2023-11-08 02:06:14 +03:00
Salman Ahmed
e6d3085353 Update accuracy counter design 2023-11-08 02:06:14 +03:00
Salman Ahmed
cbea2db4be Support absolute-sized health bar and use it for default layout 2023-11-08 02:06:14 +03:00
Andrei Zavatski
b092b0093a Make sure bar draw quad is thick enough 2023-11-07 17:43:40 +03:00
Dean Herbert
c00a1d948a
Merge branch 'master' into better-touch-settings 2023-11-07 23:21:59 +09:00
Dean Herbert
3e257f1e6c
Remove unused using statements 2023-11-07 23:21:51 +09:00
Susko3
fcd73e62d2 Remove mobile specific changes
Will be added back in a separate PR
2023-11-07 13:06:14 +01:00
ratinfx
544d5d1d86 Forgot a clock.Stop call 2023-11-07 12:23:22 +01:00
ratinfx
bdbeb2bce4 Renamed CollectionChanged event handler 2023-11-07 11:11:32 +01:00
ratinfx
aa87e0a44d HitObject Selection logic and separation for gamemodes
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
ratinfx
44f127c8a8 Renamed method and made private 2023-11-07 01:02:45 +01:00
ratinfx
0834b79cc7 Renamed method and moved Notifications inside 2023-11-07 00:56:24 +01:00
Susko3
7385c3c97b Move InputSettings children creation code to BDL
- Avoids now obsolete variable name
- Makes changing to touch detection easier (access to session statics in BDL)
2023-11-07 00:17:15 +01:00
Susko3
05d9418718 Rename setting to TouchDisableGameplayTaps for better visibility when searching 2023-11-07 00:13:46 +01:00
Salman Ahmed
0dbba13686 Split argon score sprite text and update combo counter design 2023-11-07 01:59:36 +03:00
Salman Ahmed
7c1c62ba8a Remove argon combo wedge and update combo counter position 2023-11-07 01:59:36 +03:00
Salman Ahmed
ce36884ef0 Make score wireframes display up to required digits count 2023-11-07 01:59:36 +03:00
Salman Ahmed
4c7db4c262 Make score counter right-aligned 2023-11-07 01:59:36 +03:00
Salman Ahmed
754e05213c Update argon score wedge design 2023-11-07 01:59:36 +03:00
Salman Ahmed
01e59d134a Adjust health bar settings on default components initialiser to match new layout 2023-11-07 01:59:36 +03:00
Susko3
a4ac50cf86 Revert "Rename popup/binding string to Toggle gameplay clicks/taps"
This reverts commit 0d8bfedf5d.
2023-11-06 21:10:04 +01:00
Dean Herbert
ed02335e3e
Merge pull request #25377 from bdach/system-mod-better-colours 2023-11-07 05:08:47 +09:00
Susko3
f8b5ecc92a Update UI to use the new setting 2023-11-06 21:07:15 +01:00
Susko3
ea357bafdd Fix tests by using the correct setting for touch input 2023-11-06 20:53:22 +01:00
Susko3
d6e7145e1c Add new setting for GameplayDisableTaps 2023-11-06 20:42:40 +01:00
Salman Ahmed
b2749943e2 Display "required save" popup when creating another difficulty on a new beatmap 2023-11-06 21:54:40 +03:00
Bartłomiej Dach
a136f272cf
Just use yellow for system mods 2023-11-06 16:40:57 +01:00
Joshua Hegedus
f897c21b3f
partial change 2023-11-06 15:25:12 +01:00
Joshua Hegedus
a01f6187f4
testing the tooltip 2023-11-06 14:52:06 +01:00
Bartłomiej Dach
4bc36a6c90
Fix unused variable 2023-11-06 12:18:02 +01:00
Joshua Hegedus
034f53da4b
added isEnabled to tooltip 2023-11-06 11:54:57 +01:00
Bartłomiej Dach
39ad91feea
Make debug input toggle post notifications 2023-11-06 11:50:04 +01:00
Bartłomiej Dach
6deac9a5a4
Use better colours for system mods 2023-11-06 11:41:23 +01:00
Dean Herbert
51c891e2e4
Automatically refresh the verify screen's issue list on re-entering it
Addresses https://github.com/ppy/osu/discussions/25365.
2023-11-06 19:34:36 +09:00
Bartłomiej Dach
682668ccf0
Remove touch device toasts entirely 2023-11-06 10:54:32 +01:00
Bartłomiej Dach
204cd541e2
Use placeholder mod icon for touch device 2023-11-06 10:14:56 +01:00
Bartłomiej Dach
97fee6143c
Rename touch "input handlers" to detectors 2023-11-06 10:08:19 +01:00
Bartłomiej Dach
408ae84111
Merge pull request #25375 from peppy/reset-rotation-skin-editor
Add skin editor dropdown items to reset rotation and scale
2023-11-06 09:38:48 +01:00
Bartłomiej Dach
41cd9a4db6
Merge pull request #25374 from peppy/add-skinnable-player-name
Add player name skin component
2023-11-06 09:34:11 +01:00
Joshua Hegedus
4a70f2435c
fixed showUsernameTooltip 2023-11-06 09:22:50 +01:00
Joshua Hegedus
b45d8c785c
fixed review findings 2023-11-06 08:38:34 +01:00
Dean Herbert
0915ac8891
Use left aligned text for non-rotate key counter 2023-11-06 16:32:12 +09:00
Dean Herbert
1f0b914251
Add skin editor dropdown items to reset rotation and scale 2023-11-06 16:18:33 +09:00
Dean Herbert
40d081ee2d
Add note about Width requirement in UserGridPanel 2023-11-06 16:05:50 +09:00
Bartłomiej Dach
7ba07ab530
Add protections against handling system mods in mod presets 2023-11-06 08:05:42 +01:00
Bartłomiej Dach
3c72c5bccd
Steer touch input flag via bindable rather than config manager 2023-11-06 07:48:09 +01:00
Bartłomiej Dach
11bd801795
Use more intelligent default for TouchInputActive 2023-11-06 07:44:25 +01:00
Dean Herbert
e2b07628fb
Add player name skin component
3 minute implementation.

Addresses https://github.com/ppy/osu/discussions/25340.
2023-11-06 15:24:16 +09:00
ratinfx
277cf7dc12 Ensure every SelectedItem is alive and has Blueprint 2023-11-05 18:26:51 +01:00
Susko3
9947897c5f Use appropriate clicks/taps text in player loader input settings 2023-11-05 12:53:40 +01:00
Susko3
0d8bfedf5d Rename popup/binding string to Toggle gameplay clicks/taps 2023-11-05 12:44:22 +01:00
Susko3
fa1d1df594 Rename mouse button string to Disable clicks during gameplay 2023-11-05 12:43:14 +01:00
Susko3
86fb33cb90 Add disable taps checkbox to touch input settings 2023-11-05 12:40:06 +01:00
Salman Ahmed
1d4f4cf4c3 Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-05 02:02:36 +03:00
Salman Ahmed
6c3169a0ed Remove PP wedge and logic for gameplay layout 2023-11-05 01:56:54 +03:00
Salman Ahmed
a23dfbeab5 Revert "Abstractify PP counter logic from the "Triangles" implementation"
This reverts commit daf4a03fd0.
2023-11-05 01:55:54 +03:00
Salman Ahmed
58a830fc5b Revert "Add "Argon" performance points counter"
This reverts commit 56eeb117ce.
2023-11-05 01:55:54 +03:00
Salman Ahmed
1c844a155e Remove health line detail 2023-11-05 01:55:54 +03:00
Salman Ahmed
91cf237fc1 Revert health display settings changes 2023-11-05 01:55:54 +03:00
ratinfx
7492d953ae Moved error checks into Editor
- Invoke Action on error to Notify user
- added some comments
2023-11-04 21:17:58 +01:00
Givikap120
d0b2b4f7b9 Update AdvancedStats.cs 2023-11-04 21:57:42 +02:00
Givikap120
820519c37d improved tooltip 2023-11-04 21:55:46 +02:00
Joshua Hegedus
ec290ae953
added tests 2023-11-04 19:03:23 +01:00
Joshua Hegedus
a70bfca501
added usergrid for tooltip 2023-11-04 17:57:37 +01:00
Givikap120
440d57fb48 Basic rate-adjust tooltip 2023-11-04 17:47:02 +02:00
Givikap120
57170501cd Improve code quality 2023-11-04 17:25:09 +02:00
ratinfx
60f62faec3 Renamed Editor method 2023-11-04 03:30:38 +01:00
ratinfx
f854e78bb0 Added ExclamationTriangle Icon to notifications 2023-11-04 03:29:05 +01:00
ratinfx
43ab7f4942 Added OpenEditorTimestamp base implementation 2023-11-04 02:01:18 +01:00
Joseph Madamba
16731ff85f
Fix text positioning 2023-11-02 20:42:28 -07:00
Joseph Madamba
b3dfe19472
Fix UprightAspectMaintainingContainer not being centred 2023-11-02 20:42:28 -07:00
Joseph Madamba
090601b485
Apply peppy's upright key counter attempt diff
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-11-02 20:42:23 -07:00
Bartłomiej Dach
a78fab0e7d
Do not hardcode ruleset name in touch device detection toast 2023-11-03 00:17:29 +01:00
Bartłomiej Dach
a613292802
Fix unknown mod test failure 2023-11-02 23:44:40 +01:00
Bartłomiej Dach
8e9006b5d5
Declare Touch Device incompatible with Autopilot
With Autopilot active, Touch Device no longer matters.
2023-11-02 22:57:05 +01:00
Bartłomiej Dach
0dd0a84312
Move player touch handler to SubmittingPlayer
Shouldn't be there in `ReplayPlayer`.
2023-11-02 22:56:43 +01:00
Bartłomiej Dach
8784dd42c0
Do not attempt to turn on Touch Device in song select with autoplay active 2023-11-02 22:56:43 +01:00
Bartłomiej Dach
3a6d65d395
Touch up PlayerTouchInputHandler 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
4532d0ecdf
Add logging & debug facility for touch input interceptor 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
c588f434e5
Fix song select touch handler causing crashes when song select is suspended 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
ef555ed0cf
Fix test failures 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
f2df02b60f
Automatically activate touch device mod in player 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
2f6ff893b5
Automatically activate and deactivate touch device mod in song select 2023-11-02 19:45:48 +01:00
Bartłomiej Dach
980c900f43
Add component for game-wide touch detection 2023-11-02 19:32:56 +01:00
Bartłomiej Dach
68efb3c110
Mark ModTouchDevice as always valid for submission 2023-11-02 19:25:57 +01:00
Bartłomiej Dach
9f11a04cc7
Generalise notion of 'touch device' mod 2023-11-02 19:14:05 +01:00
Dean Herbert
818432fab4
Fix non-classic osu! combo not matching expectations 2023-11-02 19:27:55 +09:00
Dean Herbert
57d8b5ddc9
Merge pull request #25328 from bdach/mod-cleanups-docs
Clean up mod usability flags
2023-11-01 15:48:47 +09:00
Bartłomiej Dach
a90f8dd4f6
Seal a few more multiplayer playability flags of rate-changing mods
Not really changing anything, just tightening things down to curb
possible funny business.
2023-10-31 16:20:33 +01:00
Bartłomiej Dach
955e2ed051
Seal UnknownMod
Not a class for extension.
2023-10-31 16:18:09 +01:00
Bartłomiej Dach
a644c75957
Mark ModScoreV2 as invalid for multiplayer
Doesn't do much for the client; mostly a safety for osu-web's sake,
as without the change it could theoretically fail to validate the mod
properly in multiplayer contexts.
2023-10-31 16:16:59 +01:00
Bartłomiej Dach
456f4ebba2
Seal ModScoreV2
Nobody should ever need to extend it.
2023-10-31 16:16:14 +01:00
Bartłomiej Dach
3a2645efb1
Seal ModAutoplay playability flags
Can't do much more than that due to the unfortunate fact of Cinema
inheriting from Autoplay.
2023-10-31 16:15:10 +01:00
Bartłomiej Dach
7ea298a1b6
Add xmldoc to Mod playability flags 2023-10-31 16:13:44 +01:00
Bartłomiej Dach
9f5a280bc2
Fix key binding row fire-and-forgetting writes
Intends to fix test failures as seen in https://github.com/ppy/osu/actions/runs/6692350567/job/18181352642#step:5:129

This is what happens if you carelessly fire and forget.

The working theory (that I'm not sure I have the tools to conclusively
confirm) is that the async write from the key binding changing could
fire _after_ the section is reset.

I briefly considered having the test wait for the change, but given that
the entirety of the surrounding flow is using sync operations, this just
looks like a bug to me. And there's no real sane way to inject async
into that flow due to dependence on `OsuButton.Action`.
2023-10-31 12:25:09 +01:00
Bartłomiej Dach
bc2acc3e93
Merge pull request #25318 from peppy/fix-follow-point-scrathces
Fix potential texture corruption when cropping gameplay textures of weird aspect ratios
2023-10-31 11:02:59 +01:00
Bartłomiej Dach
850866e7f4
Merge pull request #25316 from peppy/metronome-always-play-tick
Decouple metronome tick playback from pendulum movement
2023-10-31 09:37:29 +01:00
Dean Herbert
0d44b5af90
Fix potential texture corruption when cropping gameplay textures of weird aspet ratios
Closes https://github.com/ppy/osu/issues/25273.
2023-10-31 17:36:23 +09:00
Bartłomiej Dach
144006fbe8
Update autoselect implementation to work correctly with framework changes 2023-10-31 08:38:22 +01:00
Bartłomiej Dach
8a68333425
Merge branch 'master' into beat-divisor-select-text-on-click 2023-10-31 08:36:53 +01:00
Dean Herbert
64efc3d251
Decouple metronome tick playback from pendulum movement
Not super happy about doing this, but it seems like it's in the best
interest of editor usability.
2023-10-31 15:33:46 +09:00
Dean Herbert
7ceced7012
Scope TestPauseWithLargeOffset to focus on what matters
See https://github.com/ppy/osu/actions/runs/6693917410/job/18186111009

This test is to make sure we don't seek before the original
pause time, so I've exposed that value precisely to avoid
CI woes.
2023-10-31 14:47:04 +09:00
Dean Herbert
3060cf1438
Merge pull request #25286 from frenzibyte/search-text-box-select-all
Automatically select existing search text when opening settings
2023-10-31 12:14:00 +09:00
Bartłomiej Dach
88e10dd051
Update framework 2023-10-30 20:19:52 +01:00
Dean Herbert
f706fd2fca
Merge pull request #25307 from bdach/slider-velocity-undo
Fix slider velocity changes not being undone correctly
2023-10-31 01:44:18 +09:00
Bartłomiej Dach
b2d3aa982d
Merge branch 'master' into fix-click-through-timeline 2023-10-30 12:52:00 +01:00
Bartłomiej Dach
cea24298cb
Privatise setters 2023-10-30 12:42:34 +01:00
Bartłomiej Dach
de89b7e53c
Fix slider velocity changes not being undone correctly
Closes https://github.com/ppy/osu/issues/25239.

`LegacyEditorBeatmapPatcher.processHitObjectLocalData()` was already
supposed to be handling changes to hitobjects that will show up neither
when comparing the hitobjects themselves or the timing point with
"legacy" info stripped - so, in other words, changes to slider velocity
and samples.

However, a change to slider velocity requires default application to
take effect, so just resetting the value would visually fix the timeline
marker but not change the actual object. Calling
`EditorBeatmap.Update()` fixes this by way of triggering default
re-application.

This could probably be smarter (by only invoking the update when
strictly necessary, etc.) - but I'm not sure it's worth the hassle. This
is intended to be a quick fix, rather than a complete solution - the
complete solution would indeed likely entail a wholesale restructuring
of the editor's change handling.
2023-10-30 10:59:02 +01:00
Dean Herbert
fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Dean Herbert
8828562512
Merge pull request #25277 from Susko3/fix-cut-in-filter-textbox
Fix cut and copy not working in song select search filter textbox
2023-10-30 18:18:46 +09:00
Bartłomiej Dach
2dc2469507
Merge pull request #25303 from peppy/last-played-import-score-update
Update the last played date of a beatmap when importing a replay by the local user
2023-10-30 10:12:27 +01:00
Dean Herbert
63e6eaf538
Fix failing tests 2023-10-30 18:06:11 +09:00
Dean Herbert
57d88a0ac4
Fix right clicks on timeline objects potentially getting eaten by playfield area
`SelectionHandler` is receiving input from anywhere out of necessity:

19f892687a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L119-L125)

Also important is that `BlueprintContainer` will selectively not block
right clicks to make sure they fall through to the
`ContextMenuContainer`:

19f892687a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs (L122-L126)

But because the whole editor is sharing a `ContextMenuContainer` and
it's at a higher level than both components, we observe here the
playfield's `SelectionHandler` intercepting the right click before it
can reach the `ContextMenuContainer`.

The fix here is similar to what we're already doing in
`TimelineBlueprintContaienr`.
2023-10-30 18:06:11 +09:00
Salman Ahmed
39abb8e408 Only run "select all on focus" behaviour on desktop platforms 2023-10-30 11:54:19 +03:00
Dean Herbert
66fa09ba66
Merge pull request #25287 from frenzibyte/fix-user-profile-support-banners
Update user profile overlay to show more than one tournament banner
2023-10-30 17:32:20 +09:00
Bartłomiej Dach
a000c06900
Merge branch 'master' into last-played-import-score-update 2023-10-30 09:29:07 +01:00
Bartłomiej Dach
19d10e5e45
Merge pull request #25300 from peppy/better-submission-logging
Improve log output surrounding score submission
2023-10-30 09:04:06 +01:00
Dean Herbert
4ae9b40a78
Update resources 2023-10-30 16:35:14 +09:00
Dean Herbert
caddbacfe8
Merge branch 'master' into gameplay-hud-redesign/counters 2023-10-30 16:35:10 +09:00
Dean Herbert
c1c8e2968f
Move operation to after user population 2023-10-30 15:46:09 +09:00
Dean Herbert
96dd7b3333
Update the last played date of a beatmap when importing a replay by the local user 2023-10-30 15:44:16 +09:00
Dean Herbert
a91b704d21
Fix some new nullable inspections 2023-10-30 15:10:10 +09:00
Dean Herbert
a8c3f59845
Clean up type display for web requests in logs 2023-10-30 15:07:35 +09:00
Dean Herbert
d90f29a5ff
Improve log output surrounding score submission 2023-10-30 15:07:26 +09:00
Salman Ahmed
c7bc8e6865 Move behaviour to settings search text box only 2023-10-30 06:41:01 +03:00
Salman Ahmed
984c30ded6 Load each tournament banner as soon as it is loaded 2023-10-30 06:20:15 +03:00
Salman Ahmed
922ad80cfc Update user profile overlay to show more than one tournament banner 2023-10-29 01:50:07 +03:00
Salman Ahmed
ec9ae12bbd Update API response model to accept array of tournament banners 2023-10-29 01:43:49 +03:00
Salman Ahmed
d877536dc0 Select all text content in SearchTextBox on focus 2023-10-29 01:03:38 +03:00
Susko3
366e41f111 Use local workaround instead of disabling clipboard entirely 2023-10-28 12:23:23 +02:00
Salman Ahmed
6526955b09
Merge branch 'master' into legacy-font-fixed-width 2023-10-28 04:46:30 +03:00
Salman Ahmed
bac306879a Minor reword on documentation 2023-10-28 03:18:13 +03:00
Salman Ahmed
dca5716709
Merge branch 'master' into legacy-font-fixed-width 2023-10-28 02:45:23 +03:00
Bartłomiej Dach
9ce2c1f49c
Exclude video events from being accounted for when calculating storyboard time bounds
Closes https://github.com/ppy/osu/issues/25263.

In some circumstances, stable allows skipping twice if a particularly
long storyboarded intro is being displayed:

    https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameModes/Play/Player.cs#L1728-L1736

`AllowDoubleSkip` is calculated thus:

    3ea48705eb/osu!/GameModes/Play/Player.cs#L1761-L1770

and `leadInTime` is calculated thus:

    3ea48705eb/osu!/GameModes/Play/Player.cs#L1342-L1351

The key to watch out for here is `{first,last}EventTime`. `EventManager`
will calculate it on-the-fly as it adds storyboard elements:

    3ea48705eb/osu!/GameplayElements/Events/EventManager.cs#L253-L256

However, this pathway is only used for sprite, animation, sample,
and break events. Video and background events use the following pathway:

    https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameplayElements/Events/EventManager.cs#L368

Note that this particular overload does not mutate either bound.
Which means that for the purposes of determining where a storyboard
starts and ends temporally, a video event's start time is essentially
ignored.

To reflect that, add a clause that excludes video events from
calculations of `{Earliest,Latest}EventTime`.
2023-10-27 22:24:17 +02:00
Bartłomiej Dach
99e590c8dd
Fix legacy sprite texts not matching stable with respect to fixed width
stable's `pSpriteText` has a `TextConstantSpacing` flag, that is
selectively enabled for some usages. In particular, these are:

- mania combo counter (not yet implemented)
- taiko combo counter (not yet implemented)
- score counter
- accuracy counter
- scoreboard entries (not yet implemented)

Everything else uses non-fixed-width fonts.

Hilariously, `LegacySpinner` _tried_ to account for this by changing
`Font` to have `fixedWidth: false` specified, only to fail to notice
that `LegacySpriteText` changes `Font` in its BDL, making the property
set do precisely nothing. For this reason, attempting to set `Font`
on a `LegacySpriteText` will now throw.
2023-10-27 20:14:39 +02:00
Bartłomiej Dach
c9cb0561f7
Move maxSizePerGlyph optional ctor param to init-only property
I'm doing this as I'm about to add more similar properties to
`LegacySpriteText` and I don't want to create a twenty-argument
constructor monstrosity.
2023-10-27 19:48:10 +02:00
Dean Herbert
5a9d4170e8
Merge pull request #24794 from bdach/score-encoding-cleanup
Correctly handle multiple online score ID types
2023-10-28 02:29:56 +09:00
Dean Herbert
4ed30342db
Merge pull request #25264 from bdach/quick-retry-f-rank
Fix quick retry immediately after completion marking score as failed
2023-10-28 02:29:21 +09:00
Bartłomiej Dach
35f30d6135
Scale back debug assertion
The import preparation task can actually be non-null when exiting even
if the player hasn't passed:

- fail beatmap
- click import button to import the failed replay
2023-10-27 14:39:58 +02:00
Bartłomiej Dach
5ad962070c
Fix skin editor freezing game if opened during active gameplay 2023-10-27 14:34:30 +02:00
Bartłomiej Dach
dc7f5cd6ed
Add preventive assertions concerning submission flow state 2023-10-27 13:30:51 +02:00
Bartłomiej Dach
2d5b1711f6
Share !HasPassed condition 2023-10-27 13:27:48 +02:00
Bartłomiej Dach
96d784e06b
Delete ScoreInfo.HasReplay as no longer needed 2023-10-27 12:39:54 +02:00
Bartłomiej Dach
86a8ab6db6
Fix quick retry immediately after completion marking score as failed
Closes https://github.com/ppy/osu/issues/25247.

The scenario involved here is as follows:

1. User completes beatmap by hitting all notes.
2. `checkScoreCompleted()` determines completion, and calls
   `progressToResults(withDelay: true)`.
3. `progressToResults()` schedules `resultsDisplayDelegate`, which
   includes a call to `prepareAndImportScoreAsync()`, a second in the
   future.
4. User presses quick retry hotkey.
   This calls `Player.Restart(quickRestart: true)`,
   which invokes `Player.RestartRequested`,
   which in turn calls `PlayerLoader.restartRequested(true)`,
   which in turn causes `PlayerLoader` to make itself current,
   which means that `Player.OnExiting()` will get called.
5. `Player.OnExiting()` sees that `prepareScoreForDisplayTask` is null
   (because `prepareAndImportScoreAsync()` - which sets it -
   is scheduled to happen in the future), and as such assumes that
   the score did not complete. Thus, it marks the score as failed.
6. `Player.Restart()` after invoking `RestartRequested` calls
   `PerformExit(false)`, which then will unconditionally call
   `prepareAndImportScoreAsync()`. But the score has already been marked
   as failed.

The flow above can be described as "convoluted", but I'm not sure I have
it in me right now to try and refactor it again. Therefore, to fix,
switch the `prepareScoreForDisplayTask` null check in
`Player.OnExiting()` to check `GameplayState.HasPassed` instead, as it
is not susceptible to the same out-of-order read issue.
2023-10-27 12:17:03 +02:00
Dean Herbert
f931f4c324
Remove reundant interface specification 2023-10-27 18:19:44 +09:00
Dean Herbert
fc25e24397
Merge branch 'master' into score-encoding-cleanup 2023-10-27 18:03:38 +09:00
Bartłomiej Dach
fdb81bfa4c
Rename methods to not mention "source clock" anymore 2023-10-26 19:38:52 +02:00
Bartłomiej Dach
565ae99e0d
Fix StopUsingBeatmapClock() applying adjustments to track it was supposed to stop using
- Closes https://github.com/ppy/osu/issues/25248
- Possibly also closes https://github.com/ppy/osu/issues/20475

Regressed in e33486a766.

`StopUsingBeatmapClock()` intends to, as the name says, stop operating
on the working beatmap clock to yield its usage to other components on
exit. As part of that it tries to unapply audio adjustments so that
other screens can apply theirs freely instead.

However, the aforementioned commit introduced a bug in this. Previously
to it, `track` was an alias for the `SourceClock`, which could be
mutated in an indirect way via `ChangeSource()` calls. The
aforementioned commit made `track` a `readonly` field, initialised in
constructor, which would _never_ change value. In particular, it would
_always_ be the beatmap track, which meant that
`StopUsingBeatmapClock()` would remove the adjustments from the beatmap
track, but then at the end of the method, _apply them onto that same
track again_.

This was only saved by the fact that clock adjustments are removed again
on disposal of the `MasterGameplayClockContainer()`. This - due to async
disposal pressure - could explain infrequently reported cases wherein
the track would just continue to speed up ad infinitum.

To fix, fully substitute the beatmap track for a virtual track at the
point of calling `StopUsingBeatmapClock()`.
2023-10-26 19:38:52 +02:00
Bartłomiej Dach
7779554360
Merge branch 'master' into fix-catch-distance-snap-grid 2023-10-26 17:50:15 +02:00
Dean Herbert
a463c37320
Merge pull request #25243 from bdach/song-select-volume-scroll-blocked
Fix left side of carousel blocking volume adjust hotkeys
2023-10-27 00:23:47 +09:00
Salman Ahmed
c51513705a
Merge branch 'master' into fix-catch-distance-snap-grid 2023-10-26 17:44:33 +03:00
Bartłomiej Dach
2fa2217381
Fix left side of carousel blocking volume adjust hotkeys
Closes https://github.com/ppy/osu/issues/25234.

A little ad-hoc, but probably fine...?
2023-10-26 16:26:35 +02:00
Bartłomiej Dach
5d6a58d443
Add failing test scene for scroll handling in song select 2023-10-26 16:24:16 +02:00
Salman Ahmed
54b69333f0
Merge branch 'master' into double-click-disabled-slider 2023-10-26 17:01:46 +03:00
Bartłomiej Dach
79910df959
Fix catch distance snap provider not hiding slider properly
Regressed in https://github.com/ppy/osu/pull/25171.

The old code was kinda dependent on correct order of setting `Disabled`.
`CatchHitObjectComposer` would disable distance spacing in its BDL, and
then via the base `DistancedHitObjectComposer.LoadComplete()`, the
slider would be faded out. The switch to composition broke that
ordering.

To fix, stop relying on ordering and just respond to changes as they
come. That's what bindables are for.
2023-10-26 15:46:32 +02:00
Bartłomiej Dach
b078748724
Merge pull request #25235 from peppy/add-ctrl-r-quick-retr
Add ability to quick retry using Ctrl-R
2023-10-26 15:27:04 +02:00
Bartłomiej Dach
cbb2a0dd70
Use both score ID types to deduplicate score on solo results screen 2023-10-26 15:09:59 +02:00
Bartłomiej Dach
c3e9f5184f
Fix SoloScoreInfo not copying over legacy score ID when converting to ScoreInfo 2023-10-26 15:09:34 +02:00
Bartłomiej Dach
900530080f
Make SoloScoreInfo implement IScoreInfo 2023-10-26 14:58:35 +02:00
Bartłomiej Dach
526ee6e140
Remove IScoreInfo : IHasNamedFiles inheritance 2023-10-26 14:58:33 +02:00
Dean Herbert
238e8175ae
Add ability to quick retry using Ctrl-R
Matches osu!stable
2023-10-26 21:26:26 +09:00
Bartłomiej Dach
3b9c4c9d53
Do not revert to default value when double-clicking disabled slider
Closes https://github.com/ppy/osu/issues/25228.
2023-10-26 12:11:26 +02:00
Dean Herbert
4cca70ee19
Fix iOS AOT compilation failure due to SharpCompress library upgrade 2023-10-26 17:42:28 +09:00
Bartłomiej Dach
ca4b09f8ef
Merge branch 'master' into score-encoding-cleanup 2023-10-26 09:04:05 +02:00
Salman Ahmed
07e7d533bf Bake external scale factors into glyph scale 2023-10-26 10:01:27 +03:00
Salman Ahmed
e119e045e4 Update "Argon" skin components layout and use the new components 2023-10-26 09:13:09 +03:00
Salman Ahmed
df80b4dcab Update "Argon" health display specifications to match design
Also adds a little white bar next to the display to match with the
components below it (score/accuracy/combo counters).
2023-10-26 09:12:05 +03:00
Salman Ahmed
50af1574cf Add "Argon" background wedges 2023-10-26 09:10:56 +03:00
Salman Ahmed
56eeb117ce Add "Argon" performance points counter 2023-10-26 09:10:10 +03:00
Salman Ahmed
daf4a03fd0 Abstractify PP counter logic from the "Triangles" implementation 2023-10-26 09:09:55 +03:00
Salman Ahmed
0aa0562dc0 Add "Argon" combo counter 2023-10-26 09:09:55 +03:00
Salman Ahmed
1f36acca1a Add "Argon" accuracy counter 2023-10-26 09:09:52 +03:00
Salman Ahmed
9ca672d689 Add "Argon" total score counter 2023-10-26 08:58:25 +03:00
Bartłomiej Dach
5e059a362f
Merge pull request #25223 from peppy/prompt-before-save-for-export
Fix editor not prompting before saving beatmap for export
2023-10-25 12:03:26 +02:00
Bartłomiej Dach
2a075065d8
Merge pull request #25217 from peppy/update-country-codes
Update country code names to match database
2023-10-25 08:31:28 +02:00
Dean Herbert
6934e045df
Fix editor not prompting before saving beatmap for export 2023-10-25 14:39:46 +09:00
Dean Herbert
23ea128f30
Merge branch 'master' into velocity-based-ball-animation 2023-10-25 14:01:19 +09:00
Dean Herbert
da07066a74
Add note about CountryCode being at parity with osu_countries 2023-10-25 13:03:03 +09:00
Dean Herbert
34505b3933
Merge pull request #25185 from bdach/minimum-sample-volume 2023-10-24 22:04:43 +09:00
Bartłomiej Dach
19be0055d5
Merge pull request #24921 from Pasi4K5/diff-name-search
Add ability to search for difficulty names using square brackets
2023-10-24 12:07:02 +02:00
Dean Herbert
c9161a7bfc
Remove incorrect copy paste fail 2023-10-24 17:32:01 +09:00
Bartłomiej Dach
abfe2ce0fe
Fix comment 2023-10-24 10:05:20 +02:00
Dean Herbert
fcb366af4d
Add diff= support for more advanced usages 2023-10-24 16:09:05 +09:00
Dean Herbert
6865d8894d
Simplify implementation and remove unsupported test coverage 2023-10-24 16:01:32 +09:00
Bartłomiej Dach
05d7516479
Merge pull request #25182 from peppy/song-select-scroll-improvemets
Improve mouse interactions at song select
2023-10-24 08:26:20 +02:00
Bartłomiej Dach
0e5a521695
Merge pull request #25157 from peppy/spinner-anti-cheese-final
Fix spinner cheese by accounting for spin directionality
2023-10-24 08:13:32 +02:00
Dean Herbert
1274829193
Block scroll and click operations on the left side of song select 2023-10-24 14:51:40 +09:00
Dean Herbert
17070707b5
Update and add remaining country codes to match database 2023-10-24 14:46:58 +09:00
Dean Herbert
11c949d091
Sort countries alphabetically 2023-10-24 14:45:25 +09:00
Dean Herbert
1591246afb
Update country code names to match database
Required for ASS / osu-web cross-compatibility
2023-10-24 13:53:31 +09:00
Pasi4K5
c5339f440e Apply code review suggestions 2023-10-23 23:30:54 +02:00
Dean Herbert
baf4130f3a
Fix test clock no longer accounting for rate changes 2023-10-23 22:28:40 +09:00
Dean Herbert
15c1fcbf96
Set ManualClock rate to 0 to avoid interpolation causing test errors 2023-10-23 20:29:36 +09:00
Andrei Zavatski
b18a5e63b7 Remove nullable disable 2023-10-23 13:29:46 +03:00
Andrei Zavatski
ac1783fa94 Fix comment 2023-10-23 13:26:59 +03:00
Andrei Zavatski
1dbdbd6de6 Merge branch 'master' into comments-image-size 2023-10-23 13:22:31 +03:00
Dean Herbert
fc1254ba47
Update resources 2023-10-23 16:15:56 +09:00
Salman Ahmed
8ed660d863 Remove incorrect logic 2023-10-23 01:58:25 +03:00
Salman Ahmed
12bb4b697c Support retrieving textures in argon skin from game resources 2023-10-23 01:24:32 +03:00
Andrei Zavatski
e1e9c3d7b3 Fix incorrect height limit 2023-10-22 00:33:26 +03:00
Andrei Zavatski
71718bd761 Limit comment sprite height 2023-10-22 00:11:59 +03:00
Salman Ahmed
491f119988 Add animation support for legacy osu!mania column lights 2023-10-21 00:22:34 +03:00
Salman Ahmed
ac8c2a173b Apply velocity into legacy slider ball animation rate 2023-10-20 22:47:45 +03:00
Bartłomiej Dach
c58a47760e
Merge pull request #25167 from peppy/fix-circle-radius
Fix circle scale not matching stable due to missing multiplier
2023-10-20 20:59:53 +02:00
Bartłomiej Dach
12282fff5c
Disallow setting sample volume lower than 5% in editor 2023-10-20 15:50:21 +02:00
Bartłomiej Dach
b321d556b6
Enforce minimum gameplay sample volume of 5% 2023-10-20 15:50:13 +02:00
Jamie Taylor
fbf8f52f7d
Add audio feedback for when keys are pressed during key binding 2023-10-20 21:01:37 +09:00
Jamie Taylor
6b28f85615
Change RevertToDefaultButton and BackButton to use Default sampleset instead 2023-10-20 21:01:36 +09:00
Jamie Taylor
6dc4dbde13
Reduce LoginOverlay pop-in/pop-out sample panning to match NowPlayingOverlay 2023-10-20 21:01:36 +09:00
Jamie Taylor
e17c94d09d
Change ruleset button hover samples to Default instead of Button to match other toolbar buttons 2023-10-20 21:01:36 +09:00
Jamie Taylor
bf608a6b08
Use Button sample set for NewsCard 2023-10-20 21:01:36 +09:00
Jamie Taylor
ba6e36bd67
Remove NowPlayingOverlay custom pop-in/pop-out samples in favour of the generic overlay ones 2023-10-20 21:01:36 +09:00
Jamie Taylor
6e8a4c2eff
Fix toolbar ruleset buttons not having hover sounds 2023-10-20 21:01:36 +09:00
Dean Herbert
906b700aca
Fix fudge not being applied 2023-10-20 20:18:14 +09:00
Dean Herbert
a26e0bda35
Merge pull request #25179 from bdach/insufficient-sample-point-query-leniency
Fix insufficient leniency when querying sample points
2023-10-20 20:07:32 +09:00
Dean Herbert
0ae0b0c353
Fix carousel "reset position" marging not scaling with UI scale correctly 2023-10-20 20:04:26 +09:00
Dean Herbert
137a1d948d
Allow interacting with the carousel anywhere in empty space at song select 2023-10-20 20:04:11 +09:00
Susko3
5bbbca3e44 Also support D for those with muscle memory from stable 2023-10-20 12:22:00 +02:00
Dean Herbert
3fb74cb5f9
Move helper method to LegacyRulesetExtensions and stop applying rounding allowance to catch
As discussed, it isn't used in stable like this. Was a mistake.
2023-10-20 18:57:14 +09:00
Dean Herbert
2ba6286470
Merge branch 'master' into fix-circle-radius 2023-10-20 18:53:36 +09:00
Susko3
4a3a4ee17f Change beatmap listing key to B to match Ctrl-B shortcut 2023-10-20 11:47:00 +02:00
Bartłomiej Dach
c89081589c
Fix insufficient leniency when querying sample points 2023-10-20 10:26:16 +02:00
Dean Herbert
686c45e21b
Merge branch 'master' into legacy-tick-test-coverage 2023-10-20 16:41:32 +09:00
Bartłomiej Dach
2c6bf9e346
Remove unused using directive 2023-10-19 20:45:47 +02:00
Dean Herbert
013b5fa916
Move beat snap grid implementation details to ScrollingHitObjectComposer 2023-10-19 23:54:34 +09:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid 2023-10-19 23:53:01 +09:00
Bartłomiej Dach
144ef5a87c
Remove DistancedHitObjectComposer 2023-10-19 11:46:30 +02:00
Bartłomiej Dach
dcfd6a0a8a
Remove DistancedHitObjectComposer inheritance from osu! composer 2023-10-19 11:46:30 +02:00
Bartłomiej Dach
3ab083b696
Split IPositionSnapProvider from IDistanceSnapProvider
In preparation to remove `DistancedHitObjectComposer`, split off
`IPositionSnapProvider` from `IDistanceSnapProvider`.

`DistancedHitObjectComposer` was not touching `IPositionSnapProvider`'s
only interface member at all, it was just forwarding it for subclasses
to override to their own leisure.
2023-10-19 11:45:24 +02:00
Dean Herbert
040d0970f2
Use DifficultyRange helper method in one more place 2023-10-18 23:54:18 +09:00
Dean Herbert
3a5490892c
Centralise and repair circle size calculations game-wide 2023-10-18 19:50:42 +09:00
Bartłomiej Dach
cff69d63a6
Add inline commentary in Mod{Day,Night}core about different speed adjustments 2023-10-18 12:27:16 +02:00
Dean Herbert
9907adc337
Take in IBindables and tidy up multiplier handling 2023-10-18 17:39:13 +09:00
Dean Herbert
161890292f
Move audio adjustment hookup to own method for clarity 2023-10-18 17:38:11 +09:00
Dean Herbert
e56ff33271
Also share ScoreMultiplier implementation 2023-10-18 17:23:50 +09:00
Dean Herbert
43238b0cee
Split common functionality from rate adjust mods into helper class 2023-10-18 17:23:50 +09:00
Dean Herbert
eabfcfbf2a
Merge branch 'master' into pitch_change 2023-10-18 16:33:03 +09:00
Dan Balasescu
939b55020c
Merge branch 'master' into legacy-tick-test-coverage 2023-10-18 15:21:31 +09:00
Joseph Madamba
18e8ca6245 Add ability to revert slider settings to default when double-clicking nub 2023-10-17 21:41:03 -07:00
Bartłomiej Dach
e927267c4d
Merge pull request #25155 from peppy/fix-new-inspections
Fix various new rider EAP inspections
2023-10-17 17:04:39 +02:00
Dean Herbert
d9fc532a9f
Merge pull request #25152 from bdach/key-binding-deduplication
Clear pre-existing bindings of same key combination to single action
2023-10-17 17:49:51 +09:00
Dean Herbert
e081fa48a2
Fix various other inspections 2023-10-17 17:48:51 +09:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Bartłomiej Dach
7abd7fe658
Remove redundant explicit array type specification 2023-10-17 10:26:02 +02:00
Dean Herbert
4885c55ef0
Merge branch 'master' into key-binding-deduplication 2023-10-17 17:17:44 +09:00
Dean Herbert
4381169a3f
Combine selection and input handling logic for beat snap grids across all rulesets 2023-10-17 17:09:42 +09:00
Dean Herbert
2a89a25790
Add beat snap grid to osu!taiko editor
Addresses https://github.com/ppy/osu/discussions/25150.
2023-10-17 16:59:56 +09:00
Bartłomiej Dach
4cfc95c673
Add backwards migration of catch dash binding 2023-10-17 09:43:40 +02:00
Dean Herbert
1b9acdf55c
Abstract out common implementation of BeatSnapGrid 2023-10-17 16:42:52 +09:00
Dean Herbert
d26d4b8b79
Cache IScrollingInfo at a HitObjectComposer level automatically 2023-10-17 16:42:22 +09:00
Dean Herbert
165cd07428
Persist the state of "show speed changes" between editor sessions
Addresses https://github.com/ppy/osu/discussions/25149.
2023-10-17 16:01:02 +09:00
Dan Balasescu
d2a3f14d5b
Merge branch 'master' into mania-bonus-refactor 2023-10-17 13:28:04 +09:00
Bartłomiej Dach
828cedea33
Fix bindings being cleared if multiple bindings for same action have the same combination
This actually seems to be the case in catch (dash is bound to shift
twice). This is annoying but harmless, so let's work around it for now
to avoid ruining users' configs.
2023-10-16 22:20:26 +02:00
Bartłomiej Dach
9c6166ec3d
Add migration to remove duplicate bindings 2023-10-16 22:20:26 +02:00
Bartłomiej Dach
639c96e60c
Prevent ruleset input managers from reading duplicate bindings 2023-10-16 21:02:24 +02:00
Bartłomiej Dach
90c44cee54
Implement method to deduplicate keybindings 2023-10-16 20:51:57 +02:00
Bartłomiej Dach
79273b88f6
Add stub of method to deduplicate bindings (and failing test) 2023-10-16 20:48:52 +02:00
Bartłomiej Dach
f2436a5ecb
Remove no longer used scoring difficulty attributes 2023-10-16 12:36:58 +02:00
Bartłomiej Dach
e2192806e4
Use ID rather than SoloScoreID
The latter is apparently not going to be a thing anymore.
2023-10-16 12:02:55 +02:00
Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c4af8591a5
Preserve OnlineID when importing scores
Previously, for lazer scores, the ID returned from `osu-web` was
discarded and replaced with -1, due to the fact that the appropriate
structures for unification with stable, as well as unification across
solo and multiplayer, were not in place yet.

Now we're at the point where scores from all the aforementioned sources
receive a `solo_scores` DB row, and as such, we can start treating
`solo_scores`-scheme IDs as canonical "online IDs" for a score.
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
d5a733d244
Use solo score ID as OnlineID when converting from MultiplayerScore 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
b144cfd55c
Add LegacyOnlineID handling to places that definitely need it
Mostly places that can interact with imported replays.

There are other places that use the online ID as a sort tiebreaker, or
to check presence of a score on results screens, but they should
probably still continue to only use `OnlineID`, since all scores with a
legacy online ID should have an online ID, but the converse is not
generally true.
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c53f4c144c
Encode/decode new OnlineID into/from LegacyReplaySoloScoreInfo 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
fa519984df
Move legacy online ID encode/decode to legacy property 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c1a817fec6
Add LegacyOnlineID with backwards migration 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
9cd33d9bb2
Merge pull request #25139 from peppy/collection-ordering-fix
Fix collections not being sorted alphabetically in context menus
2023-10-16 10:53:43 +02:00
Bartłomiej Dach
ee3ddacf46
Merge pull request #25140 from peppy/manage-collections-drag-handles-bye-bye
Remove drag handles from manage collections dialog for now
2023-10-16 10:47:38 +02:00
Dean Herbert
7139592e43
Fix collections not being sorted correctly in context menus 2023-10-16 16:03:12 +09:00
Dean Herbert
36112302d6
Remove drag handles from manage collections dialog for now
The realm implementation doesn't support this.
2023-10-16 15:51:18 +09:00
Dean Herbert
48832c64ac
Fix health bar animating when it shouldn't be
It wasn't correctly checking the current underlying health, which could
be zero in usages of `AccumulatingHealthProcessor`, for instance.

Closes #25046.
2023-10-16 13:12:04 +09:00
Dean Herbert
67a8a51ec7
Merge branch 'master' into generic-error-sfx 2023-10-14 03:56:41 +09:00
Dean Herbert
d4627a2402
Update resources 2023-10-14 03:48:59 +09:00
Bartłomiej Dach
c762241268
Merge branch 'master' into fix-hr-cs-mania-adjustment 2023-10-13 14:08:05 +02:00
Jamie Taylor
d97b618d02
Use new generic-error sample in appropriate places 2023-10-13 21:06:50 +09:00
Dean Herbert
3d5736188e
Merge pull request #25112 from bdach/dangerous-button-shades
Fix dangerous buttons using different shades of pink
2023-10-13 20:43:24 +09:00
Bartłomiej Dach
af89d69fc4
Fix dangerous buttons using different shades of pink 2023-10-13 13:16:24 +02:00
Bartłomiej Dach
a88779e588
Use dimmed placeholder text instead of empty box on cleared bindings 2023-10-13 13:10:04 +02:00
Dean Herbert
6358a5e210
Merge pull request #25105 from bdach/multiple-keys-one-binding
Disallow binding multiple bindings in a single section to one key
2023-10-13 20:01:33 +09:00
Bartłomiej Dach
a1c68b66f2
Rename KeyBindingRow parts to appease CodeFileSanity 2023-10-13 12:06:25 +02:00
Bartłomiej Dach
ea766b792d
Update localisation keys to match localisable member names 2023-10-13 11:58:55 +02:00
Bartłomiej Dach
5f51b8a7c9
Merge pull request #25097 from peppy/results-screen-progress-fast
Show results immediately if user hits "back" key after finishing gameplay
2023-10-13 11:54:34 +02:00
Dean Herbert
17b6ebbfbf
Avoid using a bindable in KeyBindingConflictPopover where data is never mutated 2023-10-13 18:40:21 +09:00
Dean Herbert
9b0c4acdef
Split KeyBindingRow out into partial pieces 2023-10-13 18:29:06 +09:00
Dean Herbert
8e609b6f1d
Switch records to classes for sanity
I don't have anything against records except for the capitalisation when
including the paramter names in a constructor.

ie. `new Record(This: 1);`
2023-10-13 18:19:12 +09:00
Bartłomiej Dach
d5557bbbfb
Merge pull request #25005 from minetoblend/multiplayer-invites
Add ability to invite players to multiplayer rooms
2023-10-13 11:09:28 +02:00
Dean Herbert
d7a06059f2
Rename string properties to give more hinting to localisers 2023-10-13 17:49:48 +09:00
Bartłomiej Dach
e04a57d67f
Use less dodgy method of specifying allowable notification types 2023-10-13 10:31:00 +02:00
Bartłomiej Dach
79cec7707d
Privatise setter 2023-10-13 09:56:46 +02:00
Dean Herbert
3787348448
Change Perfect judgement to not give extra score 2023-10-13 16:29:02 +09:00
Bartłomiej Dach
61b8d035fe
Use dangerous colour for "apply new" button 2023-10-13 09:08:13 +02:00
Dean Herbert
37411f923e
Merge branch 'master' into multiple-keys-one-binding 2023-10-13 15:07:12 +09:00
Dean Herbert
549a6581b0
Merge branch 'master' into make-realm-key-binding-action-suck-less 2023-10-13 13:53:24 +09:00
Dean Herbert
9289c47cd4
Tidy up GlobalActionContainer a bit 2023-10-13 13:47:51 +09:00
Dean Herbert
aabed8b6e5
Merge pull request #25093 from Joehuu/mod-switch-tiny-extended-info
Add extended info support to tiny mod switches
2023-10-13 13:40:24 +09:00
Bartłomiej Dach
6c8490bc7e
Revert changes to LoungeSubScreen.Join()
- `virtual` modifier was used in mocking.
- The spacing change revert is just mostly to keep it out of the final
  diff.
2023-10-12 20:39:40 +02:00
Bartłomiej Dach
edec10204e
Merge pull request #25096 from peppy/show-total-bonus
Show maximum bonus statistics on results screen
2023-10-12 20:29:28 +02:00
Bartłomiej Dach
f083309e64
Move type back next to exposing class 2023-10-12 20:26:01 +02:00
Bartłomiej Dach
f1c1ffbdfd
Add localisation support 2023-10-12 20:26:01 +02:00
Bartłomiej Dach
08bdea0036
Reformat code 2023-10-12 20:26:01 +02:00
Bartłomiej Dach
991e425b9a
Refactor conflict handling flow to be less back-and-forth 2023-10-12 20:25:59 +02:00
Bartłomiej Dach
9468371556
Fix min width not really working as intended 2023-10-12 16:04:46 +02:00
Bartłomiej Dach
b09252a8f8
Fix restore-to-default button for entire section triggering conflicts 2023-10-12 16:04:46 +02:00
Bartłomiej Dach
f5a6781e5a
Integrate key binding conflict popover into keybindings panel 2023-10-12 16:04:46 +02:00
Bartłomiej Dach
7b6563116a
Implement visual appearance of key binding conflict popover 2023-10-12 16:01:51 +02:00
Bartłomiej Dach
aa8dbd742e
Hoist database update to subsection level
The end goal here is to be able to better coordinate deconfliction of
bindings at the subsection level rather than try to jam that logic into
individual rows somehow.

The flipside is that this is going to require a flow to update the
individual rows after the subsection's intervention, but that's what the
previous commit was for.
2023-10-12 16:01:51 +02:00
Bartłomiej Dach
5f0b1d69a5
Prepare KeyBindingRow for accepting external changes 2023-10-12 16:00:20 +02:00
Bartłomiej Dach
c2e92cbb70
Refactor key binding panel leveraging new helper methods 2023-10-12 15:03:29 +02:00
Bartłomiej Dach
1c784c9abe
Add API for retrieving global key bindings per section 2023-10-12 14:24:21 +02:00
Bartłomiej Dach
2a0e4c364d
Add method to unmap RealmKeyBinding.Action to actual enum-typed value 2023-10-12 14:17:26 +02:00
Dean Herbert
3849b11644
Fix "Hard Rock" mod affecting CS/AR in osu!mania
Closes https://github.com/ppy/osu/issues/25090.

Not sure if there are other exceptions we should account for here.
2023-10-12 19:48:47 +09:00
Dean Herbert
fa47309eef
Fix exit key during storyboard outro not progressing to results 2023-10-12 19:31:54 +09:00
Dean Herbert
d174a6ce61
Remove dead code which was only there for the exit-specific scenario 2023-10-12 19:27:35 +09:00
Dean Herbert
32eda99c3a
Add missing xmldoc returns 2023-10-12 19:06:34 +09:00
Dean Herbert
1ce268be3f
Update some packages to match osu.Server.Spectator 2023-10-12 18:58:42 +09:00
Dean Herbert
fc1287b4c6
Reword xmldoc on invite method to better describe what is happening 2023-10-12 18:25:20 +09:00
Dean Herbert
56e27f1c27
Merge branch 'master' into multiplayer-invites 2023-10-12 18:17:15 +09:00
Dean Herbert
e48c4fa430
Add missing ConfigureAwait calls 2023-10-12 18:15:15 +09:00
Dean Herbert
a591af2b97
Fix too many tasks in lookupRoom method 2023-10-12 18:11:04 +09:00
Dean Herbert
5f62c225bf
Ad localisation (and adjust messaging) of invite failures 2023-10-12 18:07:03 +09:00
Dean Herbert
361d70f68a
Rename callback to match standards 2023-10-12 17:59:47 +09:00
Dean Herbert
d2aa601912
Allow localisation of the invite notification 2023-10-12 17:59:08 +09:00
Dean Herbert
a1a9bb75b7
Remove unnecessary schedule logic 2023-10-12 17:55:58 +09:00
Dean Herbert
cde4fad610
Simplify async lookup logic in Invited handling 2023-10-12 17:55:14 +09:00
Dean Herbert
94d7a65e40
Schedule Join operations rather than using OnLoadComplete for added safety 2023-10-12 17:42:02 +09:00
Dean Herbert
a512ef5637
Add exceptions to online state handling 2023-10-12 17:41:31 +09:00
Dean Herbert
20f32e2025
Add light colouring for user notifications and adjust lighting slightly 2023-10-12 16:06:06 +09:00
Dean Herbert
aee8ba789c
Tidy up UserAvatarNotification implementation 2023-10-12 16:06:06 +09:00
Dean Herbert
55a9de034d
Change NotificationOverlay type based logic to not require specifying every type of notification 2023-10-12 16:00:23 +09:00
Dean Herbert
242a41371c
Fix HotkeyOverlay fade out occurring when exit is blocked 2023-10-12 15:42:54 +09:00
Dean Herbert
7c0d496730
Show results immediately if user hits "back" key after finishing gameplay
I've gone ahead and matched the osu!stable behaviour for this, as it
seems like it's what people are used to and they will settle for no
less.

Closes https://github.com/ppy/osu/issues/18089.
2023-10-12 15:42:23 +09:00
Dean Herbert
d2044fc2cc
Merge pull request #25082 from peppy/test-scene-background
Remove test scene background stack and use new `ChangeBackgroundColour`
2023-10-12 14:57:34 +09:00
Dean Herbert
5bb73632c4
Show maximum bonus statistics on results screen
Addresses https://github.com/ppy/osu/discussions/25088.
2023-10-12 14:55:16 +09:00
Dean Herbert
194ad9650d
Remove test scene background stack and use new ChangeBackgroundColour method 2023-10-12 14:08:31 +09:00
Dean Herbert
29eba3c58a
Update framework 2023-10-12 14:08:31 +09:00
Dean Herbert
f26e3afd29
Merge pull request #25062 from smoogipoo/remove-hold-note-ticks
Remove osu!mania hold note ticks
2023-10-12 13:55:50 +09:00
Joseph Madamba
764f641bc9 Add extended info support to tiny mod switches 2023-10-11 12:47:12 -07:00
Bartłomiej Dach
712564ea4f
Enable NRT in KeyBindingsSubsection 2023-10-11 20:03:31 +02:00
Bartłomiej Dach
063623b4e6
Merge branch 'master' into remove-hold-note-ticks 2023-10-11 19:47:51 +02:00
Bartłomiej Dach
041318e3e8
Assign red colour to ComboBreak hit result
For a judgement result to show up on the colour hit error meter, it has
to be two things: be scorable, and not be bonus.

`ComboBreak` happens to meet both of those criteria - it impacts score
indirectly via decreasing the combo portion, and isn't bonus. Therefore
it would show up on the colour hit error meter, but because
`OsuColour.ForHitResult()` wasn't handling it explicitly, it was
painting the result in light blue, which isn't ideal for a miss type
judgement. Therefore, use red instead.

There is possibly an argument to be made that this judgement should not
show up on the colour hit error meter at all, but I think it's actually
okay for it to be this way. In any case it doesn't appear to be anything
so major as to warrant blocking the hold note tick removal at this time.
2023-10-11 19:44:46 +02:00
Bartłomiej Dach
797109c05c
Enable NRT in KeyBindingRow 2023-10-11 08:50:00 +02:00
Bartłomiej Dach
0b2b065383
Add xmldoc 2023-10-11 08:50:00 +02:00
Bartłomiej Dach
7ac874d17a
Use init-only properties where applicable 2023-10-11 08:49:58 +02:00
Bartłomiej Dach
1acc02405e
Reorder KeyBindingRow members 2023-10-11 08:18:59 +02:00
Bartłomiej Dach
6f5f3a1ef4
Merge branch 'master' into fix-argon-health-bar-flash 2023-10-10 20:03:20 +02:00
Bartłomiej Dach
66c12e5269
Merge pull request #25083 from peppy/fix-preview-point-incorrect
Fix default preview point being incorrect on old beatmaps
2023-10-10 19:54:14 +02:00
Dean Herbert
b9dbc8139b
Merge branch 'master' into fix-argon-health-bar-flash 2023-10-11 00:20:08 +09:00
Bartłomiej Dach
d701e88a08
Merge pull request #25076 from peppy/fix-argon-health-bar-perf
Ensure health displays don't pile up transforms when off-screen
2023-10-10 16:33:32 +02:00
Dean Herbert
b9dadc52b7
Adjust comment to match current behaviour
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-10-10 22:54:19 +09:00
Dean Herbert
e2e28ef0ca
Remove comment regarding inlined delegate 2023-10-10 22:12:20 +09:00
Dean Herbert
682aa06acf
Remove JudgementResult from Miss/Flash as it is not used 2023-10-10 22:10:44 +09:00
Dan Balasescu
a1a46e58fc
Move validation to DHO.ApplyResult() 2023-10-10 21:42:37 +09:00
Dean Herbert
2781846147
Fix beatmaps with no preview point set getting incorrect default
Note that this will require a re-import to fix existing beatmaps
becuse.. it's stored to realm. Probably not worth worrying about for
now.
2023-10-10 19:13:16 +09:00
Dean Herbert
f0bd975393
Change GameplayClockContainer.Reset to directly call GameplayClock.Stop
The reasoning is explained in the inline comment, but basically this was
getting blocked by `isPaused` being in an initial `true` state (as it is
on construction), while the source clock was still `IsRunning`.

There's no real guarantee of sync between the source and the `isPaused`
bindable right now. Maybe there should be in the future, but to restore
sanity, let's ensure that a call to `Reset` can at least stop the track
as we expect.
2023-10-10 18:16:14 +09:00
Dean Herbert
100c0cf533
Fix MultiplayerPlayer never calling Reset on GameplayClockContainer
This call is responsible for ensuring the clock is in a stopped state.
2023-10-10 17:58:37 +09:00
Dean Herbert
eee7dc02da
Reduce severity of clock running check to avoid production crashes 2023-10-10 17:58:11 +09:00
Dan Balasescu
18d20cad8b
Adjust xmldoc for readability
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-10-10 17:04:21 +09:00
Bartłomiej Dach
24956588e9
Fix score importer looking up guest user by username online 2023-10-10 09:28:01 +02:00
Dean Herbert
4674f63655
Fix Scheduler.AddOnce not working in one location 2023-10-10 16:17:34 +09:00
Dean Herbert
7e68b64526
Avoid running finishInitialAnimation when already finished 2023-10-10 15:59:48 +09:00
Dean Herbert
1eb6c93916
Also debounce updatePathVertices to reduce overhead 2023-10-10 15:50:42 +09:00
Dean Herbert
6c346874d3
Add TODO mentioning that ArgonHealthDisplay is doing lerp wrong 2023-10-10 15:24:54 +09:00
Dean Herbert
57f588fa86
Ensure health displays don't pile up transforms when off-screen 2023-10-10 15:24:54 +09:00
Dean Herbert
6ee958743e
Adjust glow animation specifics slightly 2023-10-10 15:10:42 +09:00
Dean Herbert
aeb579eb54
Syncrhonise initial colour of glowBar for sanity 2023-10-10 15:10:27 +09:00
Dean Herbert
8e26b3c405
Fix argon health bar not completing flash animation correctly 2023-10-10 15:09:33 +09:00
Dan Balasescu
04ce223e66
Remove pairings that shouldn't be valid 2023-10-10 10:03:37 +09:00
Dan Balasescu
594bcc2ab5
Apply suggestion to condense method 2023-10-10 09:56:26 +09:00
Bartłomiej Dach
d7e891140d
Apply mod multipliers to local score V1/V2 reimplementations 2023-10-09 13:04:12 +02:00
Bartłomiej Dach
419cc8784a
Apply mods to processor-based score algorithms 2023-10-09 12:59:02 +02:00
Bartłomiej Dach
55064c387d
Add mod controls to scoring test scene 2023-10-09 12:59:02 +02:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2 2023-10-09 10:53:14 +02:00
Bartłomiej Dach
ca217094d6
Merge pull request #25063 from peppy/move-download-button
Move playlist item download button to left
2023-10-09 10:01:15 +02:00
Dean Herbert
142c61ab9b
Move playlist item download button to left 2023-10-09 12:21:56 +09:00
Dan Balasescu
326702165f
Update HitResult helpers with new judgement 2023-10-09 11:50:17 +09:00
Dan Balasescu
65ac617be4
Actually validate judgements 2023-10-09 10:45:29 +09:00
Dan Balasescu
9415fe4446
Add mania hold note body + combo break judgement 2023-10-09 09:47:00 +09:00
Dean Herbert
e5207167c8
Rename FailAnimation to FailAnimationContainer 2023-10-08 00:39:30 +09:00
Dean Herbert
7c7771afca
Merge pull request #24986 from peppy/health-animates-in-intro
Add initial animation for health bars
2023-10-07 10:31:34 +09:00
Bartłomiej Dach
cfcdbe1c30
Merge pull request #25028 from peppy/bindable-fixes
Fix some incorrect bindable-related code
2023-10-06 22:31:30 +02:00
Bartłomiej Dach
250b9112c4
Merge pull request #25029 from peppy/socket-exception-handling
Fix OAuth refresh attempt when no network available causing full logout (part 2)
2023-10-06 21:59:27 +02:00
Bartłomiej Dach
a099cc0f36
Merge pull request #25030 from peppy/adjustable-health-bar
Adjust argon health bar to fit with existing layout
2023-10-06 21:51:18 +02:00
Bartłomiej Dach
b7d0bf3756
Only flush the Current transform specifically 2023-10-06 21:39:29 +02:00
Bartłomiej Dach
ce0d4bd0df
Fix health display potentially desyncing from actual if health was changed during initial animation 2023-10-06 21:35:08 +02:00
Dean Herbert
58448d3dd9
Fix health animation affecting failing tint 2023-10-07 01:06:31 +09:00
Dean Herbert
1a60e6d76e
Merge branch 'master' into health-animates-in-intro 2023-10-07 00:32:19 +09:00
Bartłomiej Dach
10ce5705ce
Update framework 2023-10-06 14:11:41 +02:00
Dean Herbert
8e5b2e78e5
Fix variable clash 2023-10-06 21:01:23 +09:00
Dean Herbert
d87ab9c82d
Adjust transition time based on miss/hit 2023-10-06 19:34:38 +09:00
Dean Herbert
3f2a00d90d
Add argon health display to default skin layout 2023-10-06 19:34:27 +09:00
Dean Herbert
f40e910c51
Remove left line from health display 2023-10-06 19:34:27 +09:00
Dean Herbert
db5178e453
Change ArgonHealthDisplay to be relative sized for now 2023-10-06 18:56:39 +09:00
Dean Herbert
c78b5112c6
Fix OAuth refresh attempt when no network available causing full logout (part 2)
This time for `SocketException`s. I seem to recall looking at this and
deciding there was a reason to not catch socket exceptions, but on
revisiting it seems sane to do so.

This covers a fail case like reported:

```
2023-10-06 03:24:17 [verbose]: Request to https://lazer.ppy.sh/oauth/token failed with System.Net.Http.HttpRequestException: No such host is known. (lazer.ppy.sh:443)
2023-10-06 03:24:17 [verbose]: ---> System.Net.Sockets.SocketException (11001): No such host is known.
2023-10-06 03:24:17 [verbose]: at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
```

Closes https://github.com/ppy/osu/issues/24890 (again).
2023-10-06 18:24:22 +09:00
Dean Herbert
936a21a661
Fix redundant bindable initialisation in SongSelect 2023-10-06 16:51:56 +09:00
Dean Herbert
1d7b8ea21a
Fix incorrect implementation of IHasCurrentValue in FooterButtonFreeMods 2023-10-06 16:51:40 +09:00
Dean Herbert
f2e56bbb65
Fix publicly-settable bindables 2023-10-06 16:51:24 +09:00
Dean Herbert
1005b7ac85
Fix incorrect test assumption in TestSceneEditorClock
I don't know what this test was trying to do, but it was wrong. Any
offset which is applied should be invisible to the clock's final
`CurrentTime` (and to the user).
2023-10-06 16:43:28 +09:00
Dean Herbert
354193c53a
Merge branch 'master' into clock-fix-attempt-2 2023-10-06 16:43:27 +09:00
Bartłomiej Dach
4d315cb718
Merge pull request #25016 from peppy/fix-waveform-comparison-crash
Fix `WaveformComparisonDisplay` potentially crashing on invalid track length
2023-10-05 20:02:44 +02:00
Dean Herbert
61fd4186af
Ensure regenerateDisplay is eventually performed if originally called before load 2023-10-05 22:55:23 +09:00
Bartłomiej Dach
c195fbe76f
Merge branch 'master' into crop-gameplay-textures 2023-10-05 09:35:58 +02:00
Dean Herbert
76cc2f9f22
Fix WaveformComparisonDisplay potentially crashing on invalid track length
As seen at https://github.com/ppy/osu/runs/17415814918#r0s2.
2023-10-05 14:58:55 +09:00
Dean Herbert
f8455af0d0
Fix double interpolation being applied when applyOffsets=false 2023-10-05 13:20:52 +09:00
Dean Herbert
20342d430d Update framework 2023-10-04 23:55:38 +09:00
Bartłomiej Dach
bd71403309
Merge branch 'master' into health-animates-in-intro 2023-10-04 13:53:42 +02:00
Dean Herbert
a186d97edf Update framework 2023-10-04 16:57:54 +09:00
Dean Herbert
5a17a86d1d Merge branch 'master' into clock-fix-attempt-2 2023-10-04 16:57:49 +09:00
Marvin Schürz
6d97f89399 Rename OnlinePlayScreen.LoungeSubScreen to Lounge 2023-10-04 08:37:22 +02:00
Marvin Schürz
6bd51b32b4 Make resolved multiplayerClient field nullable 2023-10-04 08:35:45 +02:00
Marvin Schürz
0726ccb988 Fix formatting 2023-10-04 08:32:18 +02:00
Marvin Schürz
74ed3bc4ff Rename loadRoom to lookupRoom 2023-10-04 08:31:50 +02:00
Marvin Schürz
bfeafd6f70 Fix formatting 2023-10-04 08:30:48 +02:00
Dean Herbert
cfb18e18c0 Add better commenting around legacy last tick edge case 2023-10-04 13:45:26 +09:00
Dan Balasescu
854b797ab5
Merge branch 'master' into legacy-tick-not-so-legacy-after-all 2023-10-04 10:52:13 +09:00
Marvin Schürz
fe5177fa4f Remove unused import 2023-10-04 00:50:48 +02:00
Marvin Schürz
5469d134cb Add missing parameter description to docs. 2023-10-04 00:28:01 +02:00
Marvin Schürz
32f69cd0ba Make UserAvatarNotification.user readonly 2023-10-04 00:20:07 +02:00
Marvin Schürz
267d1ee7d4 Handle cases when player cannot be invited. 2023-10-03 22:08:14 +02:00
Dan Balasescu
a120ea8464
Merge branch 'master' into fix-legacy-score-multipliers-2 2023-10-04 01:19:33 +09:00
Dean Herbert
69ae370e82 Merge branch 'master' into legacy-tick-test-coverage 2023-10-03 19:37:32 +09:00
Bartłomiej Dach
844a3b6c1b
Merge pull request #24980 from frenzibyte/gameplay-hud-redesign/health-display
Implement redesigned health bar display for "Argon" skin
2023-10-03 11:26:21 +02:00
Bartłomiej Dach
9c1f5c35d6
Merge pull request #24990 from peppy/argon-better-reverse
Add edge highlight to "argon" slider repeat arrow (and improve all skins' reverse arrow animations)
2023-10-03 10:55:11 +02:00
Dean Herbert
4f3c433946 Move vertex related constants local to method 2023-10-03 17:41:52 +09:00
Dean Herbert
32b2ac4974 Rename and refactor glow/miss bars to hopefully make more sense 2023-10-03 17:41:11 +09:00
Dean Herbert
4f9daa1c14 Tidy up ArgonHealthDisplay code quality 2023-10-03 17:32:35 +09:00
Dean Herbert
8178cf3a8d Tidy up background colour gradient logic
This changes things visually a touch, but I think it feels better.
And reads better.
2023-10-03 17:17:11 +09:00
Dean Herbert
2cbec6dbdf Update resources 2023-10-03 17:11:52 +09:00
Dean Herbert
b234a453da Fix legacy beatmap importer not always handling nested paths correctly
Addresses https://github.com/ppy/osu/discussions/24989.
2023-10-03 16:01:17 +09:00
Marvin Schürz
a171fa7649 Join multiplayer match when clicking the invite notification 2023-10-03 01:31:30 +02:00
Marvin Schürz
8e73dbc894 Load api room before displaying notification 2023-10-03 01:22:25 +02:00
Marvin Schürz
3879775219 Add room name to invite notification 2023-10-02 23:20:24 +02:00
Marvin Schürz
e81695bcac Display avatar in invitation notification 2023-10-02 23:10:51 +02:00
Marvin Schürz
251e4d4de9 Add localisation for inviting a player 2023-10-02 23:10:29 +02:00
Marvin Schürz
7629b725a2 Add invite button to UserPanel context menu 2023-10-02 22:55:53 +02:00
Marvin Schürz
574dc67a9e Add Invited task to multiplayer client 2023-10-02 22:53:28 +02:00
Marvin Schürz
d19cdbdefb Add InvitePlayer method to multiplayer server 2023-10-02 22:31:47 +02:00
Dean Herbert
82ba545358 Add initial animation for health bars 2023-10-02 17:01:58 +09:00
Dan Balasescu
b9ab4a2b7c Update score conversion to consider legacy multiplier 2023-10-02 16:56:15 +09:00
Dan Balasescu
da2a4681d9 Add method to retrieve legacy score multiplier 2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e Add LegacyBeatmapConversionDifficultyInfo abstraction 2023-10-02 16:52:01 +09:00
Dean Herbert
3a45bcad15 Improve flash and glow further 2023-10-02 02:11:07 +09:00
Dean Herbert
c4f47974bc Improve glow further 2023-10-02 02:11:07 +09:00
Dean Herbert
88d608e1fa Tidy up common animation code 2023-10-02 02:11:07 +09:00
Dean Herbert
df51e61234 Improve animation 2023-10-02 00:42:51 +09:00
Dean Herbert
22aa7ffd06 Use additive colour 2023-10-01 22:09:59 +09:00
Salman Ahmed
eef099e69d Do not display "miss" bar if health is already zero 2023-10-01 15:25:34 +03:00
Salman Ahmed
7825bea959 Use interpolation for health bar opacity instead of transforms 2023-10-01 15:25:23 +03:00
Salman Ahmed
30d9004ef9 Fix small mistake 2023-10-01 13:41:11 +03:00
Salman Ahmed
446c9c2efe Apply adjustments on the "miss" bar display 2023-10-01 13:39:36 +03:00
Salman Ahmed
9e2b8254d9 Add argon-specific health display test scene 2023-10-01 13:26:47 +03:00
Salman Ahmed
a331fb993a Adjust health bar outer stroke colour 2023-10-01 01:21:37 +03:00
Salman Ahmed
319208ca3d Adjust health bar glow intensity 2023-10-01 01:18:05 +03:00
Salman Ahmed
776536e816 Add "Argon" health display implementation 2023-10-01 00:56:16 +03:00
Salman Ahmed
33b0cb15a8 Add handling for miss judgements in HealthDisplay 2023-10-01 00:21:25 +03:00
Salman Ahmed
314ecec65b Refactor player max dimensions test scene to actually upscale textures 2023-09-30 01:34:49 +03:00
Salman Ahmed
0bcb99f2c4 Crop oversized gameplay textures instead of downscaling them 2023-09-30 01:34:47 +03:00
Pasi4K5
c927f90a48 Replace regex with a custom algorithm and update test scene. 2023-09-29 13:46:33 +02:00
Pasi4K5
23c20ca5f4 Add xmldocs 2023-09-29 13:44:11 +02:00
Dean Herbert
62bcb62842 Document remaining pieces of LastTick and add back legacy prefix for generation flow 2023-09-29 16:58:17 +09:00
Dean Herbert
81485c548c Move LegacyLastTickOffset specification to generation code and stop passing everywhere 2023-09-29 14:32:29 +09:00
Dean Herbert
d5472d3524
Merge pull request #24957 from bdach/solo-score-info-get-display-score
Add `GetDisplayScore()` extension for `SoloScoreInfo`
2023-09-29 13:09:16 +09:00
Joseph Madamba
9e90374a90 Flash discard changes dialog popup when force quitting room/playlist creation with changes 2023-09-28 17:09:50 -07:00
Bartłomiej Dach
9a49f44db0
Use AsOrdered() when presenting mod presets too 2023-09-28 18:42:05 +02:00
Bartłomiej Dach
c0728f0b2e
Replace local sort with new utility method 2023-09-28 18:35:15 +02:00
Bartłomiej Dach
8215c4cb0e
Merge branch 'master' into mods-stable-ordering 2023-09-28 18:30:56 +02:00
Bartłomiej Dach
39d5025969
Update resources 2023-09-28 16:58:21 +02:00
Bartłomiej Dach
7638ea36a0
Merge branch 'master' into mod-icon-extended 2023-09-28 16:57:17 +02:00
Dean Herbert
f340bb99e8 Nudge text right 1 pixel 2023-09-28 22:23:45 +09:00
Dean Herbert
e4fd3b65f4 Avoid recreating ModSettingChangeTracker unless required 2023-09-28 22:18:28 +09:00
Dean Herbert
b1f6803371
Remove unused commented code
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:11:03 +09:00
Dean Herbert
e0e222c1fa
Include mention of what to do when not using field in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:10:30 +09:00
Dan Balasescu
db9113b38e
Merge pull request #24924 from bdach/update-classic-scoring
Update classic scoring formula to closer match stable score V1
2023-09-28 20:19:23 +09:00
Bartłomiej Dach
fc4390884f
Add GetDisplayScore() extension for SoloScoreInfo
To be used server-side for ppy/osu-queue-score-statistics#134.
2023-09-28 12:43:05 +02:00
Dean Herbert
d4cf6e100f Update other usages of OsuIcon.ModBg and remove 2023-09-28 19:03:34 +09:00
Dean Herbert
2ff376daa4 Adjust to include shadow, and use new main background sprite which includes shadow 2023-09-28 19:03:34 +09:00
Dean Herbert
b8953e8ce1 Code quality pass 2023-09-28 19:03:34 +09:00
Dean Herbert
2800920ed9 Adjust font size slightly for better display when small 2023-09-28 19:03:34 +09:00
Bartłomiej Dach
90326f62a7
Merge pull request #24953 from peppy/flash-dialog-on-stuck
Flash dialog popup when attempting to exit editor while exit is being blocked
2023-09-28 11:04:38 +02:00
Bartłomiej Dach
afa1815d13
Merge pull request #24929 from peppy/reduce-song-select-debounce
Reduce delay before loading beatmap after selection change at song select
2023-09-28 10:45:43 +02:00
Dean Herbert
7d74d84e6c Display mod icons using stable ordering
In discussion with nanaya, we likely want this now that we're adding the
ability for some icons to be extended. Historically mod icons have been
displayed in a stable but arbitrary order (based on their position in
the `Mods` enum).

This change aims to make them stable across lazer scores (where they are
stored based on .. the order the user selected them).
2023-09-28 16:48:09 +09:00
Dean Herbert
7908b36b39 Flash dialog popup when attempting to exit editor while exit is being blocked 2023-09-28 15:25:39 +09:00
Bartłomiej Dach
0b9d01075a
Merge branch 'master' into fix-missing-skin-ini-version 2023-09-27 19:33:43 +02:00
Bartłomiej Dach
edf40cc091
Fix nullability inspection 2023-09-27 17:09:42 +02:00
Bartłomiej Dach
0769d0f49f
Merge branch 'master' into fix-batch-import-score-missing-notifications 2023-09-27 17:06:47 +02:00
NiceAesth
83bf1efc1c Add color search alias for colour settings 2023-09-27 16:29:29 +03:00
Bartłomiej Dach
934ac1b640
Merge branch 'master' into better-erroring-score-import-fail 2023-09-27 14:34:14 +02:00
Dean Herbert
1246f15186 Don't show extended information where it duplicates already visible information 2023-09-27 19:29:03 +09:00
Dean Herbert
9f4df29880 Adjust fade durations at player loader to better hide mod jank 2023-09-27 19:29:03 +09:00
Dean Herbert
6e602929a4 Add support for tracking settings changes 2023-09-27 19:29:03 +09:00
Dean Herbert
192eb541c0 Adjust sizing to work better with expansion (no more centre anchoring) 2023-09-27 19:29:03 +09:00
Dean Herbert
16e752e07d Add basic structure and test coverage for extended info on mod icon 2023-09-27 19:29:03 +09:00
Bartłomiej Dach
0722bc88b7
Merge pull request #24861 from peppy/fix-storyboard-skin-textures-lookup
Fix storyboard `UseSkinSprites` being implemented incorrectly
2023-09-27 11:58:42 +02:00
Bartłomiej Dach
e314913aeb
Handle null texture case 2023-09-27 11:18:38 +02:00
Dean Herbert
d0456908cd
Merge branch 'master' into SR/BPM-Display-fix 2023-09-27 18:17:50 +09:00
Dean Herbert
a639e51ddb Fix value not updating after missing beatmap is imported 2023-09-27 18:17:25 +09:00
Dean Herbert
175cf68bd6 Avoid re-fetching WorkingBeatmap 2023-09-27 18:13:07 +09:00
Dean Herbert
a7237e48aa Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-27 17:17:51 +09:00
Dean Herbert
3705c4c8d5 Avoid potentially incorrect size adjustment when texture doesn't change 2023-09-27 17:16:45 +09:00
Dean Herbert
2481c0b64b Don't show replay import "missing beatmap" notifications during stable import
Closes https://github.com/ppy/osu/issues/24926.
2023-09-27 17:04:43 +09:00
Dean Herbert
3708e79577 Adjust logging to still expose the underlying exception 2023-09-27 16:55:03 +09:00
Dean Herbert
c44cca2c23 Fix skin version being incorrectly set to 1.0 when skin is missing skin.ini
Closes https://github.com/ppy/osu/issues/24939.
2023-09-27 16:50:03 +09:00
Dean Herbert
9d8c3f0f5c
Merge pull request #24779 from smoogipoo/split-legacy-scoring-attribs
Split legacy scoring attribs into its own table
2023-09-26 22:35:38 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions 2023-09-26 16:40:32 +09:00
Dean Herbert
ae31a8fadf Reduce delay before loading beatmap after selection change at song select
This was originally set high because of performance concerns. We have
since improved things quite drastically. Even with a very low debounce
my song select is amazingly smooth.

This is about as low as we can got unless we want chaos when key
repeating left/right arrows (it's not as bad as you think, maybe worth
testing during review and see if it feels more expected?).

Of note, stable has key repeat disabled on left/right arrows and zero
debounce.

Addresses concerns in https://github.com/ppy/osu/discussions/24916.
2023-09-26 16:21:09 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs 2023-09-26 15:52:27 +09:00
Dean Herbert
d1d82d2b49 Improve notification display when score import fails 2023-09-26 15:00:56 +09:00
Dean Herbert
567bc8fcd3 Ensure DrawableStoryboardSprite's texture size propagates corectly on skin change 2023-09-26 14:13:51 +09:00
Dean Herbert
2ca1c684bb
Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-26 14:05:27 +09:00
Bartłomiej Dach
57c00e728b
Update classic scoring algorithm to closer match stable score V1 2023-09-25 19:16:18 +02:00
Fabian van Oeffelt
2040dcabe0 Improve Code Quality 2023-09-25 17:51:39 +02:00
Fabian van Oeffelt
2a3391d83b Remove unused namepace 2023-09-25 16:56:34 +02:00
Fabian van Oeffelt
59d3143645 Fix SR/BPM Display in Playlist rooms 2023-09-25 16:53:40 +02:00
Pasi4K5
74896fd6b2 Fix multiple difficulty search queries not working in some cases. 2023-09-25 13:38:47 +02:00
Pasi4K5
793d1bf970 Add ability to search for difficulty names 2023-09-25 12:52:49 +02:00
Dean Herbert
3c62521e69 Fix OAuth refresh attempt when no network available causing full logout 2023-09-24 10:50:07 +09:00
Dean Herbert
d019cb5167 Update in line with framed clock changes 2023-09-22 22:02:18 +09:00
Dean Herbert
251a85db43 Fix StopUsingBeatmapClock not transferring time and running state 2023-09-22 16:22:36 +09:00
Dean Herbert
faa0481fc6 Fix editor operating directly on track rather than decoupled clock 2023-09-22 16:22:36 +09:00
Dean Herbert
8367bb6bee Don't apply decoupling to SpectatorPlayerClocks
See inline comment for reasoning. It's a bit complicated.
2023-09-22 16:22:35 +09:00
Dean Herbert
6629a47ed3 Fix FramedBeatmapClock's source not being processed 2023-09-22 16:22:35 +09:00
Dean Herbert
bf08fbe196 Set source directly in FramedBeatmapClock ctor
This isn't required, but avoids creating a temporary `StopwatchClock`
and generally just makes debug easier with less state changes.
2023-09-22 16:22:35 +09:00
Dean Herbert
586311d508 Fix souce clock not always being transferred to FramedBeatmapClock in time 2023-09-22 16:22:35 +09:00
Dean Herbert
0200b63fd3 Add note about beatmap offset not being reapplied correctly on ChangeSource 2023-09-22 14:41:07 +09:00
Dean Herbert
a1e298930c Remove second hopefully-unnecessary workaround 2023-09-22 14:41:07 +09:00
Dean Herbert
a451ab75dd Remove hopefully-unnecessary workaround
It was causing issues with the new implementation.
2023-09-22 14:41:05 +09:00
Dean Herbert
df08c4e1ad Disable decoupling for OsuGameBase's beatmap implementation
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
5f634f2812 Remove unnecessary encapsulation workaround
The new implementation of `DecouplingClock` will not mutate the
underlying clock in any way (unless attempting to start it when
approaching from a negative time value).

This should be quite safe as a result.
2023-09-22 12:49:25 +09:00
Dean Herbert
21a2e27e5f Simplify some pieces of FramedBeatmapClock 2023-09-22 12:49:25 +09:00
Dean Herbert
04e6ec8715 Fix interpolation not being applied when applyOffsets is set 2023-09-22 12:49:25 +09:00
Dean Herbert
117cd74af6 Update usage of DecoupleableInterpolatingFramedClock in FramedBeatmapClock 2023-09-22 12:49:25 +09:00
Dean Herbert
3f27be1f33 Replace most usages of DecoupleableInterpolatingFramedClock
Except `FramedBeatmapClock`, which is the high-effort one.
2023-09-22 12:49:25 +09:00
Dean Herbert
600651795b Change FramedBeatmapClock to always be decoupled 2023-09-22 12:49:25 +09:00
Salman Ahmed
5266cdc722 Add explanatory note 2023-09-21 20:41:10 +03:00
Salman Ahmed
095812c6b8
Merge branch 'master' into fix-song-select-shift-delete 2023-09-21 20:25:43 +03:00
Salman Ahmed
9e4a56d64e
Merge branch 'master' into update-framework 2023-09-21 19:49:20 +03:00
Dean Herbert
f1258a3963 Update framework 2023-09-22 01:26:38 +09:00
Dean Herbert
9af4e75dfc Disable clipboard export for song select textbox
In combination with https://github.com/ppy/osu-framework/pull/5997,
closes https://github.com/ppy/osu/issues/24867
2023-09-22 01:24:29 +09:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv 2023-09-21 09:13:27 +02:00
Dean Herbert
bf984388b3 Update clocks in line with framework changes 2023-09-20 21:17:08 +09:00
Bartłomiej Dach
28da5baea4
Merge branch 'master' into fix-slider-length 2023-09-20 11:10:01 +02:00
Dean Herbert
41a8239e49 Remvoe null default for mods which can't be null 2023-09-20 15:27:50 +09:00
Dean Herbert
c6cc858967 Change implementation of "show speed changes" to require explicit ruleset support 2023-09-20 15:27:30 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +09:00
Dean Herbert
12611a09f1
Merge branch 'master' into editor/checks/delayed-hitsounds 2023-09-20 14:18:41 +09:00
Dean Herbert
71ac5cfc79 Don't bother binding to friends changes for score display purposes 2023-09-20 14:14:37 +09:00
Dean Herbert
1927b524db
Merge branch 'master' into leaderboard-friend-highlight 2023-09-20 14:14:08 +09:00
Dean Herbert
bd66285bd4 Rename parameter on LegacySpriteText to better imply the maximum size is per glyph 2023-09-20 12:59:40 +09:00
Dean Herbert
b5e64d933c Apply same fix to DrawableStoryboardAnimation 2023-09-20 12:54:36 +09:00
Dean Herbert
50adb5f7a7 Remove incorrectly merge conflict resolved 2023-09-20 12:54:28 +09:00
Dean Herbert
cd4651ffe3
Merge pull request #24863 from bdach/storyboard-fail
Fix issues after storyboard resource lookup refactor
2023-09-20 11:14:15 +09:00
Bartłomiej Dach
333b839e0d
Fix broken automatic beatmap download setting migration 2023-09-19 21:38:07 +02:00
Bartłomiej Dach
641e651bf2
Fix DrawableStoryboardVideo attempting to unmap path once too much
The `StoryboardResourceLookupStore` cached at storyboard level is
supposed to already be handling that; no need for local logic anymore.
2023-09-19 20:18:33 +02:00
Bartłomiej Dach
ba518e1da8
Fix StoryboardResourceLookupStore dying on failure to unmap path
Before the introduction of `StoryboardResourceLookupStore`, missing
files would softly fail by use of null fallbacks. After the
aforementioned class was added, however, the fallbacks would not work
anymore if for whatever reason `GetStoragePathFromStoryboardPath()`
failed to unmap the storyboard asset name to a storage path.
2023-09-19 20:11:16 +02:00
Dean Herbert
aea7f81f1c
Merge pull request #24800 from sw1tchbl4d3r/invalid_bank
Default to normal bank if invalid sample bank is specified
2023-09-19 22:28:34 +09:00
Bartłomiej Dach
c4a0ca326e
Replace sample bank fix with more correct fix
stable does not treat unknown enum members as `None` / `Auto`, it treats
them as `Normal`:

    switch (sampleSet)
    {
        case SampleSet.Normal:
        default:
            sample = 0;
            break;
        case SampleSet.None:
        case SampleSet.Soft:
            sample = 1;
            break;
        case SampleSet.Drum:
            sample = 2;
            break;
    }

    (from 1531237b63/osu!/Audio/AudioEngine.cs#L1158-L1171).
2023-09-19 13:53:49 +02:00
Dean Herbert
4a7dc4d792 Fix storyboard UseSkinSprites being implemented incorrectly
This was implemented as a "fallback", but it's actually intended to be
an "override". As in it allows storyboarders to *prefer* a skin sprite
before falling back to a local version contained within the storyboard.

Can be tested with https://osu.ppy.sh/beatmapsets/832364#osu/1743837.

Closes https://github.com/ppy/osu/issues/24813.
2023-09-19 20:20:20 +09:00
Dean Herbert
773ec46989 Expose some storyboard pieces to allow better testability 2023-09-19 20:20:11 +09:00
Bartłomiej Dach
43ae26b8ef
Merge pull request #24809 from peppy/storyboard-resource-lookup-refactor
Refactor storyboard resource lookup to be more streamlined
2023-09-19 12:52:02 +02:00
Dean Herbert
067c487b21
Merge pull request #24450 from cdwcgt/missing-beatmap
Fetch missing beatmap when importing replay
2023-09-19 18:40:02 +09:00
Bartłomiej Dach
ed9039f60f
Fix notification text sets overwriting each other 2023-09-19 11:12:58 +02:00
Dean Herbert
05e05f8160 Increase transition speed slightly 2023-09-19 18:02:08 +09:00
Dean Herbert
cdb5fea513 Remove unused translations 2023-09-19 17:53:00 +09:00
Dean Herbert
f726c38215 Pass ArchiveReader instead of Stream to simplify resolution code 2023-09-19 17:49:15 +09:00
Dean Herbert
0593c76c57 Fix log output using incorrect name 2023-09-19 17:34:24 +09:00
Bartłomiej Dach
62f97a8d83
Adjust beatmap card thumbnail dim state to match web better 2023-09-19 10:28:08 +02:00
Dean Herbert
7f30354e61 Adjust sizing slightly to remove need for CollapsibleButtonContainerSlim 2023-09-19 17:20:58 +09:00
Dean Herbert
0555d22eb8 Add comment mentioning why hover is disabled on the notification type 2023-09-19 16:35:22 +09:00
Bartłomiej Dach
8e199de78a
Tweak nano beatmap card UX further to meet expectations 2023-09-19 08:36:32 +02:00
Magnus-Cosmos
73db68a49a
Check if path lists are empty 2023-09-19 02:28:28 -04:00
Bartłomiej Dach
0ffb906741
Merge pull request #24831 from peppy/update-deps
Update all dependencies (except for Moq)
2023-09-19 07:50:27 +02:00
Magnus-Cosmos
a9b45c6fdc
Fix slider path calculations for edge cases 2023-09-19 01:31:26 -04:00
Dean Herbert
aba98f2985
Merge pull request #24823 from bdach/scoring-test-scene-catch
Add scoring test scene for catch
2023-09-19 13:59:11 +09:00
Salman Ahmed
8e992de763 Fix crash when loading player instance without exiting previous instance 2023-09-19 05:09:01 +03:00
Salman Ahmed
922f6f36f2 Add size limitation for hit object numbers 2023-09-19 04:38:10 +03:00
Salman Ahmed
b823507b2a Add size limitation for approach circles 2023-09-19 04:38:10 +03:00
Salman Ahmed
291a91be66 Change extension from retrieval to post-processing instead 2023-09-19 03:40:30 +03:00
Salman Ahmed
57dc76b345 Revert "Update GetTexture signature rather than creating new overload"
This reverts commit 96f12cfbaa.
2023-09-19 03:21:19 +03:00
Magnus-Cosmos
83584519e6
Fix extension check using control points instead of path points 2023-09-18 11:40:00 -04:00
Bartłomiej Dach
8b5a851f31
Merge branch 'master' into scoring-test-scene-catch 2023-09-18 15:15:03 +02:00
Dean Herbert
163b6df357
Merge pull request #24846 from bdach/get-reader-regression
Fix `MemoryStreamArchiveReader.GetStream()` failing in some cases
2023-09-18 22:06:33 +09:00
Bartłomiej Dach
25e43bd7d7
Auto-close notification after successful download 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
4cdd19bb5a
Use different copy when auto-downloading 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
3bddf4bf9a
Rename spectator-specific settings to more generic (with backwards migration) 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
27471ad170
Make missing beatmap notification simple
Progress didn't work for several reasons:

- It was spinning when nothing was actually happening yet
  (especially egregious with autodownload off)

- It was blocking exits (as all progress notifications do)

- When actually going to download, two progress notifications would
  pertain to one thing

- It wasn't helping much with the actual implementation of score
  re-import, cancelling the progress notification would result in
  similarly jank UX of beatmap importing but not the score.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
b2c98da330
Reword and localise copy 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
2709c6cd67
Integrate nano beatmap card into the notification 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
47764b3012
Fix OsuTestScene.CreateAPIBeatmapSet() not backlinking set beatmaps to the set 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
5fcd736332
Redo nano beatmap card design to fit needs better
Wanting to use this inside notification, it turns out that the original
design did not work very well at such narrow widths, and additionally
the typical button setup borrowed from elsewhere resulted in teeny tiny
action buttons.

To that end, slim down the design (get rid of thumbnail, audio preview,
make expandable right side slimmer), as well as change the entire panel
so that it has only one action associated with it at all times, and
clicking the panel in any place triggers that action.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
67b5dfb9cf
Merge branch 'get-reader-regression' into missing-beatmap 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap 2023-09-18 14:56:06 +02:00
Dean Herbert
f3b6aa5435
Merge pull request #24821 from bdach/scoring-test-scene-osu
Refactor scoring test scene for ruleset extensibility (and move existing instance to osu! ruleset project)
2023-09-18 19:54:14 +09:00
Bartłomiej Dach
e57d7d1205
Fix MemoryStreamArchiveReader.GetStream() failing in some cases
`MemoryStreamArchiveReader` introduced in
0657b55196 would previously use
`MemoryStream.GetBuffer()` to retrieve the underlying byte buffer with
stream data. However, this is not generally the method you would want,
for two reasons:

1. It can fail if the stream wasn't created in the way that supports it.
2. As per

	https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.getbuffer?view=net-7.0#system-io-memorystream-getbuffer,

   it will return the _raw_ contents of the buffer, including
   potentially unused bytes.

To fix, use `MemoryStream.ToArray()` instead, which avoids both
pitfalls. Notably, `ToArray()` always returns the full contents of the
buffer, regardless of `Position`, as documented in:

    https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.toarray?view=net-7.0#system-io-memorystream-toarray
2023-09-18 11:50:36 +02:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card 2023-09-18 11:30:14 +02:00
Bartłomiej Dach
59b9a636d3
Fix grammar in comment 2023-09-18 10:46:14 +02:00
Bartłomiej Dach
3709861132
Merge pull request #24814 from LukynkaCZE/parse-only-supported-char-uris
Parse only supported schemes as URIs
2023-09-18 10:20:09 +02:00
Bartłomiej Dach
d3cc6dbaa0
Fix link protocol allowlist allowing too much 2023-09-18 09:20:24 +02:00
Dean Herbert
be026f7ff1 Bump realm once more 2023-09-17 01:27:43 +09:00
Dean Herbert
56b5f52e83 Update all dependencies (except for Moq) 2023-09-16 15:37:31 +09:00
Joseph Madamba
c2685da94c
Fix dummy beatmap showing AR 5 on song select 2023-09-15 20:26:17 -07:00
Bartłomiej Dach
ebdc501e5b
Add example scenarios and configurable score multiplier 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
5eccc771c2
Turn off non-perfect judgements for catch scoring test scene 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
0c22ff2a80
Refactor further to allow extensibility to other rulesets 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
45751dd1f2
Minimum viable changes for ruleset-specific scoring test scenes 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point 2023-09-15 11:14:28 +02:00
Dean Herbert
56cc2b62f0 Make not extension method 2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff Move to extension method and throw on non-legacy ruleset 2023-09-15 17:38:34 +09:00
Bartłomiej Dach
9b391cd661
Merge branch 'master' into import-task-improve 2023-09-14 19:37:01 +02:00
Bartłomiej Dach
c8b18acd4d
Bring back disposal of stream after copy-out to MemoryStream
Was there in previous code and got removed in the refactor. I'd rather
have it than not.
2023-09-14 19:36:35 +02:00
Lukynka CZE
9b8fdcbcdc somehow accidentally removed backslashes 2023-09-14 17:55:53 +02:00
Lukynka CZE
66751ef5bb add regex 2023-09-14 17:46:29 +02:00
Bartłomiej Dach
6aff1d4063
Merge branch 'master' into mod-select-difficulty-multiplier-animation 2023-09-14 16:23:30 +02:00
Dean Herbert
57f32b177d Fix incorrect handling of non-MemoryStream pathway 2023-09-14 22:19:18 +09:00
Bartłomiej Dach
94cdcfd7ce
Move collapsed bindable back to BeatmapAttributesDisplay for now
Better to have it only in one place that needs it, rather than have it
not work as expected when someone inherits
`ModFooterInformationDisplay`.
2023-09-14 14:56:58 +02:00
Bartłomiej Dach
44461b4eff
Merge branch 'master' into mod-select-diff-multiplier-visual-matching 2023-09-14 12:12:23 +02:00
Bartłomiej Dach
3f7b8dbe58
Merge branch 'master' into move-mod-select-diff-multiplier 2023-09-14 11:26:22 +02:00
Bartłomiej Dach
25dbd0a1d3
Rename variable to reflect new "beatmap attributes display" naming 2023-09-14 11:24:53 +02:00
Bartłomiej Dach
2d3be819d0
Merge pull request #24796 from peppy/collapse-preset-column
Collapse mod presets column slightly when not in use
2023-09-14 11:07:36 +02:00
Bartłomiej Dach
18672e178f
Merge pull request #24795 from peppy/fix-mod-rate-adjust-tooltip-x
Fix rate adjust mods not showing "x" prefix on customisation slider's tooltip
2023-09-14 10:18:32 +02:00
Dean Herbert
900376b662 Refactor storyboard resource lookup to be more streamlined 2023-09-14 16:15:50 +09:00
Bartłomiej Dach
68323671ec
Update framework and resources 2023-09-14 08:24:18 +02:00
Dean Herbert
7bf0a22112 Improve flash effect 2023-09-14 13:57:56 +09:00