Bartłomiej Dach
5c799d733f
Bind to playing state via GameplayState
instead to fix more tests
2025-01-16 15:25:56 +01:00
Bartłomiej Dach
0c54853710
Merge branch 'spectator-list-visuals' into spectator-list-ready
2025-01-16 15:13:04 +01:00
Bartłomiej Dach
81f54507dd
Fix potential index accounting mistake when creating spectator list with spectators already present
...
Noticed by accident, but if the `BindCollectionChanged()` callback fires
immediately in `LoadComplete()` when set up and there are spectators
present already, then `NewStartingIndex` in the related event is -1:
b03f83de36/src/libraries/System.ObjectModel/src/System/Collections/Specialized/NotifyCollectionChangedEventArgs.cs (L84-L92)
which kinda breaks the math introducing off-by-ones and in result causes
11 items to be displayed together rather than 10.
2025-01-16 14:29:41 +01:00
Bartłomiej Dach
e3b780d0fb
Merge branch 'master' into spectator-list-visuals
2025-01-16 14:07:53 +01:00
Dean Herbert
e47244989a
Adjust animations a bit
...
Removed autosize duration stuff because it looks weird when the list is
shown from scratch where users are already fully populated in it.
2025-01-16 19:23:54 +09:00
Dean Herbert
32906aefde
Add gradient on final spectator if more than list capacity are displayed
2025-01-16 19:05:19 +09:00
Dean Herbert
996798d2df
Avoid list width changing when spectator count changes
2025-01-16 19:02:14 +09:00
Bartłomiej Dach
12b2631e5e
Add a skinnable variant of spectator list & hook it up to online data
2025-01-15 14:29:53 +01:00
Bartłomiej Dach
43fc48a3f3
Add client methods allowing users to be notified of who is watching them
2025-01-15 14:18:01 +01:00
Bartłomiej Dach
582c5180b9
Implement spectator list display
...
- First step for https://github.com/ppy/osu/issues/22087
- Supersedes / closes https://github.com/ppy/osu/pull/22795
Roughly uses design shown in
https://github.com/ppy/osu/pull/22795#issuecomment-1579936284 with some
modifications to better fit everything else, and some customisation
options so it can fit better on other skins.
2025-01-15 14:17:53 +01:00
Bartłomiej Dach
614243fef4
Merge pull request #31506 from peppy/fix-storyboard-break-overhead
...
Fix stutter on intensive storyboards when entering break time with 100% background dim
2025-01-15 08:23:58 +01:00
Rudi Herouard
57a9911b22
Apply beatmap offset on every beatmap set difficulty if they have the same audio
2025-01-15 04:12:54 +01:00
Dean Herbert
77db355809
Ensure storyboards are still updated even when dim is 100%
...
This avoids piled-up overhead when entering break time. It's not great,
but it is what we need for now to avoid weirdness.
2025-01-14 16:22:10 +09:00
Dean Herbert
94ea003d90
Update game ScrollContainer
usage in line with framework changes
...
See https://github.com/ppy/osu-framework/pull/6467 .
2025-01-11 01:42:59 +09:00
Dean Herbert
2a28c5f4de
Add static memory of last applied offset score
...
I don't really like adding this new session static, but we don't have a
better place to put this.
2025-01-02 16:20:25 +09:00
Dean Herbert
58dcb25bd5
Revert "Clear previous LastLocalUserScore
when returning to song select"
...
This reverts commit ced8dda1a2
.
2025-01-02 15:59:00 +09:00
Dean Herbert
9b1d94b5be
Merge branch 'master' into skinnable-mod-display
2024-12-20 21:27:31 +09:00
Dean Herbert
a9cf31f5d8
Usings
2024-12-20 21:27:24 +09:00
Bartłomiej Dach
e62b329d4a
Merge pull request #31143 from peppy/no-pause-cooldown-break-intro
...
Skip the pause cooldown when in intro / break time
2024-12-20 12:29:46 +01:00
Bartłomiej Dach
4551d59f39
Give skinnable mod display a minimum size
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-12-20 12:06:35 +01:00
Dean Herbert
48ce68694a
Add missing partial
2024-12-20 17:06:47 +09:00
Dean Herbert
5d17014698
Fix mouse wheel disable not working during gameplay
2024-12-20 16:31:06 +09:00
Dean Herbert
55dff1f0ef
Merge branch 'master' into skinnable-mod-display
2024-12-20 14:08:51 +09:00
Dean Herbert
7c1482366d
Remove unused using statements
2024-12-20 14:07:27 +09:00
Bartłomiej Dach
2cab8f4e8a
Add localisation support
2024-12-19 15:03:55 +01:00
Bartłomiej Dach
e458f540ac
Adjust formatting
2024-12-19 14:54:57 +01:00
Bartłomiej Dach
7d1473c5d0
Simplify expand/contract code
2024-12-19 14:52:27 +01:00
Bartłomiej Dach
772ac2d326
Fix mod display not fading out after start of play
...
This was very weird on master - `ModDisplay` applied a fade-in on the
`iconsContainer` that lasted 1000ms, and `HUDOverlay` would stack
another 200ms fade-in on top if a replay was loaded. Moving that first
fadeout to a higher level broke fade-out because transforms got
overwritten.
2024-12-19 14:48:18 +01:00
Dean Herbert
bdd417c1a1
Move "global" scroll-adjusts-volume to a per-screen component-based implementation
2024-12-16 15:21:07 +09:00
Dean Herbert
85ada3275b
Skip the pause cooldown when in intro / break time
...
Had a quick look at adding test coverage in `TestScenePause` but the
setup to get into either of these states seems a bit annoying..
2024-12-16 14:14:30 +09:00
Dean Herbert
c93b6dba2b
Merge pull request #31108 from peppy/quick-retry-for-replays
...
Allow using "quick retry" shortcut in more cases from results screen
2024-12-13 08:18:59 -08:00
Dan Balasescu
35c70ceb18
Merge pull request #31106 from peppy/player-settings-fix-overlap-skins
...
Fix player settings overlay cog overlapping skin elements
2024-12-13 19:30:39 +09:00
Dean Herbert
4b0cdd761d
Add note about player settings overlay button
2024-12-13 18:58:20 +09:00
Dean Herbert
0e0d96829f
Fix "quick retry" hotkey not working for autoplay
2024-12-13 18:08:29 +09:00
Dean Herbert
a796af9511
Fix player settings overlay cog overlapping skin elements
...
This brings it down to be in line with the flowing elements that usually
do their best to not get in the way.
Decided against putting it in the `HUDOverlay` flow for simplicity. It
will work fine until it doesn't.
2024-12-13 17:28:15 +09:00
Dean Herbert
1e809c7f16
Fix player settings overlay appearing while in skin editor
2024-12-13 17:18:34 +09:00
Thomas Müller
0a00f7a7c2
Implement skinnable mod display
...
Also makes the mod display initialization sequence (start expanded, then
unexpand) controlled by HUDOverlay rather than mod display itself. This
enabled different treatment depending on whether the mod display is
viewed in the skin editor or in the player.
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-12-07 12:06:33 +09:00
Dean Herbert
791416c8f1
Merge pull request #30937 from frenzibyte/fix-quick-restart-not-saving-score
...
Fix score no longer being saved when quick-restarting after pass
2024-12-04 23:48:18 -08:00
Salman Alshamrani
fa87df6c6a
Move non-current handling to PerformExit
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-12-04 04:55:55 -05:00
Bartłomiej Dach
6c0ccc5ebe
Merge pull request #30863 from frenzibyte/improve-back-button-display
...
Delay back button appearance when performing a quick restart
2024-12-02 11:49:45 +01:00
Bartłomiej Dach
52b8753a12
Merge pull request #30749 from Sheppsu/multi-spectator-settings-sidebar
...
Add player settings to multi spectator screen
2024-12-02 11:34:57 +01:00
Dean Herbert
5b2558cec2
Merge pull request #28473 from bdach/beatmap-info-purge
...
Move unnecessary properties from `BeatmapInfo` / realm to `IBeatmap`
2024-12-02 16:19:12 +09:00
Dean Herbert
23522b02d8
Use local instead of field for local only usage
2024-12-01 19:53:57 +09:00
Dean Herbert
6afe083ec9
Fix settings showing up during gameplay
2024-12-01 18:44:26 +09:00
Dean Herbert
ddac71628d
Merge branch 'master' into multi-spectator-settings-sidebar
2024-12-01 18:33:46 +09:00
Salman Alshamrani
53dce83b56
Fix restarting no longer working from results screen
...
Thanks to tests for pointing that out :blobsweat:
2024-12-01 02:13:20 -05:00
Salman Alshamrani
9140893249
Fix score no longer being saved when quick-restarting after pass
2024-11-30 23:36:02 -05:00
Bartłomiej Dach
d0e80ce982
Merge pull request #30895 from peppy/watch-replay-reliability
...
Fix watch replay button sometimes not loading the replay on first click
2024-11-28 13:16:40 +01:00
Dean Herbert
ced8dda1a2
Clear previous LastLocalUserScore
when returning to song select
...
This seems like the lowest friction way of fixing
https://github.com/ppy/osu/issues/30885 .
We could also only null this on application, but this feels worse
because
- It would require local handling (potentially complex) in
`BeatmapOffsetControl` if we want to continue displaying the graph and
button after clicking it.
- It would make the session static very specific in usage and
potentially make future usage not possible due to being nulled in only
a very specific scenario.
One might argue that it would be nice to have this non-null until the
next play, but if such a usage comes up I'd propose we rename this
session static and add a new one with that purpose.
2024-11-28 18:01:28 +09:00
Dean Herbert
0f73941808
Combine new implementation back into the old one and use everywhere
2024-11-27 17:47:42 +09:00