2024.906.1
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
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 |
---|---|
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
- Remove unnecessary boxing allocation (ppy/osu-framework#6360 by @smoogipoo)
- Bring back
HasFlagsFast
(ppy/osu-framework#6362 by @peppy)- .NET version performs poorly on debug.
- Update veldrid (ppy/osu-framework#6361 by @peppy)
- Fix tabbable container not checking if its next tab stop is focusable (ppy/osu-framework#6364 by @bdach)
- Add support for retrieving submit/rank date from local metadata cache (#29553 by @bdach)
- Implement native method for
PresentFileExternally
in MacOS (ppy/osu-framework#6365 by @cdwcgt) - Fix renderers can't batch vertices with the same blending parameters in some cases (ppy/osu-framework#6366 by @EVAST9919)
- Implement
FastCircle
component (ppy/osu-framework#6290 by @EVAST9919) - Update main operating systems to bass beta version (ppy/osu-framework#6367 by @peppy)
- Further testing of backwards seeks.
- Fix alloc overhead in hot path for keyboard checks (ppy/osu-framework#6368 by @peppy)
- Update managed-midi to fix disposal issue (ppy/osu-framework#6369 by @peppy)
- Update localisations (ppy/osu-resources#339 by @peppy)
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 |
---|---|---|
Add a replay analysis overlay (#27334 by @Sheppsu)
Smaller changes
- Fix oversight in osu! pause input handling (#29500 by @frenzibyte)
- Fix replay analysis marker depth when rewinding (#29707 by @Sheppsu)
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
- Fix osu!catch fruits not resizing on texture change (#29679 by @smoogipoo)
Gameplay (osu!mania)
Remove mouse input from mania touch controls (#29654 by @smoogipoo)
Smaller changes
- Fix mania combo counter positioning break on centre anchor (#29529 by @frenzibyte)
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.
- 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
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) - 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
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 |
---|---|
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 of0
(#29512 by @peppy) - 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)