github ppy/osu 2022.612.0

latest releases: 2024.1104.0, 2024.1023.0, 2024.1018.0...
2 years ago

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

Code Quality

  • Switch SampleStore ConcurrentDictionary usage to be a normal Dictionary (ppy/osu-framework#5233 by @peppy)
  • Add blacklisted auto-import rules which conflict with osu!/osu!framework naming (#18601 by @peppy)
  • Refactor ChatLine and fix DrawableChannel flow padding (#18610 by @jai-x)
  • Enable nullable types in ChatLine and update timestamp colours to match design (#18622 by @jai-x)

Editor

Fix osu!taiko hits missing fill colour occasionally after rewinding (#18604 by @smoogipoo)

Framework

Gameplay

  • Avoid beatmap load timeouts triggering when a user loads a beatmap (#18629 by @smoogipoo)
    • The timeout is now only applied for background tasks like difficulty calculation. That said, at the point this timeout would have been reached (10 seconds) the game is already doomed, so we need to add some better safeties in place around this flow.

Gameplay (osu!)

Fix spinner bonus tick sample playing only from left channel (#18595 by @frenzibyte)

Gameplay (osu!mania)

  • Calculate true combo value in ManiaDifficultyCalculator (#18533 by @smoogipoo)

Multiplayer

Support mod/ruleset combinations in multiplayer gameplay leaderboard (#18496 by @smoogipoo)

Until now, the leaderboard didn't correctly show scores for mod combinations that differed from the local player. Now it will.

Online

Fix combo starting at 0 when spectating (#18584 by @smoogipoo)

Update Discord RPC ranking value depending on the selected ruleset (#18498 by @tornac1234)

Update spectator/multiplayer endpoint in line with new deployment (#18648 by @peppy)

We are now deploying the server components in a way which ensures old multiplayer rooms and spectator sessions aren't interrupted. Also, this should fix intermittent disconnections during multiplayer games (which were caused by cloudflare).

Smaller changes

  • Fix message notifier not handling unresolved PM channels (#18612 by @frenzibyte)
  • Use already-provided own profile statistics in difficulty recommender (#18623 by @LittleEndu)

Performance

Rename "unlimited" to "basically unlimited" and add sane frame limiter (ppy/osu-framework#5235 by @peppy)

This wasn't helping anyone, especially in lazer. Significant research and testing has been done in order to allow us to provide the most reliable and low latency experience, and this is one of the steps towards that end goal.

You can read more over at this wiki page.

Fix performance overhead of large collections (#18619 by @peppy)

Users with larger collections may have seen various components in the game unusable for seconds or minutes at startup. This fixes collections potentially taking minutes to load (will now take <1 second).

Smaller changes

  • Fix song select carousel invalidating every frame during global overlay dimming (#18602 by @peppy)

Platform

Fix audio stuttering on iOS (ppy/osu-framework#5238 by @frenzibyte)

Smaller changes

Reliability

  • Fix potential null reference in skin editor if target screen is null (during exit) (#18586 by @peppy)
  • Ensure ChannelManager has access to API from point of construction (#18620 by @peppy)

Settings

Add latency certifier system (#18606 by @peppy)

To help appease concerns over removing the "unlimited" frame limiter, meet the latency certifier. A (hopefully) fun mini-game that can help you better understand and address any concerns you have over having your gameplay experience affected by a lower frame limiter.

2022-06-12.14-03-58.mp4

Play until you reach your limit of perception, then drop down a level and prove you can see or feel the difference. You now know what kind of frame limiter is required for you personally.

Looking forward to seeing results from the community in this. For anyone claiming over level 7 certification (480 Hz), please help us out by providing a camera recording of you playing through, and explain how you are able to see the difference, as this will help us better understand extreme needs if they exist.

Add button to delete all beatmap videos (#18320 by @Sublimelime)

Pretty straight-forward. Note that this is is a one-direction operation. Once you delete them they are gone from disk (after you restart osu!).

Add button to delete the current skin (#18609 by @ALANVF)

More skin management will come in the future, but this is a first step.

Smaller changes

  • Fix latency certifier potentially reporting infinite mouse polling rate (#18644 by @frenzibyte)
  • Add multiple display modes (including circle gameplay) to latency certification (#18635 by @peppy)

Skin Editor

Fix skin editor not accounting for aspect ratios in base-game sizing logic (#18587 by @peppy)

The skin editor's preview window will now scale appropriately with screen aspect ratio changes.

osu.2022-06-06.at.09.31.55.mp4

Skinning

  • Change skin.ini boolean parsing to match osu!stable (#18589 by @peppy)
    • Fixes some very edge cases where users were using "2" in a boolean field.

Song Select

Add placeholder when no results are visible at song select (#18603 by @peppy)

This is a first implementation of this placeholder. Design is obviously temporary (as song select is going to be redesigned I don't feel it deserves too much immediate attention). Functionality is only part of what I'd see this evolving to, but trying to add everything in one goes seems like a bad idea.

osu.2022-06-07.at.08.23.14.mp4

Testing

UI

  • Update chat date separator to use new design throughout (#18567 by @jai-x)
  • Truncate difficulty name in score panel (#18599 by @hlysine)
    • image
  • Always show mod selector on beatmap info leaderboards regardless of supporter (#18627 by @Joehuu)

UX

  • Allow using arrow keys to navigate volume controls when controls are already visible (#18554 by @peppy)
  • Fix first run overlay showing the global toolbar unexpectedly (#18618 by @peppy)

New Contributors

Full Changelog: 2022.605.1...2022.612.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.