Skip to content

2024.906.1

Compare
Choose a tag to compare
@peppy peppy released this 06 Sep 10:57
· 1722 commits to master since this release
04d1338

Code Quality

  • Remove dead row attribute classes (#29531 by @bdach)
  • Remove requirement of base calls to ensure user skin container layouts are retrieved (#29564 by @peppy)
  • Provide API context earlier to api requests in order to fix missing schedules (#29656 by @peppy)

Daily Challenge

Fix mod icons potentially showing incorrectly during intro animation (#29560 by @peppy)

Show intro animation only once per session (#29542 by @frenzibyte)

Smaller changes

  • Fix play count using a different colour than osu-web (#29585 by @424ever)

Editor

Add "polygon" hit circle creation tool (#28538 by @bdach)

Improve performance of drawing editor grids (#29476 by @EVAST9919)

Fix grid/distance snap keyboard bindings being back-to-front (#29528 by @smoogipoo)

Redesign timing table tracking (#29532 by @bdach)

This change removes some behaviours of the timing screen that were (in my view) causing overall jankness, and manifested in actual issues. The general spirit of the change is "don't try to do too much for the user".

So now:

  • On entering the screen, the timing point active at the current instant of the map is selected. This is the only time where the selected point is changed automatically for the user.
  • If there is no control point selected, the table will autoscroll to the latest timing group, unless the user manually scrolled the table before.
  • If the selected control point changes, the table will autoscroll to the newly selected point, regardless of whether the user manually scrolled the table before.
  • A new button is added which permits the user to select the latest timing group. As per the point above, this will autoscroll the user to that group at the same time.

Further timeline usability tweaks (#29545 by @peppy)

Based on general feedback over the last while.

Before After
osu Game Tests 2024-08-21 at 07 47 39 osu Game Tests 2024-08-21 at 07 47 11

Add ability to change slider length by dragging slider tail (#25953 by @OliBomby)

This adds the ability to drag the slider tail by dragging a new half-circle blueprint display. You can also hold shift to change the velocity rather than the duration.

Fix osu!mania hold notes playing a sound at their tail (#29612 by @peppy)

Hide scroll speed changes for rulesets which don't use them (#29448 by @OliBomby)

Allow play/pause with spacebar while placing hitobjects (#29440 by @OliBomby)

Add more ways to seek to sample points (#28737 by @OliBomby)

This adds some new hotkeys (which are customisable from settings):

  • Ctrl-Left/Right to jump between hit objects.
  • Ctrl+Shift-Left/Right to jump between sample settings (and open the edit panel immediately).

Fix kiai display on summary timeline not always displaying correctly (#29667 by @EVAST9919)

Fix path control points losing curve type on save, reload or undo (#29446 by @OliBomby)

Smaller changes

  • Make break periods in bottom timeline transparent (#29445 by @OliBomby)
  • Fix crash on attempting to edit particular beatmaps (#29534 by @bdach)
  • Fix timeline snapping ignoring nearby timing points (#29435 by @OliBomby)
  • Fix incorrect bank set / sample addition logic (#29533 by @bdach)
  • Improve performance by using optimised circle rendering in demanding places (#29660 by @EVAST9919)
  • Fix incorrect osu!catch snap display when previous object is a juice stream (#29681 by @peppy)

Framework

Fix Android safe areas no longer working (ppy/osu-framework#6363 by @hwsmm)

Smaller changes

Gameplay

Change "hold for menu" button to only show for touchscreen users by default (#29508 by @peppy)

This also increases the visibility on touch platforms (it used to be positional based, which doesn't make much sense). If you still want this to show you can use a new setting to set it to always display.

Fix legacy key counter position not matching stable (#29536 by @frenzibyte)

Fix resume overlay appearing behind HUD/skip overlays (#29540 by @frenzibyte)

Add star fountains/bursts when entering "kiai" mode (#29556 by @frenzibyte)

CleanShot.2024-08-21.at.17.32.30.mp4

Add shadow around break overlay to ensure it's visible against bright backgrounds (#29615 by @peppy)

Add beat-synced animation to break overlay (#29616 by @peppy)

Smaller changes

  • Fix legacy combo counter bounce animation not always playing (#29474 by @peppy)
  • Fix beatmap offset control not working correctly when calibrating from quitting gameplay (#29702 by @peppy)

Gameplay (osu!)

Apply current cursor scale to cursor trail (#29515 by @TheOmyNomy)

Current Stable PR
current-trail stable-trail pull-request-trail

Add a replay analysis overlay (#27334 by @Sheppsu)

Smaller changes

Gameplay (osu!catch)

Fix catcher trail during dash/hyperdash not being consistently spaced (#29503 by @peppy)

Fix autoplay generator not considering circle size (#29646 by @smoogipoo)

Smaller changes

Gameplay (osu!mania)

Remove mouse input from mania touch controls (#29654 by @smoogipoo)

Smaller changes

Multiplayer

Remove extra background box in multiplayer screens (#29467 by @EVAST9919)

Improves render performance for lower end hardware.

Smaller changes

  • Fix event leak in Multiplayer implementation (#29653 by @peppy)
  • Add automatic downloading support when spectating a multiplayer room (#29680 by @peppy)
    • See inline commentary for commentary.

Next Release

  • Update framework (#29690 by @peppy)
    • Pulls in beta bass libraries (macOS / windows) and localisation updates.

Online

  • Trigger request failure on receiving a null response for a typed APIRequest (#29695 by @peppy)
    • RFC. Seems like about what we'd want. Any kind of issue which results in deserialising not being feasible should be considered a failure for a typed APIRequest as far as I'm concerned.

Overlay Mod Select

  • Mod customization header/panel changes (#29626 by @Fabep)
    • Removed on click event for the mod customization header, As of #29618 .

Renamed ModCustomisationPanelState, since only mods set the "old" Expanded panel state.

Further suggestions that could be applied to this area:

  • Refactor mods that use the ExpandedByMod state to set parameters directly, for example copy attributes from current map when you enable difficulty adjustments.
  • Keep colourprovider.light4 on the header when the mod customization panel is expanded. (I attempted to add this, but I am too stupid to understand how to remove it when the hover is lost & the panel is collapsed). πŸ˜ƒ

Performance

  • Fix per-frame allocations in BeatmapCarousel (#29688 by @peppy)
    • | Before | After |
      | :---: | :---: |
      | JetBrains Rider 2024-09-04 at 04 54 23 | JetBrains Rider 2024-09-04 at 05 31 06 |
  • Fix high performance session potentially getting stuck after multiplayer spectator (#29701 by @peppy)
    • Thanks to @smoogipoo for the call on this. All makes sense now.

Can easily see this going wrong by searching runtime.log for "Ending high performance session" and noticing it never occurs after multiplayer spectator.

Platform

Migrate osu!'s updater to Velopack (#28743 by @smallketchup82)

TODO: big explanation.

Smaller changes

  • Remove "leftover files" notification when migration partly fails (#29562 by @peppy)

Results

Add collection and favourite buttons to results screen (#28991 by @Layendan)

2024-07-21.16-55-55.mp4

Skin Editor

  • Fix components in sidebar not reloading when changing skins (#29504 by @peppy)
  • Fix some older lazer skins failing to load properly (#29577 by @peppy)

Song Select

Allow copying beatmap link in song select carousel context menu (#29537 by @normalid-awa)

Improve mod icon contrast and mod acronym readability (#29604 by @cl8n)

migrating some styles from ModSwitchTiny that imo improve regular mod icons as well.

Before After
image image

Adjust played song select filter to accept a boolean value (#29644 by @smoogipoo)

Currently, the played filter is an acronym for lastplayed. This PR changes it to be a boolean value.

played=0 / played=false -> beatmap has never been played.
played=1 / played=true -> beatmap has been played sometime.

Improve performance large beatmap databases (#29639 by @peppy)

comparison.mp4

This is a pretty huge change for users with a lot of beatmaps loaded. By restructuring how beatmaps are cached to be more global, loading song select is now much faster. As a result, we no longer need to preload song select at the main menu (did you know this was happening every time you reach the main menu?!).

This will improve the load time of song select when, especially when opening it from multiplayer screens. It will also generally improve game performance and reduce stutters during song select's initial display transition.

Smaller changes

  • Fix beatmap carousel panels not blocking hover of other panels in song select (#29485 by @Joehuu)
  • Keep mod customisation panel open when dragging outside (#29541 by @frenzibyte)
  • Add 'yes'/'no' acronyms to the played= filter (#29711 by @smoogipoo)
    • 0/false/1/true all feel a bit programmatic for something this user facing.

UI

  • Don't duck music when effect volume is set to zero (#29502 by @peppy)
  • Fix toolbar PP change display sometimes showing +0 instead of 0 (#29512 by @peppy)
    • | Before | After |
      | :---: | :---: |
      | osu Game Tests 2024-08-19 at 11 52 22 | osu Game Tests 2024-08-19 at 11 52 03 |
  • Allow seeking via music controller overlay on more screens (#29576 by @peppy)
  • Update localisations (ppy/osu-resources#338 by @peppy)
  • Hide pinned comment replies initially to match web (#29637 by @Joehuu)
  • Implement "form" text box control (#29693 by @bdach)
    • Future use
  • Silence beatmap retrieval failures from results screen favourite button (#29710 by @bdach)