IMPORTANT: This update removes the ability to instantiate from JSON using constructor
and
create
static method, which also includes the ability to mix-and-match between JSON and wrapper
attribute. While the simple fix for constructor
is to use fromJSON
static method, create
may
require effort to fix by transforming it into array and map into fromJSON
. Apologies for the
inconvenience as this move is deemed necessary when moving towards beatmap V4.
Added
- New environment & color scheme
- Daft Punk
- Hip Hop Mixtape
- Beatmap Difficulty, Lightshow, Info and Audio Data v4
- Deduplication of data for v4 (EXPERIMENTAL)
- This only affects the JSON output
- Deduplication of data for v4 (EXPERIMENTAL)
- BPM Info/Audio Data class (subject to change)
- Includes loading and saving
- Beatmap object
fromJSON
static method - Beatmap JSON can now be passed onto
load
instead of just string path- Default file name to
LoadJSON.dat
- Default file name to
- Preprocessing and postprocessing options in
load
andsave
- This allows for arbitrary processing pipeline
load
preprocess and postprocess handles JSON and resulting class object respectively- The reverse is true for
save
- The reverse is true for
range
utils functionWritable
andDeepWritable
type utils
Changed
- Major structure change to Info
- Uses V4 info as baseline
- Difficulty characteristic is now part of difficulty
- Official color scheme is no longer nested
- Minor structure change to Difficulty
- FX Float Event is now part of event box instead of separated entity
create
andconstructor
now only accepts wrapper type- Use
fromJSON
static method for loading JSON schema
- Use
save
now return resulting JSONsave
options allows user to prevent file from being written
clone
method no longer usestoJSON
when cloning- This should result in much faster cloning
- Renamed
setFileName
tosetFilename
for consistency - Converting beatmap version to same version will now create a copy instead of returning the same
data - Converting beatmap now preserve custom data
- Nested load and save options now properly spread instead of replace
- Several class method now return
this
instead ofvoid
to allow chaining - Beatmap version is now read-only
- Internal logic optimised
- Utils rename for clarity
equalNear
->nearEqual
fixRange
->rearrangeTuple
(this may as well be removed or properly renamed)
Fixed
- Test case not using the new default value
- Removed filter in FX collection construction to avoid potential index error
- New easings being disallowed to use
Removed
- Info set object/class, no longer available as of v4
- Mix-and-match constructor/create class object
- Was complicated and confusing to handle