Releases: ppy/osu
2024.726.0
Daily Challenge
- Fix excessive leaderboard refreshes in daily challenge screen (#29054 by @peppy)
- Fix failed scores getting included in playlist score distribution (ppy/osu-server-spectator#240 by @peppy)
- Fix daily challenge abruptly discarding score selection when opening results screen (#29058 by @frenzibyte)
- Fix not being able to send chat reports on daily challenge screen (#29067 by @bdach)
- Fix incorrect reporting of user rank in room in case of score ties (ppy/osu-server-spectator#241 by @bdach)
Editor
Framework
- Disable macOS test runs for now (#29046 by @peppy)
- Fix link to good first issues in CONTRIBUTING.md (#29047 by @RealCyGuy)
- Fix line endings in csproj (ppy/osu-framework#6344 by @smoogipoo)
Gameplay
Fix cursor trail disconnect from cursor when settings or notification overlay is opened (#29070 by @Cai1Hsu)
Online
Results
UI
Fix dragging number boxes no longer working correctly (#29044 by @frenzibyte)
New Contributors
- @RealCyGuy made their first contribution in #29047
- @Cai1Hsu made their first contribution in #29070
Full Changelog: 2024.725.0...2024.726.0
2024.725.0
Editor
Fix editor UI dimming when hovering over expanded part of toolboxes (#28996 by @bdach)
Fix various shortcomings in juice stream selection blueprint (#28999 by @bdach)
- Makes undo work for adding / deleting path points
- Unifies appearance with osu! slider control point pieces
- Use same hover state
- Use shift-right click for quick delete rather than shift-left click
Add tolerance when drag-scrolling editor timeline (#29020 by @bdach)
Also adds a time-based ramp in scroll speed to provide more control over operations.
Respect pre-empt time when auto-generating breaks (#29021 by @bdach)
Make sample popover change properties of all samples in multiple selection (#29039 by @bdach)
Smaller changes
Gameplay
Fix held gameplay keys stuck after pausing and resuming (#28954 by @frenzibyte)
Fix judgement animations sometimes getting cut early (#28881 by @smoogipoo)
Smaller changes
- Add legacy skin input overlay assets (ppy/osu-resources#332 by @bdach)
- For future use.
Online
- Exit daily challenge screen when going offline (#29037 by @bdach)
- Fix daily challenge leaderboard rank numbers not showing properly (#29036 by @bdach)
UI
Add custom hue support to user profile overlay (#28849 by @frenzibyte)
CleanShot.2024-07-13.at.18.37.24-converted.mp4
Smaller changes
- Fix dragging number boxes no longer working correctly (#29044 by @frenzibyte)
Full Changelog: 2024.718.1...2024.725.0
2024.718.1
Editor
Fix crash when adding mania notes right after changing timing point (#28944 by @bdach)
Minor editor design tweaks (#28948 by @peppy)
Just some minor changes / reverts from last release based on personal / initial user feedback.
Framework
- Fix popovers one-frame-twitching in specific circumstances (ppy/osu-framework#6335 by @bdach)
- Fix intermittent test failure in
TestSceneArgonHealthDisplay
(#28898 by @frenzibyte) - Disable multi-line trailing comma inspections entirely (#28934 by @frenzibyte)
- Fix SampleGame prelaunch tasks (ppy/osu-framework#6337 by @Nierius)
- Fix more test failures (#28900 by @smoogipoo)
- Disable multi-line trailing comma inspections entirely (ppy/osu-framework#6338 by @frenzibyte)
- Keep
PassThroughInputManager
in input queue even while parent input is disabled (ppy/osu-framework#6340 by @frenzibyte) - Update framework (#28963 by @peppy)
Gameplay
Fix held gameplay keys stuck after pausing and resuming (#28954 by @frenzibyte)
Gameplay (osu!mania)
- Fix hold note light lingering with No Release (#28905 by @mcendu)
- Make "Hold Off" and "No Release" mod incompatible (#28949 by @peppy)
Online
Fix users getting logged out unexpectedly (ppy/osu-server-spectator#238 by @bdach)
Skin Editor
- Fix selection box being initially visible on top-left corner in skin editor (#28937 by @frenzibyte)
Song Select
- Fix degraded performance when changing mod settings on a large beatmap (#28936 by @frenzibyte)
- Fix beatmap carousel performance regression with large databases (#28946 by @peppy)
UI
Fix various visuals of playlist beatmap panels (#28947 by @peppy)
- Fix border being fat
- Fix thumbnail not masking correctly
- Fix background layer not being correctly fit to the panel
- Dim the main background on hover
- Minor tweaks to dimming and sizing
Before | After |
---|---|
Smaller changes
- Fix tab extension dropdown having dead non-clickable hover area (#28908 by @peppy)
- Fix skipping to next track not working (#28942 by @bdach)
Full Changelog: 2024.718.0...2024.718.1
2024.718.0
Audio
New samples for ruleset selector (ppy/osu-resources#327 by @nekodex)
A refresh of the ruleset selector samples.
Add a 'ducking' effect to the currently playing track when changing ruleset (#28547 by @nekodex)
Smaller changes
- Fix low pass filter sometimes not applied in dialog overlays (#28652 by @smoogipoo)
- Refreshed some UI samples (ppy/osu-resources#329 by @nekodex)
- UI SFX Tweaks/Updates (#28832 by @nekodex)
-
- Tweaked 'tick' sample looping behaviour of
PopupDialogDangerousButton
to better suit new sample
- Tweaked 'tick' sample looping behaviour of
-
- Fixes 'tick' sample playing when dialog first appears (regression from #28652)
- Play different samples for scroll-to-top vs scroll-to-previous
Code Quality
- Refactor out taiko Peaks skill (#28596 by @stanriders)
- Fix intermittent failure in online menu banner tests (#28605 by @frenzibyte)
- Always log missing official build attribute (#28606 by @smoogipoo)
- Changed timed difficulty attributes to be "per-HitObject" instead of "per-DifficultyHitObject" (#28500 by @Givikap120)
- Fix JuiceStream velocity calculation (#25725 by @smoogipoo)
- Update framework (#28712 by @peppy)
- Apply nullability to
MusicController
(#28745 by @peppy) - Ensure realm subscriptions always fire initial callback with null
ChangeSet
(#28785 by @peppy) - Fix incorrect continuation in
ImportAsUpdate
causing UI blockage (#28818 by @peppy)
Editor
Fix editor performance dropping over time when hit markers are enabled (#28592 by @peppy)
Fix beatmap exports breaking in stable (#28609 by @smoogipoo)
Fix editor performance regression with hitmarkers active (#28621 by @bdach)
Fix editor test play not marking hit objects before its start time as judged. (#26465 by @LeNitrous)
Add hexagonal and circular grid options (#26310 by @OliBomby)
Allow to jump to a specific timestamp via bottom bar in editor (#28511 by @bdach)
Apparently this is a stable feature and is helpful for modding / dealing with timestamps outside of web.
Reimplement missing gameplay test hotkeys from stable (#28705 by @bdach)
- Tab to toggle autoplay
- Ctrl-P to toggle pause
- F1 for quick exit at initial position
- F2 for exit at current position
Change editor speed adjustment back to adjusting tempo (#28521 by @bdach)
The important distinction here is that to prevent misuse when timing, the control will revert to 1.0x speed and disable when moving to timing screen, with a tooltip explaining why.
Always inherit the volume from the previous hit object on placement (#28728 by @OliBomby)
Before this PR the next hit object you place would only inherit volume from the previous hit object if you have the 'Auto' bank selected. If you had any other bank selected, the volume would default to 100. Now I made it always inherit volume from the previous hit object. I think this better matches the user's expectation and mimics stable behaviour.
Allow inheriting addition bank from previous hitobject when using auto bank assignment (#28727 by @OliBomby)
Placing hit objects with additions would always result in a normal addition bank when using the 'Auto' bank assignment mode. Now it will inherit the addition bank from the previous hit object if it has additions, or inherit from the normal bank if the previous hit object has no additions.
Fix node samples always having default samples on placement (#28726 by @OliBomby)
Placing a slider with a specific bank, hitsound, or volume would only affect the body samples while the node samples would be the default normal bank with 100 volume. Node samples should be identical to the hit object's samples when placing.
Automatically select all text when focusing sample bank/volume textboxes in editor (and number boxes in general) (#28805 by @frenzibyte)
Add ability to edit beatmap content externally (#28800 by @peppy)
Adjust editor timelines to address most frequent UI complaints (#28788 by @bdach)
The main user complaints in question are:
- Slider velocity display covers tick lines
- Bottom timeline is too large for the value it provides
- Bottom timeline dots are not readable
- Bottom timeline colours aren't what are expected
Add tooltips to summary timeline display (#28831 by @peppy)
Knowing what anything means on this timeline as a new user is quite some trial-and-error effort. This should improve things a bit.
osu.2024-07-12.at.07.38.43.mp4
Smaller changes
- Fix break generation not accounting for concurrent hitobjects correctly (#28630 by @peppy)
- Improve performance of editor tables (#28613 by @bdach)
- Fix editor not loading arbitrary beat divisors (#28638 by @OliBomby)
- Show distance in pixels to previous/next object in osu! hitobject inspector (#28640 by @bdach)
- Fix summary timeline not correctly updating after changes to breaks (#28686 by @peppy)
- Include node samples when changing additions and banks (#28711 by @bdach)
- Fix slider tail volume not saving (#28619 by @bdach)
- Add option to remove breaks via right click (#28707 by @bdach)
- Extend slider selection box bounds to contain all control points inside (#28522 by @bdach)
- Previously, the selection box was only guaranteed to contain the actual body of the slider itself, the control point nodes were allowed to exit it. This lead to a lot of weird interactions with the selection box controls (rotation/drag handles, also the buttons under/over it) as the slider anchors could overlap with them.
before | after |
---|---|
- Add verify checks for incorrect title markers (#28716 by @64ArthurAraujo)
- Add ability to cycle slider control point types via keyboard (#28509 by @bdach)
Recent feedback has indicated that users deem having to right-click-and-context-menu to change slider control point type too cumbersome. While the original stable of shift-click can't currently work well, here's an alternative proposal.
- During slider placement, press Tab and Shift-Tab to change the type of the first control point in the currently-placed segment.
- During slider placement, press S to start a new segment of the path. While this was previously possible via double-clicking, I added this because I realised I didn't know how a user would do this before I looked into source, and the double-click flow seemed really janky.
- After the slider has been placed, select a single anchor and press Tab and Shift-Tab to change the type of its anchor. In contrast to slider placement, if selecting a non-first control point, inherit is an available option when cycling.
- Additionally, the following bindings are available for using specific curve types:
Alt-1 is linear
Alt-2 is bezier
Alt-3 is perfect curve
Alt-4 is B-spline
Alt-5 is inherited (only applicable in selection mode)
The bindings are not rebindable because I would have to put an osu!-specific editor binding in the main project which feels wrong.
- Fix editor not updating ruleset when switching difficulty (#28738 by @frenzibyte)
- Fix incorrect ternary state computation for bank toggles (#28746 by @bdach)
- Fix editor player crashing with UR counter present in skin (#28767 by @bdach)
- Fix editor menus overflowing off-screen (#28765 by @bdach)
- Fix editor playback control not removing correct adjustment (#28770 by @bdach)
- Fix CurrentTimeAccurate being inaccurate (#28772 by @OliBomby)
- Fix composer disappearing when undoing change to control points (#28776 by @bdach)
- Simplify realm model tracking in
BeatmapCarousel
(and fix hard delete handling) (#28769 by @peppy) - Adjust editor UI opacity tweens to be less "flashy" (#28787 by @peppy)
- Improve performance of automatic break regeneration (#28801 by @bdach)
- Remove setup screen controls that do nothing useful (#28806 by @bdach)
- Match osu!mania editor playfield time range with t...
2024.625.2
Editor
Fix crash when attempting to adjust duration of break that has no preceding/succeeding objects (#28580 by @bdach)
Fix crashes when opening scale/rotation popovers during selection box operations (#28589 by @bdach)
Fix editor performance dropping over time when hit markers are enabled (#28592 by @peppy)
Framework
Fix video decoding failing on Android due to missing av_dict_{set,free}
(ppy/osu-framework#6313 by @bdach)
Update framework (#28590 by @peppy)
Gameplay (osu!)
Fix incorrect slider judgement positions when classic mod is active (#28568 by @bdach)
Gameplay (osu!mania)
Fix legacy skin hold note bodies not appearing when scrolling upwards (#28570 by @bdach)
Online
Implement score breakdown display for daily challenge screen (#28561 by @bdach)
Coming soon.
UI
Fix silver S rank display animating on every hit (#28576 by @PercyDan54)
Fix crash on calculating playlist duration when rate-changing mods are present (#28572 by @bdach)
Full Changelog: 2024.625.1...2024.625.2
2024.625.0
Editor
Fix changing slider path segment type not being undoable (#26423 by @B3nn1)
Add precise scaling control to osu! editor (#28309 by @OliBomby)
This adds the scale popover tool from osu!stable to lazer. I tried to mimic the original functionality as closely as possible, and in some aspects improve it.
The default hotkey for the scaling tool which is Ctrl+E
(to avoid conflicts with the skin layout editor).
The maximum value of the scale slider is determined based on the current choice of origin and axis. The maximum value will always be the maximum scaling value that still keeps the scaling objects on screen.
This also slightly changes how the rotation popover works. Now it will automatically select the text in the textbox input, so the user can instantly type the value they want after opening the tool.
Fix legacy osu!mania note body animation not resetting sometimes (#28339 by @bdach)
Add ability to change position, spacing, and rotation of the positional snap grid in the editor (#26309 by @OliBomby)
Allow flip operations in mania editor (#28421 by @bdach)
Fix stack leniency not applying immediately after change (#28441 by @bdach)
Fix changing key count in editor not immediately updating (#28445 by @bdach)
Allow modifying hold note start/end time via mania composer playfield (#28458 by @bdach)
Move timeline toggle controls to "view" menu (#28505 by @bdach)
master | b42752c | 03049d4 |
---|---|---|
editor playfield scale | gameplay playfield scale |
---|---|
Reduce editor opacity of several editor components when hovering over composer (#28507 by @bdach)
Add support for editing per-node hitsounds on sliders (#23443 by @OliBomby)
Display breaks on editor timeline & allow manually adjusting their duration (#28523 by @bdach)
Add automatic generation of breaks in editor (#28528 by @bdach)
Breaks are automatically inserted between objects if there is ample time to do so, namely there must be at least:
- 200ms between the last object before break and the break's start
- 650ms for the break itself
- 2 beat lengths between the break's end and the first object after break. This is a departure from stable wherein this was ruleset- and AR-dependent (by way of using preempt time), but in talking with the NAT it looked like most didn't know the specifics of how that worked so I decided I'd just use something simpler. This also probably works better for something like mania wherein the "preempt time" is largely user-settings-dependent (scroll speed).
Breaks that have been manually adjusted are not moved by the automatic regeneration on changes, unless they would break gameplay (by having an object's duration intersect a break), in which case they are forcibly removed. This manual adjustment tracking state is dodgy at best (will not work properly with undo/redo, because this info is not and should not be serialised out by the legacy beatmap encoder, which means that the manual tracking will be dropped upon undo), but it is what it is. That subsystem needs to get replaced by something else at some point anyway.
Fix osu!taiko playfield not updating after changing scroll speed (#28444 by @bdach)
Smaller changes
- Refactor scale handling in editor to facilitate reuse (#26643 by @OliBomby)
- Fix path blueprint becoming de-synced from slider path size (#28288 by @Hecatia-Lapislazuli)
- Fix editor not saving when textbox is focused during exit procedure (#26717 by @peppy)
- Fix for nearly straight sliders causing a crash (#28297 by @Hecatia-Lapislazuli)
- Fix performance overhead from ternary state bindable callbacks when selection is changing (#28387 by @bdach)
- Disallow running save-related operations concurrently (#28420 by @bdach)
- Fix crash on drag selection via timeline while placement is active (#28478 by @bdach)
Framework
- Fix incorrect assertion and possible nullref (ppy/osu-framework#6293 by @smoogipoo)
- Bring back SDL2 by default, lock SDL3 behind environment variable (ppy/osu-framework#6292 by @smoogipoo)
- Update Veldrid (ppy/osu-framework#6295 by @smoogipoo)
- Update SDL3-CS (ppy/osu-framework#6296 by @bdach)
- Add a way to make Drawable clicks not change focus (ppy/osu-framework#6297 by @smoogipoo)
- Add back support for opening dropdown by setting internal states (ppy/osu-framework#6298 by @smoogipoo)
- Update framework (#28286 by @peppy)
- Fix test failures due to crosstalk via static
AppSettings.SaveReplays
(ppy/osu-server-spectator#236 by @bdach) - Refactor
KeyCombination.ContainsKey()
and.ContainsKeyPermissive()
for better extensibility (ppy/osu-framework#6229 by @Susko3) - Add back
SDL2BatteryInfo
for desktop platforms (#28294 by @Susko3) - Unify logging to use ASP.NET default console logger (ppy/osu-server-spectator#215 by @bdach)
- Fix IL3000 warning on Android (ppy/osu-framework#6300 by @Susko3)
- Show storyboard element path in
Draw Visualiser
(#28305 by @EVAST9919) - Fix crash when dropdown is removed from hierarchy during select (ppy/osu-framework#6302 by @smoogipoo)
- Compute total score without mods during standardised score conversion (#28277 by @bdach)
- Fix
GameHost.Collect()
being called twice on android (ppy/osu-framework#6272 by @Susko3) - Update framework (#28338 by @peppy)
- Always compute slider ball rotation based on tangent (#28343 by @Hecatia-Lapislazuli)
- Calculates the rotation based on an approximation of the tangent at a given point on the slider's path, rather than calculating it based on the previous position in the map.
- Fix
KeyCombination.IsPressed()
tripping assertions when empty (ppy/osu-framework#6304 by @bdach) - Mark
FindClosestParent<T>()
callers as possibly null-returning (ppy/osu-framework#6303 by @bdach) - Avoid
ChatAckRequest
failures flooding console inOsuGameTestScene
s (#28357 by @peppy) - Remove OS username from log headers (ppy/osu-framework#6306 by @sineplusx)
- Fix unable to drag-scroll on collections right-click menu (#28371 by @smoogipoo)
- Update localisations (ppy/osu-resources#325 by @peppy)
- Fix
AssemblyRulesetStore
not marking rulesets as available (#28380 by @peppy) - Fix occasional test failures on new menu content tests (#28383 by @peppy)
- Make shader setter in
SpriteText
protected (ppy/osu-framework#6307 by @EVAST9919) - Disable primary constructor related inspections (#28388 by @bdach)
- Move new screen footer to
OsuGame
and add temporarySongSelectV2
screen (#28185 by @frenzibyte) - Fix auto picking maps on zero ban rounds (#28436 by @omkelderman)
- Use more descriptive HitObject names for debugger displays (#28465 by @smoogipoo)
- Fix excessive
applause
audio balancing in result screen (#28475 by @Joppe27) - Ignore "editlist" when decoding mp4/mov videos (ppy/osu-framework#6311 by @bdach)
- This would cause storyboard videos to not play back the same way stable (and most other video players) plays them back.
- Disable the automatic offset adjustment button if the offset of the previous play was 0 (#28481 by @shiumano)
- Replace audio effect
BindableList
by Add/Remove methods (ppy/osu-framework#6310 by @smoogipoo) - Annotate
ControlPoint
andMod
for AOT trimming support (#28503 by @smoogipoo) - Update framework (#28518 by @bdach)
- Update localisations (ppy/osu-resources#326 by @peppy)
- Fix typo in ScoreProcessor (#28540 by @ssz7-ch2)
Gameplay
Add skinnable rank display (#24475 by @nanashi-1)
Implement basic pass and fail storyboard layer support (#28480 by @bdach)
Smaller changes
- Enforce difficulty setting limits during decode (#28200 by @Hecatia-Lapislazuli)
- Fixes some edge case beatmaps not working as expected.
- Fix cinema mod not hiding playfield skin layer (#28332 by @peppy)
- Hand...
2024.521.2
2024.519.1
What's Changed
- Fix total score without mods migration failing on custom ruleset scores when custom ruleset cannot be loaded by @bdach in #28213
Full Changelog: 2024.519.0...2024.519.1
2024.519.0
Audio
Reduce startup volume (#28031 by @peppy)
Constant complaints about startup volume mean we should reduce it further and let users adjust as they see fit.
Values are from matching roughly with Apple Music volume of the same song, which should be a good guideline for not overpowering other things on system.
Smaller changes
Editor
Add a chevron to distinguish editor menus with submenus (#27974 by @peppy)
Before | After |
---|---|
Preserve storyboard events when saving a beatmap in the editor (#28033 by @peppy)
Until we have full encoding support for storyboards, this stop-gap measure ensures that storyboards don't just disappear from existence. Without this, saving a beatmap in the editor removes all local storyboard content (ie. anything in the .osu file). The most noticeable is any video background.
Smaller changes
- Improve performance in timing setup screen (#27958 by @EVAST9919)
- Add verify checks for incorrect audio formats (#27895 by @64ArthurAraujo)
- Fix deleting modified difficulty via editor leaving user in broken state (#27996 by @bdach)
- If the difficulty being edited has unsaved changes, the editor exit flow would prompt for save after the deletion method has run. This is undesirable from a UX standpoint, and also leaves the user in a broken state.
- Fully refetch working beatmap when entering editor (#27997 by @bdach)
- Fix adding slider control points via context menu not undoing correctly (#27993 by @bdach)
- Fix changing distance spacing multiplier hiding the distance snap grid when it's already shown (#28066 by @bdach)
- Improve slider placement performance (#28102 by @EVAST9919)
- Reduce container nesting inside
PathControlPointPiece
(#28205 by @EVAST9919)
Framework
Fix texture memory leak in Direct3D (ppy/osu-framework#6250 by @smoogipoo)
If you were seeing sluggish performance the longer the game was running (and potentially switched your renderer as a result), please give direct3d another chance!
Upgrade to SDL3 (#27815 by @Susko3)
Migrate Android framework to SDL (ppy/osu-framework#6105 by @hwsmm)
Removes a lot of legacy code and means we have less things to worry about with android.
Smaller changes
- Fix ChannelGetPosition param not being used (ppy/osu-framework#6242 by @smoogipoo)
- Fix tablet info not clearing when unplugged (ppy/osu-framework#6239 by @Joehuu)
- Avoid masking calculations on valid drawables (ppy/osu-framework#6243 by @EVAST9919)
- Perform rounding to
Precision
inBindableNumber
ondecimal
to avoid rounding error accumulation (ppy/osu-framework#6249 by @bdach) - Update to latest SDL3-CS friendly overload and null-terminated UTF8 conversion (ppy/osu-framework#6245 by @Susko3)
- Move user tab selection events to
TabItem
s (ppy/osu-framework#6251 by @frenzibyte) - Fix unnecessary array copying in
WindowsClipboard.SetImage()
(ppy/osu-framework#6252 by @Susko3) - Fix flaky test attribute not working (ppy/osu-framework#6253 by @smoogipoo)
- Remove unused method (#27934 by @smoogipoo)
- Remove unused members from GameplaySkinComponentLookup (#27931 by @smoogipoo)
- Give SerialisedDrawableInfo sane defaults (#27935 by @smoogipoo)
- Update framework (#27930 by @peppy)
- Set IME rectangle before starting text input (ppy/osu-framework#6257 by @Susko3)
- Set event filter early in the startup process to work around SDL issue (ppy/osu-framework#6259 by @Susko3)
- Work around broken
SDL_EVENT_FINGER_DOWN
events that lead to stuck touches (ppy/osu-framework#6258 by @Susko3) - Use generic math for bindable numbers (ppy/osu-framework#6248 by @huoyaoyuan)
- Log SDL3 version and revision on successful initialisation (ppy/osu-framework#6265 by @Susko3)
- Guard against unsupported window mode on startup (ppy/osu-framework#6263 by @Susko3)
- Ignore autogenerated .idea android file (#27986 by @Joehuu)
- Apply nullability annotations to
ResultsScreen
& inheritors (#27995 by @bdach) - Set SDL_HINT_APP_NAME in SDL3GameHost constructor (ppy/osu-framework#6260 by @FreezyLemon)
- Apply generic math-related changes (#27965 by @bdach)
- Delete osuTK windowing (ppy/osu-framework#6267 by @Susko3)
- Add
Update
event toIWindow
(ppy/osu-framework#6270 by @Susko3) - Use SDL3 screen saver functions to implement
AllowScreenSuspension
(ppy/osu-framework#6271 by @Susko3) - Refactor
DisplayHandle
into seperate android and linux properties (ppy/osu-framework#6268 by @Susko3) - Handle new naming inspections on certain enums (#28051 by @frenzibyte)
- Fix broken macOS CI build (ppy/osu-framework#6277 by @smoogipoo)
- Update localisations (ppy/osu-resources#320 by @peppy)
- Add "HP" to the abbreviations list (#28108 by @frenzibyte)
- Fix
userTriggered
param not being passed to private helper (#28124 by @Susko3) - Fix
Xamarin.Jetbrains.Annotations
conflicting withJetbrains.Annotations
(ppy/osu-framework#6279 by @Susko3) - Fix compilation failure in release mode (ppy/osu-server-spectator#232 by @bdach)
- Refactor child masking bounds handling (ppy/osu-framework#6266 by @EVAST9919)
- Apply adjustments after framework changes (#28028 by @bdach)
- Add support for deferred SDL3 clipboard callbacks (and use it for images) (ppy/osu-framework#6254 by @Susko3)
- Use
MustDisposeResource
annotation to appease new ReSharper inspection (#28153 by @frenzibyte) - Apply NRT to results-related components (#28172 by @bdach)
- Update
BouncyCastle.Cryptography
to 2.3.1 (ppy/osu-server-spectator#233 by @bdach) - Fix xmldoc mismatches in localisation files (#28191 by @bdach)
- Remove
TreatWarningsAsErrors
flags from local builds for developer convenience (#28198 by @frenzibyte) - Avoid colour space conversion when multiplying
SRGBColour
by white (ppy/osu-framework#6287 by @EVAST9919)
Gameplay
Tweak resume overlay to allow better visibility of hit objects underneath (#28050 by @peppy)
This change decreases alpha as the count proceeds. It also adds an initial delay before the countdown starts, to make things feel a bit less jank when resuming gameplay. Had to restructure slightly to make that part work.
Don't hide playfield layer with HUD (#28062 by @peppy)
Touched on in #12039. I think this makes sense - things which are attached to the playfield are expected to always be attached and not disappear. Something like an osu!mania health bar.
This gives users a way to make elements always display (regardless of the HUD hide setting) which is also cool.
Improve storyboard performance by using native loop support (#27539 by @frenzibyte)
Smaller changes
- Fix storyboard videos not accepting transforms (#27967 by @peppy)
- In stable, storyboard videos can actually accept all kinds of transforms just like other sprites. That wasn't working until now.
- Continue loading even when osu! logo is being dragged at loading screen (#28174 by @peppy)
Gameplay (osu!)
- Add Traceable performance calculation support (#27148 by @Givikap120)
- Fix resume overlay not appearing after pausing when mouse cursor is inside window but outside of actual playfield area (#27896 by @bdach)
- Fix
cursormiddle
not using the same skin source ascursor
(#27964 by @smoogipoo) - Fix touches on judged circles changing cursor position (#28167 by @smoogipoo)
Gameplay (osu!catch)
Fix gameplay PP counter not matching results screen (#27808 by @smoogipoo)
Gameplay (osu!mania)
Add more usable osu!mania touch input system (#28173 by @peppy)
This takes smoogi's previous effort (#27790) and presents it in a state where it can be merged without skin configurability concerns. I've left the configurable settings in code for exposing in the future.
I've made changes to bring it more in line with how taiko's touch area system was implemented for conformity. The major change is that it no longer uses the presence of touch mod to decide whether to display (and can now be summoned using a mouse click or touch).
Do not change mania column width on mobile platforms (#28186 by @bdach)
With the new touch overlay, this doesn't make as much sense.
Input
- Implement focus traps (ppy/osu-framework#6286 by @smoogipoo)
- By extracting focus-management logic out of
InputManager
, we can implement something akin to a focus trap. Components can trap the...
- By extracting focus-management logic out of
2024.412.1
What's Changed
- Fix crash when entering multiplayer on macOS by @smoogipoo in #27839
Full Changelog: 2024.412.0...2024.412.1