A game framework written with osu! in mind.
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.205.0...2024.215.0
This release is the first to target .NET 8.0.
Move
events by @Feodor0090 in https://github.com/ppy/osu-framework/pull/6165
List
instead of IEnumerable
in InputResampler
by @EVAST9919 in https://github.com/ppy/osu-framework/pull/6173
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.131.0...2024.205.0
IBindableList.GetEnumerator()
boxing and allocating" by @bdach in https://github.com/ppy/osu-framework/pull/6162
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.130.0...2024.131.0
SpriteIcon
flickering for one frame by @EVAST9919 in https://github.com/ppy/osu-framework/pull/6161
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.129.1...2024.130.0
IBindableList.GetEnumerator()
boxing and allocating by @smoogipoo in https://github.com/ppy/osu-framework/pull/6155
Padding
property in GridContainer
by @EVAST9919 in https://github.com/ppy/osu-framework/pull/6145
IRequireHighFrequencyMousePosition
are present by @peppy in https://github.com/ppy/osu-framework/pull/6147
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.127.0...2024.129.1
TabFillFlowContainer
when it can't fit all the items by @EVAST9919 in https://github.com/ppy/osu-framework/pull/6148
[Solo]
attribute by @peppy in https://github.com/ppy/osu-framework/pull/6137
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.121.1...2024.127.0
DrawablePool.Get()
wil now throw if the DrawablePool
did not begin loadPreviously the pool would return drawables correctly before load, but it would not initialise the pool to correct default size, causing overheads on drawable retrieval (usually on update thread).
HostOptions.BindIPC
has been superseded by HostOptions.IPCPort
Previously, the IPC port used for multiple instances of a single osu!framework app was hardcoded in the IPC host itself, effectively making it so that all osu!framework apps would share the same IPC port, which obviously cannot work.
To allow multiple osu!framework apps to utilise IPC concurrently, BindIPC
has thus been replaced by IPCPort
.
IPCPort = null
is equivalent to BindIPC = false
.IPCPort
to a non-null value is equivalent to BindIPC = true
and will force the use the specific port provided.Note that it is advised to use a "user port" (in the range of 1024-49151) as per RFC 6335.
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.121.0...2024.121.1
KeyCombination
throwing when duplicates are fed in by @peppy in https://github.com/ppy/osu-framework/pull/6130
OsuTKWindow.Displays
by @bdach in https://github.com/ppy/osu-framework/pull/6132
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.113.0...2024.114.0
PassThroughInputManager
by @peppy in https://github.com/ppy/osu-framework/pull/6120
SmoothPath
if the existing one is already the correct size by @peppy in https://github.com/ppy/osu-framework/pull/6119
FramedClock
by @peppy in https://github.com/ppy/osu-framework/pull/6122
VeldridTexture.Bind()
by @smoogipoo in https://github.com/ppy/osu-framework/pull/6128
Full Changelog: https://github.com/ppy/osu-framework/compare/2024.110.0...2024.113.0
Insert
for SlimReadOnlyListWrapper
unsupported by @Terochi in https://github.com/ppy/osu-framework/pull/6103
HashSet
instead of List
for temporary check in transform handling by @peppy in https://github.com/ppy/osu-framework/pull/6106
BindableNumber
with precision by @smoogipoo in https://github.com/ppy/osu-framework/pull/6109
InputSampler
by @peppy in https://github.com/ppy/osu-framework/pull/6108
SpriteIcon
by @EVAST9919 in https://github.com/ppy/osu-framework/pull/6111
NormalizedValue
by @peppy in https://github.com/ppy/osu-framework/pull/6116
RunTestsFromNUnit
as public
by @peppy in https://github.com/ppy/osu-framework/pull/6113
Full Changelog: https://github.com/ppy/osu-framework/compare/2023.1227.1...2024.110.0