Releases: ppy/osu-framework
2023.716.0
What's Changed
- Revert iOS frame-rate display fix to resolve issues with running multi-threaded mode by @frenzibyte in #5932
Full Changelog: 2023.715.0...2023.716.0
2023.715.0
What's Changed
Full Changelog: 2023.714.0...2023.715.0
2023.714.0
What's Changed
- Improve
Clipboard
class for use in tests and on Android by @Susko3 in #5919 - Split texture upload performance test into own
TestScene
by @peppy in #5922 - Make frame statistics display usable on mobile platforms by @frenzibyte in #5897
- Fix screenshots not working on Metal by @frenzibyte in #5925
- Fix
FrameBufferScale
not working whenPixelSnapping
is enabled by @peppy in #5926 - Fix texture uploads getting corrupted on Metal with non-Apple GPUs by @frenzibyte in #5924
- Add a fence pool for frame tracking fences by @peppy in #5921
- Replace most usages of
IsDynamicCodeCompiled
withIsDynamicCodeSupported
by @frenzibyte in #5914 - Refactor performance test scenes by @peppy in #5927
- Fix potential texture corruption on Veldrid by @frenzibyte in #5928
- Revert veldrid update by @peppy in #5929
Breaking changes
GameHost.GetClipboard()
is obsolete
The new way to retrieve a Clipboard
instance is to resolve it via dependency injection directly. This does not require resolving the GameHost
anymore:
[BackgroundDependencyLoader]
-private void load(GameHost host)
+private void load(Clipboard clipboard)
{
- host?.Clipboard.SetText("example");
+ clipboard.SetText("example");
}
Full Changelog: 2023.710.0...2023.714.0
2023.710.0
What's Changed
- Add generated code hints in editorconfig / dotsettings by @peppy in #5908
- Add back removed comment on creating texture images with no background specification by @frenzibyte in #5910
- Add basic visual performance test scenes by @frenzibyte in #5904
- Add source generator for IsLongRunning property by @smoogipoo in #5906
- Re-use vertex buffers after batch flushes until filled completely in Veldrid by @frenzibyte in #5894
- Apply code changes required for a future update to .NET 7/8 by @smoogipoo in #5909
- Fix Veldrid texture uploads allocating new command buffers and resources by @frenzibyte in #5911
- Add caching for Veldrid staging buffers in favour of
CommandList.UpdateBuffer
by @frenzibyte in #5913 - Add test scene covering vertex upload performance by @peppy in #5916
- Revert recent changes to UBO upload method for non-metal renderers for now by @peppy in #5917
Full Changelog: 2023.707.0...2023.710.0
2023.707.0
What's Changed
- Add support for alternative clipboard keys (ctrl-insert / shift-delete / shift-insert) by @peppy in #5870
- Fix android safe area not updating after returning to game with a different orientation by @Joehuu in #5872
- Update deployment workflow to automatically run on new tag by @peppy in #5873
- Update veldrid by @peppy in #5876
- Fix
IWindow.Resized
being invoked with invalid data duringWindowMode
switch by @Susko3 in #5880 - Make
IWindow
andIGraphicsSurface
implementationsinternal
by @Susko3 in #5881 - Set PerMonitor V2 DPI awareness on Windows by @Susko3 in #5877
- Work around iOS linker including
ApplicationServices
framework during compilation by @frenzibyte in #5886 - Make shaders with passthrough layouts deterministic again by @smoogipoo in #5889
- Fix game benchmarks being completely broken by @peppy in #5884
- Reduce complexity overhead (and avoid one copy) when obtaining character SSDQs in
SpriteTextDrawNode
by @peppy in #5883 - Reduce VBO buffer count to 2 by @peppy in #5896
- Fix game tools being rendered outside safe area by @frenzibyte in #5887
- Fix frame statistics display showing
CADisplayLink
callback delays under "WndProc" time by @frenzibyte in #5898 - Pool and limit how many GC boxes can be displayed on
FrameStatisticsDisplay
at once by @peppy in #5899 - Fix
PerformanceOverlay
autosize not working due to incorrect anchor by @peppy in #5900 - Switch osu!framework iOS projects to use AOT compilation on release configurations by @frenzibyte in #5903
- Disable front-to-back pass by default on all platforms by @peppy in #5905
- Avoid initialising textures when unnecessary by @peppy in #5901
Full Changelog: 2023.625.0...2023.707.0
2023.625.0
What's Changed
- Exclude U+202F NARROW NO-BREAK SPACE from being treated as fixed-width by @bdach in #5869
- Fix NRT-related issues found game-side by @bdach in #5868
Full Changelog: 2023.624.0...2023.625.0
2023.624.0
What's Changed
- Fix stray inspection showing up in rider by @peppy in #5856
- Tidy up hot reload notification toast by @peppy in #5854
- Improve nested
ScrollContainer
tests by @Susko3 in #5845 - Bump OpenTabletDriver version to 0.6.1.0 by @X9VoiD in #5859
- Cleanup Veldrid shader resource layouts and add header guard by @smoogipoo in #5857
- Fix possible nullref when binding textures under Veldrid by @smoogipoo in #5862
- Remove assembly dropdown from visual test browser by @peppy in #5855
- Ensure triple buffer never uses the same buffer twice in a row by @peppy in #5853
- Don't apply
RenderBufferFormat
s to effect buffers by @EVAST9919 in #5865 - Apply NRT to all files where it can be easily applied by @peppy in #5867
Full Changelog: 2023.620.0...2023.624.0
2023.620.0
What's Changed
- Add source generator for HandleInputCache by @smoogipoo in #5761
- Avoid initialising
VeldridVertexBuffer
immediately by @peppy in #5849 - Fix item labels not generated while dropdown is in
Ready
state by @frenzibyte in #5850
Full Changelog: 2023.618.0...2023.620.0
2023.618.0
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 asSleep
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
callingGenerateItemText()
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
- @Dreamurrrr made their first contribution in #5833
Full Changelog: 2023.608.0...2023.618.0
2023.608.0
What's Changed
- Expose truncated state of
SpriteText
by @Joehuu in #5636 - Remove redundant nullable suppression directives by @frenzibyte in #5824
- Reduce invalidations of
childrenSizeDependencies
in edge cases by @smoogipoo in #5825 - Update Veldrid package to revert
CADisplayLink
implementation from veldrid-side by @frenzibyte in #5826
Full Changelog: 2023.531.0...2023.608.0