github ppy/osu 2024.718.0

latest releases: 2024.911.0, 2024.906.2, 2024.906.1...
2 months ago

Audio

New samples for ruleset selector (ppy/osu-resources#327 by @nekodex)

A refresh of the ruleset selector samples.

Add a 'ducking' effect to the currently playing track when changing ruleset (#28547 by @nekodex)

Smaller changes

  • Fix low pass filter sometimes not applied in dialog overlays (#28652 by @smoogipoo)
  • Refreshed some UI samples (ppy/osu-resources#329 by @nekodex)
  • UI SFX Tweaks/Updates (#28832 by @nekodex)
      • Tweaked 'tick' sample looping behaviour of PopupDialogDangerousButton to better suit new sample
  • Fixes 'tick' sample playing when dialog first appears (regression from #28652)
  • Play different samples for scroll-to-top vs scroll-to-previous

Code Quality

Editor

Fix editor performance dropping over time when hit markers are enabled (#28592 by @peppy)

Fix beatmap exports breaking in stable (#28609 by @smoogipoo)

Fix editor performance regression with hitmarkers active (#28621 by @bdach)

Fix editor test play not marking hit objects before its start time as judged. (#26465 by @LeNitrous)

Add hexagonal and circular grid options (#26310 by @OliBomby)

Allow to jump to a specific timestamp via bottom bar in editor (#28511 by @bdach)

Apparently this is a stable feature and is helpful for modding / dealing with timestamps outside of web.

Reimplement missing gameplay test hotkeys from stable (#28705 by @bdach)

  • Tab to toggle autoplay
  • Ctrl-P to toggle pause
  • F1 for quick exit at initial position
  • F2 for exit at current position

Change editor speed adjustment back to adjusting tempo (#28521 by @bdach)

The important distinction here is that to prevent misuse when timing, the control will revert to 1.0x speed and disable when moving to timing screen, with a tooltip explaining why.

Always inherit the volume from the previous hit object on placement (#28728 by @OliBomby)

Before this PR the next hit object you place would only inherit volume from the previous hit object if you have the 'Auto' bank selected. If you had any other bank selected, the volume would default to 100. Now I made it always inherit volume from the previous hit object. I think this better matches the user's expectation and mimics stable behaviour.

Allow inheriting addition bank from previous hitobject when using auto bank assignment (#28727 by @OliBomby)

Placing hit objects with additions would always result in a normal addition bank when using the 'Auto' bank assignment mode. Now it will inherit the addition bank from the previous hit object if it has additions, or inherit from the normal bank if the previous hit object has no additions.

Fix node samples always having default samples on placement (#28726 by @OliBomby)

Placing a slider with a specific bank, hitsound, or volume would only affect the body samples while the node samples would be the default normal bank with 100 volume. Node samples should be identical to the hit object's samples when placing.

Automatically select all text when focusing sample bank/volume textboxes in editor (and number boxes in general) (#28805 by @frenzibyte)

Add ability to edit beatmap content externally (#28800 by @peppy)

Adjust editor timelines to address most frequent UI complaints (#28788 by @bdach)

The main user complaints in question are:

  • Slider velocity display covers tick lines
  • Bottom timeline is too large for the value it provides
  • Bottom timeline dots are not readable
  • Bottom timeline colours aren't what are expected

Add tooltips to summary timeline display (#28831 by @peppy)

Knowing what anything means on this timeline as a new user is quite some trial-and-error effort. This should improve things a bit.

osu.2024-07-12.at.07.38.43.mp4

Smaller changes

  • Fix break generation not accounting for concurrent hitobjects correctly (#28630 by @peppy)
  • Improve performance of editor tables (#28613 by @bdach)
  • Fix editor not loading arbitrary beat divisors (#28638 by @OliBomby)
  • Show distance in pixels to previous/next object in osu! hitobject inspector (#28640 by @bdach)
  • Fix summary timeline not correctly updating after changes to breaks (#28686 by @peppy)
  • Include node samples when changing additions and banks (#28711 by @bdach)
  • Fix slider tail volume not saving (#28619 by @bdach)
  • Add option to remove breaks via right click (#28707 by @bdach)
  • Extend slider selection box bounds to contain all control points inside (#28522 by @bdach)
    • Previously, the selection box was only guaranteed to contain the actual body of the slider itself, the control point nodes were allowed to exit it. This lead to a lot of weird interactions with the selection box controls (rotation/drag handles, also the buttons under/over it) as the slider anchors could overlap with them.
before after
osu_2024-06-18_10-31-55 osu_2024-06-18_10-32-30

Recent feedback has indicated that users deem having to right-click-and-context-menu to change slider control point type too cumbersome. While the original stable of shift-click can't currently work well, here's an alternative proposal.

  • During slider placement, press Tab and Shift-Tab to change the type of the first control point in the currently-placed segment.
  • During slider placement, press S to start a new segment of the path. While this was previously possible via double-clicking, I added this because I realised I didn't know how a user would do this before I looked into source, and the double-click flow seemed really janky.
  • After the slider has been placed, select a single anchor and press Tab and Shift-Tab to change the type of its anchor. In contrast to slider placement, if selecting a non-first control point, inherit is an available option when cycling.
  • Additionally, the following bindings are available for using specific curve types:
    Alt-1 is linear
    Alt-2 is bezier
    Alt-3 is perfect curve
    Alt-4 is B-spline
    Alt-5 is inherited (only applicable in selection mode)

The bindings are not rebindable because I would have to put an osu!-specific editor binding in the main project which feels wrong.

  • Fix editor not updating ruleset when switching difficulty (#28738 by @frenzibyte)
  • Fix incorrect ternary state computation for bank toggles (#28746 by @bdach)
  • Fix editor player crashing with UR counter present in skin (#28767 by @bdach)
  • Fix editor menus overflowing off-screen (#28765 by @bdach)
  • Fix editor playback control not removing correct adjustment (#28770 by @bdach)
  • Fix CurrentTimeAccurate being inaccurate (#28772 by @OliBomby)
  • Fix composer disappearing when undoing change to control points (#28776 by @bdach)
  • Simplify realm model tracking in BeatmapCarousel (and fix hard delete handling) (#28769 by @peppy)
  • Adjust editor UI opacity tweens to be less "flashy" (#28787 by @peppy)
  • Improve performance of automatic break regeneration (#28801 by @bdach)
  • Remove setup screen controls that do nothing useful (#28806 by @bdach)
  • Match osu!mania editor playfield time range with timeline zoom (#28809 by @bdach)
  • Fix editor UI transparency being incorrectly opaque when hovering slider control points (#28821 by @peppy)
  • Fix editor toolboxes being incorrectly chopped (#28874 by @peppy)
    • Fixes this weirdness, which was only made visible by the recent opacity changes:

  • Fix summary timeline timing points being incorrectly positioned (#28883 by @peppy)

Framework & Reliability

Add virtualised list container (ppy/osu-framework#6312 by @bdach)

Game-side, we have a few lists/tables which perform dreadfully when stressed by a large number of rows/columns. Two of them reside in the editor, namely: the timing table and the verify issue list table. This aims to improve those scenarios.

Smaller changes

Gameplay

Fix incorrect skin fallback order when beatmap skin is present (#28739 by @peppy)

Fix breaks not showing unless already ordered in the beatmap file (#28771 by @frenzibyte)

Smaller changes

  • Prevent multiple invocations of failure procedure (#28602 by @smoogipoo)
  • Change "playfield" skin layer to respect shifting playfield border in osu! ruleset (#28657 by @peppy)
    • As touched on in #28579. I personally think this makes sense.
Before After
osu! 2024-06-28 at 09 12 50 osu! 2024-06-28 at 09 11 50
  • Fix break overlay progress bar becoming a pancake near end of break (#28803 by @peppy)
    • osu! 2024-07-10 at 10 27 52
  • Remove key arrow handling in VolumeOverlay to avoid conflicting with ruleset key bindings (i.e. osu!catch) (#28823 by @frenzibyte)
    • Must use alt-left / alt-right now.
  • Fix storyboard sprites leaving gaps on edges when "beatmap skins" is enabled (#28891 by @frenzibyte)

Gameplay (osu!)

Gameplay (osu!mania)

Add "No Release" mod (#28660 by @mcendu)

This new mod relaxes tail judgements – you no longer need to release accurately.

Smaller changes

Online

Fix users getting logged out unexpectedly (ppy/osu-server-spectator#238 by @bdach)

Smaller changes

  • Send client-generated session GUID for identification purposes (#28892 by @bdach)

Playlists

Improve results displays in daily challenge screen (#28740 by @bdach)

osu_2024-07-04_13-28-53

Smaller changes

  • Implement carousel container for daily challenge screen (#28608 by @bdach)
  • Add client/server models for allowing clients to receive realtime playlist updates (#28636 by @bdach)
  • Allow clients to receive realtime updates for a given playlist (ppy/osu-server-spectator#237 by @bdach)
    • This pull is intended to be the thing powering recently-added game-side components for daily challenge.
  • Use room watching functionality to receive realtime daily challenge updates (#28659 by @bdach)

Song Select

Adjust beatmap carousel's spacing to remove dead-space (#28601 by @peppy)

I think this feels better overall, and would like to apply the change before other design changes to the carousel.

Before After
osu! 2024-06-26 at 02 58 23 osu! 2024-06-26 at 02 53 34

I also adjusted the fade out of panels as quickly switching between beatmap sets had a lot of visual noise from difficulty panels fading from previous selections.

Change mod multiplier colours to match everywhere (#28620 by @normalid-awa)

Before After
ScreenShot_2024-06-26_21-37-25 ScreenShot_2024-06-26_21-37-06
ScreenShot_2024-06-26_21-35-39 ScreenShot_2024-06-26_21-36-43

Show mod preset description text in tooltip popup (#28650 by @peppy)

Before After
osu! 2024-06-28 at 04 28 18 osu! 2024-06-28 at 04 27 09

This also synchronises the colours (and padding) of the mod and mod preset tooltips.

Detach mod customisation area from the footer and replace with an overlay panel display (#28553 by @frenzibyte)

Smaller changes

  • Ensure carousel panel depth is consistent based on vertical position (#28615 by @peppy)
  • Fix deleted beatmap sets potentially reappearing due to pending update requests (#28789 by @peppy)

User Interface

Fix dropdowns no longer handling Enter key to select items (#28632 by @frenzibyte)

Update beatmap listing filter overlay to better imply selected filters (#28653 by @peppy)

Add slight animation when revert to default button is displayed (#28763 by @peppy)

Smaller changes

  • Change display of "expanded" chevrons in many UI components to use scale instead of rotation (#28762 by @frenzibyte)
  • Add caret transition to beatmap listing sort tab items (#28786 by @Joehuu)
  • Fix preview track persisting to play after entering multi/playlists gameplay (#28796 by @Joehuu)
  • Add implementation for ScreenFooter to house footer content of sheared overlays (#28682 by @frenzibyte)
  • Fix beatmap card progress bar becoming pancake when starting (#28802 by @peppy)
  • Fix confirm exit dialog overflowing from too many ongoing operations (#28807 by @frenzibyte)
  • Fix confirm exit dialog potentially showing incorrect number of ongoing operations (#28808 by @frenzibyte)
  • Replace local footer in existing sheared overlays (mod select & first-run setup) with ScreenFooter (#28683 by @frenzibyte)
  • Update localisations (ppy/osu-resources#330 by @peppy)
  • Exclude protected beatmaps from consideration in several places (#28890 by @bdach)

New Contributors

Full Changelog: 2024.625.2...2024.718.0

Don't miss a new osu release

NewReleases is sending notifications on new releases.