Hello everyone!
It seems everyone's having fun with the collections, so here's a whole bunch of extra stuff to make it even more fun! :3
There's also big improvements for handling audio from @bluecyro, especially on Linux, which should prevent a lot of the pops and clicks.
The second part of the dash fix from @ProbablePrime is also in! Your dash should now get cleaned up automatically and be significantly less heavy if you have not reset it.
And last, there's some fixes to yt-dlp, which should help playing YouTube videos!
- Added ValueList<T> component (requested by @jackthefoxotter, issue #7009)
-- This holds a list of values as individual fields
- Added ValueArray<T> component (requested by @jackthefoxotter, issue #7009)
-- This holds a list of values as continuous array (with variable size)
-- This is more efficient for large amounts of values, but each value isn't its own field that could be individually addressed/driven
- Added ValueDictionary<K,T> component (requested by @jackthefoxotter, issue #7030)
-- This holds primitive values stored under a key of type K (this also needs to be engine primitive)
- Added ReferenceDictionary<K,T> component (requested by @jackthefoxotter, issue #7030)
-- This holds references stored under a key of type K (this needs to be engine primitive)
- Added ReadOnly variants of ForEachWithIndex (requested by @jackthefoxotter, issue #7005)
- Added RemoveAll nodes, which will remove all occurences of specific value in a list (requested by @reddneko, issue #7004)
-- It will also output RemoveCount indicating how many values were removed
-- Even when no values are removed, it will indicate success with RemoveCount being 0
- Added Children node (requested by @jackthefoxotter, issue #7002)
-- This provides readonly list of children of given slot
-- You can use this with the collection nodes such as Foreach
- Added GrabbedGrabbables node (requested by @jackthefoxotter and @reddneko, issue #7010)
-- This will give list of all currently grabbed objects by given grabber
- Simplified the audio frame size settings (implemented by @bluecyro)
-- The output frame size setting now represents multiples of your system's audio buffer rather than static powers of two (this should fix/mitigate popping audio on Linux, reported by LiminalMushroom, issue #6913)
-- You can choose to buffer up to 8 times your system's buffer.
--- The system buffer size is currently only queried from the SoundFlow audio driver
--- This will be statically set to 1024 on Windows unless you've opted to use SoundFlow via the -forcealtaudio launch setting.
- The simulator frame size setting now represents the number of times the audio is simulated per each system buffer.
-- This setting is NOT affected by the output buffer size. It specifically dictates how many simulator frames happen within one system buffer period.
-- E.g. 4 simulation frames for a 960-sample buffer will be 240 samples each.
-- The default value of four simulation frames per buffer should be optimal for most systems, so you should only change this if you know you need to
- Fixed binary encoding for array types
-- This fixes SplitString node causing crashes (reported by @zyro1331, @u1f98a, @_deltawolf, issue #7003)
- An automatic cleanup process will run on your Dash and cleanup any extra components
-- This is part 2 of issue #594 reported by @delta, @jack, djsime1, @Nytra, GrayBoltWolf, @NovaFoxxx, Astral-J, fixed by @ProbablePrime
- Fixed Deno runtime not properly loading (reported by @nytra, @troyborg, @reddneko, @luxkitty, issue #6263)
-- This should also fix some videos only loading as audio (reported by @code807, @luxkitty, @reddneko, issue #7022)
- Added a unit-test utility for loading local files by @Earthmark in #42
- Added readonly list wrapper by @Frooxius in #54