1.5.0
Couple of optimization work has been done to further improve memory and time efficiency. This
focuses heavily on speed for faster iteration reason. Overall, it should result in up to 1.6x faster
in general use case.
Added
- Updated to beatmap v3.3.0
- FX Event Box Group
- FX Events Collection
- Linkin Park 2.0 environment & color scheme
- New SongCore features (tags, custom
characteristic label, etc.) - Predefined beatmap data clean method
- This handles only the known data to be cleanse which is significantly faster than deep clean
method - This can also avoid sensitive data like BPM Event where floating point must always be precise
- This handles only the known data to be cleanse which is significantly faster than deep clean
- Info color scheme copy
- Ensure alpha for
toColorObject
invLerp
,remap
,lerpVector
,shallowCopy
, andjsonCopy
utils- Missing
offsetPosition
andoffsetWorldRotation
property forAnimateTrack
and
AssignPathAnimation
- Object method comparison now checks for mod type
Changed
- All beatmap v3 and v2 schema attributes is now optional
- Beatmap v3 now purge all zero value attributes on optimized save (new in 1.32 editor)
- This strips all zero attributes from the object resulting in up to 5x smaller size
- Data check now ignores majority of the missing attributes, defaulting to
0
orfalse
- Older Beat Saber version down to 1.20 can still load the beatmap with no issue
- Can be applied for beatmap v2 but must be explicitly enabled with
purgeZeros
attributes in
optimize
- Does not apply to beatmap v1 as it require all attributes to be present
- All default value changed to
0
,false
or first enum value in attributes- Arc multiplier, tail multiplier
- Chain squish, link count
- Event float value
- Obstacle duration, width, height
- Class static
default
should no longer be touched unless you know what you are doing
- Parsing no longer handle sorting
- Moved to class method, sorting is done by default on load
- The Weeknd and Panic 2.0 color scheme now shows white color value
- Utils no longer require namespace
- This should reveal more hidden utilities without the need to import and destructuring
utils
namespace
- This should reveal more hidden utilities without the need to import and destructuring
- Beatmap Info structure changed to better fit original structure
- This also goes for info custom data
- Beatmap optimization tweaked
- Moved sorting responsibility to saving
- Beatmap
addObject
method now always create new instance - Custom data color scheme
a
is now optional instead of omitted - Removed logging from utils, now throws error instead of warn or error
- Clarify
difficultyFromInfo
return type deepCopy
reworked, formerly is nowjsonCopy
- Converter function renamed for clarity
- Color utils renamed for consistency
HsvaToRgba
tohsvaToRgba
RgbaToHsva
torgbaToHsva
interpolateColor
tolerpColor
- And couple others I forgot
- Renamed
translationDistribution
togapDistribution
- Shortened constant
Position#
toPos#
Fixed
- Data check not picking up
NaN
value - Mapping Extensions precision placement X position being incorrect
- Data check should properly skip error
- Couple of accidental mutation fix from utils
toHexColor
properly normalize the value outside of 0-1 range