@etothepii/satisfactory-file-parser 0.4.22 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -33
- package/build/index.d.ts +6 -2
- package/build/index.d.ts.map +1 -0
- package/build/index.js +6 -2
- package/build/index.js.map +1 -0
- package/build/parser/byte/alignment.enum.d.ts +1 -0
- package/build/parser/byte/alignment.enum.d.ts.map +1 -0
- package/build/parser/byte/alignment.enum.js +1 -0
- package/build/parser/byte/alignment.enum.js.map +1 -0
- package/build/parser/byte/binary-operable.interface.d.ts +1 -0
- package/build/parser/byte/binary-operable.interface.d.ts.map +1 -0
- package/build/parser/byte/binary-operable.interface.js +1 -0
- package/build/parser/byte/binary-operable.interface.js.map +1 -0
- package/build/parser/byte/binary-readable.interface.d.ts +1 -0
- package/build/parser/byte/binary-readable.interface.d.ts.map +1 -0
- package/build/parser/byte/binary-readable.interface.js +1 -0
- package/build/parser/byte/binary-readable.interface.js.map +1 -0
- package/build/parser/byte/binary-writable.interface.d.ts +1 -0
- package/build/parser/byte/binary-writable.interface.d.ts.map +1 -0
- package/build/parser/byte/binary-writable.interface.js +1 -0
- package/build/parser/byte/binary-writable.interface.js.map +1 -0
- package/build/parser/byte/byte-reader.class.d.ts +1 -0
- package/build/parser/byte/byte-reader.class.d.ts.map +1 -0
- package/build/parser/byte/byte-reader.class.js +4 -4
- package/build/parser/byte/byte-reader.class.js.map +1 -0
- package/build/parser/byte/byte-writer.class.d.ts +1 -0
- package/build/parser/byte/byte-writer.class.d.ts.map +1 -0
- package/build/parser/byte/byte-writer.class.js +1 -0
- package/build/parser/byte/byte-writer.class.js.map +1 -0
- package/build/parser/error/parser.error.d.ts +1 -0
- package/build/parser/error/parser.error.d.ts.map +1 -0
- package/build/parser/error/parser.error.js +1 -0
- package/build/parser/error/parser.error.js.map +1 -0
- package/build/parser/file.types.d.ts +1 -0
- package/build/parser/file.types.d.ts.map +1 -0
- package/build/parser/file.types.js +1 -0
- package/build/parser/file.types.js.map +1 -0
- package/build/parser/parser.d.ts +18 -3
- package/build/parser/parser.d.ts.map +1 -0
- package/build/parser/parser.js +40 -6
- package/build/parser/parser.js.map +1 -0
- package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts +1 -0
- package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts.map +1 -0
- package/build/parser/satisfactory/blueprint/blueprint-reader.js +2 -1
- package/build/parser/satisfactory/blueprint/blueprint-reader.js.map +1 -0
- package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts +6 -1
- package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts.map +1 -0
- package/build/parser/satisfactory/blueprint/blueprint-writer.js +7 -4
- package/build/parser/satisfactory/blueprint/blueprint-writer.js.map +1 -0
- package/build/parser/satisfactory/blueprint/blueprint.types.d.ts +1 -0
- package/build/parser/satisfactory/blueprint/blueprint.types.d.ts.map +1 -0
- package/build/parser/satisfactory/blueprint/blueprint.types.js +1 -0
- package/build/parser/satisfactory/blueprint/blueprint.types.js.map +1 -0
- package/build/parser/satisfactory/edit/edit-constants.d.ts +1 -0
- package/build/parser/satisfactory/edit/edit-constants.d.ts.map +1 -0
- package/build/parser/satisfactory/edit/edit-constants.js +1 -0
- package/build/parser/satisfactory/edit/edit-constants.js.map +1 -0
- package/build/parser/satisfactory/save/level.class.d.ts +13 -8
- package/build/parser/satisfactory/save/level.class.d.ts.map +1 -0
- package/build/parser/satisfactory/save/level.class.js +104 -48
- package/build/parser/satisfactory/save/level.class.js.map +1 -0
- package/build/parser/satisfactory/save/object-references-list.d.ts +8 -0
- package/build/parser/satisfactory/save/object-references-list.d.ts.map +1 -0
- package/build/parser/satisfactory/save/object-references-list.js +22 -0
- package/build/parser/satisfactory/save/object-references-list.js.map +1 -0
- package/build/parser/satisfactory/save/satisfactory-save.d.ts +4 -3
- package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -0
- package/build/parser/satisfactory/save/satisfactory-save.js +2 -1
- package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -0
- package/build/parser/satisfactory/save/save-reader.d.ts +11 -3
- package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -0
- package/build/parser/satisfactory/save/save-reader.js +59 -21
- package/build/parser/satisfactory/save/save-reader.js.map +1 -0
- package/build/parser/satisfactory/save/save-writer.d.ts +3 -2
- package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -0
- package/build/parser/satisfactory/save/save-writer.js +12 -12
- package/build/parser/satisfactory/save/save-writer.js.map +1 -0
- package/build/parser/satisfactory/save/save.types.d.ts +1 -0
- package/build/parser/satisfactory/save/save.types.d.ts.map +1 -0
- package/build/parser/satisfactory/save/save.types.js +1 -0
- package/build/parser/satisfactory/save/save.types.js.map +1 -0
- package/build/parser/satisfactory/types/objects/SaveComponent.d.ts +1 -0
- package/build/parser/satisfactory/types/objects/SaveComponent.d.ts.map +1 -0
- package/build/parser/satisfactory/types/objects/SaveComponent.js +1 -0
- package/build/parser/satisfactory/types/objects/SaveComponent.js.map +1 -0
- package/build/parser/satisfactory/types/objects/SaveEntity.d.ts +1 -0
- package/build/parser/satisfactory/types/objects/SaveEntity.d.ts.map +1 -0
- package/build/parser/satisfactory/types/objects/SaveEntity.js +6 -5
- package/build/parser/satisfactory/types/objects/SaveEntity.js.map +1 -0
- package/build/parser/satisfactory/types/objects/SaveObject.d.ts +3 -2
- package/build/parser/satisfactory/types/objects/SaveObject.d.ts.map +1 -0
- package/build/parser/satisfactory/types/objects/SaveObject.js +20 -3
- package/build/parser/satisfactory/types/objects/SaveObject.js.map +1 -0
- package/build/parser/satisfactory/types/property/PropertiesList.d.ts +12 -0
- package/build/parser/satisfactory/types/property/PropertiesList.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/PropertiesList.js +250 -0
- package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/ArrayProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/ArrayProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/ArrayProperty.js +7 -6
- package/build/parser/satisfactory/types/property/generic/ArrayProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/BasicProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/BasicProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/BasicProperty.js +1 -0
- package/build/parser/satisfactory/types/property/generic/BasicProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/BoolProperty.js +2 -1
- package/build/parser/satisfactory/types/property/generic/BoolProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/ByteProperty.js +1 -0
- package/build/parser/satisfactory/types/property/generic/ByteProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +1 -0
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/EnumProperty.js +2 -1
- package/build/parser/satisfactory/types/property/generic/EnumProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/FloatProperty.js +1 -0
- package/build/parser/satisfactory/types/property/generic/FloatProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Int32Property.js +1 -0
- package/build/parser/satisfactory/types/property/generic/Int32Property.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Int64Property.js +1 -0
- package/build/parser/satisfactory/types/property/generic/Int64Property.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Int8Property.js +1 -0
- package/build/parser/satisfactory/types/property/generic/Int8Property.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/MapProperty.js +12 -5
- package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +4 -7
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/SetProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/SetProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/SetProperty.js +3 -2
- package/build/parser/satisfactory/types/property/generic/SetProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +3 -0
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +7 -0
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/StrProperty.js +1 -0
- package/build/parser/satisfactory/types/property/generic/StrProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +3 -11
- package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/StructProperty.js +15 -119
- package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +2 -1
- package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/TextProperty.js +6 -5
- package/build/parser/satisfactory/types/property/generic/TextProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint32Property.js +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint32Property.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint64Property.js +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint64Property.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/Uint8Property.js +2 -1
- package/build/parser/satisfactory/types/property/generic/Uint8Property.js.map +1 -0
- package/build/parser/satisfactory/types/property/special/{SpecialAnyProperty.d.ts → SpecialAnyProperties.d.ts} +11 -10
- package/build/parser/satisfactory/types/property/special/SpecialAnyProperties.d.ts.map +1 -0
- package/build/parser/satisfactory/{objects/property/special/SpecialAnyProperty.js → types/property/special/SpecialAnyProperties.js} +1 -0
- package/build/parser/satisfactory/types/property/special/SpecialAnyProperties.js.map +1 -0
- package/build/parser/satisfactory/types/property/special/SpecialProperties.d.ts +8 -0
- package/build/parser/satisfactory/types/property/special/SpecialProperties.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/special/SpecialProperties.js +235 -0
- package/build/parser/satisfactory/types/property/special/SpecialProperties.js.map +1 -0
- package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.d.ts +12 -0
- package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.js +38 -0
- package/build/parser/satisfactory/types/structs/DynamicStructPropertyValue.js.map +1 -0
- package/build/parser/satisfactory/types/structs/GUID.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/GUID.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/GUID.js +1 -0
- package/build/parser/satisfactory/types/structs/GUID.js.map +1 -0
- package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/GUIDInfo.js +1 -0
- package/build/parser/satisfactory/types/structs/GUIDInfo.js.map +1 -0
- package/build/parser/satisfactory/types/structs/MD5Hash.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/MD5Hash.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/MD5Hash.js +1 -0
- package/build/parser/satisfactory/types/structs/MD5Hash.js.map +1 -0
- package/build/parser/satisfactory/types/structs/ObjectReference.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/ObjectReference.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/ObjectReference.js +1 -0
- package/build/parser/satisfactory/types/structs/ObjectReference.js.map +1 -0
- package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/SoftObjectReference.js +1 -0
- package/build/parser/satisfactory/types/structs/SoftObjectReference.js.map +1 -0
- package/build/parser/satisfactory/types/structs/Transform.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/Transform.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/Transform.js +1 -0
- package/build/parser/satisfactory/types/structs/Transform.js.map +1 -0
- package/build/parser/satisfactory/types/structs/col4.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/col4.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/col4.js +1 -0
- package/build/parser/satisfactory/types/structs/col4.js.map +1 -0
- package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.d.ts +11 -0
- package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.js +17 -0
- package/build/parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange.js.map +1 -0
- package/build/parser/satisfactory/types/structs/vec2.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/vec2.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/vec2.js +1 -0
- package/build/parser/satisfactory/types/structs/vec2.js.map +1 -0
- package/build/parser/satisfactory/types/structs/vec3.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/vec3.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/vec3.js +1 -0
- package/build/parser/satisfactory/types/structs/vec3.js.map +1 -0
- package/build/parser/satisfactory/types/structs/vec4.d.ts +1 -0
- package/build/parser/satisfactory/types/structs/vec4.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/vec4.js +1 -0
- package/build/parser/satisfactory/types/structs/vec4.js.map +1 -0
- package/build/parser/stream/reworked/readable-stream-parser.d.ts +6 -5
- package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -0
- package/build/parser/stream/reworked/readable-stream-parser.js +21 -66
- package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -0
- package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +1 -0
- package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +1 -0
- package/build/parser/stream/reworked/save-stream-json-stringifier.js +1 -0
- package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +1 -0
- package/build/parser/stream/reworked/save-stream-writer.class.d.ts +3 -2
- package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +1 -0
- package/build/parser/stream/reworked/save-stream-writer.class.js +1 -0
- package/build/parser/stream/reworked/save-stream-writer.class.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +92 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1493 -0
- package/docs/classes/AbstractBaseProperty.html +6 -0
- package/docs/classes/AbstractProperty.html +4 -0
- package/docs/classes/ArrayProperty.html +13 -0
- package/docs/classes/BasicProperty.html +7 -0
- package/docs/classes/BlueprintConfigReader.html +35 -0
- package/docs/classes/BlueprintConfigWriter.html +37 -0
- package/docs/classes/BlueprintReader.html +36 -0
- package/docs/classes/BlueprintWriter.html +40 -0
- package/docs/classes/BoolProperty.html +13 -0
- package/docs/classes/ByteProperty.html +13 -0
- package/docs/classes/CompressionLibraryError.html +11 -0
- package/docs/classes/CorruptSaveError.html +11 -0
- package/docs/classes/DoubleProperty.html +13 -0
- package/docs/classes/EnumProperty.html +13 -0
- package/docs/classes/FloatProperty.html +13 -0
- package/docs/classes/Int32Property.html +13 -0
- package/docs/classes/Int64Property.html +13 -0
- package/docs/classes/Int8Property.html +13 -0
- package/docs/classes/MapProperty.html +17 -0
- package/docs/classes/ObjectProperty.html +13 -0
- package/docs/classes/Parser.html +35 -0
- package/docs/classes/ParserError.html +11 -0
- package/docs/classes/ReadableStreamParser.html +8 -0
- package/docs/classes/SatisfactorySave.html +8 -0
- package/docs/classes/SaveComponent.html +17 -0
- package/docs/classes/SaveEntity.html +23 -0
- package/docs/classes/SaveReader.html +43 -0
- package/docs/classes/SaveStreamJsonStringifier.html +4 -0
- package/docs/classes/SaveStreamWriter.html +16 -0
- package/docs/classes/SaveWriter.html +42 -0
- package/docs/classes/SetProperty.html +12 -0
- package/docs/classes/StrProperty.html +13 -0
- package/docs/classes/StructProperty.html +18 -0
- package/docs/classes/TextProperty.html +13 -0
- package/docs/classes/TimeoutError.html +11 -0
- package/docs/classes/Uint32Property.html +13 -0
- package/docs/classes/Uint64Property.html +13 -0
- package/docs/classes/Uint8Property.html +13 -0
- package/docs/classes/UnimplementedError.html +11 -0
- package/docs/classes/UnsupportedVersionError.html +11 -0
- package/docs/functions/DynamicStructPropertyValue.read.html +1 -0
- package/docs/functions/DynamicStructPropertyValue.write.html +1 -0
- package/docs/functions/FICFrameRange.Parse.html +1 -0
- package/docs/functions/FICFrameRange.Serialize.html +1 -0
- package/docs/functions/GUID.read.html +1 -0
- package/docs/functions/GUID.write.html +1 -0
- package/docs/functions/GUIDInfo.read.html +1 -0
- package/docs/functions/GUIDInfo.write.html +1 -0
- package/docs/functions/Level.ReadAllObjectContents.html +1 -0
- package/docs/functions/Level.ReadAllObjectHeaders.html +1 -0
- package/docs/functions/Level.ReadLevel.html +1 -0
- package/docs/functions/Level.ReadNObjectContents.html +1 -0
- package/docs/functions/Level.ReadNObjectHeaders.html +1 -0
- package/docs/functions/Level.SerializeAllObjectContents.html +1 -0
- package/docs/functions/Level.SerializeAllObjectHeaders.html +1 -0
- package/docs/functions/Level.SerializeLevel.html +1 -0
- package/docs/functions/MD5Hash.read.html +1 -0
- package/docs/functions/MD5Hash.write.html +1 -0
- package/docs/functions/ObjectReference.read.html +1 -0
- package/docs/functions/ObjectReference.write.html +1 -0
- package/docs/functions/PropertiesList.ParseList.html +1 -0
- package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -0
- package/docs/functions/PropertiesList.SerializeList.html +1 -0
- package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -0
- package/docs/functions/SoftObjectReference.read.html +1 -0
- package/docs/functions/SoftObjectReference.write.html +1 -0
- package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -0
- package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -0
- package/docs/functions/Transform.Parse.html +1 -0
- package/docs/functions/Transform.ParseF.html +1 -0
- package/docs/functions/Transform.Serialize.html +1 -0
- package/docs/functions/Transform.SerializeF.html +1 -0
- package/docs/functions/col4.ParseBGRA.html +1 -0
- package/docs/functions/col4.ParseRGBA.html +1 -0
- package/docs/functions/col4.SerializeBGRA.html +1 -0
- package/docs/functions/col4.SerializeRGBA.html +1 -0
- package/docs/functions/isArrayProperty.html +1 -0
- package/docs/functions/isBoolProperty.html +1 -0
- package/docs/functions/isByteProperty.html +1 -0
- package/docs/functions/isDoubleProperty.html +1 -0
- package/docs/functions/isEnumProperty.html +1 -0
- package/docs/functions/isFloatProperty.html +1 -0
- package/docs/functions/isInt32Property.html +1 -0
- package/docs/functions/isInt64Property.html +1 -0
- package/docs/functions/isInt8Property.html +1 -0
- package/docs/functions/isMapProperty.html +1 -0
- package/docs/functions/isObjectProperty.html +1 -0
- package/docs/functions/isSaveComponent.html +1 -0
- package/docs/functions/isSaveEntity.html +1 -0
- package/docs/functions/isSetProperty.html +1 -0
- package/docs/functions/isStrProperty.html +1 -0
- package/docs/functions/isStructProperty.html +1 -0
- package/docs/functions/isTextProperty.html +1 -0
- package/docs/functions/isUInt64Property.html +1 -0
- package/docs/functions/isUint32Property.html +1 -0
- package/docs/functions/isUint8Property.html +1 -0
- package/docs/functions/vec2.Parse.html +1 -0
- package/docs/functions/vec2.ParseF.html +1 -0
- package/docs/functions/vec2.Serialize.html +1 -0
- package/docs/functions/vec2.SerializeF.html +1 -0
- package/docs/functions/vec3.Parse.html +1 -0
- package/docs/functions/vec3.ParseF.html +1 -0
- package/docs/functions/vec3.ParseInt.html +1 -0
- package/docs/functions/vec3.Serialize.html +1 -0
- package/docs/functions/vec3.SerializeF.html +1 -0
- package/docs/functions/vec3.SerializeInt.html +1 -0
- package/docs/functions/vec3.add.html +1 -0
- package/docs/functions/vec3.length.html +1 -0
- package/docs/functions/vec3.mult.html +1 -0
- package/docs/functions/vec3.norm.html +1 -0
- package/docs/functions/vec3.sub.html +1 -0
- package/docs/functions/vec4.Parse.html +1 -0
- package/docs/functions/vec4.ParseF.html +1 -0
- package/docs/functions/vec4.Serialize.html +1 -0
- package/docs/functions/vec4.SerializeF.html +1 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +146 -0
- package/docs/interfaces/Blueprint.html +6 -0
- package/docs/interfaces/BlueprintConfig.html +6 -0
- package/docs/interfaces/ModData.html +4 -0
- package/docs/interfaces/SatisfactoryModMetadata.html +4 -0
- package/docs/interfaces/SatisfactorySaveHeader.html +18 -0
- package/docs/interfaces/SaveComponentHeader.html +5 -0
- package/docs/interfaces/SaveEntityHeader.html +7 -0
- package/docs/modules/DynamicStructPropertyValue.html +3 -0
- package/docs/modules/FICFrameRange.html +3 -0
- package/docs/modules/GUID.html +3 -0
- package/docs/modules/GUIDInfo.html +3 -0
- package/docs/modules/Level.html +9 -0
- package/docs/modules/MD5Hash.html +3 -0
- package/docs/modules/ObjectReference.html +3 -0
- package/docs/modules/PropertiesList.html +5 -0
- package/docs/modules/SoftObjectReference.html +3 -0
- package/docs/modules/SpecialProperties.html +3 -0
- package/docs/modules/Transform.html +5 -0
- package/docs/modules/col4.html +5 -0
- package/docs/modules/vec2.html +5 -0
- package/docs/modules/vec3.html +12 -0
- package/docs/modules/vec4.html +5 -0
- package/docs/modules.html +123 -0
- package/docs/types/ArrayPropertyStructValueFields.html +1 -0
- package/docs/types/BasicMultipleStructPropertyValue.html +1 -0
- package/docs/types/BasicStructPropertyValue.html +1 -0
- package/docs/types/BlueprintHeader.html +1 -0
- package/docs/types/BoxStructPropertyValue.html +1 -0
- package/docs/types/BuildableSubsystemSpecialProperties.html +1 -0
- package/docs/types/BuildableTypeInstance.html +1 -0
- package/docs/types/BytePropertyValue.html +1 -0
- package/docs/types/ClientIdentityInfo.html +1 -0
- package/docs/types/ConveyorChainActorSpecialProperties.html +1 -0
- package/docs/types/ConveyorChainSegmentSpecialProperties.html +1 -0
- package/docs/types/ConveyorItemSpecialProperties.html +1 -0
- package/docs/types/DynamicStructPropertyValue-1.html +1 -0
- package/docs/types/EmptySpecialProperties.html +1 -0
- package/docs/types/FICFrameRange-1.html +1 -0
- package/docs/types/FICFrameRangeStructPropertyValue.html +1 -0
- package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -0
- package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -0
- package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -0
- package/docs/types/GUID-1.html +1 -0
- package/docs/types/GUIDInfo-1.html +1 -0
- package/docs/types/InventoryItemStructPropertyValue.html +1 -0
- package/docs/types/Level-1.html +1 -0
- package/docs/types/MAP_STRUCT_KEY_PROXY.html +1 -0
- package/docs/types/MD5Hash-1.html +1 -0
- package/docs/types/ObjectReference-1.html +1 -0
- package/docs/types/PlayerSpecialProperties.html +1 -0
- package/docs/types/PowerLineSpecialProperties.html +1 -0
- package/docs/types/PropertiesMap.html +1 -0
- package/docs/types/RailroadTrackPositionStructPropertyValue.html +1 -0
- package/docs/types/RoughSaveVersion.html +1 -0
- package/docs/types/SoftObjectReference-1.html +1 -0
- package/docs/types/SpecialAnyProperties.html +1 -0
- package/docs/types/TextPropertyValue.html +1 -0
- package/docs/types/Transform-1.html +1 -0
- package/docs/types/col4-1.html +1 -0
- package/docs/types/vec2-1.html +1 -0
- package/docs/types/vec3-1.html +1 -0
- package/docs/types/vec4-1.html +1 -0
- package/docs/variables/EDIT.html +1 -0
- package/package.json +5 -10
- package/build/parser/satisfactory/objects/DataFields.d.ts +0 -15
- package/build/parser/satisfactory/objects/DataFields.js +0 -491
- package/build/parser/satisfactory/objects/GUIDInfo.d.ts +0 -8
- package/build/parser/satisfactory/objects/GUIDInfo.js +0 -26
- package/build/parser/satisfactory/objects/SaveComponent.d.ts +0 -19
- package/build/parser/satisfactory/objects/SaveComponent.js +0 -31
- package/build/parser/satisfactory/objects/SaveEntity.d.ts +0 -30
- package/build/parser/satisfactory/objects/SaveEntity.js +0 -66
- package/build/parser/satisfactory/objects/SaveObject.d.ts +0 -24
- package/build/parser/satisfactory/objects/SaveObject.js +0 -33
- package/build/parser/satisfactory/objects/property/generic/ArrayProperty.d.ts +0 -21
- package/build/parser/satisfactory/objects/property/generic/ArrayProperty.js +0 -169
- package/build/parser/satisfactory/objects/property/generic/BasicProperty.d.ts +0 -25
- package/build/parser/satisfactory/objects/property/generic/BasicProperty.js +0 -27
- package/build/parser/satisfactory/objects/property/generic/BoolProperty.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/BoolProperty.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/ByteProperty.d.ts +0 -17
- package/build/parser/satisfactory/objects/property/generic/ByteProperty.js +0 -50
- package/build/parser/satisfactory/objects/property/generic/DoubleProperty.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/DoubleProperty.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/EnumProperty.d.ts +0 -19
- package/build/parser/satisfactory/objects/property/generic/EnumProperty.js +0 -33
- package/build/parser/satisfactory/objects/property/generic/FloatProperty.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/FloatProperty.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/Int32Property.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/Int32Property.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/Int64Property.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/Int64Property.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/Int8Property.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/Int8Property.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/MapProperty.d.ts +0 -21
- package/build/parser/satisfactory/objects/property/generic/MapProperty.js +0 -160
- package/build/parser/satisfactory/objects/property/generic/ObjectProperty.d.ts +0 -14
- package/build/parser/satisfactory/objects/property/generic/ObjectProperty.js +0 -35
- package/build/parser/satisfactory/objects/property/generic/SetProperty.d.ts +0 -11
- package/build/parser/satisfactory/objects/property/generic/SetProperty.js +0 -92
- package/build/parser/satisfactory/objects/property/generic/SoftObjectProperty.d.ts +0 -12
- package/build/parser/satisfactory/objects/property/generic/SoftObjectProperty.js +0 -25
- package/build/parser/satisfactory/objects/property/generic/StrProperty.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/StrProperty.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/StructProperty.d.ts +0 -66
- package/build/parser/satisfactory/objects/property/generic/StructProperty.js +0 -361
- package/build/parser/satisfactory/objects/property/generic/TextProperty.d.ts +0 -29
- package/build/parser/satisfactory/objects/property/generic/TextProperty.js +0 -109
- package/build/parser/satisfactory/objects/property/generic/Uint32Property.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/Uint32Property.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/Uint64Property.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/Uint64Property.js +0 -30
- package/build/parser/satisfactory/objects/property/generic/Uint8Property.d.ts +0 -13
- package/build/parser/satisfactory/objects/property/generic/Uint8Property.js +0 -30
- package/build/parser/satisfactory/objects/property/special/SpecialAnyProperty.d.ts +0 -52
- package/build/parser/satisfactory/objects/ue/MD5Hash.d.ts +0 -10
- package/build/parser/satisfactory/objects/ue/MD5Hash.js +0 -21
- package/build/parser/satisfactory/objects/values/GUID.d.ts +0 -7
- package/build/parser/satisfactory/objects/values/GUID.js +0 -21
- package/build/parser/satisfactory/objects/values/ObjectReference.d.ts +0 -10
- package/build/parser/satisfactory/objects/values/ObjectReference.js +0 -17
- package/build/parser/satisfactory/objects/values/SoftObjectReference.d.ts +0 -11
- package/build/parser/satisfactory/objects/values/SoftObjectReference.js +0 -19
- package/build/parser/satisfactory/structs/util.types.d.ts +0 -60
- package/build/parser/satisfactory/structs/util.types.js +0 -147
- package/build/parser/satisfactory/types/property/DataFields.d.ts +0 -15
- package/build/parser/satisfactory/types/property/DataFields.js +0 -493
- package/build/parser/satisfactory/types/property/special/SpecialAnyProperty.js +0 -2
package/README.md
CHANGED
|
@@ -21,31 +21,40 @@ Game Version Files of U5 and below are NOT supported.
|
|
|
21
21
|
# Installation via npm
|
|
22
22
|
`npm install @etothepii/satisfactory-file-parser`
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# Mod Support ✅
|
|
25
|
+
By Default, most Mods just reuse Properties and Structs of the base game.
|
|
26
|
+
If however a Mod should not be working or have just objects with a lot of trailing unparseable data, Raise an issue or contact me.
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
Some explicitly tested mods include:
|
|
29
|
+
Ficsit-Cam, Structural Solutions, Linear Motion, Container Screens, Conveyor Wall Hole, X3-Signs, X3-Roads
|
|
30
|
+
|
|
31
|
+
# Reading a Save
|
|
32
|
+
Reading a Save in Memory.
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
import * as fs from 'fs';
|
|
36
|
+
import { Parser } from '@etothepii/satisfactory-file-parser';
|
|
37
|
+
|
|
38
|
+
const file = fs.readFileSync('./MySave.sav');
|
|
39
|
+
const save = Parser.ParseSave('MySave', file.buffer);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
You can also read a Save via stream, to save RAM.
|
|
44
|
+
The binary data of the whole save will still be in memory, but the converted JSON can be streamed. (You can of course keep reading the stream in memory).
|
|
27
45
|
The returned `stream` is a readable WHATWG stream of type string and represents a `SatisfactorySave` object. this object can be serialized again.
|
|
28
46
|
WHATWG is used by default by browsers. Node js can use them using `Writable.toWeb()` and `Writable.fromWeb()` for example.
|
|
29
|
-
|
|
30
47
|
```js
|
|
31
48
|
import * as fs from 'fs';
|
|
32
|
-
import * as path from 'path';
|
|
33
49
|
import { Writable } from 'stream';
|
|
34
50
|
import { WritableStream } from 'stream/web';
|
|
35
51
|
import { ReadableStreamParser } from '@etothepii/satisfactory-file-parser';
|
|
36
52
|
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const outJsonPath = path.join(__dirname, 'MySave.json');
|
|
40
|
-
const jsonFileStream = fs.createWriteStream(outJsonPath, { highWaterMark: 1024 * 1024 * 200 }); // your outgoing JSON stream. In this case directly to file.
|
|
53
|
+
const file = fs.readFileSync('./MySave.sav');
|
|
54
|
+
const jsonFileStream = fs.createWriteStream('./MySave.json', { highWaterMark: 1024 * 1024 * 200 }); // your outgoing JSON stream. In this case directly to file.
|
|
41
55
|
const whatwgWriteStream = Writable.toWeb(jsonFileStream) as WritableStream<string>; // convert the file stream to WHATWG-compliant stream
|
|
42
56
|
|
|
43
|
-
const { stream, startStreaming } = ReadableStreamParser.CreateReadableStreamFromSaveToJson('MySave', file
|
|
44
|
-
console.log('on binary body data.');
|
|
45
|
-
}, (progress: number, msg: string | undefined) => {
|
|
46
|
-
// a callback for reporting progress as number [0,1]. Sometimes has a message.
|
|
47
|
-
console.log(`progress`, progress, msg);
|
|
48
|
-
});
|
|
57
|
+
const { stream, startStreaming } = ReadableStreamParser.CreateReadableStreamFromSaveToJson('MySave', file);
|
|
49
58
|
|
|
50
59
|
stream.pipeTo(whatwgWriteStream);
|
|
51
60
|
jsonFileStream.on('close', () => {
|
|
@@ -55,18 +64,15 @@ jsonFileStream.on('close', () => {
|
|
|
55
64
|
startStreaming();
|
|
56
65
|
```
|
|
57
66
|
|
|
67
|
+
|
|
58
68
|
Consequently, writing a parsed save file back is just as easy.
|
|
59
69
|
The SaveParser has callbacks to assist during syncing on different occasions during the process.
|
|
60
70
|
For example, when writing the header or when writing a chunk of the save body.
|
|
61
71
|
The splitting in individual chunks enables you to more easily stream the binary data to somewhere else.
|
|
62
72
|
```js
|
|
63
73
|
import * as fs from 'fs';
|
|
64
|
-
import * as path from 'path';
|
|
65
74
|
import { Parser } from "@etothepii/satisfactory-file-parser";
|
|
66
75
|
|
|
67
|
-
// save is your SatisfactorySave object to serialize. In this example i read it back in from a json file.
|
|
68
|
-
const save = JSON.parse(fs.readFileSync(path.join(__dirname, 'MySave.json'), {encoding: 'utf-8'}));
|
|
69
|
-
|
|
70
76
|
let fileHeader: Uint8Array;
|
|
71
77
|
const bodyChunks: Uint8Array[] = [];
|
|
72
78
|
Parser.WriteSave(save, binaryBeforeCompressed => {
|
|
@@ -85,7 +91,6 @@ fs.writeFileSync('./MyModifiedSave.sav', Buffer.concat([fileHeader!, ...bodyChun
|
|
|
85
91
|
|
|
86
92
|
|
|
87
93
|
## Inspecting Save Objects
|
|
88
|
-
Once you have the complete parsing done, the JSON is a `SatisfactorySave` object.
|
|
89
94
|
You can for example loop through players and print their cached names and positions.
|
|
90
95
|
|
|
91
96
|
```js
|
|
@@ -109,7 +114,7 @@ import { Parser } from "@etothepii/satisfactory-file-parser";
|
|
|
109
114
|
|
|
110
115
|
const mainFile = fs.readFileSync('./MyBlueprint.sbp');
|
|
111
116
|
const configFile = fs.readFileSync('./MyBlueprint.sbpcfg');
|
|
112
|
-
const
|
|
117
|
+
const blueprint = Parser.ParseBlueprintFiles('Myblueprint', mainFile, configFile);
|
|
113
118
|
```
|
|
114
119
|
|
|
115
120
|
Consequently, writing a blueprint into binary data works the same way with getting callbacks in the same style as the save parsing.
|
|
@@ -119,28 +124,66 @@ import { Parser } from "@etothepii/satisfactory-file-parser";
|
|
|
119
124
|
|
|
120
125
|
let mainFileHeader: Uint8Array;
|
|
121
126
|
const mainFileBodyChunks: Uint8Array[] = [];
|
|
122
|
-
const summary = Parser.WriteBlueprintFiles(blueprint,
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
const summary = Parser.WriteBlueprintFiles(blueprint, {
|
|
128
|
+
onMainFileHeader: header => {
|
|
129
|
+
console.log('on main file header.');
|
|
130
|
+
mainFileHeader = header;
|
|
131
|
+
}, onMainFileChunk: chunk => {
|
|
132
|
+
console.log('on main file body chunk.');
|
|
133
|
+
mainFileBodyChunks.push(chunk);
|
|
134
|
+
}
|
|
130
135
|
});
|
|
131
136
|
|
|
132
137
|
// write complete .sbp file back to disk
|
|
133
|
-
fs.writeFileSync('./
|
|
138
|
+
fs.writeFileSync('./MyBlueprint.sbp', Buffer.concat([mainFileHeader!, ...mainFileBodyChunks]));
|
|
134
139
|
|
|
135
140
|
// write .sbpcfg file back to disk, we get that data from the result of WriteBlueprintFiles
|
|
136
|
-
fs.writeFileSync('./
|
|
141
|
+
fs.writeFileSync('./MyBlueprint.sbpcfg', Buffer.from(summary.configFileBinary));
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
# Additional Infos
|
|
145
|
+
For every parser call, you can pass optional callbacks to receive additional info.
|
|
146
|
+
Like a callback on the decompressed save body. Parsing saves provides a callback for reporting progress [0,1] and an occasional message.
|
|
147
|
+
```js
|
|
148
|
+
const save = Parser.ParseSave('MySave', file.buffer, {
|
|
149
|
+
onDecompressedSaveBody: (body) => console.log('on decompressed body', body.byteLength),
|
|
150
|
+
onProgressCallback: (progress, msg) => console.log(progress, msg)
|
|
151
|
+
});
|
|
152
|
+
```
|
|
153
|
+
```js
|
|
154
|
+
const { stream, startStreaming } = ReadableStreamParser.CreateReadableStreamFromSaveToJson(savename, file, {
|
|
155
|
+
onProgress: (progress, msg) => console.log(`progress`, progress, msg);
|
|
156
|
+
});
|
|
157
|
+
```
|
|
158
|
+
```js
|
|
159
|
+
const blueprint = Parser.ParseBlueprintFiles('Myblueprint', file, configFile, {
|
|
160
|
+
onDecompressedBlueprintBody: (body) => console.log('on decompressed body', body.byteLength),
|
|
161
|
+
});
|
|
137
162
|
```
|
|
138
163
|
|
|
139
164
|
# Bug Reports or Feedback
|
|
140
|
-
|
|
141
|
-
If you find a bug or have feedback about the parser, you can just open an issue on the github repo or hit me up on the satisfactory discord `etothepii`.
|
|
165
|
+
You can always raise an issue on the linked github project or hit me up on the satisfactory discord `etothepii`.
|
|
142
166
|
|
|
143
167
|
# Changelog
|
|
168
|
+
### [1.0.1] (2024-10-17)
|
|
169
|
+
#### Major breaking changes on Parser usage
|
|
170
|
+
* Cleaned Usage methods of Save / Blueprint Parsing. The callbacks are an optional additional parameter object now instead of required.
|
|
171
|
+
* Re-Added a method to parse Saves in memory again. (sorry for the inconvenience)
|
|
172
|
+
#### Internal structure changes
|
|
173
|
+
* `SatisfactorySave` structure changed, the `grids` and `gridHash` fields are slightly different now, since their meaning became more clear. Not relevant for normal save editing.
|
|
174
|
+
* `Level` is a namespace instead of a class now, since the classes had only static methods anyway.
|
|
175
|
+
#### module build now includes source maps
|
|
176
|
+
#### module build should now include a docs folder for auto-generated documentation
|
|
177
|
+
|
|
178
|
+
### [0.5.1] (2024-10-15)
|
|
179
|
+
#### Added Mod Support
|
|
180
|
+
#### Internal Renamings
|
|
181
|
+
* `DynamicStructPropertyValue` extracted to own file.
|
|
182
|
+
* Parsing of object data partially moved to `SaveObject`.
|
|
183
|
+
* Renamed `DataFields` class to `PropertiesList`.
|
|
184
|
+
* Moved parsing of class-specific properties into own namespace.
|
|
185
|
+
* `ObjectProperty` and `SoftObjectProperty` now reuse the correct method for parsing/serializing the reference value.
|
|
186
|
+
|
|
144
187
|
### [0.4.22] (2024-10-07)
|
|
145
188
|
#### compatibility fix
|
|
146
189
|
* referenced icon libraries in blueprints are now optional when being parsed.
|
|
@@ -189,7 +232,7 @@ If you find a bug or have feedback about the parser, you can just open an issue
|
|
|
189
232
|
# License
|
|
190
233
|
MIT License
|
|
191
234
|
|
|
192
|
-
Copyright (c) 2024 etothepii
|
|
235
|
+
Copyright (c) 2021-2024 etothepii
|
|
193
236
|
|
|
194
237
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
195
238
|
of this software and associated documentation files (the "Software"), to deal
|
package/build/index.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export * from './parser/satisfactory/save/satisfactory-save';
|
|
|
4
4
|
export * from './parser/satisfactory/save/save.types';
|
|
5
5
|
export * from './parser/satisfactory/types/objects/SaveComponent';
|
|
6
6
|
export * from './parser/satisfactory/types/objects/SaveEntity';
|
|
7
|
-
export * from './parser/satisfactory/types/property/DataFields';
|
|
8
7
|
export * from './parser/satisfactory/types/property/generic/ArrayProperty';
|
|
9
8
|
export * from './parser/satisfactory/types/property/generic/BasicProperty';
|
|
10
9
|
export * from './parser/satisfactory/types/property/generic/BoolProperty';
|
|
@@ -24,11 +23,15 @@ export * from './parser/satisfactory/types/property/generic/TextProperty';
|
|
|
24
23
|
export * from './parser/satisfactory/types/property/generic/Uint32Property';
|
|
25
24
|
export * from './parser/satisfactory/types/property/generic/Uint64Property';
|
|
26
25
|
export * from './parser/satisfactory/types/property/generic/Uint8Property';
|
|
27
|
-
export * from './parser/satisfactory/types/property/
|
|
26
|
+
export * from './parser/satisfactory/types/property/PropertiesList';
|
|
27
|
+
export * from './parser/satisfactory/types/property/special/SpecialAnyProperties';
|
|
28
|
+
export * from './parser/satisfactory/types/property/special/SpecialProperties';
|
|
28
29
|
export * from './parser/satisfactory/types/structs/col4';
|
|
30
|
+
export * from './parser/satisfactory/types/structs/DynamicStructPropertyValue';
|
|
29
31
|
export * from './parser/satisfactory/types/structs/GUID';
|
|
30
32
|
export * from './parser/satisfactory/types/structs/GUIDInfo';
|
|
31
33
|
export * from './parser/satisfactory/types/structs/MD5Hash';
|
|
34
|
+
export * from './parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange';
|
|
32
35
|
export * from './parser/satisfactory/types/structs/ObjectReference';
|
|
33
36
|
export * from './parser/satisfactory/types/structs/SoftObjectReference';
|
|
34
37
|
export * from './parser/satisfactory/types/structs/Transform';
|
|
@@ -45,3 +48,4 @@ export * from './parser/error/parser.error';
|
|
|
45
48
|
export { Parser } from './parser/parser';
|
|
46
49
|
export { ReadableStreamParser } from './parser/stream/reworked/readable-stream-parser';
|
|
47
50
|
export * from './parser/satisfactory/edit/edit-constants';
|
|
51
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iDAAiD,CAAC;AAChE,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,uCAAuC,CAAC;AACtD,cAAc,mDAAmD,CAAC;AAClE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,qDAAqD,CAAC;AACpE,cAAc,mEAAmE,CAAC;AAClF,cAAc,gEAAgE,CAAC;AAC/E,cAAc,0CAA0C,CAAC;AACzD,cAAc,gEAAgE,CAAC;AAC/E,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kEAAkE,CAAC;AACjF,cAAc,qDAAqD,CAAC;AACpE,cAAc,yDAAyD,CAAC;AACxE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AACzD,cAAc,0CAA0C,CAAC;AAGzD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AAGrF,cAAc,6BAA6B,CAAC;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAGvF,cAAc,2CAA2C,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -21,7 +21,6 @@ __exportStar(require("./parser/satisfactory/save/satisfactory-save"), exports);
|
|
|
21
21
|
__exportStar(require("./parser/satisfactory/save/save.types"), exports);
|
|
22
22
|
__exportStar(require("./parser/satisfactory/types/objects/SaveComponent"), exports);
|
|
23
23
|
__exportStar(require("./parser/satisfactory/types/objects/SaveEntity"), exports);
|
|
24
|
-
__exportStar(require("./parser/satisfactory/types/property/DataFields"), exports);
|
|
25
24
|
__exportStar(require("./parser/satisfactory/types/property/generic/ArrayProperty"), exports);
|
|
26
25
|
__exportStar(require("./parser/satisfactory/types/property/generic/BasicProperty"), exports);
|
|
27
26
|
__exportStar(require("./parser/satisfactory/types/property/generic/BoolProperty"), exports);
|
|
@@ -41,11 +40,15 @@ __exportStar(require("./parser/satisfactory/types/property/generic/TextProperty"
|
|
|
41
40
|
__exportStar(require("./parser/satisfactory/types/property/generic/Uint32Property"), exports);
|
|
42
41
|
__exportStar(require("./parser/satisfactory/types/property/generic/Uint64Property"), exports);
|
|
43
42
|
__exportStar(require("./parser/satisfactory/types/property/generic/Uint8Property"), exports);
|
|
44
|
-
__exportStar(require("./parser/satisfactory/types/property/
|
|
43
|
+
__exportStar(require("./parser/satisfactory/types/property/PropertiesList"), exports);
|
|
44
|
+
__exportStar(require("./parser/satisfactory/types/property/special/SpecialAnyProperties"), exports);
|
|
45
|
+
__exportStar(require("./parser/satisfactory/types/property/special/SpecialProperties"), exports);
|
|
45
46
|
__exportStar(require("./parser/satisfactory/types/structs/col4"), exports);
|
|
47
|
+
__exportStar(require("./parser/satisfactory/types/structs/DynamicStructPropertyValue"), exports);
|
|
46
48
|
__exportStar(require("./parser/satisfactory/types/structs/GUID"), exports);
|
|
47
49
|
__exportStar(require("./parser/satisfactory/types/structs/GUIDInfo"), exports);
|
|
48
50
|
__exportStar(require("./parser/satisfactory/types/structs/MD5Hash"), exports);
|
|
51
|
+
__exportStar(require("./parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange"), exports);
|
|
49
52
|
__exportStar(require("./parser/satisfactory/types/structs/ObjectReference"), exports);
|
|
50
53
|
__exportStar(require("./parser/satisfactory/types/structs/SoftObjectReference"), exports);
|
|
51
54
|
__exportStar(require("./parser/satisfactory/types/structs/Transform"), exports);
|
|
@@ -72,3 +75,4 @@ Object.defineProperty(exports, "Parser", { enumerable: true, get: function () {
|
|
|
72
75
|
var readable_stream_parser_1 = require("./parser/stream/reworked/readable-stream-parser");
|
|
73
76
|
Object.defineProperty(exports, "ReadableStreamParser", { enumerable: true, get: function () { return readable_stream_parser_1.ReadableStreamParser; } });
|
|
74
77
|
__exportStar(require("./parser/satisfactory/edit/edit-constants"), exports);
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,kFAAgE;AAChE,yEAAuD;AACvD,+EAA6D;AAC7D,wEAAsD;AACtD,oFAAkE;AAClE,iFAA+D;AAC/D,6FAA2E;AAC3E,6FAA2E;AAC3E,4FAA0E;AAC1E,4FAA0E;AAC1E,8FAA4E;AAC5E,4FAA0E;AAC1E,6FAA2E;AAC3E,6FAA2E;AAC3E,6FAA2E;AAC3E,4FAA0E;AAC1E,2FAAyE;AACzE,8FAA4E;AAC5E,2FAAyE;AACzE,2FAAyE;AACzE,8FAA4E;AAC5E,4FAA0E;AAC1E,8FAA4E;AAC5E,8FAA4E;AAC5E,6FAA2E;AAC3E,sFAAoE;AACpE,oGAAkF;AAClF,iGAA+E;AAC/E,2EAAyD;AACzD,iGAA+E;AAC/E,2EAAyD;AACzD,+EAA6D;AAC7D,8EAA4D;AAC5D,mGAAiF;AACjF,sFAAoE;AACpE,0FAAwE;AACxE,gFAA8D;AAC9D,2EAAyD;AACzD,2EAAyD;AACzD,2EAAyD;AAGzD,qFAA0G;AAAjG,yHAAA,qBAAqB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC/C,qFAA0G;AAAjG,yHAAA,qBAAqB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC/C,sEAAoE;AAA3D,yGAAA,UAAU,OAAA;AACnB,sEAAoE;AAA3D,yGAAA,UAAU,OAAA;AACnB,sGAAkG;AAAzF,yIAAA,yBAAyB,OAAA;AAClC,8FAAqF;AAA5E,4HAAA,gBAAgB,OAAA;AAGzB,8DAA4C;AAG5C,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,0FAAuF;AAA9E,8HAAA,oBAAoB,OAAA;AAG7B,4EAA0D","sourcesContent":["// types & classes for convenience\nexport * from './parser/satisfactory/blueprint/blueprint.types';\nexport * from './parser/satisfactory/save/level.class';\nexport * from './parser/satisfactory/save/satisfactory-save';\nexport * from './parser/satisfactory/save/save.types';\nexport * from './parser/satisfactory/types/objects/SaveComponent';\nexport * from './parser/satisfactory/types/objects/SaveEntity';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/BasicProperty';\nexport * from './parser/satisfactory/types/property/generic/BoolProperty';\nexport * from './parser/satisfactory/types/property/generic/ByteProperty';\nexport * from './parser/satisfactory/types/property/generic/DoubleProperty';\nexport * from './parser/satisfactory/types/property/generic/EnumProperty';\nexport * from './parser/satisfactory/types/property/generic/FloatProperty';\nexport * from './parser/satisfactory/types/property/generic/Int32Property';\nexport * from './parser/satisfactory/types/property/generic/Int64Property';\nexport * from './parser/satisfactory/types/property/generic/Int8Property';\nexport * from './parser/satisfactory/types/property/generic/MapProperty';\nexport * from './parser/satisfactory/types/property/generic/ObjectProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty';\nexport * from './parser/satisfactory/types/property/generic/StrProperty';\nexport * from './parser/satisfactory/types/property/generic/StructProperty';\nexport * from './parser/satisfactory/types/property/generic/TextProperty';\nexport * from './parser/satisfactory/types/property/generic/Uint32Property';\nexport * from './parser/satisfactory/types/property/generic/Uint64Property';\nexport * from './parser/satisfactory/types/property/generic/Uint8Property';\nexport * from './parser/satisfactory/types/property/PropertiesList';\nexport * from './parser/satisfactory/types/property/special/SpecialAnyProperties';\nexport * from './parser/satisfactory/types/property/special/SpecialProperties';\nexport * from './parser/satisfactory/types/structs/col4';\nexport * from './parser/satisfactory/types/structs/DynamicStructPropertyValue';\nexport * from './parser/satisfactory/types/structs/GUID';\nexport * from './parser/satisfactory/types/structs/GUIDInfo';\nexport * from './parser/satisfactory/types/structs/MD5Hash';\nexport * from './parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange';\nexport * from './parser/satisfactory/types/structs/ObjectReference';\nexport * from './parser/satisfactory/types/structs/SoftObjectReference';\nexport * from './parser/satisfactory/types/structs/Transform';\nexport * from './parser/satisfactory/types/structs/vec2';\nexport * from './parser/satisfactory/types/structs/vec3';\nexport * from './parser/satisfactory/types/structs/vec4';\n\n// should better be removed in a future update to prevent shenanigans.\nexport { BlueprintConfigReader, BlueprintReader } from './parser/satisfactory/blueprint/blueprint-reader';\nexport { BlueprintConfigWriter, BlueprintWriter } from './parser/satisfactory/blueprint/blueprint-writer';\nexport { SaveReader } from './parser/satisfactory/save/save-reader';\nexport { SaveWriter } from './parser/satisfactory/save/save-writer';\nexport { SaveStreamJsonStringifier } from './parser/stream/reworked/save-stream-json-stringifier';\nexport { SaveStreamWriter } from './parser/stream/reworked/save-stream-writer.class';\n\n// errors\nexport * from './parser/error/parser.error';\n\n// facade\nexport { Parser } from './parser/parser';\nexport { ReadableStreamParser } from './parser/stream/reworked/readable-stream-parser';\n\n// edit\nexport * from './parser/satisfactory/edit/edit-constants';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alignment.enum.d.ts","sourceRoot":"","sources":["../../../src/parser/byte/alignment.enum.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACpB,UAAU,IAAA;IACV,aAAa,IAAA;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alignment.enum.js","sourceRoot":"","sources":["../../../src/parser/byte/alignment.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,qDAAU,CAAA;IACV,2DAAa,CAAA;AACd,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB","sourcesContent":["export enum Alignment {\n\tBIG_ENDIAN,\n\tLITTLE_ENDIAN\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-operable.interface.d.ts","sourceRoot":"","sources":["../../../src/parser/byte/binary-operable.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,SAAS,CAAC;IAErB,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,MAAM,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-operable.interface.js","sourceRoot":"","sources":["../../../src/parser/byte/binary-operable.interface.ts"],"names":[],"mappings":"","sourcesContent":["import { Alignment } from \"./alignment.enum\";\n\n/**\n * Describes the ability to operate bytes with the help of some sort of buffer.\n */\nexport interface BinaryOperable {\n alignment: Alignment;\n\n getBufferPosition: () => number;\n getBufferLength: () => number;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-readable.interface.d.ts","sourceRoot":"","sources":["../../../src/parser/byte/binary-readable.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAK7D,MAAM,WAAW,cAAe,SAAQ,cAAc;IAElD,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IACzC,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,MAAM,CAAC;IAEzB,iBAAiB,EAAE,MAAM,MAAM,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-readable.interface.js","sourceRoot":"","sources":["../../../src/parser/byte/binary-readable.interface.ts"],"names":[],"mappings":"","sourcesContent":["import { BinaryOperable } from \"./binary-operable.interface\";\n\n/**\n * Describes the ability to read bytes in different forms.\n */\nexport interface BinaryReadable extends BinaryOperable {\n\n skipBytes: (count?: number) => void;\n readBytes: (count: number) => Uint8Array;\n readByte: () => number;\n readHex: (count: number) => string;\n readInt8: () => number;\n readUint8: () => number;\n readInt16: () => number;\n readUint16: () => number;\n readInt32: () => number;\n readUint32: () => number;\n readInt64: () => bigint;\n readUint64: () => bigint;\n readFloat32: () => number;\n readDouble: () => number;\n readString: () => string;\n\n getBufferProgress: () => number;\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-writable.interface.d.ts","sourceRoot":"","sources":["../../../src/parser/byte/binary-writable.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAK7D,MAAM,WAAW,cAAe,SAAQ,cAAc;IAElD,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,iBAAiB,EAAE,MAAM,MAAM,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-writable.interface.js","sourceRoot":"","sources":["../../../src/parser/byte/binary-writable.interface.ts"],"names":[],"mappings":"","sourcesContent":["import { BinaryOperable } from \"./binary-operable.interface\";\n\n/**\n * Describes the ability to read bytes in different forms.\n */\nexport interface BinaryWritable extends BinaryOperable {\n\n skipBytes: (count?: number) => void;\n jumpTo(position: number): void;\n writeByte: (value: number) => void;\n writeBytes: (bytes: Uint8Array) => void;\n writeBytesArray: (bytes: number[]) => void;\n writeInt8: (value: number) => void;\n writeUint8: (value: number) => void;\n writeInt16: (value: number) => void;\n writeUint16: (value: number) => void;\n writeInt32: (value: number) => void;\n writeUint32: (value: number) => void;\n writeInt64: (value: bigint) => void;\n writeUint64: (value: bigint) => void;\n writeFloat32: (value: number) => void;\n writeDouble: (value: number) => void;\n writeString: (value: string) => void;\n\n getBufferProgress: () => number;\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byte-reader.class.d.ts","sourceRoot":"","sources":["../../../src/parser/byte/byte-reader.class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,8BAAsB,UAAW,YAAW,cAAc;IAEzD,SAAS,CAAC,UAAU,EAAG,QAAQ,CAAC;IAChC,SAAS,CAAC,UAAU,EAAG,WAAW,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC;IAE5B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAK;IAClC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAK;IAClC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAK;gBAElB,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IASlD,KAAK,CAAC,aAAa,EAAE,WAAW;IAWhC,SAAS,CAAC,UAAU,SAAI,GAAG,IAAI;IAI/B,QAAQ,IAAI,MAAM;IAIlB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAG3C,OAAO,CAAC,wBAAwB;IAGzB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAW,GAAG,MAAM;IAG9D,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,SAAS,IAAI,MAAM;IAKnB,UAAU,IAAI,MAAM;IAKpB,SAAS,IAAI,MAAM;IAKnB,UAAU,IAAI,MAAM;IAKpB,QAAQ,IAAI,MAAM;IAKlB,SAAS,IAAI,MAAM;IAGnB,UAAU,IAAI,MAAM;IAMpB,WAAW,IAAI,MAAM;IAKrB,UAAU,IAAI,MAAM;IAKpB,UAAU,IAAI,MAAM;IAgCpB,iBAAiB,QAAO,MAAM,CAAqB;IAEnD,cAAc,UAAW,MAAM,OAAO,MAAM,GAAG,SAAS,KAAG,WAAW,CAA6C;IAEnH,iBAAiB,QAAO,MAAM,CAAyD;IAEvF,eAAe,QAAO,MAAM,CAAsC;IAElE,SAAS,QAAO,WAAW,CAA2B;CAC7D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ByteReader = void 0;
|
|
4
|
+
const parser_error_1 = require("../error/parser.error");
|
|
4
5
|
const alignment_enum_1 = require("./alignment.enum");
|
|
5
6
|
class ByteReader {
|
|
6
7
|
constructor(fileBuffer, alignment) {
|
|
@@ -17,7 +18,7 @@ class ByteReader {
|
|
|
17
18
|
}
|
|
18
19
|
reset(newFileBuffer) {
|
|
19
20
|
this.fileBuffer = newFileBuffer;
|
|
20
|
-
this.bufferView = new DataView(newFileBuffer, 0,
|
|
21
|
+
this.bufferView = new DataView(newFileBuffer, 0, this.fileBuffer.byteLength);
|
|
21
22
|
this.maxByte = newFileBuffer.byteLength;
|
|
22
23
|
this.currentByte = 0;
|
|
23
24
|
this.handledByte = 0;
|
|
@@ -110,10 +111,9 @@ class ByteReader {
|
|
|
110
111
|
return string.join('');
|
|
111
112
|
}
|
|
112
113
|
catch (error) {
|
|
113
|
-
|
|
114
|
-
console.log(errorMessage, error);
|
|
115
|
-
throw error;
|
|
114
|
+
throw new parser_error_1.CorruptSaveError(`Cannot read UTF8 string of length ${strLength} at position ${this.currentByte}.`);
|
|
116
115
|
}
|
|
117
116
|
}
|
|
118
117
|
}
|
|
119
118
|
exports.ByteReader = ByteReader;
|
|
119
|
+
//# sourceMappingURL=byte-reader.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byte-reader.class.js","sourceRoot":"","sources":["../../../src/parser/byte/byte-reader.class.ts"],"names":[],"mappings":"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","sourcesContent":["import { CorruptSaveError } from '../error/parser.error';\nimport { Alignment } from \"./alignment.enum\";\nimport { BinaryReadable } from \"./binary-readable.interface\";\n\n/** @public */\nexport abstract class ByteReader implements BinaryReadable {\n\n\tprotected bufferView!: DataView;\n\tprotected fileBuffer!: ArrayBuffer;\n\tpublic alignment: Alignment;\n\n\tprotected currentByte: number = 0;\n\tprotected handledByte: number = 0;\n\tprotected maxByte: number = 0;\n\n\tconstructor(fileBuffer: ArrayBuffer, alignment: Alignment) {\n\t\tthis.alignment = alignment;\n\t\tthis.reset(fileBuffer);\n\t}\n\n\t/**\n\t * Resets the reader on the given arraybuffer to start from the beginning.\n\t * @param newFileBuffer the new array buffer to be read.\n\t */\n\tpublic reset(newFileBuffer: ArrayBuffer) {\n\t\tthis.fileBuffer = newFileBuffer;\n\t\tthis.bufferView = new DataView(newFileBuffer, 0, this.fileBuffer.byteLength);\n\t\tthis.maxByte = newFileBuffer.byteLength;\n\t\tthis.currentByte = 0;\n\t\tthis.handledByte = 0;\n\t}\n\n\t/*\n\t * Byte Manipulation\n\t */\n\tpublic skipBytes(byteLength = 1): void {\n\t\tthis.currentByte += byteLength;\n\t\treturn;\n\t}\n\tpublic readByte(): number {\n\t\t// TODO can i not just readByte() ??\n\t\treturn parseInt(this.bufferView.getUint8(this.currentByte++).toString());\n\t}\n\tpublic readBytes(count: number): Uint8Array {\n\t\treturn new Uint8Array(new Array(count).fill(0).map(pl => this.bufferView.getUint8(this.currentByte++)));\n\t}\n\tprivate uint8ToHexRepresentation(byte: number): string {\n\t\treturn ('0' + byte.toString(16)).slice(-2);\n\t}\n\tpublic readHex(byteLength: number, hexSeparator: string = ''): string {\n\t\treturn Array.from(this.readBytes(byteLength)).map(byte => this.uint8ToHexRepresentation(byte)).join(hexSeparator);\n\t}\n\tpublic readInt8(): number {\n\t\tlet data = this.bufferView.getInt8(this.currentByte++);\n\t\treturn data;\n\t}\n\tpublic readUint8(): number {\n\t\tlet data = this.bufferView.getUint8(this.currentByte++);\n\t\treturn data;\n\t}\n\tpublic readInt16(): number {\n\t\tlet data = this.bufferView.getInt16(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 2;\n\t\treturn data;\n\t}\n\tpublic readUint16(): number {\n\t\tlet data = this.bufferView.getUint16(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 2;\n\t\treturn data;\n\t}\n\tpublic readInt32(): number {\n\t\tlet data = this.bufferView.getInt32(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 4;\n\t\treturn data;\n\t}\n\tpublic readUint32(): number {\n\t\tlet data = this.bufferView.getUint32(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 4;\n\t\treturn data;\n\t}\n\tpublic readLong(): bigint {\n\t\tlet data = this.bufferView.getBigInt64(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 8;\n\t\treturn data;\n\t}\n\tpublic readInt64(): bigint {\n\t\treturn this.readLong();\n\t}\n\tpublic readUint64(): bigint {\n\t\tlet data = this.bufferView.getBigUint64(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 8;\n\t\treturn data;\n\t}\n\n\tpublic readFloat32(): number {\n\t\tlet data = this.bufferView.getFloat32(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 4;\n\t\treturn data;\n\t}\n\tpublic readDouble(): number {\n\t\tlet data = this.bufferView.getFloat64(this.currentByte, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 8;\n\t\treturn data;\n\t}\n\tpublic readString(): string {\n\t\tlet strLength = this.readInt32();\n\t\tlet startBytes = this.currentByte;\n\n\t\tif (strLength === 0) {\n\t\t\treturn '';\n\t\t}\n\n\t\t// Range error!\n\t\tif (strLength > (this.bufferView.buffer.byteLength - this.currentByte)) {\n\t\t\tlet errorMessage = `Cannot read string of length ${strLength} at position ${this.currentByte} as it exceeds the end at ${this.bufferView.buffer.byteLength}`;\n\t\t\tthrow new Error(errorMessage);\n\t\t}\n\n\t\t// it uses UTF16 if text is non-ascii, even if it would fit into UTF8.\n\t\tif (strLength < 0) {\n\t\t\tconst string = new Array(-strLength - 1).fill('').map(c => String.fromCharCode(this.readUint16()));\n\t\t\tthis.currentByte += 2;\n\t\t\treturn string.join('');\n\t\t}\n\n\t\t//default UTF-8\n\t\ttry {\n\t\t\tconst string = new Array(strLength - 1).fill('').map(c => String.fromCharCode(this.readUint8()));\n\t\t\tthis.currentByte += 1;\n\t\t\treturn string.join('');\n\t\t}\n\t\tcatch (error) {\n\t\t\tthrow new CorruptSaveError(`Cannot read UTF8 string of length ${strLength} at position ${this.currentByte}.`);\n\t\t}\n\t}\n\n\tpublic getBufferPosition = (): number => this.currentByte;\n\n\tpublic getBufferSlice = (begin: number, end: number | undefined): ArrayBuffer => this.bufferView.buffer.slice(begin, end);\n\n\tpublic getBufferProgress = (): number => this.currentByte / this.bufferView.buffer.byteLength;\n\n\tpublic getBufferLength = (): number => this.bufferView.buffer.byteLength;\n\n\tpublic getBuffer = (): ArrayBuffer => this.bufferView.buffer;\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byte-writer.class.d.ts","sourceRoot":"","sources":["../../../src/parser/byte/byte-writer.class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,8BAAsB,UAAW,YAAW,cAAc;IAElD,SAAS,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC;IAE/B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;gBAElB,SAAS,EAAE,SAAS,EAAE,UAAU,GAAE,MAAY;IAUnD,SAAS,CAAC,KAAK,GAAE,MAAU,GAAG,IAAI;IAIlC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAGtC,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAInC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAG/B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,WAAW,CAAC,KAAK,EAAE,MAAM;IAwBhC,OAAc,iBAAiB,UAAW,MAAM,KAAG,OAAO,CAAiC;IAEpF,iBAAiB,QAAO,MAAM,CAAqB;IAEnD,cAAc,UAAW,MAAM,QAAQ,MAAM,KAAG,WAAW,CAAuC;IAElG,eAAe,QAAO,MAAM,CAAgC;IAE5D,iBAAiB,QAAO,MAAM,CAAmD;IAEjF,2BAA2B,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAahF,SAAS,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,GAAG,IAAI;IAOpF,SAAS,CAAC,cAAc,IAAI,IAAI;IAIzB,UAAU,IAAI,WAAW;WAKlB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;WAShC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW;CAMnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byte-writer.class.js","sourceRoot":"","sources":["../../../src/parser/byte/byte-writer.class.ts"],"names":[],"mappings":";;;AACA,qDAA6C;AAI7C,MAAsB,UAAU;IAQ/B,YAAY,SAAoB,EAAE,aAAqB,GAAG;QAwGnD,sBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;QAEnD,mBAAc,GAAG,CAAC,KAAa,EAAE,GAAY,EAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAElG,oBAAe,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAE5D,sBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QA7GvF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACtB,CAAC;IAKM,SAAS,CAAC,QAAgB,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;IAC3B,CAAC;IACM,MAAM,CAAC,GAAW;QACxB,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACM,SAAS,CAAC,KAAa;QAC7B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,eAAe,CAAC,KAAe;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC;IACM,UAAU,CAAC,KAAiB;QAClC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IACM,SAAS,CAAC,KAAa;QAC7B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,UAAU,CAAC,KAAa;QAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACM,UAAU,CAAC,KAAa;QAC9B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QAC/F,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,UAAU,CAAC,KAAa;QAC9B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QAC9F,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QAC/F,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,UAAU,CAAC,KAAa;QAC9B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QACjG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QAClG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,YAAY,CAAC,KAAa;QAChC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QAChG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,0BAAS,CAAC,aAAa,CAAC,CAAC;QAChG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IACvB,CAAC;IACM,WAAW,CAAC,KAAa;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnB,OAAO;QACR,CAAC;QAGD,IAAI,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAEI,CAAC;YACL,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAYM,2BAA2B,CAAC,eAAuB,EAAE,KAAa;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAOS,oBAAoB,CAAC,gBAAwB,EAAE,SAAiB,GAAG;QAC5E,IAAI,IAAI,CAAC,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YACtE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YACpH,IAAI,CAAC,UAAU,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAES,cAAc;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAEM,UAAU;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,GAAW;QAChC,OAAO,IAAI,UAAU,CAAC;YACrB,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE;YACxB,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE;YACxB,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC;YACvB,CAAC,GAAG,GAAG,UAAU,CAAC;SAClB,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,OAAoB,EAAE,OAAoB;QACpE,IAAI,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC,MAAM,CAAC;IACnB,CAAC;IAAA,CAAC;;AAnKH,gCAoKC;AAtDc,4BAAiB,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,AAA3D,CAA4D","sourcesContent":["\nimport { Alignment } from \"./alignment.enum\";\nimport { BinaryWritable } from './binary-writable.interface';\n\n/** @public */\nexport abstract class ByteWriter implements BinaryWritable {\n\n\tpublic alignment: Alignment;\n\tprotected bufferArray: ArrayBuffer;\n\tprotected bufferView: DataView;\n\n\tprotected currentByte: number;\n\n\tconstructor(alignment: Alignment, bufferSize: number = 500) {\n\t\tthis.alignment = alignment;\n\t\tthis.bufferArray = new ArrayBuffer(bufferSize);\n\t\tthis.bufferView = new DataView(this.bufferArray);\n\t\tthis.currentByte = 0;\n\t}\n\n\t/*\n\t * Byte Manipulation\n\t */\n\tpublic skipBytes(count: number = 1): void {\n\t\tthis.extendBufferIfNeeded(count);\n\t\tthis.currentByte += count;\n\t}\n\tpublic jumpTo(pos: number): void {\n\t\tconst count = pos - this.getBufferPosition();\n\t\tthis.skipBytes(count);\n\t}\n\tpublic writeByte(value: number): void {\n\t\tthis.extendBufferIfNeeded(1);\n\t\tthis.bufferView.setUint8(this.currentByte, value);\n\t\tthis.currentByte += 1;\n\t}\n\tpublic writeBytesArray(bytes: number[]): void {\n\t\tthis.writeBytes(new Uint8Array(bytes));\n\t}\n\tpublic writeBytes(bytes: Uint8Array): void {\n\t\tthis.extendBufferIfNeeded(bytes.length);\n\t\tbytes.forEach(byte => this.bufferView.setUint8(this.currentByte++, byte));\n\t}\n\tpublic writeInt8(value: number): void {\n\t\tthis.extendBufferIfNeeded(1);\n\t\tthis.bufferView.setInt8(this.currentByte, value);\n\t\tthis.currentByte += 1;\n\t}\n\tpublic writeUint8(value: number): void {\n\t\tthis.writeByte(value);\n\t}\n\tpublic writeInt16(value: number): void {\n\t\tthis.extendBufferIfNeeded(2);\n\t\tthis.bufferView.setInt16(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 2;\n\t}\n\tpublic writeUint16(value: number): void {\n\t\tthis.extendBufferIfNeeded(2);\n\t\tthis.bufferView.setUint16(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 2;\n\t}\n\tpublic writeInt32(value: number): void {\n\t\tthis.extendBufferIfNeeded(4);\n\t\tthis.bufferView.setInt32(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 4;\n\t}\n\tpublic writeUint32(value: number): void {\n\t\tthis.extendBufferIfNeeded(4);\n\t\tthis.bufferView.setUint32(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 4;\n\t}\n\tpublic writeInt64(value: bigint): void {\n\t\tthis.extendBufferIfNeeded(8);\n\t\tthis.bufferView.setBigInt64(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 8;\n\t}\n\tpublic writeUint64(value: bigint): void {\n\t\tthis.extendBufferIfNeeded(8);\n\t\tthis.bufferView.setBigUint64(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 8;\n\t}\n\tpublic writeFloat32(value: number): void {\n\t\tthis.extendBufferIfNeeded(4);\n\t\tthis.bufferView.setFloat32(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 4;\n\t}\n\tpublic writeDouble(value: number): void {\n\t\tthis.extendBufferIfNeeded(8);\n\t\tthis.bufferView.setFloat64(this.currentByte, value, this.alignment === Alignment.LITTLE_ENDIAN);\n\t\tthis.currentByte += 8;\n\t}\n\tpublic writeString(value: string) {\n\t\tif (value.length === 0) {\n\t\t\tthis.writeInt32(0);\n\t\t\treturn;\n\t\t}\n\n\t\t// if it's safe to use ASCII, use UTF8.\n\t\tif (ByteWriter.IsASCIICompatible(value)) {\n\t\t\tthis.writeInt32(value.length + 1);\n\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\tthis.writeByte(value.charCodeAt(i));\n\t\t\t}\n\t\t\tthis.writeUint8(0);\n\t\t}\n\t\t// write UTF16\n\t\telse {\n\t\t\tthis.writeInt32(-value.length - 1);\n\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\tthis.writeUint16(value.charCodeAt(i));\n\t\t\t}\n\t\t\tthis.writeUint16(0);\n\t\t}\n\t}\n\n\tpublic static IsASCIICompatible = (value: string): boolean => /^[\\x00-\\x7F]*$/.test(value);\n\n\tpublic getBufferPosition = (): number => this.currentByte;\n\n\tpublic getBufferSlice = (start: number, end?: number): ArrayBuffer => this.bufferArray.slice(start, end);\n\n\tpublic getBufferLength = (): number => this.bufferArray.byteLength;\n\n\tpublic getBufferProgress = (): number => this.currentByte / this.bufferArray.byteLength;\n\n\tpublic writeBinarySizeFromPosition(lenIndicatorPos: number, start: number): void {\n\t\tconst after = this.getBufferPosition();\n\t\tconst writtenBytes = after - start;\n\t\tthis.jumpTo(lenIndicatorPos);\n\t\tthis.writeInt32(writtenBytes);\n\t\tthis.jumpTo(after);\n\t}\n\n\t/**\n\t * automatically extends the current buffer if the given space exceeds the available rest capacity of the current buffer.\n\t * @param countNeededBytes the needed space\n\t * @param factor how big the appended buffer should be in comparison to the current one. Values >= 1 make sense.\n\t */\n\tprotected extendBufferIfNeeded(countNeededBytes: number, factor: number = 1.5): void {\n\t\tif (this.currentByte + countNeededBytes > this.bufferView.byteLength) {\n\t\t\tthis.bufferArray = ByteWriter.AppendBuffer(this.bufferArray, new ArrayBuffer(factor * this.bufferArray.byteLength));\n\t\t\tthis.bufferView = new DataView(this.bufferArray);\n\t\t}\n\t}\n\n\tprotected truncateBuffer(): void {\n\t\tthis.bufferArray = this.bufferArray.slice(0, this.currentByte);\n\t}\n\n\tpublic endWriting(): ArrayBuffer {\n\t\tthis.truncateBuffer();\n\t\treturn this.bufferArray;\n\t}\n\n\tpublic static ToInt32(num: number): Uint8Array {\n\t\treturn new Uint8Array([\n\t\t\t(num & 0xff000000) >> 24,\n\t\t\t(num & 0x00ff0000) >> 16,\n\t\t\t(num & 0x0000ff00) >> 8,\n\t\t\t(num & 0x000000ff)\n\t\t]);\n\t}\n\n\tpublic static AppendBuffer(buffer1: ArrayBuffer, buffer2: ArrayBuffer): ArrayBuffer {\n\t\tvar tmp = new Uint8Array(buffer1.byteLength + buffer2.byteLength);\n\t\ttmp.set(new Uint8Array(buffer1), 0);\n\t\ttmp.set(new Uint8Array(buffer2), buffer1.byteLength);\n\t\treturn tmp.buffer;\n\t};\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.error.d.ts","sourceRoot":"","sources":["../../../src/parser/error/parser.error.ts"],"names":[],"mappings":"AAEA,qBAAa,WAAY,SAAQ,KAAK;gBACtB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI5C;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBACxC,OAAO,CAAC,EAAE,MAAM;CAG/B;AAED,qBAAa,gBAAiB,SAAQ,WAAW;gBACjC,OAAO,CAAC,EAAE,MAAM;CAG/B;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBACxC,OAAO,CAAC,EAAE,MAAM;CAG/B;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC7B,OAAO,CAAC,EAAE,MAAM;CAG/B;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACnC,OAAO,CAAC,EAAE,MAAM;CAG/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.error.js","sourceRoot":"","sources":["../../../src/parser/error/parser.error.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAY,SAAQ,KAAK;IAClC,YAAY,IAAY,EAAE,OAAe;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AALD,kCAKC;AAED,MAAa,uBAAwB,SAAQ,WAAW;IACpD,YAAY,OAAgB;QACxB,KAAK,CAAC,yBAAyB,EAAE,OAAO,IAAI,qCAAqC,CAAC,CAAC;IACvF,CAAC;CACJ;AAJD,0DAIC;AAED,MAAa,gBAAiB,SAAQ,WAAW;IAC7C,YAAY,OAAgB;QACxB,KAAK,CAAC,kBAAkB,EAAE,OAAO,IAAI,wCAAwC,CAAC,CAAC;IACnF,CAAC;CACJ;AAJD,4CAIC;AAED,MAAa,uBAAwB,SAAQ,WAAW;IACpD,YAAY,OAAgB;QACxB,KAAK,CAAC,yBAAyB,EAAE,OAAO,IAAI,0CAA0C,CAAC,CAAC;IAC5F,CAAC;CACJ;AAJD,0DAIC;AAED,MAAa,YAAa,SAAQ,WAAW;IACzC,YAAY,OAAgB;QACxB,KAAK,CAAC,cAAc,EAAE,OAAO,IAAI,sBAAsB,CAAC,CAAC;IAC7D,CAAC;CACJ;AAJD,oCAIC;AAED,MAAa,kBAAmB,SAAQ,WAAW;IAC/C,YAAY,OAAgB;QACxB,KAAK,CAAC,oBAAoB,EAAE,OAAO,IAAI,0BAA0B,CAAC,CAAC;IACvE,CAAC;CACJ;AAJD,gDAIC","sourcesContent":["\n\nexport class ParserError extends Error {\n constructor(name: string, message: string) {\n super(message);\n this.name = name;\n }\n}\n\nexport class UnsupportedVersionError extends ParserError {\n constructor(message?: string) {\n super('UnsupportedVersionError', message ?? 'This save version is not supported.');\n }\n}\n\nexport class CorruptSaveError extends ParserError {\n constructor(message?: string) {\n super('CorruptSaveError', message ?? 'This save data is most likely corrupt.');\n }\n}\n\nexport class CompressionLibraryError extends ParserError {\n constructor(message?: string) {\n super('CompressionLibraryError', message ?? 'Failed to compress/decompress save data.');\n }\n}\n\nexport class TimeoutError extends ParserError {\n constructor(message?: string) {\n super('TimeoutError', message ?? 'Operation timed out.');\n }\n}\n\nexport class UnimplementedError extends ParserError {\n constructor(message?: string) {\n super('UnimplementedError', message ?? 'Unimplemented Operation.');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.types.d.ts","sourceRoot":"","sources":["../../src/parser/file.types.ts"],"names":[],"mappings":"AACA,oBAAY,wBAAwB;IAChC,IAAI,IAAI;CACX;AAED,MAAM,MAAM,oBAAoB,GAAG;IAC/B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B,EAAE,MAAM,CAAC;CAC3C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA"}
|
|
@@ -5,3 +5,4 @@ var CompressionAlgorithmCode;
|
|
|
5
5
|
(function (CompressionAlgorithmCode) {
|
|
6
6
|
CompressionAlgorithmCode[CompressionAlgorithmCode["ZLIB"] = 3] = "ZLIB";
|
|
7
7
|
})(CompressionAlgorithmCode || (exports.CompressionAlgorithmCode = CompressionAlgorithmCode = {}));
|
|
8
|
+
//# sourceMappingURL=file.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.types.js","sourceRoot":"","sources":["../../src/parser/file.types.ts"],"names":[],"mappings":";;;AACA,IAAY,wBAEX;AAFD,WAAY,wBAAwB;IAChC,uEAAQ,CAAA;AACZ,CAAC,EAFW,wBAAwB,wCAAxB,wBAAwB,QAEnC","sourcesContent":["\nexport enum CompressionAlgorithmCode {\n ZLIB = 3,\n}\n\nexport type ChunkCompressionInfo = {\n compressionAlgorithm?: CompressionAlgorithmCode;\n chunkHeaderSize: number;\n packageFileTag: number;\n maxUncompressedChunkContentSize: number;\n}\n\nexport type ChunkSummary = {\n uncompressedSize: number,\n compressedSize: number\n}\n"]}
|
package/build/parser/parser.d.ts
CHANGED
|
@@ -2,11 +2,26 @@ import { ChunkSummary } from "./file.types";
|
|
|
2
2
|
import { Blueprint } from "./satisfactory/blueprint/blueprint.types";
|
|
3
3
|
import { SatisfactorySave } from "./satisfactory/save/satisfactory-save";
|
|
4
4
|
export declare class Parser {
|
|
5
|
-
static
|
|
6
|
-
|
|
5
|
+
static ParseSave(name: string, bytes: Uint8Array, options?: Partial<{
|
|
6
|
+
onDecompressedSaveBody: (buffer: ArrayBuffer) => void;
|
|
7
|
+
onProgressCallback: (progress: number, msg?: string) => void;
|
|
8
|
+
}>): SatisfactorySave;
|
|
9
|
+
static WriteSave(save: SatisfactorySave, options?: Partial<{
|
|
10
|
+
onBinaryBeforeCompressing: (buffer: ArrayBuffer) => void;
|
|
11
|
+
onHeader: (header: Uint8Array) => void;
|
|
12
|
+
onChunk: (chunk: Uint8Array) => void;
|
|
13
|
+
}>): ChunkSummary[];
|
|
14
|
+
static WriteBlueprintFiles(blueprint: Blueprint, options?: Partial<{
|
|
15
|
+
onMainFileBinaryBeforeCompressing: (binary: ArrayBuffer) => void;
|
|
16
|
+
onMainFileHeader: (header: Uint8Array) => void;
|
|
17
|
+
onMainFileChunk: (chunk: Uint8Array) => void;
|
|
18
|
+
}>): {
|
|
7
19
|
mainFileChunkSummary: ChunkSummary[];
|
|
8
20
|
configFileBinary: ArrayBuffer;
|
|
9
21
|
};
|
|
10
|
-
static ParseBlueprintFiles(name: string, blueprintFile: Buffer, blueprintConfigFile: Buffer,
|
|
22
|
+
static ParseBlueprintFiles(name: string, blueprintFile: Buffer, blueprintConfigFile: Buffer, options?: Partial<{
|
|
23
|
+
onDecompressedBlueprintBody: (buffer: ArrayBuffer) => void;
|
|
24
|
+
}>): Blueprint;
|
|
11
25
|
static JSONStringifyModified: (obj: any, indent?: number) => string;
|
|
12
26
|
}
|
|
27
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAMzE,qBAAa,MAAM;WASJ,SAAS,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,sBAAsB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;QACtD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAC5D,CAAC,GACA,gBAAgB;WA8CL,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;QACzD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;QACvC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;KACpC,CAAC,GACA,YAAY,EAAE;WAuBH,mBAAmB,CAChC,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,iCAAiC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;QACjE,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;QAC/C,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;KAC7C,CAAC,GACA;QACF,oBAAoB,EAAE,YAAY,EAAE,CAAC;QACrC,gBAAgB,EAAE,WAAW,CAAA;KAC7B;WAuCa,mBAAmB,CAChC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,2BAA2B,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;KAC1D,CAAC,GACA,SAAS;IAmCZ,OAAc,qBAAqB,QAAS,GAAG,WAAU,MAAM,KAAO,MAAM,CAQjE;CAEX"}
|