github ppy/osu 2022.1117.0

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

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

Audio

Add sound effect for disabled components (ppy/osu-resources#224 by @nekodex)

21097.mp4

Smaller changes

  • Add support for 'disabled' sample variation to HoverClickSounds (#21097 by @nekodex)

Beatmap Listing

  • Fix beatmap cards still potentially showing twice in listing (#21109 by @frenzibyte)

Chat

Receive chat messages in real-time (#20991 by @smoogipoo)

Chat now uses the newer websocket API, allowing more efficient and faster delivery of chat messages. This also paves the path forward towards in-game notifications (that match the experience you get on the website).

20991.mp4

Smaller changes

Code Quality

Comments

Add ability to report comments (#20765 by @Feodor0090)

Editor

Add conversion algorithm for lazer slider curves to work with stable (#20952 by @OliBomby)

This code is largely ported from my Mapping Tools code base. The part about CircularArcProperties is copied from osu!framework and it would require a change to framework to make that thing public to prevent code duplication. Will be used in the future to make lazer beatmaps work better when exported to .osz format.

Fix editor playing too many sounds when user performs a manual seek during playback (#21185 by @peppy)

Add the ability to toggle off hit marker displays in the editor (#21173 by @peppy)

21173.mp4

Add ability to toggle background dim in editor (#20907 by @cdwcgt)

20907.mp4

Smaller changes

  • Fix editor selection behaviour regressions due to new path visualiser optimisation (#21122 by @peppy)
  • Fix editor hard crash when beatmap file specified out-of-range timeline zoom value (#21147 by @peppy)
  • Fix combo colour normalisation setting not applying to editor test play (#21257 by @peppy)

Framework

Gameplay

Fix automated skip not skipping more than once when required (#21093 by @peppy)

Normalise combo colour brightness (#20736 by @smoogipoo)

This aims to resolve long standing issues that people have historically had where you can get blindsighted by a beatmap having very dark combo colours. It's more important with the new "argon" skin which requires a certain amount of contrast to look good and be usable.

20736.mp4

Smaller changes

  • Fix SkinnableSprite lookups broken in lazer-first skins (#21220 by @peppy)

Gameplay (osu!)

Add arc-shaped progress bars to "argon" spinner (#20793 by @frenzibyte)

Second pass on "argon" spinner, mainly including the arc-shaped progress bars on the sides which have been pending framework-side support for the rounded caps.

Fix slider ticks appearing before sliders are done snaking in with Freeze Frame (#21235 by @mk56-spn)

21235.mp4

Smaller changes

  • Fix spinner centre size being updated every frame using transforms (#21095 by @peppy)
    • This led to bad looking animation (and a lot of performance overhead).

Gameplay (osu!taiko)

Fix taiko barlines not rendering correctly (#21165 by @frenzibyte)

First pass osu!taiko "argon" skin (#21153 by @peppy)

21153.mp4

Smaller changes

  • Difficulty Calculation: Basic tl-tapping consideration for stamina (#20558 by @vunyunt)
  • Fix argon and triangles swells incorrectly flashing on every hit (#21243 by @peppy)
  • Add basic osu!taiko "argon" swell visual (#21256 by @peppy)

Performance

Remove all usage of Add/RemoveMemoryPressure (ppy/osu-framework#5506 by @peppy)

Especially in cases like song select, we are churning a lot of GPU memory. This will eventually be fixed, but until then it seems that making the GC aware of this usage is detrimental to performance. In some very non-scientific benchmarks, removing these calls reduced gen 2 GC run counts by around 40-50% while paginating at song select.

Use (high resolution) waitable timers on windows when available (ppy/osu-framework#5501 by @peppy)

Intends to fix the remaining inaccuracy that can be seen when running at frame rates close to the maximum precision provided by Thread.Sleep on windows.

Before (Thread.Sleep):
mpv_2022-11-06_15-01-51

image

After (WaitableTimer):
mpv_2022-11-06_15-02-07

image

You can count the individual frames being run. In both profile runs above, the reported frame rate is 1,000, but in the first multiple frames were being coalesced into single back-to-back executions (which is basically pointless to us).

Don't yield when game can't keep up (ppy/osu-framework#5503 by @peppy)

This might help marginally in cases where the game is not able to keep up with the user's specified frame limiter, by removing the yield overhead (~0.2ms for me, but maybe higher on lower end hardware).

Especially when users have "game mode" enabled, this should be beneficial with no downsides.

Use rounded fragment shader exclusively (ppy/osu-framework#5512 by @Tom94)

Apply pooling support to hit error metres (#21240 by @peppy)

Fixes one of the remaining large sources of drawable allocation churn during gameplay.

Settings

Fix inaccurate tablet area dimensions when applying aspect ratio (#21192 by @Samaoo)

When applying my current aspect ratio 16:9 to my tablet width 165mm, the height will be 92mm, but when you calculate it 165/(16/9)≈92.8 it's closer to 93mm. This fixes that and also moves the calculation into functions because there are multiple occurrences.

Fix default value being wrong for 24 hour time preference (#21164 by @Susko3)

Fix "reset to full area" button not always working correctly (#21255 by @peppy)

Song Select

Maintain selection of common mods when switching rulesets (#20758 by @frenzibyte)

Matches stable, and generally saves the effort of checking out a mod between different rulesets without having to re-select it every time.

20758.mp4

Storyboard

  • Fix sprites not displaying in storyboard if filename extension is missing in script (#21168 by @peppy)
  • Fix some issues with storyboard variables (#21167 by @peppy)
  • Fix incorrect handling of storyboard events with end_time before start_time (#21144 by @peppy)

Testing

Tooling

Tournament

  • Increase the maximum seed range for tournament client (#21092 by @peppy)
  • Fix multiple issues with seeding screen in tournament client (#21154 by @peppy)

UI

Standardise "Visual Settings" components to fix mismatched paddings and labels (#21070 by @peppy)

Add ability to click user profile badges (#21111 by @Joehuu)

Adjust transition effect for main menu backgrounds (#21118 by @peppy)

Reduces the amount of concurrent motion to give a better overall experience.

21118.mp4

Make chat line timestamp adjust to 24-hour time setting (#21145 by @Joehuu)

osu!_55twZe5PE5

Improve song select transition to gameplay (#21112 by @peppy)

Replaces the screen-wide scale with an animation that feels less bad.

21112.mp4

Update settings UI animation to better suit immediacy of sound effects (#21121 by @peppy)

osu.Game.Tests.2022-11-04.at.10.08.29.mp4

Improve triangles particle effect (#21242 by @EVAST9919)

Fixed changing triangle scale may cause big problems

Previously changing the scale was not causing AimCount to recompute, which could cause big problems when changing the scale of already drawn triangles. Example: set scale to something small, so there are thousands of triangles being drawn, then increase the scale. Now we have thousands of big triangles rendered, which causes massive performance drop.

Fixed incorrect number of added triangles

This is was caused by a small overlook which caused half of needed triangles being drawn on first frame which leaded to other half to be added on the second one and looked as a bias in random function.

Improved triangles distribution on initial draw

Smaller changes

  • Fix multiple notifications arriving for imports in edge cases (#21071 by @peppy)
  • Fix preposition for exclusive fullscreen prompt (#21135 by @CenTdemeern1)

UX

Improve clickable area of beatmap card icon buttons (#20743 by @frenzibyte)

CleanShot.2022-10-13.at.15.41.16.mp4

Always display menu cursor when game is not focused (#21163 by @frenzibyte)

Automatically close settings and notification overlays when opening main overlay (#21166 by @peppy)

Change default beatmap listing key binding to Ctrl+B (#21203 by @peppy)

Makes more sense as a default.

Smaller changes

  • Fix parsing of Language when using system default language (#21199 by @Susko3)
  • Fix beatmap card expanded content not blocking clicks from behind (#21226 by @Joehuu)

New Contributors

Full Changelog: 2022.1101.0...2022.1117.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.