1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-11 02:17:19 +08:00

72084 Commits

Author SHA1 Message Date
Dean Herbert
4beac64bdb
Remove unused container level 2025-02-28 22:54:00 +09:00
Dean Herbert
29c35529d2
Fix activation flash being applied twice (and adjust duration) 2025-02-28 22:54:00 +09:00
Dean Herbert
8032b68932
Stop using padding for panel x offsets 2025-02-28 22:54:00 +09:00
Zihad
0d7c00ae09
use Bindable.SetDefault for clearing search text 2025-02-28 19:04:47 +06:00
Zihad
88089fb014
make SettingsPanel.SearchTextBox's setter private 2025-02-28 19:03:39 +06:00
Bartłomiej Dach
35b0ff80bb
Mark MathHelper.Clamp() as banned API
See previous commit for partial rationale.

There's an argument to be made about the `NaN`-spreading semantics being
desirable because at least something will loudly fail in that case, but
I'm not so sure about that these days. It feels like either way if
`NaN`s are produced, then things are outside of any control, and chances
are the game can probably continue without crashing. And, this move
reduces our dependence on osuTK, which has already been living on
borrowed time for years now and is only awaiting someone brave to go
excise it.
2025-02-28 13:48:22 +01:00
Bartłomiej Dach
ffef6ae185
Fix possible crash when scaling objects in editor
The specific fail case here is when `s.{X,Y}` is 0, and
`s{Lower,Upper}Bound` is `Infinity`. Because IEEE math is IEEE math,
`0 * Infinity` is `NaN`.

`MathHelper.Clamp()` is written the following way:

	af742f1afd/src/osuTK/Math/MathHelper.cs (L284-L306)

`Math.{Min,Max}` are both documented as reporting `NaN` when any of
their operands are `NaN`:

	https://learn.microsoft.com/en-us/dotnet/api/system.math.min?view=net-8.0#system-math-min(system-single-system-single)
	https://learn.microsoft.com/en-us/dotnet/api/system.math.max?view=net-8.0#system-math-max(system-single-system-single)

which means that if a `NaN` happens to sneak into the bounds, it will
start spreading outwards in an uncontrolled manner, and likely crash
things.

In contrast, the standard library provided `Math.Clamp()` is written
like so:

	577c36cee5/src/libraries/System.Private.CoreLib/src/System/Math.cs (L711-L729)

With this implementation, if either bound is `NaN`, it will essentially
not be checked (because any and all comparisons involving `NaN` return
false). This prevents the spread of `NaN`s, all the way to positions
of hitobjects, and thus fixes the crash.
2025-02-28 13:34:00 +01:00
Bartłomiej Dach
c4e37a1566
Merge pull request #32109 from smoogipoo/results-beatmap-lookup
Fix multiplayer results screen displaying same beatmap for all users
2025-02-28 12:36:28 +01:00
Dan Balasescu
993473c081
Pass through artist/title in beatmap transform 2025-02-28 18:40:54 +09:00
Dean Herbert
8fc744e9dc
Make TestSceneSongSelect work with local database
It was pointless before.
2025-02-28 17:55:21 +09:00
Dean Herbert
0e257038e8
Fix status pills displaying wrong 2025-02-28 16:47:57 +09:00
Dean Herbert
51cb0bea1c
Fix carousel taking up too much space on new song select implementation 2025-02-28 16:45:49 +09:00
Dean Herbert
1e46dc6b0a
Adjust animation duration to roughly match scroll operations
Previous value felt wrong when using keyboard selection for iteration.
2025-02-28 16:27:42 +09:00
Dean Herbert
a8fbac0f0d
Add better selection visibility via another tint layer 2025-02-28 16:27:18 +09:00
Dan Balasescu
89b6d7caee
Merge pull request #32149 from peppy/preview-time-display
Adjust preview time display to not conflict with bookmarks
2025-02-28 16:14:44 +09:00
Dean Herbert
02b950223c
Adjust x offsets to work again for keyboard selection 2025-02-28 16:08:11 +09:00
Dan Balasescu
f9c73e6501
Merge pull request #32151 from peppy/mania-barline
Add support for legacy osu!mania barline height and colour spec
2025-02-28 16:05:47 +09:00
Dan Balasescu
a09ef5d96d
Fix API room host not being populated 2025-02-28 15:52:02 +09:00
Dan Balasescu
306b30cb12
Add failing test 2025-02-28 15:51:54 +09:00
Dean Herbert
cb29459a1e
Add support for legacy osu!mania barline height and colour spec 2025-02-28 15:13:13 +09:00
Dean Herbert
3e8dafa3c5
Add basic setup for mania legacy barline implementation 2025-02-28 14:43:00 +09:00
Dean Herbert
e1723ec1bb
Adjust preview time display to not conflict with bookmarks 2025-02-28 14:05:49 +09:00
Dean Herbert
a659936c57
Inline some methods 2025-02-28 13:25:21 +09:00
Zihad
0913174099
Fix settings control not visible because of previous search
This also makes `SettingsPanel`'s `SearchTextBox` protected from private so that `SettingsOverlay` can access it.
2025-02-28 00:24:12 +06:00
Dean Herbert
7f99e60cfd
Merge pull request #32130 from bdach/fix-sliders-visible-but-not-selectable-harder 2025-02-28 00:38:03 +09:00
Bartłomiej Dach
5b318edbfb
Fix sliders not being selectable if the body is hidden but the head is still visible
Closes https://github.com/ppy/osu/issues/31998.

Previously: 1648f2efa3,
https://github.com/ppy/osu/pull/31923.

Oh input handling, how I love ya.
2025-02-27 15:00:29 +01:00
Bartłomiej Dach
79b737bc27
Merge pull request #32110 from bdach/combo-colour-count-limit
Limit number of allowed beatmap combo colours to 8
2025-02-27 12:13:06 +01:00
Dean Herbert
0b453772da
Disable button instead of hiding (and add tooltip) 2025-02-27 15:15:58 +09:00
Dan Balasescu
47ca5c90a5
Refactor post-join setup to not pass delegates around 2025-02-27 14:50:35 +09:00
Dan Balasescu
a33aff9bbd
Merge branch 'master' into room-management-lio 2025-02-27 14:14:19 +09:00
Dan Balasescu
d31588939c
Disallow attempting to close multiplayer rooms 2025-02-27 13:39:16 +09:00
Dan Balasescu
d3c4afe65d
Fix typo 2025-02-27 13:16:51 +09:00
Dean Herbert
66b8b527e3
Merge pull request #32111 from bdach/prevent-closing-team-channels-harder
Prevent closing team chat channels via Ctrl-W
2025.227.0
2025-02-27 12:55:54 +09:00
Dean Herbert
003adadbf3
Merge pull request #31595 from ppy/pp-dev
January 2025 Diffcalc/PP release
2025-02-27 01:17:42 +09:00
Dean Herbert
87b6dddd11
Merge branch 'master' into pp-dev 2025-02-27 00:08:43 +09:00
Bartłomiej Dach
f3632a466f
Prevent closing team chat channels via Ctrl-W
As pointed out in
https://github.com/ppy/osu/pull/32079#issuecomment-2680297760.

The comment suggested putting that logic in `ChannelManager` but
honestly I kinda don't see it working out. It'd probably be multiple
boolean arguments for `leaveChannel()` (because `sendLeaveRequest` or
whatever already exists), and then there's this one usage in tournament
client:

	31aded6971/osu.Game.Tournament/Components/TournamentMatchChatDisplay.cs (L57-L58)

I'm not sure how that would interact with this particular change, but I
think there is a nonzero possibility that it would interact badly. So in
general I kinda just prefer steering clear of all that and adding a
local one-liner.
2025-02-26 12:06:50 +01:00
Bartłomiej Dach
31aded6971
Merge pull request #32108 from peppy/adjust-leaderboard-design-slightly
Adjust leaderboard score design slightly
2025-02-26 11:28:39 +01:00
Bartłomiej Dach
6b76b8ccdd
Do not allow adding more than 8 combo colours in editor 2025-02-26 11:24:06 +01:00
Bartłomiej Dach
2167c7b8d5
Limit beatmap encoder & decoder to at most 8 combo colours 2025-02-26 11:13:57 +01:00
Bartłomiej Dach
e48d36ad1e
Add failing encoder test case for too many combo colours 2025-02-26 11:10:33 +01:00
Dan Balasescu
c2875423ee
Cleanup score fetching a bit 2025-02-26 18:58:29 +09:00
Bartłomiej Dach
76bf03b05d
Add failing decoder test case for too many combo colours 2025-02-26 10:56:28 +01:00
Bartłomiej Dach
38d807e846
Merge pull request #32107 from peppy/fix-player-team-flag-replay
Fix `PlayerTeamFlag` skinnable component not showing team details during replay
2025-02-26 10:36:49 +01:00
Dan Balasescu
c280c8fa1c
Add support to tests
Somewhat informal because it isn't super easy to handle.
2025-02-26 18:31:06 +09:00
Dan Balasescu
3dde024650
Replace error handling with logs
- Handling all errors matches master a little bit better. Logging
exceptions in any case.
- Not throwing when beatmaps are missing simplifies tests.
2025-02-26 18:02:13 +09:00
Dean Herbert
c45a403fe2
Mostly revert sizes 2025-02-26 18:00:18 +09:00
Dan Balasescu
c7fd7cf9cd
Add missing ConfigureAwait 2025-02-26 17:39:56 +09:00
Dean Herbert
e8b7ec0f95
Adjust leaderboard score design slightly
This design is about to get replaced, so I'm just making some minor
adjustments since a lot of people complained about the font size in the
last update.

Of note, I'm only changing the font size which is one pt size lower than
we'd usually use. Also overlapping the mod icons to create a bit more
space (since there's already cases where they don't fit).

Closes https://github.com/ppy/osu/issues/32055 as far as I'm concerned.
I can read everything fine at 0.8x UI scale.
2025-02-26 17:01:51 +09:00
Dean Herbert
abc12abded
Fix PlayerTeamFlag skinnable component not showing team details during replay
For now, let's fetch on demand.

Note that song select local leaderboard has the same issue. I feel we should be
doing a lot more cached lookups (probaly with persisting across game restarts).
Maybe even replacing the realm user storage. An issue for another day.
2025-02-26 16:48:18 +09:00
Dan Balasescu
b7d431fdde
Include author 2025-02-26 15:04:43 +09:00