github ppy/osu-framework 2023.618.0

latest releases: 2024.528.1, 2024.528.0, 2024.523.0...
17 months ago

What's Changed

  • Add include guards to all shaders by @smoogipoo in #5832
  • Update README.md to include VS Code plugin prerequisites by @Dreamurrrr in #5833
  • Remove Dropdown.AddDropdownItem(text, value) overload by @Susko3 in #5831
  • Add UseLocalVeldrid scripts by @smoogipoo in #5835
  • Fix cases of incorrect nullability in ToString override definitions by @frenzibyte in #5837
  • Add disk cache for shader compilations by @smoogipoo in #5829
  • Remove overrides of PopIn/PopOut in FocusedOverlayContainer by @jai-x in #5834
  • Add new DeferredStagingBuffer type by @smoogipoo in #5838
  • Fix WaitUntilNextFrameReady not being accounted for as Sleep time by @peppy in #5840
  • Move midi initialisation to a thread by @peppy in #5839
  • Enforce presence of all fragment shader inputs in Veldrid by @frenzibyte in #5687
  • Fix Dropdown calling GenerateItemText() before it was fully loaded by @Susko3 in #5836
  • Expose Path.BackgroundColour as a settable property by @smoogipoo in #5830
  • Fix UseLocalVeldrid not adding satellite assemblies to slnf files by @peppy in #5842
  • Fix nested DI candidates not analysed in non-candidate parent types by @smoogipoo in #5841
  • Fix performance when viewing the tail end of a long / zoomed-in waveform by @peppy in #5843
  • Ensure renderer-api-driven frame wait is only invoked when a frame is actually drawn by @peppy in #5846
  • Improve metal frame rendering when more than one display is connected by @peppy in #5847

Breaking Changes

AddDropdownItem(LocalisableString text, T value) has been removed

If you were using this, refactor your code to use LocalisableString GenerateItemText(T value) instead.

Easiest way is to add LocalisableString? CustomDropdownText to your T, or wrap T in a class that has one.
Then simply change GenerateItemText() to use that:

public partial class MyDropdown : Dropdown<T>
{
    protected override LocalisableString GenerateItemText(T value)
        => value.CustomDropdownText ?? base.GenerateItemText(value);
}

Subclasses of FocusedOverlayContainer must now implement Pop{In,Out}()

Previously, subclasses of FocusedOverlayContainer were not forced to implement Pop{In,Out} themselves, despite actually needing to do so for the overlay to actually play transitions out correctly. This has now been changed and inheritors of the class must always implement Pop{In,Out}.

In practice this should not break any reasonable consumers of the class, except for the need to remove any base.Pop{In,Out}() calls in classes that directly inherit FocusedOverlayContainer and call base in Pop{In,Out}().

New Contributors

Full Changelog: 2023.608.0...2023.618.0

Don't miss a new osu-framework release

NewReleases is sending notifications on new releases.