github ppy/osu 2022.628.0

latest releases: 2024.412.1, 2024.412.0, 2024.312.1...
22 months ago

Thanks for following along! This is a tagged release (2022.628.0). For more information check out the osu! changelog page and dev blog.

Audio

Add audio feedback for rearranging list items (ppy/osu-resources#200 by @nekodex)

Smaller changes

  • [p] Add audio feedback for rearranging list items (#18818 by @nekodex)

Code Quality

  • Change always-discarded-parameter inspection to hint (#18806 by @peppy)
  • Ban usage of ManualResetEventSlim.Wait() without a timeout value (#18816 by @peppy)
  • Enable NRT on IHasCustomTooltip interface (ppy/osu-framework#5260 by @peppy)
  • Enable NRT and tidy up BeatmapDifficultyCache (#18820 by @peppy)
  • Refactor difficulty icons to not suck (#18819 by @peppy)
  • Remove unused bindable retrieval flow in BeatmapDifficultyCache (#18832 by @peppy)
  • Add messages to all InvalidOperationExceptions (#18908 by @peppy)

Database

  • Ensure WorkingBeatmap is always using a detached instance (#18833 by @peppy)
  • Fix second case of empty beatmaps being reported to sentry as errors (#18862 by @peppy)
    • Also makes logging more relevant on other failures.

Editor

Support undo/redo for control points in the Editor (#18668 by @smoogipoo)

Bit of a temporary solution just to make things work.

Smaller changes

  • Fix metronome arm being stuck white when paused 'close enough' to center (#18808 by @nekodex)

Framework

Gameplay (osu!)

Track the full size of the follow circle at all times (#18795 by @smoogipoo)

Localisation

Performance

Fix stuttering when adjusting beatmap offset with many beatmaps loaded (#18790 by @peppy)

Fix TripleBuffer sleeping too long at high frame rates (ppy/osu-framework#5267 by @peppy)

Put simply, this improves cross-thread frame synchronisation between update and draw threads. Primarily this change was to fix draw fps being lower than expected when running at "Basically Unlimited", but it should improve perceived latency across the board, especially at lower frame rates. Note that per-core CPU will be slightly higher than before (~10-20%) but only if there's enough headroom. In other words, if your CPU was already struggling then it won't be any worse with this change.

Initialise OpenTabletDriver asynchronously (ppy/osu-framework#5269 by @peppy)

It takes a long time to start this up. Now it's done on another thread so the game can continue to get ready.

Smaller changes

Platform

Reliability

Song Select

Add setting option to toggle between mod overlay hotkey styles (#18796 by @bdach)

Two styles are offered:

Sequential - pretty much what was already in place, i.e. the rows of the keyboard correspond to the first three columns, and each key in the row corresponds to each mod in the column. A small change here is that when the set of available mods changes so do the keybinds, and the keys are now fully index-based (relevant issue thread comment).

Classic - mostly matches stable 1:1 (more on this later). Mods use keybinds that are specific to them, i.e. Hard Rock will always be A no matter what. Notably, this also brings back multi mod cycling in a sense. This addresses #18417.

2022-06-21.15-34-17.mp4

Testing

  • Remove room null assertion in TestMultiplayerClient.ChangeState to avoid assert (#18815 by @peppy)
  • Remove remaining Room != null checks in TestMultiplayerClient where possible (#18817 by @peppy)
  • Add environment variable flag to cause until steps to never timeout (ppy/osu-framework#5262 by @peppy)
  • Fix dangerous File.Copy causing intermittent realm migration test failures (#18831 by @peppy)
  • Fix test deadlock due to TPL threadpool saturation (#18849 by @peppy)
  • Attempt to fix flaky PlaylistOverlay test (#18853 by @peppy)
  • Attempt to fix flaky EditorNavigation test (#18854 by @peppy)
  • Fix chat tests failing 1/10000 runs (#18865 by @peppy)
  • Fix TestStoryboardSkipOutro occasionally failing due to strict timings (#18866 by @peppy)
  • Fix occasional failure in realm test proceedings due to incorrect Debug.Assert (#18871 by @peppy)
  • Centralise and harden editor-ready-for-use check (#18864 by @peppy)
  • Add logging for various cases of SongSelect.FinaliseSelection being aborted (#18875 by @peppy)
  • Add various logging of global WorkingBeatmap state changes (#18872 by @peppy)
  • Wait for and dismiss notification in editor navigation test (#18910 by @bdach)
  • Add logging around current channel changes and join requests (#18913 by @peppy)
  • Increase leniences on TestSceneSpectatorPlayback.TestWithSendFailure (#18914 by @peppy)
  • Apply various refactorings to TestSceneSliderSnaking (#18915 by @peppy)
  • Fix more chat test failures (#18916 by @peppy)

Tooling

UI

Added subheadings to maintenance section in settings (#18802 by @Supersonicboss1)

Previously, the maintenance section was just one big block of buttons, seemingly ordered in no meaningful way.
This separates each 'category' into its own subheading to improve the general feel of that section, even though it's not generally used.

osu_2022-06-21_23-48-08

UX

Adjust menu cursor rotation to use a floating centre-point (#18841 by @peppy)

Been bugging me for a while. Adjusted snappiness of animations and fixed centre point being stuck at original mouse down location.

Fix clicks sometimes not being handled due to being caught incorrectly as double-clicks (ppy/osu-framework#5268 by @frenzibyte)

Regression in recent builds.

Smaller changes

  • Add back online view container to chat overlay (#18804 by @Joehuu)
    • The redesign didn't put back the online view container, causing chat to look like you're online until you try to type something.

Full Changelog: 2022.621.0...2022.628.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.