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 IGameplayClock
s
...
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