Thanks for following along! This is a tagged release (2022.923.0). For more information check out the osu! changelog page and dev blog.
Beatmap Listing
Fix beatmap listing potentially showing duplicate beatmap cards (#20273 by @frenzibyte)
Improve sorting criteria in beatmap listing overlay (#20317 by @frenzibyte)
- Adds
Nomination
andUpdated
sorting criteria to beatmap listing, displaying on specific categories - When
Pending
,WIP
,Graveyard
, orMy Maps
category is selected, criteria will default toUpdated
rather thanRanked
. - When no query is specified,
Relevance
will not be shown.
Code Quality
Remove all entity framework code and migrations (#20319 by @peppy)
Migration was added in January, so most people should have already finished running it. If anyone hasn't, we can offer manual migration.
Smaller changes
- Remove the nullable disable annotation in the ruleset class (#19066 by @andy840119)
- Fix null considerations in
DrawableRulesetDependencies
(#20281 by @peppy) - Remove unused
KeyCounterState
(#20309 by @mk56-spn) - Retrieve great hit window from the hit object in osu! difficulty calculation (#20160 by @apollo-dw)
- Move
DifficultyMultiplierDisplay
's layout and colour logic to a base class (#19991 by @Feodor0090) - Close open parenthesis in
README.md
(ppy/osu-framework#5420 by @MMagnate) - Clarify purpose of
APIUserScoreAggregate
using xmldoc (#20355 by @frenzibyte)
Editor
Fixed occasional crashes due to hitobject sorting oversight (#20270 by @OliBomby)
Fix performing rotation on sliders getting slower over time (#20308 by @peppy)
Add snapping for slider control points in the editor (#20385 by @B3nn1)
20385.mp4
Framework
- Ensure unbind action is always available on request (ppy/osu-framework#5419 by @peppy)
- Introduce base implementation for
IRenderer
(ppy/osu-framework#5404 by @frenzibyte) - Expose
TextureAtlas.Add()
(ppy/osu-framework#5403 by @smoogipoo) - Add support for blending "write mask" in
IRenderer
(ppy/osu-framework#5422 by @frenzibyte) - Forward tablet driver output to custom logging target (ppy/osu-framework#5421 by @frenzibyte)
Gameplay
Fix song progress display fading in and out to often (#20265 by @peppy)
Fix gameplay leaderboard sometimes not showing up in multiplayer (#20389 by @peppy)
This also changes the scroll animation a bit:
osu.Game.Tests.2022-09-21.at.05.56.23.mp4
Add gameplay leaderboard (#20286 by @peppy)
This is by no means the final product, but is a stepping stone towards where we want to be. It also completes the "stable parity" requirement at least.
"Why is this not a customisable HUD component?"
Because the implementation changes based on context (multiplayer vs solo currently, but may also support playlists at a later point), it makes it hard to add position flexibility. Especially since in multiplayer we want it to always display.
Hides with the rest of the HUD (shift + tab) and contracts during gameplay, like the multiplayer counterpart.
20286.mp4
Smaller changes
Gameplay (osu!)
Fix flashlight shrinking at >100x rather than starting from 100x (#20358 by @o-dasher)
20358.mp4
Fix alternate / single tap mods not always resetting after break (#20346 by @frenzibyte)
Fix touch device difficulty reduction not affecting star rating (#16524 by @stanriders)
This should fix TD scores getting star rating achievements and also makes calculating TD star rating possible. SR is calculated as x^0.8
.
Add "Random" mod setting for angle sharpness (#20370 by @Pasi4K5)
After the recent changes, some people from the community pointed out that the uncomfortable patterns the random mod was generating were the main reason they were using the mod, since it made maps that they thought were boring more engaging to play. This is my attempt to satisfy those players while still keeping the recent changes.
"Angle sharpness" - A higher angle sharpness value means that angles are generally sharper, and vice versa. It does that by adding two offsets to the angle calculation function.
Add new default "argon" skin (#20377 by @peppy)
This is a work in progress. Consider is a preview release. It's not optimised and may have readability issues. Look forward to watching it grow over the coming releases (including implementation in other rulesets too!).
Add "argon" skin judgement bubbles (#20399 by @peppy)
osu.Game.Rulesets.Osu.Tests.2022-09-22.at.08.52.17.mp4
Am aware that the judgements are sometimes hard to see (visible response time is slower than triangles / classic) with the new argon skin's circle glow. I need to move that to the "lighting" layer to improve things, which will come as a follow-up effort.
Fix "note lock" shake not always animating (#20398 by @peppy)
Add argon combo colours (#20402 by @peppy)
I'm 99% sure these are just test colours flyte was using, but they look good so let's go with them. I've added two new colours to increase the default combo colour rotation to 6. The initial ordering still matches, for whatever that's worth.
Add very basic follow point implementation for argon skin (#20403 by @peppy)
This is just something to look better than the glowing mess which triangles fallback was providing. This element hasn't been designed yet, so I'm just filling in with something amicable for the time being.
Changes to animations are definitely required, but that involves refactoring the animations out of the higher level component. For another day.
Add very basic "argon" spinner (#20406 by @frenzibyte)
CleanShot.2022-09-22.at.20.41.35-converted.mp4
Smaller changes
- Fix argon reverse arrow becoming white after switching skins (#20400 by @peppy)
- Add basic "argon" cursor (#20404 by @peppy)
- Just something I made up which fits better than the old default.
Gameplay (osu!catch)
Fixed osu!catch objects spawning outside of playfield (#20368 by @Drison64)
Multiplayer
Fix multiplayer crashes due to incorrect download state (#20366 by @peppy)
Show countdown notification when multiplayer server is restarting (#20342 by @smoogipoo)
20342.mp4
Notifications
Allow dismissing notifications without performing action using middle / right click (#20215 by @peppy)
Add ability to "fling" notifications to dismiss them (#20244 by @peppy)
Fling to left will dismiss, to right will store to overlay (will come later).
osu.Game.Tests.2022-09-10.at.15.31.48.mp4
Add ability to flick notifications to the right to store for later (#20267 by @peppy)
osu.Game.Tests.2022-09-12.at.11.22.04.mp4
Smaller changes
- Fix notification overlay toast tray background absorbing input from behind (#20294 by @Joehuu)
- Fix notification count not always updating when it should (#20339 by @peppy)
- Part two of fixing progress notifications completing off-screen (ie. while the overlay is hidden) not correctly updating the unread count.
- Fix progress notifications no longer blocking cancel on left click (#20383 by @frenzibyte)
Performance
Fix PoolableDrawable
prepare call schedules potentially creating overhead if drawable never updated (ppy/osu-framework#5409 by @peppy)
Could lead to stutters in gameplay.
Reduce overhead of Waveform
resampling (ppy/osu-framework#5414 by @peppy)
Around 50% faster.
Smaller changes
- Fix bindable event binds to
HitObject
directly (#20258 by @peppy) - Remove
EnumerateBaseTypes
overhead inUnbindAllBindables
(ppy/osu-framework#5411 by @peppy) - Fix editor performance drop over time due to lingering nested object references (#20303 by @peppy)
- Preallocate layout members list size to reduce allocations from list resize (ppy/osu-framework#5410 by @peppy)
- Fix memory leak due to missing event unbind (#20359 by @smoogipoo)
- Fix mods potentially keeping reference to runtime gameplay elements (#20375 by @peppy)
Reliability
- Fix potential crash when opening changelog overlay if entry has no URL (#20259 by @peppy)
- Fix potential crash if multiplayer spectator load is aborted early (#20283 by @peppy)
- Fix potential startup failures if sqlite cannot be loaded (#20329 by @peppy)
- Catch any unobserved exceptions during beatmap metadata harvesting (#20337 by @peppy)
- Fix unbind action caching occurring too late (ppy/osu-framework#5418 by @peppy)
- This was causing osu! side failures. It "regressed" with #5411, but was only "working" previously due to the relevant base types being cached elsewhere. So a bit of luck that things have been working until now.
I'm not sure how to write test coverage for this (or if it's required), but I've run osu! side tests and confirmed they now pass (see failure on update attempt).
- Fix editor timeline zoom potentially breaking permanently (#20353 by @Drison64)
- Unsubscribe from tablet driver events on disposal (ppy/osu-framework#5424 by @frenzibyte)
- Fix unsubscription logic not handling null tablet drivers (ppy/osu-framework#5425 by @frenzibyte)
- Add legacy cursor-smoke texture (ppy/osu-resources#214 by @goodtrailer)
Scoring
- Add
ScoreProcessor.ComputeAccuracy()
(#20262 by @smoogipoo)- I will be consuming this in
osu-queue-score-statistics
for upgrading total scores/accuracies.
- I will be consuming this in
Settings
- Simplify skin bindable flow (#20264 by @peppy)
- Now, nothing touches the configuration apart from
OsuGame
, making everything else flow better and avoid weird cyclic set bugs.
- Now, nothing touches the configuration apart from
- Add "keybindings" search term to settings (#20393 by @smoogipoo)
- Every time I try to search for this section I end up writing "keyb" and get no results. This annoys me to no end and I've tried to deal with it for the greater part of 2 years, yet still unsuccessful at remembering that the game expects "bindings" or "key bindings" instead.
Skinning
Fix new-style legacy skins with animated judgements not adding correct transforms (#20260 by @peppy)
20260.mp4
Allow skin transformers to be created for all skins (#20320 by @peppy)
Paving way for multiple default skins in the future (or now?!)
Fix follow point animations in legacy skins not always starting at correct point in time (#20338 by @peppy)
For users with animated follow points (legacy skins) this will fix phantom follow points appearing where they shouldn't (or out of time with the connecting objects).
20338.mp4
Rename default skin to make way for new version (#20354 by @peppy)
Add customisation settings of colour hit error display (#20111 by @mk56-spn)
2022-09-03.16-24-01.mp4
Smaller changes
- Disable alpha component parsing in beatmap / skin colour sections (#20392 by @peppy)
- Fix "argon" skin not supporting user loaded sprites in gameplay (#20401 by @peppy)
Song Select
Add new ways to search for time spans (#19275 by @solstice23)
The following search formats are now possible:
7m27s
1h2m3s
7:27
1:2:3
Show login overlay when attempting to update a beatmap while logged out (#20257 by @peppy)
20257.mp4
Smaller changes
- Fix best rank badge not handling legacy scores properly (#19308 by @frenzibyte)
- Fix song select status prefix matching no longer working (#20292 by @peppy)
Storyboard
Fix world.execute(me)
storyboard animation incorrectness (#20253 by @peppy)
Testing
- Add
TestSceneOsuModRandom
(#20408 by @Pasi4K5)- As suggested in #20370 (comment).
Tooling
- Cancel in progress CI runs when new commits are pushed (#20261 by @peppy)
- Update ReSharper CLI to 2022.2.3 (#20301 by @smoogipoo)
UI
Fix update progress notification icon visual overload (#20254 by @peppy)
osu.Game.Tests.2022-09-12.at.05.59.42.mp4
Make score panel timestamp adjust to 24-hour time setting (#20334 by @Drison64)
20349.mp4
Smaller changes
- Fix beatmap card play button not working with touch inputs when not hovered (#18642 by @Joehuu)
- Fix markdown container not rendering certain text correctly (#20213 by @frenzibyte)
- Fix new hit distribution graph not accounting for size changes (#20248 by @acid-chicken)
- Update localisations (ppy/osu-resources#212 by @peppy)
- Fix dropdown selected visual state not being maintained when
Items
are set afterCurrent
(ppy/osu-framework#5401 by @peppy) - Fixed Leaderboard tooltip not following time format setting (#20349 by @vegguid)
- Fix Progress bar info text overlapping with progress graph (#20321 by @HiddenNode)
- Fix nested storage lookup check not accounting for case insensitive filesystems (ppy/osu-framework#5383 by @peppy)
UX
Reduce occasions when "game is muted" notification shows (#20379 by @peppy)
Reduces the threshold to 1%, and changes clicking the notification to only increase volume level to 50%, rather than 100%.
Add warning message in files
folder to avoid accidental deletion (#20396 by @peppy)
This is a pretty standard practice for applications that have data stored in folders where a user may accidentally determine that the content is unnecessary.
Improve tablet error/warning notifications messaging (#20344 by @frenzibyte)
New Contributors
Full Changelog: 2022.920.0...2022.923.0