Releases · ppy/osu
This is a big one!!
Mục lục bài viết
Code Quality
- Update github actions to latest versions (ppy/osu-framework#5673 by @peppy)
- Remove xmldoc references to private methods (ppy/osu-framework#5672 by @peppy)
- Update translations (ppy/osu-resources#250 by @peppy)
- Fix namespace warnings in iOS / android test projects (ppy/osu-framework#5703 by @peppy)
- Use
image@2x
from tournament banner api (#22948 by @Joehuu)
Framework
- Add local mobile framework reference support (#22710 by @frenzibyte)
- Add simple
Quad.Contains
tests (ppy/osu-framework#5668 by @peppy) - Fix
Quad.Contains
sometimes failing due to floating point precision issues (ppy/osu-framework#5670 by @bdach) - Add OpenGL Core renderer and use as default (ppy/osu-framework#5655 by @smoogipoo)
- Update shaders for OpenGL Core (ppy/osu-resources#247 by @smoogipoo)
- Implement Veldrid renderer (ppy/osu-framework#5661 by @smoogipoo)
- Show current renderer and surface choice in frame display (ppy/osu-framework#5662 by @peppy)
- Fix Veldrid + OpenGL not initialising on macOS (ppy/osu-framework#5676 by @smoogipoo)
- Fix UBOs not being initialised when data is default (ppy/osu-framework#5675 by @smoogipoo)
- Update graphic code in line with framework renderer changes (#22750 by @smoogipoo)
- Adjust DrawNodes to use uniform blocks (#22732 by @smoogipoo)
- Fix
Quad.Contains()
failing for zero-sized drawables (ppy/osu-framework#5679 by @bdach) - Fix masking info not reset on new frame (ppy/osu-framework#5680 by @smoogipoo)
- Add isolated vertex shader for logo animation (ppy/osu-resources#249 by @smoogipoo)
- Fix Veldrid framebuffers leaking GPU memory (ppy/osu-framework#5684 by @smoogipoo)
- Remove unused vertex attributes (ppy/osu-resources#251 by @smoogipoo)
- Use custom vertex shader for logo animation (#22883 by @smoogipoo)
- Fix draw thread unnecessarily marking GL context as current (ppy/osu-framework#5689 by @frenzibyte)
- Allow renderer choice to be stored in user configuration (and add automatic fallbacks) (ppy/osu-framework#5682 by @peppy)
- Fix D3D VBOs sometimes initialised with junk data (ppy/osu-framework#5690 by @smoogipoo)
- Fix possible division by 0 in SpriteText (ppy/osu-framework#5685 by @smoogipoo)
- Add a finaliser to Veldrid UBOs (ppy/osu-framework#5692 by @smoogipoo)
- Fix Metal performance with a separate command list for buffer updates (ppy/osu-framework#5683 by @smoogipoo)
- Switch to using custom veldrid fork (ppy/osu-framework#5693 by @peppy)
- Fix local uniform buffers not always bound on draw (ppy/osu-framework#5681 by @frenzibyte)
- Enable Mono Interpreter on iOS (ppy/osu-framework#5697 by @frenzibyte)
- Add workaround for incorrect SRGB conversion inside
BufferedContainer
s on android (ppy/osu-framework#5700 by @peppy) - Migrate iOS framework to SDL (ppy/osu-framework#5698 by @frenzibyte)
- Fix blur direction changing between renderer surfaces (ppy/osu-framework#5706 by @smoogipoo)
- Add support for D3D tearing and waitable swapchains (ppy/osu-framework#5704 by @smoogipoo)
- Add Veldrid support on iOS (ppy/osu-framework#5699 by @frenzibyte)
- Update UBO usages inline with framework changes (#22880 by @frenzibyte)
Gameplay
Fix storyboard videos not fading out on completion (#22806 by @peppy)
Stable uses a 1,000 ms fade-in / out. Rather than matching that, I’ve stuck with 500ms (what lazer was already using for the fade-in) because I think it feels better.
Fix “omit barline” beatmap setting sometimes not applying correctly (#22754 by @peppy)
This also moves the setting into the “timing” control point type, rather than “effect”, as it makes much more sense here.
Fix replay recording cutting out too early (#22527 by @Terochi)
In stable, you would see the user’s cursor continue to move after the last hitobject until the results screen was displayed. Until not in lazer, it would cut out precisely at the last object, which didn’t feel good.
Old behaviour returns, yay!
Fix hovering the loading area at the player loading screen stopping progression to gameplay (#22848 by @Rovearix)
Gameplay (osu!)
Make osu! touch input aware of the distance travelled of a non-direct touch (#22873 by @peppy)
This is done by introducing the concept of “distance travelled” to a touch. If a touch covers a certain distance, it becomes the preferred positional tracking touch (only to be overridden by a direct touch, as previously).
This is one of the ideas I had to improve the touch system, but I wanted to keep any added complexity out of the initial implementation. There are other additions I can imagine helping with the edge cases pointed out (for instance, considering the playfield bounds as proposed in that thread) but I want to apply these one-per-release and get confirmation from users that we’re going in the correct direction.
Gameplay (osu!mania)
Update osu!mania argon colours to match new proposal (#22814 by @peppy)
Update osu!mania argon design in line with proposal (#22820 by @peppy)
osu.2023-03-09.at.11.40.40.mp4
Gameplay (osu!taiko)
Add “Single Tap” mod (#22746 by @OpenSauce04)
This is implemented such that Don and Kat hits are treated as independent instances of how the Single Tap mod works for osu!standard, with each action type only being allowed to use the first key that activates it.
Strong hits are allowed to be hit with both the left and right actions of its respective type.
Performance
Optimise song select beatmap filtering (#22782 by @OliBomby)
Should improve filtering performance by up to 50% for large beatmap collections.
Smaller changes
- Fix argon progress bar unnecessarily drawing off-screen (#22842 by @LumpBloom7)
Platform
Fix external links not working on Android (ppy/osu-framework#5666 by @Joehuu)
Allow displays with no display modes (ppy/osu-framework#5665 by @Susko3)
Should hopefully allow the game to start on SteamVR.
Fix file association handling not working correctly on macOS (#22913 by @Susko3)
Clicking the “osu!direct” button on the website will now work correctly, for instance.
Smaller changes
- Fix exports sometimes exceeding the maximum path length (#22653 by @Cootz)
- Remove arbitrary extension limitation from drag and drop imports (#22914 by @Susko3)
Settings
Add ability to select renderer (#22924 by @peppy)
The default setting of “Automatic” will be what most of you want.
IF you run into any issues and can’t wait for fixes in the next releases, please set your setting to “OpenGL (Legacy)”. This is the renderer the game has used until now. That said, we recommend you leave the setting and report any issues – we will try and address them quickly!
- On windows, DirectX will be used as a priority. This has the widest compatibility range and best performance for now.
- On linux, OpenGL will still be preferred. Vulkan will be considered once it is more compatible (we need to do some work from our end), but you can manually set it to the default if you want to experiment.
- On macOS and iOS, Metal will of course be preferred (and should always be used unless it’s causing issues for you).
- Android is still a WIP. Ability to choose vulkan will come later on!
We’ve heard of draw frame performance improvements of 2-3x from users that have tried this already. Let us know how it works for you!
Keep in mind this is only the start. There’s plenty of optimisation work to be done in the near future.
Huge props to everyone involved in making this work! We now have Vulkan, Metal, DirectX 11 and Open GL support.
Skin Editor
Add components which display the current player’s avatar and flag (#22797 by @ItsShamed)
Can be added to any skin using the layout editor.
2023-03-05.23-02-50.mp4
Make reverting a skin in the skin editor a dangerous action (#22747 by @mk56-spn)
2023-02-27.16-09-31.mov
Add support for cyclic selection in skin editor (#22804 by @peppy)
osu.2023-03-07.at.06.12.29.mp4
Smaller changes
- Fix import of skins with non-ASCII names that have been previously exported by lazer (#22860 by @rozukke)
- This prevents skins with non-ASCII names being imported incorrectly after being previously exported, since upon export a “valid” version of the skin name is used for the directory, and that was not being accounted for in the import.
Song Select
Don’t filter away results with missing data when using “Date Submitted” or “Date Ranked” sort modes (#22775 by @peppy)
From a user’s perspective, changing a sort / order mode shouldn’t filter away results, but we were doing this.
In terms of UX expectations, in stable this kind of scenario would results in a group being added to the end of son select with “Not ranked” or “Unknown”. I think we should aim to match this eventually.
Fix local scores set against a different version of a beatmap still showing in leaderboards (#22539 by @Cootz)
Show count of visible beatmaps at song select (#22773 by @peppy)
Brought across from stable. I was going to make this show more relevant information on why things are filtered, but it turns out to be a bit of a PITA. Having the count along is still beneficial I believe.
osu.2023-03-03.at.06.34.01.mp4
Smaller changes
- Fix song select search textbox font size…