All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add missing SimDataGroup values.
- Add BusinessRule value to TuningResourceType enum.
- Fix issue with serializing SimData with adjacent booleans.
- Add object SimData group.
- Add some missing binary resource types (still incomplete).
- Add in missing tuning types and SimData groups (by MycroftJr).
- 'n' attribute now appears first in all nodes extracted from combined tuning.
- Updated dependency on @s4tk/xml-dom to resolve vulnerabilities and fix minor bug.
- XmlResource.dom.root now finds the first child that is an element node, rather than just the first child. This is a breaking change, and is for compatibility with XML files that have a comment on top.
- Update dependency on @s4tk/images to resolve vulnerabilities.
- Add
minify
argument to allgetBuffer()
methods. - Add
merge()
method to Package class. - Add
merge()
method to StringTableResource class. - Add
DevelopmentalMilestone
tuning type and SimData group.
- Update dependencies on @s4tk/xml-dom and @s4tk/images.
- CombinedTuningResource's
clone()
,equals()
, andgetBuffer()
methods are now implemented. CombinedTuningResource.isXml()
is now true, since XML is the only supported format.- Minor optimization when loading resources in packages.
- Unhandled exceptions will no longer output squish.js to the console.
- Update dependency on @s4tk/xml-dom.
- Update dependency on @s4tk/images.
- Add Whim to TuningResourceType enum.
- Add plugin registry.
- Remove dependency on BufferFromFile, use @s4tk/plugin-bufferfromfile instead.
- Fix critical issue with SimData padding.
- Add DeletedResource model.
- Add ObjectDefinitionResource model and associated types.
- Add ObjectDefinition to BinaryResourceType.
- Add OBJDEF and Null to EncodingType.
- Add Clan and ClanValue to TuningResourceType and SimDataGroup.
- Packages can now read deleted entries with an option.
- Add
readBinaryDataModel()
to SimData and CombinedTuning.
- Correct typos in documentation.
- Add DdsImageResource model (for both DDS and DST image resources).
- StaticResources are now editable with
replaceContent()
.
- Update dependencies on other S4TK packages.
- Updated documentation & fix some typos.
- Fix minor issue with SimData/Combined Tuning.
- Remove unnecessary properties from ResourcePosition.
- Streaming packages now works on Windows.
- Add
getLocaleCode()
to StringTableLocale. - Add
indexResources()
to Package. - Add optional
key
attribute to ResourcePosition.
- Add
limit
to PackageFileReadingOptions. - Add
all()
to TuningResourceType, SimDataGroup, and BinaryResourceType. - Add
parseAttr()
andgetAttr()
to TuningResourceType. - Add
TuningResourceType.Street
. - Add
Package.streamResources()
andPackage.fetchResources()
. - Add
ResourcePosition
for use withPackage.fetchResources()
.
- Add
toTuning()
method to CombinedTuningResource.
- Re-add CombinedTuningResource model, this time with an implementation.
- Add
XmlExtractionOptions
for use with CombinedTuningResource. - Add
BinaryResourceType.DdsImage
. - Add
EncodingType.DDS
. - Add
all()
andgetInstanceBase()
functions to StringTableLocale enum. - Add generics to
Package
andResourceEntry
to ease typing. - Add
toJsonObject()
method to StringTableResource. - Add
replaceEntries()
method to MappedModel.
- RawResource now inherits from StaticResource.
- SimDataResource now inherits from DataResource.
- All MappedModelEntry objects now keep track of their own ID.
- Replace compression code with @s4tk/compression package.
- Replace cached buffers with CompressedBuffer objects from @s4tk/compression.
- Split FileReadingOptions into BinaryFileReadingOptions and PackageFileReadingOptions.
- ResourceEntry no longer extends WritableModel and does not store a buffer.
- ResourceKeyPair can no longer contain a buffer.
- WritableModel (and all descending classes, including Packages and Resources)
- Replace static create() methods in ALL subclasses with constructors.
- Update optional arguments for all static from() methods.
- Remove properties: buffer, isCached, saveBuffer.
- Add properties: defaultCompressionType, hasBufferCache.
- Add methods: getBuffer(), getCompressedBuffer(), getCompressedBufferAsync().
- Update number of args for getBufferAsync().
- No longer track if each model should cache its buffers; pass a boolean to the new buffer getter methods to determine if it should be saved.
- Package
- Remove options to clone keys and resources on initialization.
- No longer prevent buffer cacheing, because I'm not your father.
- Remove properties: saveCompressedBuffers, saveDecompressedBuffers.
- Resource
- Remove properties: compressionType, isCompressed, sizeDecompressed.
- RawResource
- Remove properties: plainText.
- Add methods: fromAsync().
- Temporarily remove CombinedTuning model.
- Add create() method to Cell class.
- Added all remaining SimDataGroup types to enum.
- Support reading and writing SimData version 0x100.
- Temporarily stopped parsing DeletedRecords in packages (option will be added).
- Sort columns by offset when reading SimData binary.
- Make SimData's string table order parity S4S's order.
- Write SimData object tables in order of schemas.
- No longer sort schema columns alphabetically when writing SimData XML.
- SimData equality now depends on schemas having columns in the same order.
- SimData Booleans now occupy 4 bytes.
- Undo "fix" from 0.2.1 that incorrectly sorted SimData columns alphabetically.
- Fix null byte padding of SimData schemas and their columns.
- Fix issue serializing vectors with >2 objects in SimData.
- Removed SimDataGroup.Tuning from enum.
- Forced SimData > XML to sort columns alphabetically.
- SimData columns are now written in the correct sorted order.
- Support reading the "Internal Compression" compression type.
- Created
CompressionType
enum and added to API. - Added
compressionType
,isCompressed
, andsizeDecompressed
to the resource interface. - Added new resource properties to RawResource.
- Added
decompressRawResources
to file reading options.
- Changed optional property in
RawResource.from()
to an object that contains more options. - Improved error messages for resources that are raw due to compression.
- Raw resources now know whether they are compressed or not, and what kind of compression they use. They should no longer be double-compressed when using a compression type other than ZLIB.
- Added various types/interfaces to API in
@s4tk/models/types
. - Added
cloneKeys
andcloneResources
options toPackage.create()
options. - Wrote JSON docs for website.
- Export SimData cells as individual classes rather than an object.
- Renamed
TuningResourceType.Street
toTuningResourceType.Tuning
. - Renamed
SimDataGroup.Street
toSimDataGroup.Tuning
. - Made all async methods awaitable.
- Make flags optional on SimDataSchemaColumn constructor.
- Added
StringTableLocale.getLocale()
function.
- First release.