1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 10:22:56 +08:00
Commit Graph

11524 Commits

Author SHA1 Message Date
Dean Herbert
25941f6187
Use DeepClone instead of reflection call
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-01 10:47:45 +09:00
Dean Herbert
bc22079fdc Fix row selected colour flicker when changing offset rapidly 2022-05-31 22:02:30 +09:00
Dean Herbert
8240b645b4 Copy attribute types from currently selected control point to new placements 2022-05-31 21:50:12 +09:00
Dean Herbert
f99bcb23a0 Automatically make first control point added to beatmap have timing data 2022-05-31 21:50:08 +09:00
Dean Herbert
a940676fc2 Add adjustment buttons 2022-05-31 21:31:20 +09:00
Dan Balasescu
eaeb66547e Revert comment removal 2022-05-31 19:58:45 +09:00
Dean Herbert
475cc8174f Fix off-by-one display issue when adjusting offset 2022-05-31 18:41:44 +09:00
Dean Herbert
94194a04f2 Animate adjustments 2022-05-31 18:41:44 +09:00
Dean Herbert
51014b8748 Ensure offset changes are correctly tracked by the display, even when locked 2022-05-31 18:41:44 +09:00
Dean Herbert
c8f21ee8b2 Change WaveformComparisonDisplay to centre around a time offset rather than beat 2022-05-31 18:41:44 +09:00
Dean Herbert
6bc68ada43 Add ability to lock the WaveformComparison display to a current location 2022-05-31 18:41:44 +09:00
Dean Herbert
c0804803fd Add background to main waveform row 2022-05-31 18:35:52 +09:00
Dean Herbert
655780fd98 Fix regression in bpm textbox binding logic 2022-05-31 18:27:18 +09:00
Dean Herbert
ebb83a5e49 Add TODO about scroll behaviour which is missing 2022-05-31 15:10:55 +09:00
Dean Herbert
cf5da44492 Add automatic control point tracking to the timing screen 2022-05-31 15:00:30 +09:00
Dean Herbert
27efeb7d4e Fix TimingSection performing a beatmap save when switching bound timing points 2022-05-31 14:58:49 +09:00
Dan Balasescu
22d998dc2a Use new score processor in MultiplayerGameplayLeaderboard 2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3 Send ScoreProcessor statistics in SpectatorState 2022-05-30 19:26:26 +09:00
Dan Balasescu
c97b477485 Fix inverted operation order 2022-05-30 19:11:54 +09:00
Dan Balasescu
be998cdb0a
Merge pull request #18477 from frenzibyte/fix-timeline-context-menu
Fix context menu no longer opening for hitobjects in timeline
2022-05-30 11:49:06 +09:00
Bartłomiej Dach
c892ec83ef
Fix wrong sizing of editor timeline ticks 2022-05-29 20:15:17 +02:00
Salman Ahmed
9cc5df9b13 Fix context menu no longer open on hitobjects in timeline 2022-05-29 15:23:32 +03:00
Salman Ahmed
02baf9a97a Fix timeline objects disappearing prematurely on wide-screens 2022-05-28 17:45:38 +03:00
Bartłomiej Dach
1641918c51
Revert "Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes"
This reverts commit 19b655d75b.
2022-05-28 15:23:28 +02:00
Dean Herbert
62266c72ea
Merge pull request #18448 from frenzibyte/editor-metronome-rate
Fix metronome speed not adjusted on different playback rates
2022-05-28 10:58:51 +09:00
Dean Herbert
4f2910cdb1
Merge pull request #18445 from frenzibyte/editor-background-colour
Darken background colour in "setup" and "verify" screens
2022-05-28 10:56:22 +09:00
Dean Herbert
68684f5fe7
Merge pull request #18446 from frenzibyte/editor-row-attribute-background
Update row attribute background colour to fit screen
2022-05-28 10:53:50 +09:00
Dean Herbert
93a8092da6 Increase usable width slightly further 2022-05-28 10:51:39 +09:00
Salman Ahmed
e12d188dad Fix metronome speed not adjusted on different playback rates 2022-05-28 04:10:39 +03:00
Salman Ahmed
d12e4928e6 Increase editor verify settings width to give more breathing space 2022-05-28 03:09:04 +03:00
Salman Ahmed
e71d907164 Update row attribute background colour to fit screen 2022-05-28 02:20:04 +03:00
Salman Ahmed
eec9248cde Darken background colour in "setup" and "verify" screens 2022-05-28 02:10:18 +03:00
Salman Ahmed
aee3e2a4ed Add shadow effect to editor's bottom bar 2022-05-28 01:58:55 +03:00
Dean Herbert
03d9ca0d8d
Merge pull request #18437 from peppy/fa-playlist-category
Add featured artist playlist category
2022-05-28 01:28:21 +09:00
Bartłomiej Dach
e511c1dfff
Merge branch 'master' into use-normalised-precise-scrolling 2022-05-27 16:55:13 +02:00
Bartłomiej Dach
a94432f3bd
Fix drawable room border colour not matching badge 2022-05-27 16:40:15 +02:00
Dean Herbert
883c6f1eb3 Update colour of spotlights playlist to match new specs 2022-05-27 20:26:35 +09:00
Dean Herbert
ef47b380c6 Add featured artist playlist category 2022-05-27 20:18:46 +09:00
Dean Herbert
d94315ee3f Fix potential crash from unsafe drawable mutation in scoreboard update code 2022-05-27 20:03:30 +09:00
Joseph Madamba
e551a53601 Fix checkmarks not showing on editor stateful menu items 2022-05-26 21:45:30 -07:00
Bartłomiej Dach
e7a266e742
Merge branch 'master' into fix-multiplayer-race 2022-05-26 20:43:20 +02:00
Dan Balasescu
0224947de0 Add comment about how starting gameplay works 2022-05-26 20:09:47 +09:00
Dan Balasescu
3915b8e414 Fix multiplayer race condition when starting gameplay 2022-05-26 20:01:33 +09:00
Dean Herbert
fb586fe0b2 Merge branch 'master' into editor-bottom-bar-new-design 2022-05-26 18:32:28 +09:00
Dean Herbert
7f4ea5d522 Use left alignment and remove hacky text positioning code 2022-05-26 18:12:28 +09:00
Bartłomiej Dach
f0303d76e8
Split off "select all mods" button to separate class 2022-05-25 22:18:30 +02:00
Dean Herbert
acd554d918 Update time info and add bpm 2022-05-25 23:54:59 +09:00
Dean Herbert
2c61a9d3d1 Update bottom bar components to new design language (mostly) 2022-05-25 23:54:59 +09:00
Dean Herbert
8791e3b9ef Split BottomBar out of Editor 2022-05-25 23:54:59 +09:00
Dean Herbert
463b8130c8 Update editor screen switcher to match new design language 2022-05-25 22:31:27 +09:00
Dean Herbert
206f2ca208 Rename screen switcher control to be in line with naming expectations 2022-05-25 22:20:33 +09:00
Dean Herbert
c4cae7f677 Update EditorMenuBar to match new design language 2022-05-25 22:19:24 +09:00
Dan Balasescu
fb22801afb
Merge pull request #18388 from peppy/editor-timing-waveforms
Add waveform comparison view to editor timing screen
2022-05-25 20:15:25 +09:00
Dean Herbert
f1d4902be5 Remove unnecessary bindable cast 2022-05-25 19:25:23 +09:00
Dan Balasescu
f468d1eb16
Merge branch 'master' into editor-tidy-up 2022-05-25 11:58:34 +09:00
Bartłomiej Dach
5f6baaca13
Merge branch 'master' into editor-beat-divisor-size-static 2022-05-24 23:17:02 +02:00
Dan Balasescu
25f35b3408
Merge pull request #18394 from peppy/editor-beat-divisor-on-mouse-down
Handle beat divisor input on mouse down, rather than mouse up
2022-05-24 19:06:14 +09:00
Dan Balasescu
46b2f1ecc2
Merge pull request #18392 from peppy/editor-remove-triangle-button-usage
Remove `TriangleButton` usage in editor
2022-05-24 18:51:02 +09:00
Dean Herbert
0bcf8c846c Change editor colour scheme to aquamarine 2022-05-24 18:43:22 +09:00
Dean Herbert
648cee7106 Remove editor screen transitions for now 2022-05-24 18:43:22 +09:00
Dean Herbert
3f5ccd4db8 Update timing screen sections to newer design metrics 2022-05-24 18:43:22 +09:00
Dean Herbert
c02ec05056 Remove remaining usage of EditorRoundedScreen 2022-05-24 18:43:22 +09:00
Dean Herbert
1d196262d0 Remove unused OnTimelineLoaded flow 2022-05-24 18:43:22 +09:00
Dean Herbert
a905731053 Update timeline colours and paddings to match new designs 2022-05-24 18:43:22 +09:00
Dean Herbert
17206bbebf Update screen padding and colouring to better match new designs 2022-05-24 18:43:22 +09:00
Dean Herbert
a2bfd0ba41 Merge branch 'editor-remove-triangle-button-usage' into editor-combined 2022-05-24 18:43:02 +09:00
Dean Herbert
741cfcc614 Merge branch 'editor-beat-divisor-on-mouse-down' into editor-combined 2022-05-24 18:43:01 +09:00
Dean Herbert
3ace5f135e Adjust marker to match design proportions 2022-05-24 18:26:01 +09:00
Dean Herbert
3c2e57bf00 Update BeatDivisorControl to better match new designs and metrics 2022-05-24 18:26:01 +09:00
Dean Herbert
e6087f5f5b Handle beat divisor input on mouse down, rather than mouse up
It felt way too unresponsive.
2022-05-24 18:16:19 +09:00
Dean Herbert
4a88affd03 Move beat divisor tick size retrieval to static methods 2022-05-24 18:15:20 +09:00
Dean Herbert
a346990a8c Remove TriangleButton usage in editor 2022-05-24 18:13:09 +09:00
Dean Herbert
1137545d4a Fix Timeline potentially not updating visuals to correct state on first display 2022-05-24 18:11:05 +09:00
Dean Herbert
49a2173646 Avoid needlessly updating display (and add better documentation on chosen scale) 2022-05-24 14:36:44 +09:00
Dean Herbert
4fcdcef166 Add indexing on each wavefrom row 2022-05-24 14:36:44 +09:00
Dean Herbert
c1720c128d Dim rows which are not part of the active control point (and offset centre) 2022-05-24 14:36:44 +09:00
Dean Herbert
7040dec013 Fix disabled bindable woes by not using TimingControlPoint.DEFAULT 2022-05-24 14:36:44 +09:00
Dean Herbert
588c5d1583 Add initial waveform comparison display 2022-05-24 14:36:44 +09:00
Susko3
88217e0c98 Adjust ScrollDelta usages to account for normalised IsPrecise values 2022-05-23 20:22:27 +02:00
Dan Balasescu
7d0470794b
Merge pull request #18353 from frenzibyte/spectator-catch-up-work-alt
Disallow multi-spectator player clocks from being started/stopped externally
2022-05-23 13:59:54 +09:00
Dan Balasescu
e3c1c78b17
Merge pull request #18348 from maromalo/mod-key-multiplayer
Add toggle mod hotkey support in multiplayer room
2022-05-23 13:45:02 +09:00
Dan Balasescu
f111d33b25
Merge pull request #18339 from peppy/editor-timing
Add first pieces of editor timing UI
2022-05-23 11:12:22 +09:00
Dean Herbert
9c3d0dafbd Remove implementation at Player level
Turns out this isn't required in the end due to implementation at
`MasterGameplayClockContainer`.
2022-05-23 02:00:21 +09:00
Dean Herbert
c9ea87e6be Revert easing for now 2022-05-23 00:03:42 +09:00
Dean Herbert
007582afb9 Remove unused usings resulting from namespace move 2022-05-22 23:55:33 +09:00
Dean Herbert
eabf578282 Use interface to convey beat sync information 2022-05-22 22:44:54 +09:00
maromalo
fc25d248ad Test coverage + no virtual 2022-05-21 18:16:29 -03:00
Salman Ahmed
27da293b40 Make catch-up spectator clocks running state immutable externally 2022-05-21 17:12:04 +03:00
Dean Herbert
9a780bcad3 Remove unused using 2022-05-21 21:56:05 +09:00
Dean Herbert
376549ce09 Use ToLocalisableString instead of CurrentCulture 2022-05-21 21:48:51 +09:00
maromalo
2bd4c126d3 Blank line
Forgot to save.
2022-05-21 05:07:24 -03:00
maromalo
a7aa36a825 Add OnPressed to button 2022-05-21 04:55:42 -03:00
Dean Herbert
982856a8b2 Merge branch 'localisable-filter-items' into update-framework 2022-05-21 15:17:51 +09:00
Salman Ahmed
84a3cee452 Apply rate multiplier outside BPM rounding 2022-05-20 18:04:12 +03:00
Dean Herbert
4633eed78c Merge branch 'master' into localisable-filter-items 2022-05-20 23:55:16 +09:00
Salman Ahmed
596853da8f Fix song select potentially displaying BPM range with equal min/max values 2022-05-20 17:53:28 +03:00
Dean Herbert
8db80b92bb Fix metronome not using EditorBeatmap causing editor updates to not propagate immediately 2022-05-20 23:24:57 +09:00
Dean Herbert
82eb5fd2c9 Add centre line on weight 2022-05-20 17:30:04 +09:00
Dean Herbert
2e21d75b10 Move metronome into own class and rename to avoid conflict with mod sounds 2022-05-20 17:30:04 +09:00
Dean Herbert
cf97f4e409 Add centre marker 2022-05-20 17:30:04 +09:00
Dean Herbert
4712e512d7 Apply edge smoothness and make weight more accented 2022-05-20 17:30:04 +09:00
Dean Herbert
8487d2c48a Interpolate bpm label and fix incorrect angle logic 2022-05-20 17:30:04 +09:00
Dean Herbert
21072a26ef Add locking wedge 2022-05-20 17:30:04 +09:00
Dean Herbert
79878a4ec2 Metrics adjust and labelling 2022-05-20 17:30:04 +09:00
Dean Herbert
cf1ef28f72 Add taper and more correctly shaped weight 2022-05-20 17:30:04 +09:00
Dean Herbert
42179568f3 Initial animation pass on metronome 2022-05-20 17:30:04 +09:00
Dean Herbert
ce7be940e2 Setup basics for control and test 2022-05-20 17:30:04 +09:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
Dean Herbert
363e7a6f53 Simplify toolbar hiding logic in FirstRunSetupOverlay
Rather than fiddling around with the activation modes, this seems like a
much cleaner way to make things work.

Closes https://github.com/ppy/osu/issues/18277.
2022-05-19 16:42:48 +09:00
Dean Herbert
83e781d5a1 Allow localisation of PlaceholderText 2022-05-17 17:42:46 +09:00
Dean Herbert
17e0105c2c Fix interaction with popover when textbox is disabled 2022-05-17 17:33:54 +09:00
Dean Herbert
3ff0399281 Split out LabelledTextBoxWithPopover for reuse 2022-05-17 17:33:54 +09:00
Dan Balasescu
a633501687 Change FilterTerms to use LocalisableString 2022-05-16 14:09:37 +09:00
Dean Herbert
328561f5c8
Merge pull request #18263 from frenzibyte/spotlight-beatmap-badge
Add support for "spotlight" label in beatmap overlay/listing
2022-05-15 12:32:20 +09:00
Dean Herbert
b6575c216b Allow selecting all mods at free mod select using ctrl+a 2022-05-15 03:25:14 +09:00
Dean Herbert
8a01050168 Refactor mod select button initialisation to allow shared usage of deselect button 2022-05-15 03:16:43 +09:00
Salman Ahmed
88ba84ac9c Replace Pill with Badge everywhere 2022-05-14 20:52:38 +03:00
Bartłomiej Dach
ab5c736da1
Merge branch 'master' into editor-readability 2022-05-13 21:10:48 +02:00
Dean Herbert
c4871ebcf4 Add editor track traversal keys (Z-V) 2022-05-14 02:50:51 +09:00
Dean Herbert
f22ff4e087 Remove editor animation toggling (replaced by overlap markers) 2022-05-12 19:28:56 +09:00
Dean Herbert
c0abce918f Add enum to snap method as alternative to mutliple nested invocations 2022-05-12 16:19:07 +09:00
Dan Balasescu
c54ca937c5 Fix CI inspections 2022-05-12 14:55:20 +09:00
Dean Herbert
f51607521c Fix distance snap providing zero-distance snaps incorrectly 2022-05-12 13:11:55 +09:00
Dean Herbert
5800d7e99d
Merge pull request #18220 from frenzibyte/control-popover-focus
Focus textbox upon opening control point popovers
2022-05-11 19:41:25 +09:00
Dan Balasescu
52c8382138
Merge pull request #18221 from peppy/multiplayer-leaderboard-hiding
Change multiplayer leaderboard to always hide during gameplay unless holding-for-HUD
2022-05-11 18:43:55 +09:00
Dean Herbert
d05cd69087 Change multiplayer leaderboard to always hide during gameplay unless holding-for-HUD 2022-05-11 16:12:54 +09:00
Dean Herbert
1c36995606 Expose HoldingForHUD state from HUDOverlay as bindable 2022-05-11 16:09:16 +09:00
Salman Ahmed
96db530de6 Focus textbox on control point popovers 2022-05-11 09:55:34 +03:00
Salman Ahmed
24432dffc4 Add support for focusing intermediate slider-textbox component 2022-05-11 09:53:04 +03:00
Salman Ahmed
0b597e712e Fix timeline not handling mouse down events 2022-05-11 09:39:27 +03:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay} in place of removed old design 2022-05-10 22:56:50 +02:00
Bartłomiej Dach
4a3447f59f
Remove old free mod select overlay 2022-05-10 21:45:57 +02:00
Dean Herbert
a578f7a406 Force nested screens to load synchronously 2022-05-10 18:21:35 +09:00
Dan Balasescu
a16f2349aa Fix next queued item not selecting after gameplay 2022-05-09 17:55:42 +09:00
Dean Herbert
ab1d46b71c
Merge pull request #17270 from frenzibyte/multiplayer-disable-adaptive-speed
Disable mod "Adaptive Speed" in multiplayer
2022-05-09 17:31:47 +09:00
Salman Ahmed
2f3ac61b47 Revert "Replace vertical scrolling in results screen with size-preserving container"
This reverts commit 298c2a1828.
2022-05-09 10:35:14 +03:00
Salman Ahmed
422531d8ec Revert "Remove no longer required constant"
This reverts commit 6f4cdccf6c.
2022-05-09 10:35:13 +03:00
Salman Ahmed
3407a299ef Revert "Revert scale locking changes for now"
This reverts commit e4521b1fff.
2022-05-09 10:35:12 +03:00
Salman Ahmed
e4521b1fff Revert scale locking changes for now 2022-05-09 10:16:57 +03:00
Salman Ahmed
6f4cdccf6c Remove no longer required constant 2022-05-08 16:20:26 +03:00
Salman Ahmed
7f1ad149d5 Remove no longer necessary horizontal scroll blocker 2022-05-08 16:04:24 +03:00
Salman Ahmed
298c2a1828 Replace vertical scrolling in results screen with size-preserving container 2022-05-08 16:03:57 +03:00
Bartłomiej Dach
cbd1169495
Move cache declarations of ISamplePlaybackDisabler to interface 2022-05-08 10:38:58 +02:00
Bartłomiej Dach
9ae019eb39
Move ISamplePlaybackDisabler to more general namespace 2022-05-08 10:38:58 +02:00
Dean Herbert
0d32bf91eb Hardcode hide key handling in ModSelectScreen 2022-05-08 01:35:11 +09:00
Bartłomiej Dach
9a56f6db44
Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 13:15:13 +02:00
Salman Ahmed
d4c9de8596 Move button width in mod select to constant 2022-05-07 13:23:48 +03:00
Salman Ahmed
a44e21d1b2
Merge branch 'master' into mod-overlay/localisation-strings 2022-05-07 12:13:28 +03:00
Bartłomiej Dach
e7e7486a8e
Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 10:59:30 +02:00
Salman Ahmed
db04bcf1ce
Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-07 11:47:38 +03:00
Bartłomiej Dach
6ad990dfc3
Add basic localisation strings for new mod select 2022-05-07 10:17:24 +02:00
Bartłomiej Dach
4ff96f82be
Dim other buttons if customisation panel is open 2022-05-07 09:50:09 +02:00
Bartłomiej Dach
852e4a9766
Add select/deselect all buttons to free mod select screen 2022-05-07 09:29:33 +02:00
Bartłomiej Dach
202a603d72
Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-07 08:49:30 +02:00
Dean Herbert
dd63657dfb
Merge pull request #18065 from huoyaoyuan/code-style
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
Dean Herbert
71758390b5 Fix time based distance grid alpha not correctly accounting for distance spacing multiplier 2022-05-07 13:37:36 +09:00
Salman Ahmed
723fce8174 Move inverting value to happen outside clamp
Looks to have no effect, but makes sense to happen outside instead.
2022-05-06 18:54:13 +03:00
Salman Ahmed
d78f1d158d Use GetEndTime() instead of StartTime
Companion to
246479bf34
2022-05-06 18:51:35 +03:00
Salman Ahmed
112496204d Make nested class private 2022-05-06 18:50:28 +03:00
Salman Ahmed
3077d398ef
Merge branch 'master' into distance-snap-grid-current-tiume 2022-05-06 18:20:22 +03:00
Salman Ahmed
144d33f0d2
Merge branch 'master' into distance-snapping-test 2022-05-06 17:29:27 +03:00
Bartłomiej Dach
56fa5c9db1
Merge branch 'master' into editor-drag-box 2022-05-06 15:22:39 +02:00
Bartłomiej Dach
29a3ab7e7a
Halve drag box padding
Allows the drag box borders to collapse in on themselves to a single
line if the drag selection has zero width or height.
2022-05-06 15:21:35 +02:00
Dean Herbert
fad1f727bb Fix editor drag box visuals 2022-05-06 20:34:44 +09:00
Dean Herbert
69592722f8 Highlight distance snap grid rings that are close to the current time value 2022-05-06 18:30:46 +09:00
Dean Herbert
118e58888b Rename incorrectly named variable (radius is not diameter) 2022-05-06 17:51:51 +09:00
Dean Herbert
37cbc79283 Fix clamping logic to always clamp to the last displayed tick 2022-05-06 17:09:38 +09:00
Dean Herbert
684fef7f8c Fix MaxIntervals incorrectly factoring distance spacing multipiler into snap calculation 2022-05-06 17:09:02 +09:00
Bartłomiej Dach
f5026bbbeb
Bind to button's activation delay directly 2022-05-06 10:04:36 +02:00
Bartłomiej Dach
f39fcee41b
Remove commented-out code 2022-05-06 10:04:00 +02:00
Dean Herbert
246479bf34 Fix snap extent not working correctly on sliders (and providing incorrect time values) 2022-05-06 15:54:37 +09:00
Dean Herbert
32b40bdabf Rename DistanceBetweenTick to be plural 2022-05-06 15:45:36 +09:00
Dean Herbert
78959a6e05 Add animation to denote a dangerous player exit 2022-05-06 15:02:22 +09:00
Dean Herbert
1c4aa12585 Rename non-descript Button nested class 2022-05-06 14:45:53 +09:00
Dean Herbert
a11771c11b Better encapsulate exposed bindables of HoldToConfirmContainer 2022-05-06 14:45:53 +09:00
Dean Herbert
be960eb092 Move dangerous hold specification to base class 2022-05-06 14:34:31 +09:00
Dean Herbert
0d8e42b941 Merge branch 'master' into exit-multiplayer-is-dangerous 2022-05-06 14:25:18 +09:00
Dean Herbert
641584a049
Merge branch 'master' into multiplayer-disable-adaptive-speed 2022-05-06 14:00:44 +09:00
Bartłomiej Dach
34cf4c6a38
Fix mod overlay not closing on toggle hotkey 2022-05-05 22:16:56 +02:00
Bartłomiej Dach
0caea77176
Fix mod selects not hiding when their owner screens exit 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
a56eab2c47
Extract interface for overlay management 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
66473972da
Use new user mod select design in multiplayer lobby 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
4eefbd5bc2
Use new free mod select design in room creation flow 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
ac08498f35
Use plum colour scheme in multiplayer to match rest of multiplayer screens 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
1744d7e4f0
Fix new mod select overlay dimming itself 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
407db7ff9d
Replace old mod select overlay with new design 2022-05-05 22:16:54 +02:00
Dean Herbert
5029710de7 Merge branch 'master' into distance-snapping-test 2022-05-05 22:00:40 +09:00
Bartłomiej Dach
a859ca0b89
Merge branch 'master' into playlist-keyboard-traversal 2022-05-05 14:45:58 +02:00
Salman Ahmed
8501a41619 Bring back separate bool properties as non-cascading 2022-05-05 14:37:38 +03:00
Bartłomiej Dach
a9eae3a544
Merge branch 'master' into snapping-tidy-distance 2022-05-05 13:15:24 +02:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance 2022-05-05 19:55:55 +09:00
Salman Ahmed
542bb54ba0
Merge branch 'master' into beatmap-selection-keybinding 2022-05-05 13:44:08 +03:00
Dean Herbert
e83604a1fc Merge branch 'master' into cache-at-interface 2022-05-05 18:54:24 +09:00
Dean Herbert
b9d8b7e413 Fix end time extent not being accounted for in new snap implementation 2022-05-05 18:49:12 +09:00
Dean Herbert
b2e9be70a5 Rewrite CircularDistanceSnapGrid snapping implementation to use snap provider 2022-05-05 17:52:36 +09:00
Dean Herbert
4c884aea5d Fix CircularDistanceSnapGrid returning an incorrect time value when distance spacing is not 1.0 2022-05-05 17:09:14 +09:00
Dean Herbert
786c7f14d3 Expose DistanceSpacingMultiplier to distance 2022-05-05 17:08:53 +09:00
Dean Herbert
de9b3d33eb Rename misleading DistanceSpacing variable 2022-05-05 17:08:09 +09:00
Dean Herbert
4226583afd Merge branch 'cache-at-interface' 2022-05-05 16:52:03 +09:00
Dean Herbert
19cf9dc20b Merge branch 'snapping-tidy-distance' 2022-05-05 16:51:32 +09:00
Dean Herbert
1c6a233cc0 Move snap provider caching to interfaces 2022-05-05 16:44:37 +09:00
Dean Herbert
b411b59006 Move IPlacementHandler caching to interface 2022-05-05 16:43:02 +09:00
Dean Herbert
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
Salman Ahmed
ac6342ff8d Add workaround for item scrolling issue 2022-05-05 10:16:16 +03:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Salman Ahmed
f28978b856 Handle against playlists which disallow selection
`SelectedItem.Disabled` is also not checked against in the select-via-click flow inside `DrawableRoomPlaylistItem` (only `AllowSelection` is checked).
2022-05-05 05:48:35 +03:00
Salman Ahmed
464b3af5f3 Rename local correctly 2022-05-05 05:42:20 +03:00
Salman Ahmed
20e277d2e5 Apply proposed naming changes 2022-05-04 17:12:17 +03:00
Salman Ahmed
e9ecf26b6a Merge branch 'master' into multiplayer-disable-adaptive-speed 2022-05-04 17:12:03 +03:00
Salman Ahmed
e294069e2f Merge branch 'master' into beatmap-selection-keybinding 2022-05-04 16:48:49 +03:00
Salman Ahmed
9416346c94 Globalise beatmap selection key bindings as "group" selection 2022-05-04 16:46:32 +03:00
Bartłomiej Dach
e6fdef2d7a
Fix test failures due to selection/item collection desyncs 2022-05-04 13:51:47 +02:00
Bartłomiej Dach
0405c1c34a
Ensure selected playlist item is always scrolled into view 2022-05-04 13:15:26 +02:00
Dean Herbert
5f11ff564b
Merge branch 'master' into mod-overlay/test-coverage-parity 2022-05-04 19:40:56 +09:00
Bartłomiej Dach
3b04daddaa
Fix self-reference in region name 2022-05-04 12:36:43 +02:00
Dean Herbert
df1f4aecdc Add support for traversing playlist items using next/previous bindings
Addresses https://github.com/ppy/osu/discussions/18061.
2022-05-04 19:09:44 +09:00
Dean Herbert
df530cb5ab Add highlighting to the position snap grid edges in addition to centre lines 2022-05-04 13:49:04 +09:00
Dean Herbert
0bb90c7b07 Fix gridline centering and ensure lines are always rendered using a fixed screen-space width 2022-05-04 13:41:55 +09:00
Salman Ahmed
d52a1a5d23 Add key binding for beatmap selection in song select 2022-05-04 03:52:10 +03:00
Bartłomiej Dach
e3641213e1
Always hide unimplemented mods on mod select screen 2022-05-03 21:45:40 +02:00
Dean Herbert
2896612c5c Make exiting multiplayer a dangerous operation, requiring hold 2022-05-03 16:06:04 +09:00
Dean Herbert
04fb0f5e63
Merge pull request #18063 from GSculerlor/split-searchbox
Split `SearchTextBox` implementation for reusability
2022-05-03 14:12:44 +09:00
Huo Yaoyuan
5513710b2e Fix IDE0055 2022-05-03 13:09:19 +08:00
Huo Yaoyuan
7cf4dabe29 Fix IDE0005 and IDE0034 2022-05-03 13:09:19 +08:00
Dean Herbert
faeefc5e18
Merge pull request #16576 from frenzibyte/osu-distance-spacing
Add "distance spacing" support in editor for osu! ruleset
2022-05-03 12:15:18 +09:00
Ganendra Afrasya
81be69e72e Update search textbox implementation to use BasicSearchTextBox instead 2022-05-03 06:18:42 +07:00
Dean Herbert
4442ed89b5
Merge pull request #17586 from Joehuu/move-difficulty-graph-toggle
Move difficulty graph toggle to individual skin settings
2022-05-03 00:59:02 +09:00
Bartłomiej Dach
2b4a49e17f
Merge branch 'master' into move-difficulty-graph-toggle 2022-05-02 16:38:25 +02:00
Dean Herbert
c4c62ff4e7 Fix countdown sounds playing every minute, rather than only on the last minute 2022-05-02 22:46:14 +09:00
Salman Ahmed
18852b2509 Fix footer random button autosizing to text length 2022-05-02 15:36:22 +03:00
Dean Herbert
5c04ab18ec
Merge pull request #18011 from frenzibyte/rewind-shift-click
Allow rewinding random in song select with "Shift + Left Click"
2022-04-29 23:10:29 +09:00
Salman Ahmed
856ca96b66 Allow right-clicking to rewind on random button 2022-04-29 10:12:24 +03:00
Salman Ahmed
a9d67d3e92 Change random button text when holding shift key 2022-04-29 10:10:21 +03:00
Dean Herbert
1f1845d69b
Merge branch 'master' into multiplayer-force-start-2 2022-04-29 14:45:40 +09:00
Salman Ahmed
173a6188eb Add back float cast to distance spacing computation 2022-04-29 08:41:37 +03:00
Salman Ahmed
fef94d49f4 Revert "Convert data type of DistanceSpacing to float"
This reverts commit 7aaa88cac2.
2022-04-29 08:02:07 +03:00
Salman Ahmed
7e3d1511c6 Hide "Rank Achieved" sorting mode until it's supported 2022-04-29 07:47:10 +03:00
Dean Herbert
c4495dafb6 Merge branch 'master' into move-difficulty-graph-toggle 2022-04-29 13:44:47 +09:00
Dan Balasescu
22e9620211 Don't block clicks when dragging osu! logo 2022-04-29 12:09:11 +09:00
Dean Herbert
6ccbdc85a3
Improve setting description text
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-29 11:56:46 +09:00
Salman Ahmed
fa5c05120c Allow rewinding random in song select with Shift + Left Click 2022-04-28 20:06:27 +03:00
Dean Herbert
32ad216669 Allow dragging the osu! logo
Logic borrowed from `NowPlayingOverlay`.
2022-04-28 22:58:34 +09:00
Dan Balasescu
1d8ac6917d Send Loaded state from PlayerLoader on update thread 2022-04-28 20:10:47 +09:00
Salman Ahmed
691bec6f16 Use LocalisableString.Interpolate instead of invalid TranslatableStrings 2022-04-28 11:38:40 +03:00
Salman Ahmed
abb88b0907 Move distance spacing application to DistanceSnapGrid 2022-04-28 10:54:38 +03:00
Salman Ahmed
7aaa88cac2 Convert data type of DistanceSpacing to float 2022-04-28 10:24:36 +03:00
Dean Herbert
3c45746ba1 Add back schedule for safety 2022-04-28 14:29:57 +09:00
Dean Herbert
7c1b0b41ff Fix migration not working correctly when applying on a default skin 2022-04-28 14:19:24 +09:00
Salman Ahmed
2e8372fe90 Minor cleanup
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
Dean Herbert
7a23363d74 Add migration of song progress setting from config to component 2022-04-27 18:10:58 +09:00
Dean Herbert
e6bb5e84ec Merge branch 'master' into move-difficulty-graph-toggle 2022-04-27 17:22:25 +09:00
Salman Ahmed
e646233722 Use correct translation for "Accuracy" label in break overlay 2022-04-26 19:16:36 +03:00
Dan Balasescu
9911584fe1
Merge pull request #17977 from peppy/show-during-gameplay-improvement
Change conditions for HUD being shown to include pause/fail states
2022-04-26 12:55:31 +09:00
Dean Herbert
8ab3636f87 Change conditions for HUD being shown to include pause/fail states
As proposed in https://github.com/ppy/osu/discussions/17975. Feels pretty good to me, and probably how it should have been implemented from the start.
2022-04-26 12:09:21 +09:00
Salman Ahmed
f958010d29 Fix AccuracyCircle storing accuracy values in float 2022-04-26 04:52:48 +03:00
Dean Herbert
07462384e8
Merge pull request #17930 from peppy/fix-song-select-music-control
Fix nested song select in first-run dialog fiddling with global audio
2022-04-24 19:18:27 +09:00
Dean Herbert
c5e8f1d4ab
Merge pull request #17958 from peppy/fix-hide-case
Remove localisation of "hide" string to fix incorrect case
2022-04-24 17:38:49 +09:00
Dean Herbert
999b4505d1 Remove localisation of "hide" string to fix incorrect case 2022-04-24 16:37:11 +09:00
Salman Ahmed
70a93c0e7e Move DistanceSpacingMultiplier bindable to its own IDistanceSnapProvider interface 2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Susko3
e89441951c Allow any key to trigger the initial osu! cookie 2022-04-23 18:33:43 +02:00
Dan Balasescu
b293d3923c Merge branch 'master' into multiplayer-force-start-2 2022-04-23 01:03:55 +09:00
Dean Herbert
bcdd1fb183 Fix nested song select in first-run dialog fiddling with global audio 2022-04-22 18:37:40 +09:00
Bartłomiej Dach
8c6864727e
Merge branch 'master' into first-run-setup 2022-04-21 22:14:57 +02:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dan Balasescu
ef1955d8ab Make buttons only respond to MatchStartCountdown 2022-04-21 23:14:37 +09:00
Dan Balasescu
41355384bd Add support for gameplay abort/force start 2022-04-21 23:14:37 +09:00
Dan Balasescu
08d250fe58 Rename MatchStarted() -> GameplayStarted() 2022-04-21 22:39:24 +09:00
Dan Balasescu
8c3b541312 Add state for when user is ready for gameplay 2022-04-21 22:35:52 +09:00
Dean Herbert
7d8cf1bbb6 Merge branch 'master' into first-run-setup 2022-04-21 15:49:39 +09:00
Dean Herbert
5c0e5eb6f4
Merge pull request #17899 from Joehuu/localise-most-strings
Use existing web localisation for most hardcoded strings
2022-04-21 14:48:12 +09:00
Dean Herbert
848366416e Revert string type changes in MetadataLineInfo 2022-04-21 14:10:58 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Dean Herbert
4466e15bfc Rename AllowConfiguration to AllowCustomisation and simplify drawable addition 2022-04-20 23:17:29 +09:00
Dean Herbert
b722ff8dc5 Merge branch 'master' into mod-overlay/extension-points 2022-04-20 23:17:04 +09:00
Dean Herbert
d46329f55a Remove unused dependency 2022-04-20 12:51:55 +09:00
chickensalt
f5863c2030 remove unused import 2022-04-20 13:40:02 +10:00
chickensalt
4f80651606 implement 2a3a0c1 for playlists as well 2022-04-20 10:33:06 +10:00
chickensalt
2a3a0c1cd3 remove notification on trying to multi when logged out
fixes #17877
2022-04-19 18:44:20 +10:00
Dean Herbert
17eaa44af1 Ensure notifications don't interrupt the first run setup process 2022-04-19 17:40:35 +09:00
Dean Herbert
c4bade0995 Expose MainMenu buttons 2022-04-19 16:36:39 +09:00
Salman Ahmed
94335c2938 Update further usages to cache/resolve via interface 2022-04-19 00:18:10 +03:00
Dan Balasescu
bb8b94f8ad
Merge branch 'master' into i-notification-overlay 2022-04-19 06:03:56 +09:00
Dan Balasescu
94e892df1c
Merge pull request #17862 from peppy/i-dialog-overlay
Split out `IDialogOverlay` to allow for easier testing
2022-04-19 05:24:05 +09:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Dean Herbert
2202863e1a Split out IPerformFromScreenRunner to allow for easier testing 2022-04-18 17:49:28 +09:00
Dean Herbert
90093c1d9d Combine private skin variable into exposed one 2022-04-18 13:32:37 +09:00
Salman Ahmed
2cb217e06c Fix editor legacy beatmap skins not receiving transformer 2022-04-18 06:59:58 +03:00
Salman Ahmed
338d94626e Expose underlying skin of EditorBeatmapSkin 2022-04-18 06:44:39 +03:00
Bartłomiej Dach
7eebc20124
Add replacements for mod overlays used by game 2022-04-17 23:28:51 +02:00
Jamie Taylor
ef5ed262ca
Add pitch randomisation to the OsuLogo hover sample 2022-04-15 20:38:47 +09:00
Jamie Taylor
8e6c015856
Use a fallback sample when a MainMenuButton doesn't provide a click sample 2022-04-15 20:38:30 +09:00
Dan Balasescu
2abdbe53e7 Cleanup whitespace 2022-04-14 18:55:12 +09:00
Dan Balasescu
9de4d416e2 Merge branch 'master' into fix-spectator-seeks 2022-04-14 18:54:52 +09:00
Dan Balasescu
494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Dean Herbert
fbf0e5a45c Remove startFromSkipTarget parameter and update usages that required said behaviour 2022-04-13 14:25:43 +09:00
Dean Herbert
a59c6013c7 Rename latestGameplayStartTime to skipTargetTime 2022-04-13 14:03:52 +09:00
Dean Herbert
d4286255a0 Expose and set GameplayStartTime directly, rather than via Reset parameter 2022-04-13 13:58:44 +09:00
Dean Herbert
017f3852c8 Replace incorrectly chosen ??= with ?? 2022-04-13 13:32:36 +09:00
Dean Herbert
9c68b3edc5 Merge branch 'master' into fix-spectator-seeks 2022-04-13 12:33:41 +09:00
Dean Herbert
282fccb4c8
Fix typo in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-13 12:24:47 +09:00
Dean Herbert
8b1cee75fa Use BindableLong instead of BindableInt for user score tracking 2022-04-12 14:13:07 +09:00
Dean Herbert
0ba95a4483 Ensure all users are shown on leaderboard (even when API lookup fails) 2022-04-12 11:54:30 +09:00
Dean Herbert
ebee9e6888 Fix MultiplayerGameplayLeaderboard not immediately updating totals on scoring mode change 2022-04-12 11:27:27 +09:00
Dan Balasescu
37976c569a
Merge pull request #17762 from peppy/fix-unobserved-exceptions
Avoid throwing unobserved exception when `PerformancePointsCounter` requests timed attributes
2022-04-11 14:50:12 +09:00
Dean Herbert
cb6e557212 Fix MasterGameplayClockContainer having incorrect rate-based offsets immediately after LoadComplete
I've attempted to explain why this is required using inline comments.
There's also further conversation at
https://github.com/ppy/osu/pull/17302#issuecomment-1091850927.
2022-04-11 14:11:26 +09:00
Dean Herbert
808f0ecb74 Ensure running state is updated before performing Seek in GameplayClockContainer.Reset 2022-04-11 14:10:50 +09:00
Dean Herbert
2b74dbca28 Fix potential crash in DrawableRoom due to lack of null check on post-lookup beatmap 2022-04-11 13:44:34 +09:00
Dean Herbert
19b655d75b Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes 2022-04-11 13:30:21 +09:00
Dean Herbert
24c2d465a9 Move null assert in MultiplayerPlayer on to update thread 2022-04-08 14:53:14 +09:00
Dean Herbert
eb0653fa7b
Merge pull request #17698 from Joehuu/fix-replay-button-local-being-disabled
Fix replay button being disabled when available locally but not online
2022-04-07 14:18:02 +09:00
Joseph Madamba
358931842f Move enabled setting to each case 2022-04-06 21:22:56 -07:00
Jamie Taylor
8a73831115
Add MP lobby 'warning' SFX for the final seconds of countdown 2022-04-07 13:12:33 +09:00
Joseph Madamba
4432a93d09 Fix replay button being disabled when available locally but not online 2022-04-06 20:43:56 -07:00
Dan Balasescu
4b3569ea79
Merge pull request #17576 from peppy/fix-multiplayer-unobserved
Centralise exception handling of `MultiplayerClient` calls
2022-04-07 09:09:55 +09:00
Dean Herbert
c42ef43faa Ensure intro beatmap has protected flag set
In cases this isn't set, the beatmap has likely entered a bad state.

Closes https://github.com/ppy/osu/issues/17659.
2022-04-06 16:46:53 +09:00
Dean Herbert
2b8a5833dd Fix back-to-front conditional check 2022-04-06 15:13:02 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +09:00
Dean Herbert
c540810943
Merge branch 'master' into fix-multiplayer-unobserved 2022-04-06 11:33:10 +09:00
Dean Herbert
01da3924cc Simplify IsCurrentScreen check to only apply to relevant call 2022-04-06 11:32:35 +09:00
Dan Balasescu
c973d33bfd
Merge pull request #17604 from nekodex/mp-countdown-sfx
Add SFX for multiplayer lobby countdown timer
2022-04-05 16:40:26 +09:00
Dean Herbert
3d8ae0465f Reword comment slightly 2022-04-05 15:51:04 +09:00
Dean Herbert
8e543204cd Remove debounce logic (not required after switching to Update clock time) 2022-04-05 15:49:47 +09:00
Dean Herbert
5f415cbe53 Full potential null reference and add better commentary on countdown scheduling 2022-04-05 15:48:18 +09:00
Dean Herbert
d0f83885ce Appease the CI 2022-04-05 13:20:34 +09:00
Dean Herbert
31bf0c4a9b Disable "final" sample in countdown for the time being 2022-04-05 13:16:06 +09:00
Dean Herbert
174dc1641c Fix multiple issues with timekeeping
- Using realtime (`DateTimeOffset.Now`) meant that values would be
  changing in the same frame, causing misfirings or incorrect displays
- No debounce on sample playback meant that scheduling edge cases could
  potentially cause samples to be played more than once.
2022-04-05 11:49:58 +09:00
Dean Herbert
3ca365ad7f
Merge branch 'master' into dangerous-delete-actions 2022-04-05 10:55:01 +09:00
Ame
32c89f8643 Handle repeated OnPressed() on FooterButton (without FooterButtonRandom) 2022-04-05 00:33:41 +02:00
CenTdemeern1
9a07a95d39 Make several delete confirmation buttons dangerous buttons
Includes:
- Mass deletion
- Beatmap deletion
- Local score deletion
2022-04-04 19:22:53 +02:00
Dean Herbert
64ba24c4f7 Merge branch 'master' into mp-countdown-sfx 2022-04-05 01:04:57 +09:00
Dan Balasescu
cbcbcd1a4a
Merge pull request #17643 from peppy/stable-countdown
Stabilise countdown updates to be based on when whole seconds change
2022-04-04 22:19:06 +09:00
Dean Herbert
0abebe4d23 Stabilise countdown updates to be based on when whole seconds change 2022-04-04 14:41:32 +09:00
Jamie Taylor
0f4b75ab15
Add multiplayer lobby countdown SFX 2022-04-01 21:33:57 +09:00
Dan Balasescu
16d4544ff9 Prevent reloads when playlist item order changes 2022-04-01 17:06:37 +09:00
Dean Herbert
01829cf2d8 Move SkinnableInfo error handling to lower level
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.

Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Joseph Madamba
d0873d67e1 Move difficulty graph toggle to individual skin settings 2022-03-31 18:56:57 -07:00
Bartłomiej Dach
e14d5b8adb
Remove unused using directives 2022-03-31 21:20:30 +02:00
CenTdemeern1
a6875383fc Rebind SaveState() to bpmTextEntry 2022-03-31 21:06:05 +02:00
CenTdemeern1
52d723aaa6 Remove BPM slider 2022-03-31 20:11:07 +02:00
Dean Herbert
0b6db31511 Guard other multiplayer client calls with exception handling 2022-03-31 19:45:38 +09:00
Dean Herbert
e0c125a628 Replace existing usage with helper method 2022-03-31 19:27:45 +09:00
Dean Herbert
ef5e37c47a Fix multiplayer sounds playing too much after gameplay
Regressed in https://github.com/ppy/osu/pull/15936.

Closes #17295.
2022-03-31 16:18:28 +09:00
Dean Herbert
ad14b7cac5
Merge pull request #17565 from smoogipoo/fix-gameplay-leaderboard-allocations
Remove ScoreInfo allocations in multiplayer leaderboard
2022-03-31 15:48:14 +09:00
Joseph Madamba
36c02573a8 Fix osu! logo being clicked when exiting via cmd-q on initial state 2022-03-30 21:26:30 -07:00
Salman Ahmed
9c19ae1df8 Remove no longer necessary ruleset field 2022-03-31 06:40:38 +03:00
Dan Balasescu
6e94a9780b Remove ScoreInfo allocations in multi leaderboard 2022-03-31 12:23:00 +09:00
Bartłomiej Dach
436dec68c9
Use provided extension method instead of reimplementing locally 2022-03-30 22:04:54 +02:00