Skip to content

2023.716.0

Compare
Choose a tag to compare
@peppy peppy released this 16 Jul 10:35
· 8830 commits to master since this release
50e6f0a

Audio

Add new notification sounds (#24145 by @nekodex)

Beep boop, new notification sounds.

The basic notification and error notification have been replaced with less ear-grating versions. This also adds distinct sounds for progress notifications, cancelling notifications, and chat highlight notifications.

Smaller changes

Code Quality

Database

Reattach any orphaned scores when a beatmap is imported (#24081 by @Cootz)

This means if you delete a beatmap then re-import it at a later point, your scores will automatically show up.

Smaller changes

  • Fix delete difficulty flow not actually deleting the difficulty from realm (#24067 by @bdach)
  • Fix incorrect realm copy logic when a beatmap becomes detached from its set (#24060 by @peppy)
  • Bring realm library up-to-date (#24135 by @peppy)
  • Ensure scores always have the correct linked BeatmapInfo (#24114 by @peppy)

Editor

Add support for Ctrl + < / > to rotate selection in editor (#24059 by @peppy)

I've also added a visual effect when hotkeys are used to trigger the buttons for better visibility.

osu.Game.Tests.2023-06-27.at.08.03.30.mp4

Fix pressing Ctrl-C in composer not copying timestamp to system clipboard with empty selection (#24171 by @bdach)

Add beatmap drain time check (#24175 by @NiceAesth)

image

Fix slider blueprint placement not ending when clicking outside the playfield (#24181 by @peppy)

Improve performance when saving a beatmap with a large beatmap database (#24210 by @OliBomby)

Smaller changes

  • Fix undo not working when flipping selection (#24070 by @peppy)
  • Fix edge cases where selection buttons go outside playfield bounds (#24099 by @bdach)

Framework

Bump OpenTabletDriver version to 0.6.1.0 (ppy/osu-framework#5859 by @X9VoiD)

Includes support for many new tablets, and improved support for existing tablets.

Add support for alternative clipboard keys (ctrl-insert / shift-delete / shift-insert) (ppy/osu-framework#5870 by @peppy)

Generally considered windows first, but also seems to be supported on linux so let's just make them global.

Smaller changes

Gameplay

Allow notifications while the game is paused (or in break time) (#23972 by @peppy)

Add hotkeys to save / export replays (#23967 by @peppy)

Defaults to F1 to save and watch, F2 to export to a file in a similar way to osu!stable.

Add "Argon" skin key counter design (#23926 by @ItsShamed)

As with all components, this can be mixed-and-matched with other skins.

Remember state of replay settings visibility and allow key customisation (#24129 by @peppy)

Ctrl+H could already be used to hide the replay settings overlay, but you'd have to reapply it each time. Now the state is persisted, exposed in settings, and the key is customisable should you ever want to change it.

Add support for skinnable "retry" sound (#24134 by @peppy)

Fix incorrect slider stacking on very old beatmaps (#24188 by @peppy)

The stable code has had a bug in this logic forever. So we reimplemented the bug. That's how it be.

Allow autoplay to fail (#24197 by @peppy)

Feels more correct. Original logic to stopping fails was intended for user replays where the original score was not a failure, but in the case of autoplay, we should respect failures as it is an.. "actual" fail.

Smaller changes

  • Adjust GameplaySampleTriggerSource to only switch samples when close enough to the next hit object (#23976 by @peppy)
  • Add links to nested objects' lifetime entries to HitObjectLifetimeEntry (#24118 by @bdach)
  • Fix fallback for Judged to be more correct (#24121 by @peppy)
  • Fix GameplaySampleTriggerSource not handling rewinds correctly (#24142 by @peppy)
  • Fix GenerateTicks being lost during osu! beatmap conversion process (#24165 by @bdach)

Gameplay (osu!catch)

Fix combo counter on legacy skins flipping when "Floating Fruits" mod is active (#23999 by @peppy)

Change "floating fruits" mod to only apply adjustments to the playfield (#24009 by @peppy)

Avoids things like touch screen inputs also being flipped.

Gameplay (osu!mania)

Fix 1 million score being unachievable on some mania beatmaps (#23917 by @bdach)

Due to complicate ordering stuff and new scoring changes.

Gameplay (osu!taiko)

Implement new argon osu!taiko hitsounds (#24119 by @peppy)

Second attempt, much more contained than last time.

Quoting @nekodex:

This PR aims to enhance Taiko hitsounding by adding more variety to in-game sample playback, without diverging too > much from the established or being too distracting. This is achieved through a few different methods, listed roughly > in increasing order of noticability:

  • Adding (subtle) left/right panning depending on which side the player hits
  • Support different hit/rim samples depending on hitobject volume (by default the thresholds are: 0-59 soft, 60-89 > medium, 90+ hard, but I envision these being changable by mappers). Similar idea to banks, but with less > distinctiveness between each. The goal was to (crudely) simulate how the timbre of real drums change as you hit them harder, allowing for quieter sounding hits during softer sections whilst still being able to belt it out during loud sections.
  • Unique samples for strong hits and strong rim hits - I believe 'stable' osu! layered hitfinish on top of strong hits to do something similar, but this PR replaces that layering (for Argon) and handles the strong playback at input time so players can mash it for fun. This also fixes the issue with strong hits being too loud (due to identical sample being played twice) by cancelling playback of the first sample when a double-hit is detected.
  • Added a 'flourish' sample to strong rim hits. By default these get added automatically to beatmaps (in reverse, to bias towards the end of combos), leaving at least 2s between each. I envision mappers will be able to add these in manually eventually

Legacy skins should still sound/behave as they did before, apart from balance changes.

Fix osu!taiko swells sometimes eating of upcoming hit objects (#24196 by @peppy)

Fix taiko maps sporadically not completing with Hidden mod active (#24233 by @chayleaf)

Smaller changes

  • Fix taiko hit overlay animation timing not accounting for timing section start time (#24120 by @peppy)

Localisation

Multiplayer

Fix "goto beatmap" buttons not working while in a multiplayer room (#23974 by @peppy)

Broke recently. This time around, it supports all scenarios, including the one requested here

  • If you are host, and at the match setup screen, it will update the beatmap to open the room with.
  • If you are host and there's only one item in the playlist, it will open song select to edit that item.
  • If you are host and there's more than one item, or if you are a player and the room supports it, it will open song select to add a new item.

Fix skip not always triggering in multiplayer (#24053 by @bdach)

Add handling of "unknown" beatmap availability in multiplayer flow (#24071 by @peppy)

Until now, the server was not resetting beatmap availability when the current beatmap changes. The clients would be left to update their state at their own accord. This was roughly okay, hinging on the fact that the client would not allow a user to enter the ready state unless they have the beatmap available (and the server was resetting ready states on beatmap change), but as we are now going to allow idle players to participate in gameplay, this needs to change.

Performance

Ensure triple buffer never uses the same buffer twice in a row (ppy/osu-framework#5853 by @peppy)

A safer way of implementing the draw node triple buffer. It ensures that the last read buffer will never be written to. This may be helpful in scenarios where an external resource (ie. the GPU) is still interacting with the last read object's content.

Reduce VBO buffer count to 2 (ppy/osu-framework#5896 by @peppy)

Reduces overall GPU memory overhead further towards sanity.

Disable front-to-back pass by default on all platforms (ppy/osu-framework#5905 by @peppy)

When it works well, it works very well (ie. in isolated tests) but it's very rare for performance improvements to be seen as a result of front-to-back being enabled.

I've chosen to leave it in the debug configuration manager so we have the option of toggling it on to test localised cases in the future.

Avoid initialising textures when unnecessary (ppy/osu-framework#5901 by @peppy)

This has insane performance effects across the whole game. Basically all my stutters are gone, including song select and player loading transition. These stutters were caused from buffered containers changing size and triggering this upload every frame.

Smaller changes

Platform

Fix window rarely getting wrong size after switching window mode (ppy/osu-framework#5880 by @Susko3)

Improve DPI support on windows (ppy/osu-framework#5877 by @Susko3)

Improve Clipboard support on android (ppy/osu-framework#5919 by @Susko3)

Smaller changes

Reliability

Results

Adjust results screen transition tweens to feel better (#24152 by @peppy)

The background no longer dims as much. This was a complaint as users want to be able to recognise the background when taking a screenshot. It will play better once I update the rest of the results statistics items to have their own backgrounds.

Before:

osu.2023-07-07.at.08.39.10.mp4

After:

osu.2023-07-07.at.08.37.18.mp4

Touch up various results screen component's metrics (#24204 by @peppy)

Baby steps.

Before After
osu Game Tests 2023-07-13 at 10 03 54 osu Game Tests 2021-09 at 10 02 22

Smaller changes

  • Fix timing distribution graph sometimes not displaying correctly (#24191 by @peppy)
  • Make results / statistics visual testing easier with better data population (#24203 by @peppy)
  • Fix some minor issues with results screen (#24206 by @peppy)

Scoring

Convert osu!stable imported scores to new standardised score algorithm (#24072 by @smoogipoo)

This will run in the background and is the final step to once again bring all lazer local score in line with each other, including those that were set on stable.

Make lazer aware of scores set on osu!stable with "ScoreV2" mod (#24169 by @bdach)

Settings

  • Update design of "revert to default" button (#24199 by @peppy)
    • I keep getting feedback that the old design looked like anything but a button to revert defaults. Including people clicking it expecting opposite behaviour.

This is intended to be a temporary design until we get the full new UI components online (where this is moved to the right-hand-side).

before after
osu! 2023-07-13 at 05 32 10 osu! 2023-07-13 at 05 29 24

Skin Editor

Disable beatmap skinning support when entering the skin editor (#23975 by @peppy)

This avoids user skins getting polluted with beatmap specific changes.

Song Select

Add exact match support for song select searches (#24045 by @peppy)

You can now search for "exact matches" of phrases.

Add "title=" search support at song select (#24057 by @peppy)

Add support for matching full terms at song select using suffixed ! (#24058 by @peppy)

You can now search for "full exact matches"!.

Given the following beatmap artists:

  • artist
  • The artist name
  • The artistic

You now have three methods of searching:

  • artist will match all three (term can appear anywhere, even inside a word)
  • "artist" will match the first two (term must be isolated in a phrase, not inside a word)
  • "artist"! will only match the first (full term must match)

The ! suffix is non-standard, but feels like it will work well and also be easy for users to remember. It also has the advantage that you can add it without moving the cursor backwards in the string (which... is not currently possible at song select).

Works with artist="test"! style searches too.

Increase the minimum size of the scroll bar (#24097 by @peppy)

Allows easier targeting when there is a lot of content in the scroll view

Remove beatmap info wedge rotation animation (#24137 by @peppy)

It looked jank and also causes performance overheads (since fixes). But mostly because it looked jank.

Allow saving changes to mod presets using enter key (#24202 by @peppy)

Also removes hiding of the mod overlay when no search is entered. This felt a bit weird in hindsight.

Tournament

Tint username of team members in tournament chat according to the team colour (#23890 by @cdwcgt)

Use beatmap cache to populate beatmap information in tournament client (#24037 by @cdwcgt)

Can greatly speed up initial population when the number of beatmap that should be requested is small and the team count is large.

Smaller changes

  • Fix tournament chat potentially crashing due to null current match (#24033 by @cdwcgt)
  • Fix tournament bracket parsing regression (#24139 by @peppy)

UI

Only require exit confirmation when there are background operations (#23987 by @peppy)

This reduces the amount of unnecessary prompting when exiting the game under most scenarios, unless there'a an import or download happening in the background.

  • When exiting to install an update, the user is not prompted for confirmation unless there are ongoing operations
  • When performing an operation that requires a restart (ie. changing rendrer) on a platform that supports it (ie. windows) the game will no longer confirm and will automatically restart as one would expect.
  • When there are ongoing operations, a dangerous confirmation is required, and a list of the ongoing operations is shown in the confirmation dialog.
osu.2023-06-23.at.06.31.13.mp4

Update login overlay appearance to match new designs (#23331 by @letsgoawaydev)

Before After
Before After

Remove the ability to cancel all "in progress" tasks (#24144 by @peppy)

I don't think anyone would want to do this. It could only be a misclick. For ongoing operations, a user should have to cancel each one manually.

Smaller changes

New Contributors

Full Changelog: 2023.605.0...2023.716.0