github ppy/osu 2022.621.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.621.0). For more information check out the osu! changelog page and dev blog.

Code Quality

  • More clean-up work on realm/beatmap import flow (#18712 by @peppy)
  • More model importer clean-ups (delete BeatmapModelManager) (#18733 by @peppy)
  • Remove RealmArchiveModelManager from hierarchy (#18734 by @peppy)
  • Remove one more RealmArchiveModelImporter Import method (#18776 by @peppy)
  • Remove null default value in ImportSkinTest helper method (#18778 by @bdach)
  • Remove necessity to provide BeatmapDifficultyCache as a function to ScoreManager (#18779 by @peppy)
  • Rename importer PostImport to PresentImport and add proper PostImport (#18780 by @peppy)

Database

  • Fix database migration potentially hard crashing during backup process without informing the user why (#18731 by @peppy)
  • Silence exception and provide more log output when import fails due to empty .osu files (#18777 by @peppy)

Difficulty Calculation

Rework double-tap detection in osu!'s "Speed" evaluator (#18692 by @apollo-dw)

Addresses pp awarded by maps such as this one being far too high.

Desmos link for the maths: https://www.desmos.com/calculator/vr8nzfqo4b

Rankings for this proposal: https://pp.huismetbenen.nl/rankings/players/apollo2

This proposal rebalances the state of doubletappable doubles, punishing them more accurately for how easily cheesable they are. This is done by calculating the time to press the current and next object, as well as comparing the intervals to the 300 hitwindow.

This takes advantage of the fact we can access the next object to work out the "doubletapness" of the current object, can refer to the code / desmos since it pretty much speaks for itself... also switches strain decay to take in StrainTime instead of DeltaTime. Results here appear to be a lot better IMO than the previous iteration on quite a few notable maps with cheesable doubles / 2B.

Editor

Fix new hitobject placements not taking on the existing sample settings (#18754 by @peppy)

Similar to velocity / difficulty points, a user expectation is that volume and sample settings will be transferred to newly placed objects from the most recent one.

Fix adjusting offset via button seeking to timing point's offset unexpectedly (#18762 by @peppy)

This was added with the intention of tracking the offset when already at the start (the most common case when you're using the tap timing wizard), but was also seeking when the user may be much further beyond or before it.

New audio feedback for metronome (#18744 by @nekodex)

Now with a unique tick sound, different for downbeats. Also a nice click when locking into the stopped position.

Smaller changes

  • Cancel previous metronome sound playback on pause (#18752 by @frenzibyte)
    • There is still mistimed sound playback when pausing/resuming rapidly, but that's pending further discussion.
  • Avoid filename issues by using specific names for audio and background files (#18703 by @frenzibyte)
    • To avoid issues with unicode text and what not, background and audio tracks now get automatically renamed to bg.xyz/audio.xyz. This also matches stable editor behaviour (for the audio track at least).
  • Always use beatmap ruleset in editor gameplay test mode (#18771 by @bdach)
  • Fix metronome playing mistimed beat sounds on editor clock resume (#18753 by @frenzibyte)

Input

Fix toolbar music button handling keys while not hovered (#18737 by @frenzibyte)

This was a regression in the last release, causing volume to be adjusted during gameplay when using arrow keys. Sorry about that!

Fix skin editor scene selection buttons not working (#18761 by @frenzibyte)

This was another oops in the last release. All fixed.

Localisation

Multiplayer

  • Block multiplayer operations until beatmap selection completes (#18708 by @smoogipoo)

Platform

Fix crash on android when pressing multiple mouse buttons at once (ppy/osu-framework#5252 by @peppy)

Add mouse input settings for android and iOS (#16464 by @Susko3)

Add ability to handle osu:// scheme links via IPC on desktop (#18786 by @bdach)

Worked until now when the game wasn't open, but this also allows clicking external links while the game is already running.

Note that further association work is reuired to make this work on windows still.

Reliability

  • Add several protections when creating game-global available mods (#18715 by @bdach)
  • Fix unsafe sample playback in GameplaySampleTriggerSource (#18728 by @peppy)
  • Fix Disclaimer screen handling user change events after initial display (#18726 by @peppy)
  • Fix skin editor crash if dragging a selection while exiting (#18747 by @ggliv)

Spectator

Reset spectator speed after the last frame is reached (#18768 by @smoogipoo)

Now if spectator mode is set to playback gameplay at over 1x, it will reset to 1x on catching up to the user's play.

Tooling

Tournament

Improve tournament player JSON storage using lightweight model (#18750 by @frenzibyte)

This is a first step towards improving the overall size of brackets JSON file on larger tournaments, as requested in #18681.

On a tournament with only 8 teams in which each team consists of 3 players, this lowers the overall size of the brackets JSON file from 75.4KB down to 8KB, i.e. 90% off.

Improve tournament beatmap JSON storage using lightweight model (#18751 by @frenzibyte)

On a tournament with one round beatmap and one seeding beatmap, this lowers the overall size from 20KB down to 4KB (~80% off).

UI

Replace flag assets with twemoji-derived ones matching web (ppy/osu-resources#197 by @bdach)

Smaller changes

  • Update flag sizes after switch to twemoji assets (#18720 by @bdach)

UX

Silence important notifications during first-run setup (#18695 by @frenzibyte)

Previously the first run overlay could be rudely dismissed by a notification arriving. Now notifications will be delayed until it finishes.

Fix "see you next time" getting cut off when restarting for update (#18760 by @peppy)

Now the restart-for-update flow follow a more standard game exit sequence. Note that this means a confirmation is shown. This will only show in the future when required (ie. when a download will be interrupted), rather than on all restarts.

Smaller changes

  • Fix mouse cursor not displaying on menu elements while in latency certifier (#18736 by @frenzibyte)

Full Changelog: 2022.615.0...2022.621.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.