github ppy/osu 2023.811.0

latest releases: 2024.1115.0, 2024.1104.0, 2024.1023.0...
15 months ago

Code Quality

  • Fix nullability inspection in NowPlayingOverlay (#24421 by @bdach)
  • Remove #nullable disable in tournament (#24409 by @cdwcgt)

Cosmetic

Add kiai fountains to main menu (#24208 by @peppy)

osu.2023-07-13.at.11.30.12.mp4

Fix now playing overlay occasionally showing incorrect background (#24418 by @peppy)

Smaller changes

Editor

Change beatmap editor to always select the closest object in time via clicking (#24289 by @peppy)

Matches osu!stable.

osu.Game.Tests.2023-07-19.at.07.58.34.mp4

Add support for cyclic selection in beatmap editor (#24291 by @peppy)

osu! 2023-07-19 at 08 26 24

Update various editor design language (and centre playfield / timeline) (#24220 by @peppy)

Brings us closer to the latest designs. Also centres the playfield and timeline centre as proposed in #24207.

Before After
osu! 2021-09 at 10 49 13 osu! 2023-07-14 at 10 48 13

Fix "key count" setting showing as "circle size" in osu!mania editor (#24317 by @peppy)

Add ability to export beatmaps from editor in a stable-compatible format (#24186 by @OliBomby)

This adds a menu button that lets you explicitly export a beatmap set for compatibility with osu!stable. With this feature it becomes a lot more feasible to create beatmaps in Lazer using the full range of features available in Lazer.

osu!_U9q1Aii7XI

The default 'For editing' option now creates the file extension '.olz' (osu! lazer zip) which is accepted by osu! lazer but not by osu! stable, while 'For compatibility' creates a '.osz' file which obviously is accepted by both osu! stable and lazer. This makes it less likely to confuse the two formats.

Note that the 'For compatibility' option is not lossless, and as such shouldn't be used for cases where you want to make further adjustments to the beatmap.

Improve visuals of editor spacers (#24333 by @peppy)

Before After

Fix editor blueprints being selectable for too long when hit markers are enabled (#24288 by @peppy)

Smaller changes

  • Add checks for breaks obtained via external edits (#24259 by @NiceAesth)
  • Fix osu!taiko editor playfield getting cut off incorrectly (#24374 by @peppy)
  • Disallow interacting with the global track state in Player and Editor (#24361 by @peppy)
  • Refactor rotation handling in editor to facilitate reuse (#24341 by @bdach)
    • A starting point required to implement more advanced manipulation controls, like the rotation dialog everyone's waiting for.
  • Block beatmap editor from testing/exiting/exporting when saving fails (#24467 by @Joehuu)

Framework

Gameplay

Change offset calibration control to adjust for all difficulties of the current beatmap set (#24290 by @peppy)

Generally all difficulties in a beatmap set share the same timing information, so it only makes sense to apply a user offset everywhere.

Fix storyboard being see-through in some contexts (#24443 by @peppy)

Before After
osu! 2023-08-02 at 06 51 22 osu! 2023-08-02 at 06 49 48

Gameplay (osu!)

Change spinner rotation animation to match input 1:1 (#24360 by @peppy)

Originally this was halved to make the newer designs look "better" (subjectively) but in testing I think it's fine to apply this across the board. It definitely feels better as a user to have non-slipping control over spinners.

Gameplay (osu!taiko)

Fix not always being able to hit objects when "hidden" mod is applied (#24305 by @chayleaf)

Integration

Fix discord not displaying status after being closed while osu! is running (#24189 by @peppy)

Originally disabled due to performance concerns. Performance issues have now been fixed.

Multiplayer

Add ability to toggle all free mods quickly at multiplayer song select (#24294 by @peppy)

Until now, one would have to open up free mod select and click select all to enable all free mods. Given how common enabling free mods is, the button now allows direct toggling and saves a few clicks.

osu.2023-07-19.at.10.09.35.mp4

General visual improvements to mutliplayer spectatator screen (#24415 by @peppy)

This is an initial pass before I try some more experimental changes.

  • Individual screens now have rounded corners and shadows
  • The zoom-to-focus now doesn't completely hide other screens, and should feel better in general
  • The game toolbar is hidden when entering multiplayer spectator
2023-07-30.02.42.00.mp4

Fix multiplayer spectator not correctly proceeding to the next beatmap in all cases (#24438 by @peppy)

Improve choice of where to start playback of multiplayer spectator (#24448 by @peppy)

This was originally intended to try and fix the startup delay, but the majority of the delay comes from elsewhere.

Regardless, this algorithm should be much better than what we had (and avoid situations where one client being super far behind delays start of the session by forcing you to watch them catch up).

Smaller changes

  • Fix deadlock when logging out while at the create match screen (#24295 by @peppy)
  • Fix multiplayer screen transitions not always working as expected (#24422 by @bdach)
  • Fix centred player not animating correctly (#24440 by @peppy)

Performance

Improve vertex upload performance significantly on iOS (ppy/osu-framework#5931 by @frenzibyte)

With the new performance test scenes we have, VBO uploads have shown to be quite poor on iOS, even when building in AOT.

After multiple days of investigation (interrupted by regressions in our rendering systems), it turns out the intermediate vertex storage allocated in VeldridVertexBuffer have a significant hit on performance. In an isolated environment, there's +7ms aggregate CPU overhead when uploading to an intermediate vertex storage followed by uploading to the GPU buffer, from uploading & drawing 10k quads.

Shaving that overhead off improves performance on iOS significantly, especially in scenes with a high number of vertex uploads.

Re-enable AOT on android / iOS to greatly improve performance (#24338 by @frenzibyte)

This was disabled when we switched to the new renderer because it was crashing. It turns out this had a huge effect on performance.

This also enables Mono Interpreter as a fallback for areas where dynamic code is utilised. I will look into the steps necessary to remove it to close up any remaining possibilities for gains, but I'll do that as a separate follow-up effort later because building osu! with AOT compilation is quite a tedious task, and the performance gain in this PR alone is probably more than enough.

This adds a magnificent boost in rendering performance on iOS and android. Anyone who's been struggling with performance before on their iPhones/iPads should give this release a try!

Note that due to a startup crash, this is only live for iOS this time around. We'll revisit android!

Fix beatmaps being queued for reprocessing every startup when logged out (#24350 by @peppy)

Smaller changes

  • Remove most locking overhead in TripleBuffer (ppy/osu-framework#5915 by @peppy)
    • One of those things I see in passing and can't un-see. Call this a developer indulgence rather than an optimisation if you want.

Platform

Reliability

Results

Fix some UI elements in legacy skins not always aligning correctly (#24292 by @peppy)

Finally, all the old skins which use weird positioning hacks to "skin" the progress pie area will now work correctly (assuming you have your game set to the correct aspect ratio for the skin). Rejoyce!

osu! 2023-07-19 at 08 47 51

osu! 2023-07-19 at 08 51 50

Fix attempting to export replay from results screen after play not working (#24367 by @peppy)

Show extended statistics at results screen when arriving from multiplayer spectator automatically (#24439 by @peppy)

Smaller changes

  • Fix replay being unexpectedly exported after viewing a different score (#24419 by @peppy)

Skin Editor

Add new skin layer to allow components anchored to the playfield (#24387 by @peppy)

This has been a common request to cater for rulesets where the playfield changes in shape (ie. osu!mania with different column counts), or for cases where a user has applied playfield scale adjustments.

osu.2023-07-28.at.06.53.52.mp4

Song Select

Show break time in tooltip at song select (#24358 by @peppy)

The song select design is changing, so not overthinking this one. Felt like a quick usability change I could get in in 5 minutes.

Add back the ability to close mod select using enter key (#24375 by @peppy)

Fix temporary auto mod (ctrl+enter at song select) not reverting in all scenarios (#24386 by @peppy)

Testing

Tournament

General improvements to tournament client ladder editor (#24308 by @peppy)

  • Adds very basic grid snap (frequent feature request)
  • Uses more standard control panel area for settings
  • Masks content – looks less broken with wider resolutions

General improvements to tournament client team editor and buttons (#24309 by @peppy)

  • Updates all remaining buttons to use new button style
  • Improved layout of team editor
Before After

Shows the absolute score difference near the score bars (#24334 by @cdwcgt)

osu.framework.running._osu-development_.2023-07-23.15-26-20.mp4

Apply various visual and usability improvements to tournament ladder editor (#24347 by @peppy)

  • Adds grid
  • Improves selection box visuals (including the one that shows on stream)
  • Selects newly added matches automatically
2023-07-25.01.43.15.mp4

Fix uneven spacing on match connectors in tournament ladder screen (#24353 by @bdach)

Fix beatmap panel backgrounds unloading when changing screens (#24346 by @cdwcgt)

Fix auto advance screens sometimes not advancing (#24331 by @ILW8)

Add confirmation dialog when performing dangerous actions in tournament client (#24284 by @ILW8)

Many "dangerous" actions in the tournament client do not require confirmation at all, and the buttons often are located near other oft-used buttons in the various editor screens.

Smaller changes

  • Make list of tournaments in tourney client setup screen alphabetically sorted (#24328 by @ILW8)
  • Add reload button to tourney setup screen (#24327 by @ILW8)
  • Fix tournament client crashing occasionally when editing bracket (#24349 by @peppy)
  • Enforce a hard minimum window size for tournament client (#24348 by @peppy)
    • This also adds a non-black background when the window is too wide (looks nicer), and improve testability when screen isn't wide enough (tournament screen tests will now display scaled down to include the screen and control panel).
  • Fix misalignment of selection box on schedule screen (#24356 by @peppy)
  • Allow scrolling in tournament setup screen to avoid information ending up off-screen (#24377 by @ILW8)
  • Fix startup tournament population not recovering from null beatmaps (#24357 by @peppy)
  • Allow ladder editor grid to scale with content (#24389 by @peppy)

New Contributors

Full Changelog: 2023.717.0...2023.811.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.