1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 12:42:56 +08:00
Commit Graph

13340 Commits

Author SHA1 Message Date
Dean Herbert
ba237a0e3a Convert StarFountain to use ParticleSpewer
More efficient
2023-07-18 20:04:52 +09:00
OliBomby
395dd23966 Put 'Export package' and 'Export legacy package' in one nested menu 2023-07-18 12:37:37 +02:00
OliBomby
5d82190b70 Merge remote-tracking branch 'upstream/master' into legacy-export 2023-07-18 12:18:49 +02:00
Dean Herbert
f4acc86df8 Adjust metrics to closer match expectations 2023-07-18 16:26:37 +09:00
Dean Herbert
49bb0b190a Split out star constant to reuse in pool definition 2023-07-18 16:14:54 +09:00
Bartłomiej Dach
7fbd47e9ee
Fix MultiplayerMatchSubScreen erroneously pushing exit dialog on API failure
If `IAPIProvider.State` changes from `Online` at any point when being on
an `OnlinePlayScreen`, it will be forcefully exited from. However,
`MultiplayerMatchSubScreen` had local logic that suppressed the exit in
order to show a confirmation dialog.

The problem is, that in the suppression logic,
`MultiplayerMatchSubScreen` was checking
`MultiplayerClient.IsConnected`, which is a SignalR flag, and was not
checking `IAPIAccess.State`, which is maintained separately. Due to
differing timeouts and failure thresholds, it is not impossible to have
`MultiplayerClient.IsConnected == true` but `IAPIAccess.State !=
APIState.Online`.

In such a case, the match subscreen would wrongly consider itself to be
still online and due to that, push useless confirmation dialogs, while
being in the process of being forcefully exited. This then caused the
dialog to cause a crash, as it was calling `.Exit()` on the screen which
would already have been exited by that point, by the force-exit flow.
2023-07-16 19:56:22 +02:00
Aki
cb354685ca
simplify code 2023-07-16 10:21:32 +08:00
Aki
309c852222
Compute the top local rank directly without an expensive detach call 2023-07-15 23:00:13 +08:00
Dean Herbert
85c780ae5b Allow the osu! logo to be proxied locally into scenes 2023-07-14 19:19:14 +09:00
Dean Herbert
fe70f24925 Update design of summary timeline current time marker 2023-07-14 17:00:42 +09:00
Dean Herbert
e6b8cd0c06 Add editor header 2023-07-14 16:55:12 +09:00
Dean Herbert
57abb15724 Update design of timeline centre marker and adjust surrounding paddings 2023-07-14 16:37:57 +09:00
Dean Herbert
00e9746174 Implement longer design for timing point piece 2023-07-14 16:37:56 +09:00
Dean Herbert
6b222cfafd Fix slight misalignment so timeline is now completely centered 2023-07-14 14:29:13 +09:00
Dean Herbert
01750dd091 Update metrics of checkboxes and backgrounds to match design better 2023-07-14 14:29:02 +09:00
Dean Herbert
5b2e704264 Move beat divisor control inside of TimelineArea and adjust metrics to match design 2023-07-14 14:19:04 +09:00
Dean Herbert
ebaf63b764 Apply NRT to timeline related classes 2023-07-14 14:04:12 +09:00
Dean Herbert
56acc9e3dd Change BeatDivisorControl to retrive bindable divisor via DI 2023-07-14 14:03:25 +09:00
Bartłomiej Dach
ff56e35093
Merge pull request #24197 from peppy/allow-autoplay-failure
Allow autoplay to fail
2023-07-13 23:44:07 +02:00
Bartłomiej Dach
96e4b8d792
Merge pull request #24204 from peppy/results-screen-component-metrics
Touch up various results screen component's metrics
2023-07-13 22:03:49 +02:00
Dean Herbert
ded7ec3aa6
Merge branch 'master' into framework-clipboard 2023-07-14 03:32:37 +09:00
Bartłomiej Dach
20bde40ce2
Fix differing anchor specs on statistics panel flow items 2023-07-13 20:00:29 +02:00
Dean Herbert
1051982bc5 Tidy up code with constants 2023-07-13 23:25:50 +09:00
Dean Herbert
8f826a3702 Add skinning support for kiai fountain stars 2023-07-13 22:57:04 +09:00
Dean Herbert
53fccaa3bd Use skinnable sprite 2023-07-13 22:30:27 +09:00
Dean Herbert
1698caa078 Add kiai fountains to main menu 2023-07-13 22:13:40 +09:00
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
Dean Herbert
2c27b17c85 Disable masking on inner scroll container 2023-07-13 19:01:59 +09:00
Dean Herbert
e34839c891 Rename StatisticContainer to StatisticItemContainer and add a background 2023-07-13 18:59:11 +09:00
Dean Herbert
b333945cde Change OverallRanking to use a two-column layout similar to statistics table 2023-07-13 18:45:32 +09:00
Dean Herbert
0881f4772c Adjust metrics of HitEventTimingDistributionGraph 2023-07-13 18:45:32 +09:00
Dean Herbert
947b40149f Adjust metrics of SimpleStatisticTable 2023-07-13 18:45:32 +09:00
Dean Herbert
d54cf63983 Centralise font size specification for statistic items (and reduce slightly) 2023-07-13 18:31:40 +09:00
Dean Herbert
f223fd7c3b Adjust metrics of PerformanceBreakdown 2023-07-13 18:30:57 +09:00
Dean Herbert
7637a9e603 Adjust metrics of OverallRanking 2023-07-13 18:30:57 +09:00
Dean Herbert
98bf15182e Remove more GridContainer nonsense 2023-07-13 18:30:57 +09:00
Dean Herbert
1d62a041cc Fix animation restarting unexpectedly 2023-07-13 15:07:26 +09:00
Dean Herbert
21f26f98da Fix graph breaking when resized vertically 2023-07-13 14:57:01 +09:00
Dean Herbert
e2b5abd4e8 Split bar drawable creation into own method 2023-07-13 14:43:41 +09:00
Dean Herbert
fbf14a0f7c Allow autoplay to fail
Feels more correct.
2023-07-13 13:41:35 +09:00
Dean Herbert
4f4c481a67 Fix timing distribution graph sometimes not displaying correctly
Weird "basal" height logic just didn't make any sense (was getting stuck at 1 when `DrawHeight` was 0)
2023-07-12 19:21:39 +09:00
Susko3
2dcd790442 Resolve Clipboard via DI 2023-07-11 11:42:31 +02:00
OliBomby
06e5ef88c0 legacy export broken 2023-07-11 02:30:16 +02:00
Bartłomiej Dach
45194b2b4a
Fix pressing Ctrl-C in composer not copying timestamp to system clipboard 2023-07-09 18:21:43 +02:00
Bartłomiej Dach
84138849cf
Merge pull request #24134 from peppy/skin-retry-sound
Add support for skinnable "retry" sound
2023-07-08 15:24:26 +02:00
Bartłomiej Dach
10da80638b
Merge pull request #24152 from peppy/results-screen-tweens
Adjust results screen transition tweens to feel better
2023-07-08 14:15:37 +02:00
Bartłomiej Dach
287418e214
Merge branch 'master' into skin-retry-sound 2023-07-08 14:00:52 +02:00
Bartłomiej Dach
832c1c0009
Merge branch 'master' into fix-gameplay-samepl-trigger-source-rewind 2023-07-08 13:33:04 +02:00
Dean Herbert
82babbf8fa Adjust results screen transition tweens to feel better 2023-07-07 17:39:54 +09:00
Dean Herbert
d72765b6f8
Merge pull request #24114 from peppy/editor-save-local-score-management
Ensure scores always have the correct linked `BeatmapInfo`
2023-07-07 15:40:54 +09:00
Dean Herbert
67746e1369 Move retry sample playback to PlayerLoader 2023-07-07 15:36:17 +09:00
Dean Herbert
e0fc97bb93 Replace various local implementations of rewinding checks with new property 2023-07-07 15:21:24 +09:00
Dean Herbert
ddd65f5fe7
Merge pull request #24135 from peppy/update-realm
Bring realm library up-to-date
2023-07-07 10:59:38 +09:00
Dean Herbert
2e98ab0a48 Expose rewinding state of IGameplayClocks
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dean Herbert
f69f6adf67 Remove beatmap info wedge rotation animation
It looks jank and also causes framebuffer overheads.

But mostly because it looks jank.
2023-07-06 16:15:42 +09:00
Dean Herbert
a98a36872e Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
Dean Herbert
9ff6b3fcd3 Merge branch 'master' into editor-save-local-score-management 2023-07-06 12:28:44 +09:00
Dean Herbert
170bc5bfce Add support for skinnable "retry" sound 2023-07-06 12:25:15 +09:00
Bartłomiej Dach
cdb8a56df4
Remove weird aliased using
Doesn't appear to be required.
2023-07-05 22:41:22 +02:00
Dean Herbert
9291895305 Make key for toggling replay settings customisable 2023-07-06 01:00:41 +09:00
Dean Herbert
95a9b532df Remember state of replay settings visibility 2023-07-06 00:53:37 +09:00
Dean Herbert
fbab5acac1 Remove not-yet-implemented settings group comments 2023-07-06 00:46:09 +09:00
Bartłomiej Dach
e2ddcb2349
Silence a few remaining nullability warnings 2023-07-04 22:39:26 +02:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Bartłomiej Dach
21f758947d
Merge branch 'master' into availability-fixes 2023-07-02 20:38:37 +02:00
Bartłomiej Dach
9eec1337b3
Use slightly different condition for better UX 2023-07-01 21:39:08 +02:00
Bartłomiej Dach
183777f8df
Fix edge cases where selection buttons go outside playfield bounds
Addresses
https://github.com/ppy/osu/discussions/23599#discussioncomment-6300885.
2023-07-01 21:27:17 +02:00
Dean Herbert
5f880397a9 Increase the minimum size of the scroll bar
Allows easier targetting when there is a lot of content in the scroll view

As discussed in https://github.com/ppy/osu/discussions/24095#discussioncomment-6332398.
2023-07-02 00:04:56 +09:00
Bartłomiej Dach
e4e08c0f5f
Fix selection handlers eating hotkey presses they didn't handle 2023-06-28 20:48:22 +02:00
Dean Herbert
3883c28b15 Add visual display in participants list when availability is still being established 2023-06-28 16:02:46 +09:00
Dean Herbert
91354b1570 Avoid performing any actions when BeatmapAvailability is updated to Unknown 2023-06-28 16:01:54 +09:00
Dean Herbert
29376ffcc0 Trigger state change when flipping via hotkey in the editor
This will trigger a change even if nothing happens. But I think that's
okay (not easy to avoid) because the change handler should be aware that
nothing changed, if anything.

Closes https://github.com/ppy/osu/issues/24065.
2023-06-28 13:52:51 +09:00
Dean Herbert
1d4380cfd0
Merge pull request #24058 from peppy/full-term-exact-match
Add support for matching full terms at song select using suffixed `!`
2023-06-28 12:14:15 +09:00
Dean Herbert
076f41be12
Merge pull request #24059 from peppy/add-editor-rotate-hotkeys
Add support for `Ctrl` + `<` / `>` to rotate selection in editor
2023-06-28 12:03:34 +09:00
Bartłomiej Dach
9be2d9d62e
Fix hotkey presses generating unnecessary undo history
The buttons don't check whether the operation they correspond to is
possible to perform in the current state of the selection box, so not
checking `Can{Reverse,Rotate}` causes superfluous undo states to be
added without any real changes if an attempt is made to reverse or
rotate a selection that cannot be reversed or rotated.
2023-06-27 22:25:04 +02:00
Bartłomiej Dach
17ed45d07c
Mention hotkeys in button tooltips 2023-06-27 22:04:15 +02:00
Bartłomiej Dach
54280f06be
Switch to == true 2023-06-27 22:02:15 +02:00
Bartłomiej Dach
ad3a470eaf
Enable NRT in SelectionBox 2023-06-27 22:01:44 +02:00
Bartłomiej Dach
eb6bdb5a38
Merge pull request #23926 from ItsShamed/hud/kc-skinnable
Make key counter skinnable
2023-06-27 21:57:41 +02:00
Bartłomiej Dach
bf99fc61b8
Trim full phrase filters in a more precise manner 2023-06-27 21:50:36 +02:00
Bartłomiej Dach
e3d97b37f1
Rename MatchMode.{None -> Substring} 2023-06-27 21:28:37 +02:00
Bartłomiej Dach
06654dc618
Merge branch 'master' into full-term-exact-match 2023-06-27 21:27:39 +02:00
Bartłomiej Dach
af66ccbfdf
Merge branch 'master' into hud/kc-skinnable 2023-06-27 20:35:47 +02:00
Dean Herbert
c6d952abe3 Add support for Ctrl + < / > to rotate selection in editor
As discussed in https://github.com/ppy/osu/discussions/24048.
2023-06-27 17:01:41 +09:00
Dean Herbert
7ddbf4eaa7 Add a visual effect when keyboard shortcuts are used to trigger selection box buttons 2023-06-27 17:01:13 +09:00
Dean Herbert
41890cfc65 Change JudgementCountController to a Component and remove handling overrides 2023-06-27 16:39:21 +09:00
Dean Herbert
8bd6f7a46a Rename ClicksPerSecondCalculator to ClicksPerSecondController 2023-06-27 16:38:46 +09:00
Dean Herbert
de23a4691e Change JudgementCountController to a Component 2023-06-27 16:38:15 +09:00
Dean Herbert
113b570bd4 Move controllers above skinnable elements in initialisation order 2023-06-27 16:37:23 +09:00
Dean Herbert
e21583ff1b Refactor InputCountController to not require being added to foreign body via Attach
I've made the flow match `ClicksPerSecondCalculator` as close as
possible. Hopefully this reads better.
2023-06-27 16:36:00 +09:00
Dean Herbert
c423f77d53 Add support for matching full terms using suffixed ! 2023-06-27 15:34:33 +09:00
Dean Herbert
702266198b Add missing "title=" search support at song select 2023-06-27 15:21:13 +09:00
Bartłomiej Dach
9c30b1d3e0
Merge branch 'master' into exact-match-song-select 2023-06-26 22:33:50 +02:00
Bartłomiej Dach
4cb122dad4
Escape user input before embedding into regex 2023-06-26 22:27:48 +02:00
Bartłomiej Dach
8a7a42b7ec
Remove weird nullable enable and double licence header 2023-06-26 22:19:52 +02:00
timiimit
e1cbcabe0b
Fix skip not always triggering in multiplayer 2023-06-26 21:26:41 +02:00
Bartłomiej Dach
7200855d46
Rename Judgement{Tally -> CountController} 2023-06-26 19:30:04 +02:00
Bartłomiej Dach
8d91580dc1
Rename {KeyCounter -> InputCount}Controller 2023-06-26 19:27:42 +02:00
Bartłomiej Dach
4ac48e4cd8
Group input handling members together 2023-06-26 19:25:52 +02:00
Bartłomiej Dach
ff562e2dd7
Remove redundant guard
In this particular case guarding with `.IsNull()` makes no sense, as the
`Trigger` is supplied in constructor and cannot feasibly be null. Doing
that only makes sense in scenarios where BDL / dependency injection is
involved.
2023-06-26 19:25:52 +02:00