1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-01 08:42:54 +08:00
Commit Graph

4363 Commits

Author SHA1 Message Date
Bartłomiej Dach
7d026761fc
Merge pull request #31533 from peppy/fix-gameplay-offset-adjust-limitations
Fix gameplay offset adjustment limits not being enforced
2025-01-17 08:21:24 +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
Dean Herbert
1d240eb405
Fix gameplay limitations for adjusting offset not actually being applied 2025-01-16 18:05:59 +09: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
Dean Herbert
782ce24ca6
Move player settings out of right flow 2024-11-27 17:09:15 +09:00
Dean Herbert
5260a401d4
Use RealmLive in SaveFailedScoreButton
This also optimises the manager classes to better support `Live` usage
where the managed object is already in a good state (ie. doesn't require
re-fetching).
2024-11-27 15:25:42 +09:00