Thanks for following along! This is a tagged release (2022.1008.0). For more information check out the osu! changelog page and dev blog.
Code Quality
- Cleanup bindings instantiation (#20472 by @o-dasher)
- Apply NRT to
GameplayLeaderboard
hierarchy (#20486 by @peppy) - Apply NRT to leaderboard hierarchy (#20485 by @peppy)
- Removes unnecessary setting sources specifications (#20509 by @o-dasher)
- Remove unused
using
s in mobile projects (ppy/osu-framework#5440 by @Susko3)
Framework
- Expose
ScrollContainer.Target
(ppy/osu-framework#5434 by @peppy) - Fix
Shader
not reset to null when completely unbound (ppy/osu-framework#5437 by @frenzibyte) - Split out windowing and input of
SDL2DesktopWindow
into partial classes (ppy/osu-framework#5436 by @Susko3) - Fix
InputHandler
exceptions not being forwarded to logger (ppy/osu-framework#5441 by @Susko3) - Always show exclusive fullscreen as enabled on Intel platforms (#20506 by @smoogipoo)
- Fix
SpriteText
size not immediately responding to changes in text (ppy/osu-framework#5443 by @smoogipoo)
Gameplay
Add toggle for solo gameplay leaderboard (#20488 by @nanashi-1)
Eventually we want the leaderboard to be repositionable with more flexibility, but until then, there is now a toggle in settings to allow turning it off.
Flush toast tray on entering gameplay (#20502 by @peppy)
On entering gameplay, notifications will now be immediately hidden to avoid them getting in your way.
I've also adjusted the delay after a no-notification section slightly because I felt it was too sudden with the recent reduction from 1 second.
Adjust leaderboard score panels sizing based on accuracy/combo width (#20564 by @peppy)
Avoids the two numbers colliding
osu.Game.Tests.2022-10-03.at.09.11.51.mp4
Display highest combo rather than current combo for local play on leaderboard (#20547 by @nanashi-1)
20547_1.mp4
Smaller changes
- Fix leaderboard wobble when in first place (#20518 by @peppy)
- Fix gameplay sometimes getting stuck before results screen (#20549 by @frenzibyte)
- Would only happen with storyboard enabled and on some storyboarded beatmaps.
- Expose flashlight smoothness as uniform (ppy/osu-resources#215 by @smoogipoo)
- Fix fade being applied for too long when leaderboard scrolls to start (#20519 by @peppy)
Gameplay (osu!)
Fix osu! slider ticks appearing too late (#20477 by @peppy)
Pretty weird one. Slider ticks were always too late on lazer. Like, way too late.
20477.mp4
Add osu! hit object dim (#20572 by @peppy)
osu! stable would dim objects when they can't be hit (ie. the "miss" window is not active yet). This was never implemented in lazer, and causes quite large visual differences.
Few have mentioned this yet, but it will definitely be one of those missing pieces which makes lazer feel different to stable.
20572.mp4
Hide approach circles immediately on successful hit (#20580 by @peppy)
Something was bugging me about argon while testing with actual gameplay recently. Something about the animation made it feel like I wasn't in control. Turns out it was the fact that the approach circle stays visible for 50ms after a hit. This is less noticeable on classic/triangles skins, but an especially uneasy feeling on argon where the hitcircle is scaled inwards at the same time.
Note that as it's only a 50ms fade, this is much more noticeable at >60hz and may not show in the videos below very well.
20580.mp4
Add cursor "smoke" trails (#20376 by @goodtrailer)
The smoke trails are back!!
20376.mp4
Adjust flashlight to more closely match classic scaling (#20566 by @smoogipoo)
This is an accuracy pass on all rulesets to ensure flashlight matches as closely as possible. Note that the gradient still isn't 1:1, but it's much better than how it used to be.
20566.mp4
Smaller changes
- Fix slider tick colour not being applied properly (#20424 by @peppy)
- This was actually in the previous hotfix, but didn't show in the changelog. It only affected the new "argon" skin.
- Use
StackedEndPosition
instead ofEndPosition
to determine the jump distance in theFlashlightEvaluator
(#20489 by @abstrakt8)- Difficulty calculation related.
Gameplay (osu!catch)
Hide osu!catch touch input controls when relax mod is enabled (#20426 by @NullifiedJosh)
Gameplay (osu!mania)
Add "argon" note and stage design for osu!mania (#20601 by @peppy)
Hold note "ticks" are not skinned yet. Weirdly, this doesn't even support legacy skinning as it stands and uses a single visual for all skins.
osu.2022-10-06.at.11.54.59.mp4
Second pass on osu!mania "argon" visuals (#20604 by @peppy)
osu.2022-10-07.at.11.43.56.mp4
Still not 100% happy, but should be quite playable.
Fix osu!mania key / stage lighting / explosions display wrong after rewinding (#20600 by @peppy)
Smaller changes
- Fix mania hold note head disappearing (#20594 by @ekrctb)
- A regression that was never seen by users.
- Add "argon" key area for osu!mania (#20571 by @peppy)
- This lays the groundwork for the new design to be added in osu!mania.
- Refactor osu!mania skinning to allow skins to specify column accent colours (#20592 by @peppy)
- Fix osu!mania not colours not always updating when switching skins (#20602 by @peppy)
Gameplay (osu!taiko)
Fix some "aspire" taiko beatmaps not playing correctly (#20510 by @sw1tchbl4d3r)
This is observable in osu!taiko gimmick ("Aspire"-like) maps that use very high note velocities to make notes near invisble.
Compute lifetime start from entry for scrolling hit objects (#20570 by @ekrctb)
Fixes a long-standing issue where some objects appearing suddenly, later than expected.
Smaller changes
- Pin osu!taiko PP calculator's accuracy to the classic value (#20585 by @smoogipoo)
Notifications
- Fix progress notifications being able to be flung (and cancelled) (#20478 by @peppy)
- Fix update progress notification not closing on completion (#20428 by @frenzibyte)
Performance
Fix editor performance being sub-par on beatmap load (#20501 by @peppy)
Worse for longer beatmaps. Basically every timeline tick for the whole duration of the beatmap was being loaded at startup due to changes in the zoom container logic.
Smaller changes
- Fix VBO incorrectly flushing on no-op shader bind (ppy/osu-framework#5431 by @peppy)
- Avoid flushing VBO when the renderer state is not affected (ppy/osu-framework#5438 by @frenzibyte)
- Fix
Displays
querying on every access and addDisplaysChanged
(ppy/osu-framework#5439 by @Susko3)
Reliability
- Fix off-thread drawable mutation in multiplayer settings overlay when an error occurs (#20419 by @peppy)
- Fix crash when storyboard attempts to play at main menu (#20417 by @peppy)
- Fix potential
null
return toArrayPool
inWaveform
(ppy/osu-framework#5428 by @peppy) - Fix intermittent leaderboard crash due to request finishing after drawable is disposed (#20418 by @peppy)
- Move
MusicController
binds toLoadComplete
for added thread safety (#20483 by @peppy) - Fix potential crash on game exit due to incorrect scheduling of realm change handler (#20479 by @peppy)
- Fix potential crash from incorrect drawable mutation in tablet settings display (#20480 by @peppy)
- Fix
rank_history
serialisation order dependence (#20498 by @peppy) - Fix potential crash when losing network connectivity in multiplayer/playlists screens (#20504 by @peppy)
- Fix potential crash when attempting to display an imported score at song select (#20567 by @peppy)
- Silence unobserved exceptions in
BeginPlayingInternal
(#20582 by @peppy) - Fix potential crash when score submission token retrival fails (#20562 by @peppy)
Settings
Always show exclusive fullscreen as available on Intel platforms (ppy/osu-framework#5432 by @smoogipoo)
The detection we had in place was not working well for intel GPUs, making users confused that they were not running in exclusive fullscreen when they actually were.
Change default skin for new installations to "Argon" (#20503 by @peppy)
It's in a good state now, let's make it the default.
Adjust out-of-the-box background dim back down to 70% (#20603 by @peppy)
It was previously bumped from 60% to 80%, but I've recently felt that this is too high as a default, and takes away from storyboards and video backgrounds.
Song Select
Change song select random key binding to not handle key repeat (#20565 by @peppy)
Eventually this will have a better behaviour, but let's fix "ear destroying" for now with the simple fix.
Testing
- Fix
SkinnableTestScene
sizing logic potentially failing to work (#20497 by @frenzibyte) - Fix failing multiplayer tests (#20507 by @smoogipoo)
- Attempt to fix deadlock in
TestSceneOnlinePlayBeatmapAvailabilityTracker
(#20569 by @smoogipoo)
Tooling
- GitHub Workflows security hardening (#20468 by @sashashura)
- Copy DotSettings
CodeInspection
s from osu! sln (ppy/osu-framework#5444 by @Susko3) - Update all dependencies (#20605 by @peppy)
UI
- Fix playlist overlay overflowing at high UI scales (#20495 by @Feodor0090)
- Update localisations (ppy/osu-resources#216 by @peppy)
- Localize non-localizable setting items (#20340 by @azutake)
- Fix language settings dropdown not updating when changing language in first run setup (#20599 by @Joehuu)
New Contributors
- @azutake made their first contribution in #20340
- @NullifiedJosh made their first contribution in #20426
Full Changelog: 2022.927.0...2022.1008.0