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

16188 Commits

Author SHA1 Message Date
Bartłomiej Dach
f9d91431fd
Fix multiplayer spectator not working with freestyle
It's no longer possible to just assume that using the ambient
`WorkingBeatmap` is gonna work.

Bit dodgy but seems to work and also I'd hope that `WorkingBeatmapCache`
makes this not overly taxing. If there are concerns this can probably be
an async load or something.
2025-02-19 15:15:21 +01:00
Dean Herbert
66f7f92469
Merge pull request #31928 from bdach/perform-on-selection-is-weird
Fix nudging objects in catch editor not changing their hyperdash state
2025-02-18 21:17:10 +09:00
Bartłomiej Dach
e6174f195c
Ensure EditorBeatmap.PerformOnSelection() marks objects in selection as updated
Closes https://github.com/ppy/osu/issues/28791.

The reason why nudging was not changing hyperdash state in catch was
that `EditorBeatmap.Update()` was not being called on the objects that
were being modified, therefore postprocessing was not performed,
therefore hyperdash state was not being recomputed.

Looking at the usage sites of `EditorBeatmap.PerformOnSelection()`,
about two-thirds of callers called `Update()` themselves on the objects
they mutated, and the rest didn't. I'd say that's the failure of the
abstraction and it should be `PerformOnSelection()`'s responsibility to
call `Update()` there. Yes in some of the cases here this will cause
extraneous calls that weren't done before, but the method is already
heavily disclaimed as 'expensive', so I'd say usability should come
first.
2025-02-18 12:06:42 +01:00
Bartłomiej Dach
b3aba537b5
Add missing early return
As spotted in testing with production. Would cause submission to proceed
even if the export did, with an empty archive.
2025-02-18 11:35:29 +01:00
Bartłomiej Dach
98ff4e054a
Merge pull request #31924 from peppy/fix-kiai-fountains-rapid-fire
Fix kiai fountains sometimes not displaying when they should
2025-02-18 11:27:02 +01:00
Dean Herbert
8e25c94452
Fix kiai fountains sometimes not displaying when they should
The previous logic was very wrong, as the check would only occur on each
beat. But that's not how kiai sections work – they can be placed at any
timestamp, even if that doesn't align with a beat.

In addition, the rate limiting has been removed because it didn't exist
on stable and causes some fountains to be missed. Overlap scenarios are
already handled internally by the `StarFountain` class.

Closes https://github.com/ppy/osu/issues/31855.
2025-02-18 14:12:16 +09:00
Dean Herbert
f5b485a44d
Stop "hold for HUD" key binding from blocking other key presses
I don't think there's a good reason for this to be blocking.

Closes https://github.com/ppy/osu/issues/31274.
2025-02-18 12:58:54 +09:00
Dan Balasescu
3b8b8ae87f
Merge pull request #31917 from bdach/nudge-fix
Fix nudge operations incurring FP error from coordinate space conversions
2025-02-18 12:19:14 +09:00
Bartłomiej Dach
f37a56c307
Fix nudge operations incurring FP error from coordinate space conversions
Closes https://github.com/ppy/osu/issues/31915.

Reproduction of aforementioned issue requires 1280x720 resolution, which
should also be a good way to confirm that this does anything.

To me this is also equal-parts-bugfix, equal-parts-code-quality PR,
because tell me: what on earth was this code ever doing at
`ComposeBlueprintContainer` level? Nudging by one playfield-space-unit
doesn't even *make sense* in something like taiko or mania.
2025-02-17 15:21:07 +01:00
Dean Herbert
42fb544218
Merge pull request #31912 from bdach/more-snap-grid
Fix some more visual issues with osu! distance snap grid
2025-02-17 21:11:17 +09:00
Bartłomiej Dach
2b4b21beb6
Fix distance snap grid line opacity being incorrect on non-1.0x velocities
Noticed in passing.
2025-02-17 10:11:47 +01:00
Bartłomiej Dach
8423d9de9b
Fix distance snap grid colours being off-by-one in certain cases
Closes https://github.com/ppy/osu/issues/31909.

Previously: https://github.com/ppy/osu/pull/30062.

Happening because of rounding errors - in this case the beat index
pre-flooring was something like a 0.003 off of a full beat, which would
get floored down rather than rounded up which created the discrepancy.
But also we don't want to round *too* far, which is why this
frankenstein solution has to exist I think. This is probably all
exacerbated by stable not handling decimal control point start times.

Would add tests if not for the fact that this is like extremely annoying
to test.
2025-02-17 10:11:23 +01:00
Dean Herbert
d5566831d2
Stop beat divisor "slider" from accepting focus 2025-02-17 15:06:35 +09:00
Dean Herbert
4c851a327e
Merge pull request #31880 from peppy/team-logo-support
Add basic display support for team logos
2025-02-14 22:59:57 +09:00
Dean Herbert
071a4ba9b0
Merge pull request #31821 from Layendan/playlist-collection
Add playlist to new collection button present on playlist room
2025-02-14 18:03:54 +09:00
Dean Herbert
44faabddcd
Add skinnable team flag 2025-02-14 17:39:21 +09:00
Dean Herbert
303961d101
Add drawable implementations of team logo 2025-02-14 17:39:21 +09:00
Dean Herbert
f9b7a8ed10
Make realm operation asynchronous for good measure 2025-02-14 14:51:48 +09:00
Dean Herbert
8561df40c5
Add better messaging and handling of edge cases 2025-02-14 14:30:33 +09:00
Dean Herbert
601e6d8a70
Refactor pass for code quality 2025-02-14 13:54:29 +09:00
Bartłomiej Dach
de9362dae5
Merge branch 'master' into bss/the-actual-submission 2025-02-13 08:45:23 +01:00
Dean Herbert
c049ae6937
Update height specification for playlist screen too 2025-02-12 18:45:00 +09:00
Dean Herbert
bc94ffe21e
Merge branch 'master' into freestyle-mods 2025-02-12 18:32:01 +09:00
Dean Herbert
218151bb3c
Flash footer freemod/freestyle buttons when active 2025-02-12 18:30:34 +09:00
Dean Herbert
9c3e9e7c55
Change free mods button to show "all" when freestyle is enabled 2025-02-12 18:27:10 +09:00
Dean Herbert
9aef95c381
Adjust some paddings and text
Mostly trying to give more space to the queue as we add more vertical
elements to the middle area of multiplayer / playerlists. This whole UI
will likely change – this is just a stop-gap fix.
2025-02-12 17:43:49 +09:00
Dean Herbert
b92e9f515b
Fix layout of user setting areas when aspect ratio is vertically tall 2025-02-12 17:31:55 +09:00
Dan Balasescu
693ef8f538
Merge pull request #31846 from bdach/fix-missing-rank-on-results
Fix score position not being displayed in solo results screen
2025-02-11 21:55:35 +09:00
Dean Herbert
b9ed217308
Add basic brighten animation instead 2025-02-11 17:13:34 +09:00
Dean Herbert
1fa8d53232
Disable scale animation when holding editor "test" button 2025-02-11 17:11:20 +09:00
Dean Herbert
9bb108311f
Merge pull request #31848 from bdach/open-beatmap-in-browser-from-editor
Add menu items to open beatmap info & discussion pages in browser from editor
2025-02-11 16:55:02 +09:00
Bartłomiej Dach
daf0130b23
Reword copy to be less verbose 2025-02-11 08:06:12 +01:00
Dan Balasescu
e51c09ec3d
Fix inspection
Interestingly, this is not a compiler error nor does R# warn about it.
No problem, because this is just restoring the original code anyway.
2025-02-11 14:23:51 +09:00
Dan Balasescu
748c2eb390
Refactor RoomSubScreen update 2025-02-11 12:43:54 +09:00
Dan Balasescu
78e5e0eddd
Refactor with a bit more null safety
In particular I don't like the non-null assert around
`GetCurrentItem()`, because there's no reason why it _couldn't_ be
`null`.
Consider, for example, if these panels are used in matchmaking where
there are no items initially present in the playlist.

The ruleset nullability part is debatable, but I've chosen to restore
the original code here.
2025-02-11 12:20:09 +09:00
Dean Herbert
8dc616738c
Merge pull request #31844 from bdach/fix-mp-players-appearing-as-spectators
Fix spectator list showing other users in multiplayer room even if they're not spectating
2025-02-10 21:49:06 +09:00
Dean Herbert
310700b4e7
Space out comment 2025-02-10 21:48:27 +09:00
Bartłomiej Dach
38e2f793ca
Add menu items to open beatmap info & discussion pages in browser from editor 2025-02-10 12:47:38 +01:00
Bartłomiej Dach
288851c606
Fix score position not being displayed in solo results screen
Closes https://github.com/ppy/osu/issues/31842.

To be honest, I recall this working too, but I don't recall when it
might have broken, nor do I want to go look for the point of breakage
because it might be borderline impossible to find it now. So I'm just
fixing as if it was just a straight omission.

Opting for a client-side fix because server-side inclusion of the score
position for an entire leaderboard has been previously rejected as too
expensive:

	https://github.com/ppy/osu-web/pull/11354#discussion_r1689217450
2025-02-10 12:17:52 +01:00
Bartłomiej Dach
ad642b8425
Fix spectator list showing other users in multiplayer room even if they're not spectating 2025-02-10 11:17:17 +01:00
Bartłomiej Dach
3ba56e009e
Privatise a few members 2025-02-10 10:41:10 +01:00
Dean Herbert
b8e33a28d2
Minor code refactors 2025-02-10 17:41:38 +09:00
Bartłomiej Dach
45259b374a
Remove unused using 2025-02-10 09:09:43 +01:00
Bartłomiej Dach
895493877c
Allow performing beatmap reload after submission from song select 2025-02-10 09:03:40 +01:00
Layendan
5e9f195117 Fix tests failing if playlist was empty 2025-02-09 23:27:28 -07:00
Dean Herbert
eae1ea7e32
Adjust animations and induce some short delays to make things more graceful 2025-02-10 15:23:25 +09:00
Dean Herbert
930aaecd7f
Fix back button displaying before it should 2025-02-10 15:22:31 +09:00
Dean Herbert
7853456c06
Add delay before browser displays beatmap 2025-02-10 15:12:59 +09:00
Dean Herbert
274b422139
Add percent progress display to editor footer 2025-02-10 14:51:48 +09:00
Layendan
f9bda0524a Update button text to include downloaded beatmaps and collection status 2025-02-09 18:45:13 -07:00