Releases: ppy/osu
2024.302.1
Gameplay
Fix gameplay seeking backwards for a single frame for some users (#27426 by @peppy)
Gameplay (osu!)
Fix incorrect standardised score estimation on selected beatmaps in osu! ruleset (#27361 by @bdach)
Can only realistically affect beatmaps with difficultyPeppyStars = 0
, of which there are known 2:
Song Select
Improve search performance at song select when a collection is selected (#27336 by @peppy)
Platform
Adjust user storage paths for better cross-platform support (ppy/osu-framework#6196 by @smoogipoo)
Full Changelog: 2024.221.0...2024.302.1
2024.221.0
Gameplay
Fix beatmap offsets not being applied correctly to extreme rate changes (#27243 by @myQwil)
Gameplay (osu!)
Fix classic skins incorrectly applying scaling factor to approch circles (#27286 by @peppy)
In triangles and argon, we expanded hitcircles to take up the full 128 px which are clickable, but still use the old approach circle sprite. To make it feel correct (ie. disappear as it collides with the hitcircle, not when it overlaps the border) we need to expand it slightly.
Note that this fix only affects classic/legacy skins.
Before | After |
---|---|
Fix classic skin follow circles animating from incorrect starting point (#27288 by @peppy)
Performance
- Reduce osu editor allocations with many objects selected (#27249 by @EVAST9919)
- Reduce mania editor allocations with many objects selected (#27275 by @EVAST9919)
- Apply padding to
GridContainer
s directly where possible (#27278 by @EVAST9919) - Fix allocations in
SliderInputManager.updateTracking
(#27230 by @EVAST9919)
Settings
Remove Veldrid OpenGL renderer, always use (legacy) GLRenderer (ppy/osu-framework#6193 by @smoogipoo)
Spurred by people using this renderer, likely because "legacy" has a bad connotation associated with it (e.g. https://discord.com/channels/188630481301012481/1097318920991559880/1209220240383418438).
This forces GLRenderer
("legacy") to be used even when the OpenGL
renderer type is selected.
Song Select
Fix beatmap carousel ordering not matching expectations (#27292 by @bdach)
Broke in yesterday's release, oops.
UI
- Localise storage error popup dialog (#27258 by @Loreos7)
- Update markdown code block implementation in line with framework changes (#27218 by @frenzibyte)
2024.219.0
Code Quality
- Update inspectcode to 2023.3.3 (#26956 by @smoogipoo)
- Adjust default min result of
SliderTailHit
, remove override (#26877 by @smoogipoo) - Rework
UserPanel
s to reduce container nesting (#26924 by @EVAST9919) - Use new LINQ Order{Descending} instead of OrderBy{Descending} when possible (#27095 by @turbedi)
- Improve exception logging of unobserved exceptions via
FireAndForget
(#27077 by @peppy) - Add note to never run release config to contributing guidelines (#27115 by @bdach)
- Refactor metadata lookup flows (#23822 by @bdach)
- Add inline documentation as to why classic mod is not ranked (#27176 by @peppy)
- Update IDE configurations to point at
net8.0
folders (#27186 by @FamousPig) - Update .NET version on readme (#27190 by @Joehuu)
- Update IDE configurations to point at
net8.0
folders (ppy/osu-framework#6179 by @FamousPig) - Add
[RequireStaticDelegate]
annotations (ppy/osu-framework#6174 by @Susko3)
Editor
Fix deselecting slider adding control points (#27056 by @kongehund)
Will no longer add control points if the selection has 2 or more objects.
Framework
Upgrade to .NET 8 and C# 12 (ppy/osu-framework#6169 by @smoogipoo)
Performance improvements across the board. Over 50% in some cases (song select is apparently much nicer now).
Smaller changes
- Update inspectcode to 2023.3.3 (ppy/osu-framework#6164 by @smoogipoo)
- Fix re-arrangeable lists not react on collection
Move
events (ppy/osu-framework#6165 by @Feodor0090) - Add readonly dictionary wrapper that removes enumerator alloc (ppy/osu-framework#6163 by @smoogipoo)
- Fix Waveform not disposing Stream (ppy/osu-framework#6152 by @hwsmm)
- Set UTF-8 console encoding on windows (ppy/osu-framework#6170 by @Susko3)
- Fix some .NET 8 CA1416 android inspections (ppy/osu-framework#6171 by @Susko3)
- Return
List
instead ofIEnumerable
inInputResampler
(ppy/osu-framework#6173 by @EVAST9919) - Ignore missing feedback api (ppy/osu-framework#6176 by @Feodor0090)
- Fix obsolete code in Android safe area handling by using AndroidX (ppy/osu-framework#6175 by @Susko3)
- Use new MD5/SHA.HashData(Stream) overload (ppy/osu-framework#6177 by @turbedi)
- Update veldrid package (ppy/osu-framework#6178 by @smoogipoo)
- Fix recent collection initialiser inspection (#27167 by @smoogipoo)
- Update framework (#27179 by @peppy)
Gameplay
Allow a few new mods and mod settings for pp (#26935 by @bdach)
The following mods and settings are now allowing PP gains:
- Mod "Accuracy Challenge".
- Mod "Blinds".
- Mod "No Scope".
- "Restart on fail" setting of Sudden Death & Perfect.
- "Adjust pitch" setting of Half Time / Double Time.
Show PP and rank changes in the toolbar (#27156 by @bdach)
Smaller changes
- Bump databased star rating versions (#27065 by @smoogipoo)
- Should fix some users that have had lazer installed for quite some time having incorrect SR values for some old beatmaps.
- Improve low volume detection (#26951 by @myQwil)
- Fix
WorkingBeatmapCache
caching beatmap in wrong state leading to crash (#27239 by @peppy)
Gameplay (osu!)
Fix relax mod not respecting tracking state of sliders when triggering actions (#26763 by @frenzibyte)
Create key-presses when watching osu!stable "Relax" replays (#27145 by @tsunyoku)
osu!stable does not record key presses onto replays with Relax, so attempting to watch them back in lazer didn't work historically.
Smaller changes
- Fix cursor ripples displaying on release positions in replays (#27200 by @frenzibyte)
Gameplay (osu!catch)
Never flip fruit on plate (#27165 by @frenzibyte)
Limit vertical visibility of osu!catch playfield to an aspect ratio of 4:3 (#27162 by @frenzibyte)
Gameplay (osu!mania)
Add progressive coverage for mania's Hidden and FadeIn mods (#27068 by @smoogipoo)
This restores progressive coverage that HD and FI had in osu!stable, and adds a new mod ManiaModCover
/ CO
which allows setting a custom cover.
Smaller changes
Gameplay (osu!taiko)
- Convert selected legacy skin sprites to grayscale (#27059 by @bdach)
- Fixes silly skins doing silly stuff they shouldn't.
Online
Give better visibility when the game is pending 2FA (#26920 by @peppy)
Add 2FA verification screen to registration flow (#26950 by @bdach)
Smaller changes
- Fix incorrect connection metrics tracking on instances pending shutdown (ppy/osu-server-spectator#214 by @bdach)
- Change type of some exceptions so they're logged (ppy/osu-server-spectator#216 by @smoogipoo)
- Log score uploader errors to sentry (ppy/osu-server-spectator#217 by @bdach)
- Fix selected room bindable being set to null regardless of the removed room (#27033 by @frenzibyte)
- Add datadog tracking of score uploader metrics (ppy/osu-server-spectator#218 by @bdach)
- Use staggered exponential backoff when retrying in
PersistentEndpointClientConnector
(#27067 by @bdach) - Populate
TotalScoreInfo
when convertingSoloScoreInfo
toScoreInfo
(#27069 by @bdach) - Add additional gameplay metadata to room score request (#27113 by @smoogipoo)
- Use more stringent checks when applying online metadata (#27143 by @bdach)
- Fixes cases where beatmaps are imported with incorrect/outdated metadata, leading to subsequent failures.
- Fix a few issues in metadata hub's disconnection requested flow (#27193 by @bdach)
- Add better submission failure messaging (#27180 by @bdach)
- Update packages (ppy/osu-server-spectator#219 by @peppy)
Performance
- Reduce allocation overhead in
Playfield
(#26940 by @EVAST9919) - Fix
DrawableManiaRuleset
performing skin lookup every frame (#26938 by @EVAST9919) - Fix multiplayer/playlists lounge screen disposing rooms synchronously (#27021 by @frenzibyte)
- Fix huge allocation overhead in
UnstableRateCounter
(#26976 by @EVAST9919) - Further reduce allocation overhead in
ScrollingHitObjectContainer
(#26863 by @EVAST9919) - Avoid closure allocations when applying hit object results (#26694 by @chandler14362)
- Replace linq usage in
Previous
andNext
onDifficultyHitObject
with more direct computation (#27117 by @tsunyoku) - Fix huge allocation overhead during beatmap texture creation in song-select screen (#27132 by @EVAST9919)
- Only compute flashlight in osu! difficulty calculations when required (#27116 by @tsunyoku)
- Reduce allocations during aggregate beatmap sorts in song-select screen (#27173 by @EVAST9919)
- Invalidate
GridContainer
only on DrawSize change (ppy/osu-framework#6180 by @EVAST9919) - Fix
DrawableLinkCompiler
allocations (#27199 by @EVAST9919) - Reduce allocations during beatmap selection (#27206 by @EVAST9919)
- Cache created judgement in
HitObject
(#27114 by @EVAST9919) - Use
SlimReadOnlyListWrapper
forKeyBindingContainer.PressedActions
(ppy/osu-framework#6185 by @EVAST9919)
Platform
Suggest to update only if the latest release is available for the current platform (#26930 by @Susko3)
We've had few releases lately where mobile isn't working / is crashing, so the mobile release was pulled. Unfortunately, the game would still send an update notification, leading to many people opening issues about the update not being available for their platform.
This fixes that.
Smaller changes
- Update windows icon metrics to match previous icon (#27184 by @peppy)
- Update iOS icon metrics to match previous icon (#27185 by @peppy)
Results
Fix results screen not handling F ranks properly (#26733 by @frenzibyte)
Song Select
Display which mods grant pp (#26934 by @bdach)
In mod select and in song select footer.
Add last played search filter in song select (#23129 by @Elvendir)
You can now search for played<30
for beatmaps played in the last 30 days.
Smaller changes
- Add aliases "author" and "mapper" for searching creator (#27112 by @Stoppedpuma)
- Fix star counter decrease animation being delayed when current is over displayed star count (#27205 by @Joehuu)
- Consider case sensitivity when sort...
2024.131.0
Code Quality
- Adjust default min result of SliderTailHit, remove override (#26870 by @smoogipoo)
Framework
- Fix android crashes (ppy/osu-framework#6162 by @bdach)
- Android no like one optimisation we made, so said optimisation is reverted for now.
Gameplay (osu!)
Fix judgements fading out too fast on classic skins (#26839 by @bdach)
Adjust slider tick / end misses to show slightly longer (#26876 by @peppy)
Just some fine-tuning based on feedback.
Fix slider end judgements appearing at incorrect locations when mods that flip playfield are active (#26885 by @bdach)
Online
Fix crash when logging out during 2FA email verification (#26834 by @bdach)
Fix 2FA verification via link not working correctly (#26837 by @bdach)
Smaller changes
- Fix incorrect client version being sent to spectator server (ppy/osu-server-spectator#212 by @smoogipoo)
- Show a better message when score submission fails due to system clock being set wrong (#26871 by @peppy)
- Fix menu banner not updating as often as we want it to (#26889 by @peppy)
Full Changelog: 2024.130.2...2024.131.0
2024.130.2
Audio
Fix back sound being too loud when exiting many screens (#26612 by @peppy)
Code Quality
- Add
Statistics
bindable toIAPIProvider
and update it fromSoloStatisticsWatcher
(#26356 by @stanriders) - Update localisations (ppy/osu-resources#303 by @peppy)
- Fix score submission test failures due to checking audio playback validity (again) (#26669 by @bdach)
- Update README.md to link to new development project (#26740 by @hrfarmer)
- The ranked play GitHub project was closed and switched over to a new project, so I've updated the link to the new one.
- Decouple notifications websocket handling from chat operations (#26724 by @bdach)
Editor
Fix lag when dragging first slider control point in editor (#26499 by @OliBomby)
Fix timing point changes not applying after selecting another one (#26585 by @frenzibyte)
Smaller changes
- Fix glitchy path type correction for sliders in the editor (#26512 by @OliBomby)
- Fixes an issue in the mechanism responsible for turning the path type to bezier when the perfect curve circle radius is too large.
Before:
osu.Game.Rulesets.Osu.Tests_rKl5pw51G0.mp4
After:
osu.Game.Rulesets.Osu.Tests_vEFTrVGF9Y.mp4
- Fix blueprint container not handling right clicks correctly while moving a blueprint (#26661 by @frenzibyte)
- Fix slider sometimes not updating anchor position of nested objects (#26659 by @frenzibyte)
- Prevent custom divisor ranges from halting divisor preset cycling (#26689 by @myQwil)
Framework
- Guard against potential usage of
DrawablePool
without being added to hierarchy (ppy/osu-framework#6136 by @peppy) - Make IPC port configurable via
HostOptions
(ppy/osu-framework#6129 by @tsunyoku) - Add flaky test attribute and mark
CanSeekForwardOnInterpolationFail
as flaky (ppy/osu-framework#6140 by @frenzibyte) - Fix
TemplateGameTestScene
showing up in test browser (ppy/osu-framework#6146 by @Joehuu) - Include rounded corner radius in android safe area implementation (ppy/osu-framework#6143 by @bdach)
- Ignore autogenerated .idea android file (ppy/osu-framework#6144 by @Susko3)
- Write log header later to ensure game identifiers are present (ppy/osu-framework#6138 by @peppy)
- Add the ability to solo a test in visual testing using
[Solo]
attribute (ppy/osu-framework#6137 by @peppy) - Fix build warning (ppy/osu-framework#6158 by @smoogipoo)
- Implement
Padding
property inGridContainer
(ppy/osu-framework#6145 by @EVAST9919) - Fix nested absolute sequences (ppy/osu-framework#6160 by @smoogipoo)
Gameplay
Fix background dim occasionally getting in a bad state when exiting gameplay (#26544 by @peppy)
Fix holding keys before gameplay starts resulting in incorrect input (ppy/osu-framework#6101 by @frenzibyte)
Fade hold-for-menu button out completely on non-touch devices (#26542 by @peppy)
Simplify gameplay pause sequence (#26605 by @peppy)
This removes the frequency ramp on pausing. This was something I was personally behind implementing and working to keep around, but nuking in favour of simplifying the process for now. In discussing with nekodex we both agree there is a better way forward than this.
This lays groundwork for doing other things, like allowing seeking during replay pause, and changing the way offsets work without worrying about the weird application considerations from the pause ramp effect.
Fix gameplay elements not correctly offsetting to avoid per-ruleset skin layout (#26609 by @peppy)
Change S rank to require no miss (#26630 by @peppy)
This is a change for osu!/osu!taiko to match stable. It's not final. We're just giving people what they are used to for now. If you're about to comment about how you disagree with this, then please make sure to search first and contribute to an existing conversation.
Smaller changes
- De-dupe displayed hits in judgement counter (#26540 by @peppy)
- Only display offset toast when in local gameplay (#26543 by @peppy)
- Implement shaders for
ArgonHealthDisplay
(ppy/osu-resources#302 by @EVAST9919) - Fix argon health bar showing "miss" bar for bananas (#26561 by @peppy)
Gameplay (osu!)
Fix flashlight not dimming if slider head is hit early (#26576 by @bdach)
Fix cursor scale animation not matching stable on classic skins (#26567 by @peppy)
Adjust slider tick / end miss animations to be shorter (#26668 by @peppy)
There's still a lot of feedback that these are noisy and get in the way. As a recap, you can already skin these out using sliderendmiss
and sliderendtick
, but adding these in a classic skin is a bit of a pain in the ass, so I want to make the defaults usable for most users.
We'll continue to iterate based on feedback!
Adjust slider tick / end miss visuals to be less noisy (#26703 by @peppy)
More subtle, less noisy, but still should describe the misses quite well.
I toyed with bringing across the stable behaviour of ticks not fading out but people preferred this direction, so let's stick with it.
Smaller changes
- Fix pop-in scale transition in resume overlay affecting input area (#26545 by @frenzibyte)
- Fix touch device not always activating when it should (#26575 by @bdach)
- Adjust legacy slider misses to be smaller again (ppy/osu-resources#304 by @peppy)
- People are still complaining so I want to first try to make them more subtle.
Gameplay (osu!mania)
Fix key overlay not showing special key in the right place (#26589 by @peppy)
Gameplay (osu!taiko)
Fix taiko maps containing only drum rolls / swells not being passable without mods (#26578 by @bdach)
Change the input drum width to be consistent across all skins (#26632 by @frenzibyte)
Up until now, the input drum width was variable per skin, which results in the overall gameplay width changing based on skin. This has been discussed to be quite bad and must not be the case (see discord).
The constant width for the input drum has been defined to be 180px, visually matching osu!stable on classic skin. Default skins have been altered slightly to respect that width (basically set its height with respect to width rather than the opposite).
Change hit target position in osu!taiko to always match stable (#26634 by @frenzibyte)
triangles | argon |
---|---|
Move osu!taiko playfield down a nudge to match stable visually (#26635 by @frenzibyte)
Remove rounding of slider velocity (when applied as scroll speed) (#26616 by @peppy)
This fixes some beatmaps using very precise slider velocities to create a speed ramp from looking too "jumpy".
Fix osu!taiko's scroll speed not matching stable expectations (#26781 by @frenzibyte)
This finally brings osu!taiko in line with scroll speed on stable, even when "classic" mod is not applied.
Smaller changes
- Fix taiko input drum animation fade not matching osu!stable (#26608 by @mouzedrift)
- Rewrite osu!taiko playfield adjustment container to keep playfield height constant (#26631 by @frenzibyte)
Main Menu
Fix toolbar buttons not being clickable at screen edges (#26530 by @Susko3)
Allow adjusting volume controls via a drag (#26564 by @peppy)
Did you know you could do this in stable? Well you can in lazer too now.
Fix star fountains sometimes resetting visually (#26667 by @peppy)
Starting/stopping the firing process was done very weirdly, causing the underlying class to get confused.
Fix now playing beatmap backgrounds not being correctly centred (#26680 by @peppy)
Update logo (#26704 by @peppy)
Say hello to your new osu! logo. And don't trip on the dot.
Update backgrounds (ppy/osu-resources#306 by @arflyte)
Brand new menu backgrounds to match the fresh logo.
Smaller changes
- Update logo resources (ppy/osu-resources#305 by @peppy)
Multiplayer
Fix touch device mod getting selected as a free mod in playlists (#26492 by @frenzibyte)
Remember the user's selected multiplayer room filter mode (#26538 by @peppy)
Fix multiplayer scores not updating after failing (#26751 by @frenzibyte)
Smaller changes
- Fix multiplayer potentially selecting mods of wrong ruleset when starting matc...
2024.114.0
Editor
Framework
- Fix
KeyCombination
throwing when duplicates are fed in (ppy/osu-framework#6130 by @peppy)
Gameplay
Fix scores not showing up on leaderboards during gameplay (#26520 by @peppy)
Gameplay (osu!)
Fix flashlight dim being applied before slider start time (#26525 by @bdach)
Installer
Reliability
- Fix android startup crash in last release (ppy/osu-framework#6132 by @bdach)
- Update framework (#26528 by @peppy)
Song Select
UI
Show "slider end" statistic next to slider ticks on results screen (and use correct colour) (#26522 by @bdach)
Full Changelog: 2024.113.0...2024.114.0
2024.113.0
Code Quality
- Fix player submission test intermittent failures due to audio playback discrepancy logic kicking in (#26357 by @bdach)
- Fix wiki link path inconsistencies (#26378 by @wooster0)
Editor
Fix beats sometimes being counted incorrectly in the timing editor (#26281 by @iminlikewithyou)
Smaller changes
- Fix crash when dragging rotation control in editor with both mouse buttons (#26353 by @peppy)
- Keep editor in frame stable mode when possible (#26382 by @peppy)
- This is intended to be a catch-all fix for frame stable related issues in the editor.
Framework
- Add window hide/show methods (preliminary work for boss key) (ppy/osu-framework#6085 by @adryzz)
- Fix android storage path on .NET 8 (ppy/osu-framework#6100 by @i3ym)
- Fix dropdown header handling platform actions when not hovered (ppy/osu-framework#6096 by @frenzibyte)
- Make
Insert
forSlimReadOnlyListWrapper
unsupported (ppy/osu-framework#6103 by @Terochi) - Update year references (ppy/osu-framework#6107 by @bastianpedersen)
- Fix frame statistics display GC boxes not correctly being cleaned up (ppy/osu-framework#6118 by @peppy)
- Expose
RunTestsFromNUnit
aspublic
(ppy/osu-framework#6113 by @peppy) - Update framework (#26467 by @peppy)
- Remove
VeldridTexture.Bind()
(ppy/osu-framework#6128 by @smoogipoo) - Fix
KeyCombination
throwing when duplicates are fed in (ppy/osu-framework#6130 by @peppy)- This class may require some test coverage. Just pushing out for immediate visibility.
Gameplay
- Fix possible double score submission when auto-retrying via perfect mod (#26333 by @bdach)
- Fix Cinema mod being compatible with mods that can force failure (#26438 by @bdach)
Gameplay (osu!)
Increase slider tails' score to 150 points (up from 30) (#26248 by @smoogipoo)
@Bubbleman532, @Zyfarok, and others in the community have mentioned that the changes to sliders (tails not affecting the slider's main judgement, because that judgement is now on the head) have made tails not worth as much anymore, and removes the need to aim sliders on higher SR maps that very rarely have any ticks in sliders.
This PR makes tails worth 150 points, compared to the 30 points of a normal tick.
Gameplay (osu!catch)
Fix backwards z-ordering of fruits in juice streams and banana showers (#26336 by @bdach)
Adjust catch scoring to match stable score V2 (#26405 by @bdach)
Gameplay (osu!mania)
Fix mania score conversion using score V1 accuracy (#26434 by @bdach)
Smaller changes
- Fix some osu!mania skins not being processed due to errors in ini file (#26468 by @frenzibyte)
Gameplay (osu!taiko)
- Fix standardised score conversion failing for some taiko scores due to overestimating accuracy portion (#26332 by @bdach)
Misc
- Make chat command names case-insensitive (#26379 by @wooster0)
- Flash blocking ongoing operations dialog when trying to force quit (#26381 by @Joehuu)
- Disable pausing music during intro sequence (#26411 by @zacwm)
- Fix wiki main page not displaying custom layout (#26441 by @Joehuu)
Multiplayer
Fix multiplayer scores being submitted as pass even if failed (#26384 by @peppy)
Smaller changes
Online
Store user online state in config for next launch (#26337 by @bdach)
Stored status is reset on logout, so that it doesn't persist across multiple users logging in on one machine.
Performance
Set process priority of game window to high when focused (ppy/osu-framework#6104 by @peppy)
This is something we do on osu!stable and has large gains (for some users) on desktop systems, especially when shared with other heavy applications.
Only applies to windows.
Smaller changes
- Change threaded optimisations setting to "Auto" on startup (#26354 by @peppy)
- Use
HashSet
instead ofList
for temporary check in transform handling (ppy/osu-framework#6106 by @peppy) - Reduce allocations when setting value on
BindableNumber
with precision (ppy/osu-framework#6109 by @smoogipoo) - Remove per-call array allocations from
InputSampler
(ppy/osu-framework#6108 by @peppy)- Reduces overhead of cursor trail.
- Simplify
SpriteIcon
to reduce draw thread overheads (ppy/osu-framework#6111 by @EVAST9919) - Use native query to avoid huge overheads when cleaning up realm files (#26451 by @peppy)
- Fix
SettingsToolboxGroup
allocating excessively due to missing cache validation (#26456 by @peppy) - Preliminary fixes for off-the-charts allocations (#26422 by @peppy)
- Remove alloc overhead for
NormalizedValue
(ppy/osu-framework#6116 by @peppy) - Fix insane joystick allocations overhead (ppy/osu-framework#6115 by @peppy)
- Even when no joystick was connected.
- Remove bindable overheads of health displays (#26455 by @peppy)
- Reduce input processing overheads in
PassThroughInputManager
(ppy/osu-framework#6120 by @peppy) - Avoid creating a new texture in
SmoothPath
if the existing one is already the correct size (ppy/osu-framework#6119 by @peppy) - Remove allocations when checking if mouse outside all displays (ppy/osu-framework#6123 by @peppy)
- Reduce string allocations during shader creation (ppy/osu-framework#6121 by @peppy)
- Remove delegate allocation in jitter calculation in
FramedClock
(ppy/osu-framework#6122 by @peppy) - Remove overheads of MIDI device polling (ppy/osu-framework#6125 by @peppy)
- Remove allocations during bass device sync polling operation (ppy/osu-framework#6124 by @peppy)
- Reduce allocation overhead for keyboard / binding / button handling (ppy/osu-framework#6126 by @peppy)
Realm
Replay
Results
Scoring
- Fix score conversion incorrectly assuming zero combo score in certain cases (#26440 by @bdach)
- Fix incorrect score conversion on selected beatmaps due to incorrect
difficultyPeppyStars
rounding (#26471 by @bdach)- Fixes issue that occurs on about 245 beatmaps[^1] and was first described by me on discord and then rediscovered again during work on #26405.
Song Select
Improve speed of beatmap carousel load when scrolling (#26385 by @peppy)
The preload numbers are still on the conservative side. We can probably adjust these based on the system the game is running on in the future. Or across the board. But this should improve the overall responsiveness of carousel loading, something that's been bugging me for quite a while now (and not just me)
Smaller changes
- Fix mod score multiplier rounding to 1.00x with specific mod combinations (#26140 by @CaffeeLake)
- Remove scores from song select leaderboard when leaving the screen (#26410 by @peppy)
- Noticed they would disappear-then-appear after visiting the ranking screen. Which feels very weird.
- Fix crash when clicking osu! logo in song select immediately after exiting (#26437 by @bdach)
New Contributors
Full Changelog: 2024.106.0...2024.113.0
2023.1231.0
Generated at 12/31/2023 1:54:41PM
Code Quality
Gameplay (osu!mania)
Fix argon miss judgement on mania placed on a different position (#26235 by @frenzibyte)
Main Menu
Add some new menu tips (and reword some others) (#26225 by @peppy)
Settings
Fix suggested value in audio offset adjust control being opposite in signs (#26267 by @frenzibyte)
Hopefully the last fix here.
UI
Adjust menu button metrics to read better (#26201 by @iminlikewithyou)
Smaller changes
New Contributors
- @iminlikewithyou made their first contribution in #26201
Full Changelog: 2023.1229.1...2023.1231.0
2023.1229.1
Framework
- Update game packages (ppy/osu-server-spectator#207 by @bdach)
- Add setting to control automatic minimising on focus loss in fullscreen mode (ppy/osu-framework#6094 by @Susko3)
- Expose
Mod.UsesDefaultConfiguration
(#26216 by @smoogipoo)
Main Menu
Stop showing game version at main menu (#26220 by @bdach)
Don't show online menu image until clicking osu! logo (#26221 by @bdach)
Add some new menu tips (and reword some others) (#26225 by @peppy)
Smaller changes
- Make the menu tip about mod select's fun mods more up to date. (#26203 by @LeNitrous)
Reliability
Fix crash after changing audio track in editor (#26219 by @bdach)
Smaller changes
Settings
Fix global audio offset suggestion feature not taking previous offset value into account (#26222 by @bdach)
Oops, now it works properly.
UI
- Remove opaque background from toolbar user button (#26224 by @bdach)
- Fix dropdown colour not updating correctly on enabled state changes (#26207 by @frenzibyte)
Full Changelog: 2023.1229.0...2023.1229.1
2023.1229.0
Editor
Add visual offset to better align editor waveforms with expectations (#26136 by @peppy)
In preparation for locking in better audio constants in lazer, let's fix the editor waveform looking completely misaligned.
This adds a visual-only offset to better align the editor waveform (in the timeline and on the timing screen) with osu! community expectations. With this change, visual-based timing is feasible, and assuming done correctly, should be accurate within 2 ms.
Fix editor timing mode not handling undo/redo correctly (#26141 by @peppy)
When undoing, selection would be lost, and (kind of as a result) the controls on the right of the screen would enter a detached state where they don't update correctly. Quite annoying when you're making changes.
Framework
Fix audio being initialised more than once unnecessarily (ppy/osu-framework#6090 by @peppy)
Bump OpenTabletDriver to 0.6.4.0 (ppy/osu-framework#6086 by @X9VoiD)
Added support for:
- Gaomon GM116HD
- Huion Kamvas 22
- VEIKK VK1060PRO
- Wacom CTC-4110WL
- Wacom CTC-6110WL
- Wacom DTH-1320
- Wacom PTU-600U
- XP-Pen Deco M
Improved detection for:
- Artisul A1201
- Gaomon 1060 Pro
- Huion H1060P
- Huion H420x
- Huion H950P
- Huion Kamvas 20
- Huion Kamvas Pro 24 (4K)
- Kamvas Pro 13 (2.5k)
- UGEE S640
Also:
- Huion Q11K: Fix digitizer specifications
- XP-Pen Star 05 V3: Fix digitizer specifications
Fix "Windows Ink" events being handled as touch events (ppy/osu-framework#5309 by @Susko3)
This fixes some tablet devices incorrectly enabling the "touch device" mod.
Smaller changes
- Rename concept of "global" mixer with "fallback" (ppy/osu-framework#6091 by @peppy)
- Add basic global statistics for input handler events (ppy/osu-framework#6087 by @Susko3)
- Add low latency initialisation support on windows by directly interacting with WASAPI (ppy/osu-framework#6088 by @peppy)
- Seems good, but had issues.
- Disable WASAPI initialisation mode for now (ppy/osu-framework#6093 by @peppy)
- Need some more time to test this out. As I kinda expected, it doesn't work well across the board.
- Update framework (#26159 by @peppy)
Gameplay
- Bail from score submission if audio playback rate is too far from reality (#26138 by @peppy)
- Handles cases where audio drivers aren't working as expected.
Gameplay (osu!)
Add new mod "Depth" (#25653 by @EVAST9919)
Update argon and triangles slider tick/end miss to match display style (#26120 by @peppy)
Add classic skin sprites for slider tick and slider end misses (#26117 by @peppy)
A lot of complaints asking for disable on the new elements. Mostly because it was confusing to just downscale the normal miss.
Now they get their own sprites. And as a result it's skinnable for the people that are really adverse to change. You can skin via [email protected]
and [email protected]
.
CleanShot.2023-12-25.at.08.12.17.mp4
CleanShot.2023-12-25.at.08.13.40.mp4
Fix spinner max bonus sound playing when seeking in replay (#26170 by @rushiiMachine)
Force minimum cursor size for click-to-resume screen (#26148 by @rushiiMachine)
On cursor sizes below 0.3x it becomes exceedingly difficult to quickly locate and then accurately click the resume cursor on the pause overlay as it could as big as a handful of pixels. In the event the cursor aligns somewhere on top of or close to the text, it becomes nearly impossible to find it as it's even the same color.
This clamps the minimum cursor size to 1x for the resume overlay, which is way more comfortable and less likely to cause the player to miss afterwards (note that not the entire cursor aura is interactable, only about 2/3s) and more closely resembles stable.
Smaller changes
- Add new sprites for slider end / tick misses (ppy/osu-resources#300 by @peppy)
Gameplay (osu!catch)
Fix catch objects not being clamped to playfield bounds (#26158 by @bdach)
Gameplay (osu!mania)
Make mania scroll speed independent of hit position (#26131 by @smoogipoo)
This fixes skins using a custom "HitPosition" having incorrect scroll speed.
Main Menu
Add support for displaying online images on main menu (#26172 by @bdach)
Move menu tips to main menu (#26182 by @peppy)
Show supporter love message at main menu and remove the disclaimer screen (#26183 by @peppy)
Goodbye disclaimer screen!
Settings
Always show settings section text on buttons (#26147 by @peppy)
Was really annoying to decode the icons quickly. Now text always shows.
Implement automatic suggestion of global audio offset based on last plays (#26169 by @bdach)
This control takes the place of the existing audio offset slider in game settings.
This is supposed to be a crude something to be in place by next year while the work on the real "offset wizard" can be postponed just a little bit longer.
Song Select
Fix rewind sometimes incorrectly selecting the same beatmap (#26127 by @ntransw)
Cycle between Daycore and Half Time mod when using classic hotkeys style (#26162 by @Gabixel)
Fix song select leaderboard tab ordering not matching stable (#26177 by @peppy)
Before | After |
---|---|
Smaller changes
- Do not attempt to stop preview tracks when arriving from a "track completed" sync (#26124 by @bdach)
Spectator
Allow entering spectator mode from context menu on user panels (#26184 by @peppy)
Fix using "Back" binding at spectator fail screen not working (#26189 by @peppy)
UI
Update icons game-wide (#26167 by @bdach)
main menu, top level | main menu, play submenu | main menu, edit submenu |
---|---|---|
settings | editor |
---|---|
All editorial decisions ("why is this variant of the icon used?" "why are the icons smaller / have more padding?") are either mine alone or/and were made in line with feedback from @peppy.
All traces of hexacons have been erased. May they rest well. Note that this also affects overlay headers since they are weirdly conjoined to toolbar icons for whatever reason. But I think it's fine.
Toolbar design iteration (#26168 by @peppy)
Takes some inspiration from flyte's newer designs but also makes some changes I feel works well. Iterative and not final.
Update popup dialog design (#26187 by @peppy)
Had to be done. I got irked every time these came up.
As usual, disclaimer that this is an iterative design and will probably be replaced in the future.
Smaller changes
- Add new icon assets (ppy/osu-resources#301 by @bdach)
Full Changelog: 2023.1228.0...2023.1229.0