@etothepii/satisfactory-file-parser 3.3.1 → 4.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/CHANGELOG.md +30 -0
- package/GUIDE.md +11 -7
- package/README.md +4 -4
- package/build/index.d.ts +112 -102
- package/build/index.d.ts.map +1 -1
- package/build/index.js +42 -40
- package/build/index.js.map +1 -1
- package/build/parser/byte/binary-readable.interface.d.ts +1 -0
- package/build/parser/byte/binary-readable.interface.d.ts.map +1 -1
- package/build/parser/byte/binary-readable.interface.js.map +1 -1
- package/build/parser/byte/byte-reader.class.d.ts +1 -0
- package/build/parser/byte/byte-reader.class.d.ts.map +1 -1
- package/build/parser/byte/byte-reader.class.js +6 -2
- package/build/parser/byte/byte-reader.class.js.map +1 -1
- package/build/parser/byte/byte-writer.class.d.ts +1 -0
- package/build/parser/byte/byte-writer.class.d.ts.map +1 -1
- package/build/parser/byte/byte-writer.class.js +6 -0
- package/build/parser/byte/byte-writer.class.js.map +1 -1
- package/build/parser/context/context-reader.d.ts +1 -1
- package/build/parser/context/context-reader.d.ts.map +1 -1
- package/build/parser/context/context-reader.js.map +1 -1
- package/build/parser/context/context-writer.d.ts +1 -1
- package/build/parser/context/context-writer.d.ts.map +1 -1
- package/build/parser/context/context-writer.js.map +1 -1
- package/build/parser/context/hierarchical-version-context.d.ts +11 -0
- package/build/parser/context/hierarchical-version-context.d.ts.map +1 -0
- package/build/parser/context/hierarchical-version-context.js +24 -0
- package/build/parser/context/hierarchical-version-context.js.map +1 -0
- package/build/parser/context/{context.d.ts → reader-writer-context.d.ts} +5 -3
- package/build/parser/context/reader-writer-context.d.ts.map +1 -0
- package/build/parser/context/{context.js → reader-writer-context.js} +1 -1
- package/build/parser/context/reader-writer-context.js.map +1 -0
- package/build/parser/parser.d.ts.map +1 -1
- package/build/parser/parser.js +29 -15
- package/build/parser/parser.js.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts +4 -2
- package/build/parser/satisfactory/blueprint/blueprint-config-version.d.ts.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-config-version.js +4 -2
- package/build/parser/satisfactory/blueprint/blueprint-config-version.js.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-config.d.ts +4 -5
- package/build/parser/satisfactory/blueprint/blueprint-config.d.ts.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-config.js +16 -14
- package/build/parser/satisfactory/blueprint/blueprint-config.js.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-header.d.ts +2 -0
- package/build/parser/satisfactory/blueprint/blueprint-header.d.ts.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-header.js +18 -2
- package/build/parser/satisfactory/blueprint/blueprint-header.js.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-reader.d.ts.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-reader.js +6 -2
- package/build/parser/satisfactory/blueprint/blueprint-reader.js.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-writer.d.ts.map +1 -1
- package/build/parser/satisfactory/blueprint/blueprint-writer.js +5 -2
- package/build/parser/satisfactory/blueprint/blueprint-writer.js.map +1 -1
- package/build/parser/satisfactory/save/data-blob.d.ts +17 -0
- package/build/parser/satisfactory/save/data-blob.d.ts.map +1 -0
- package/build/parser/satisfactory/save/data-blob.js +137 -0
- package/build/parser/satisfactory/save/data-blob.js.map +1 -0
- package/build/parser/satisfactory/save/level.d.ts +5 -10
- package/build/parser/satisfactory/save/level.d.ts.map +1 -1
- package/build/parser/satisfactory/save/level.js +52 -180
- package/build/parser/satisfactory/save/level.js.map +1 -1
- package/build/parser/satisfactory/save/satisfactory-save-header.d.ts.map +1 -1
- package/build/parser/satisfactory/save/satisfactory-save-header.js +5 -3
- package/build/parser/satisfactory/save/satisfactory-save-header.js.map +1 -1
- package/build/parser/satisfactory/save/satisfactory-save.d.ts +3 -1
- package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -1
- package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -1
- package/build/parser/satisfactory/save/save-body-chunks.js +2 -2
- package/build/parser/satisfactory/save/save-body-chunks.js.map +1 -1
- package/build/parser/satisfactory/save/save-custom-version.d.ts +8 -2
- package/build/parser/satisfactory/save/save-custom-version.d.ts.map +1 -1
- package/build/parser/satisfactory/save/save-custom-version.js +8 -2
- package/build/parser/satisfactory/save/save-custom-version.js.map +1 -1
- package/build/parser/satisfactory/save/save-reader.d.ts +2 -2
- package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -1
- package/build/parser/satisfactory/save/save-reader.js +16 -13
- package/build/parser/satisfactory/save/save-reader.js.map +1 -1
- package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -1
- package/build/parser/satisfactory/save/save-writer.js +4 -1
- package/build/parser/satisfactory/save/save-writer.js.map +1 -1
- package/build/parser/satisfactory/save/save.types.d.ts +1 -1
- package/build/parser/satisfactory/save/save.types.d.ts.map +1 -1
- package/build/parser/satisfactory/save/save.types.js.map +1 -1
- package/build/parser/satisfactory/save/toc-blob.d.ts +18 -0
- package/build/parser/satisfactory/save/toc-blob.d.ts.map +1 -0
- package/build/parser/satisfactory/save/toc-blob.js +97 -0
- package/build/parser/satisfactory/save/toc-blob.js.map +1 -0
- package/build/parser/satisfactory/types/objects/SaveComponent.js +1 -1
- package/build/parser/satisfactory/types/objects/SaveComponent.js.map +1 -1
- package/build/parser/satisfactory/types/objects/SaveEntity.js +1 -1
- package/build/parser/satisfactory/types/objects/SaveEntity.js.map +1 -1
- package/build/parser/satisfactory/types/objects/SaveObject.d.ts +4 -0
- package/build/parser/satisfactory/types/objects/SaveObject.d.ts.map +1 -1
- package/build/parser/satisfactory/types/objects/SaveObject.js +19 -5
- package/build/parser/satisfactory/types/objects/SaveObject.js.map +1 -1
- package/build/parser/satisfactory/types/property/PropertiesList.d.ts +4 -4
- package/build/parser/satisfactory/types/property/PropertiesList.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/PropertiesList.js +73 -114
- package/build/parser/satisfactory/types/property/PropertiesList.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts +9 -12
- package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js +12 -7
- package/build/parser/satisfactory/types/property/generic/AbstractBaseProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts +10 -5
- package/build/parser/satisfactory/types/property/generic/BoolProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/BoolProperty.js +20 -23
- package/build/parser/satisfactory/types/property/generic/BoolProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts +7 -7
- package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/ByteProperty.js +52 -35
- package/build/parser/satisfactory/types/property/generic/ByteProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.js +15 -23
- package/build/parser/satisfactory/types/property/generic/DoubleProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts +10 -5
- package/build/parser/satisfactory/types/property/generic/EnumProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/EnumProperty.js +17 -23
- package/build/parser/satisfactory/types/property/generic/EnumProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/FloatProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/FloatProperty.js +15 -23
- package/build/parser/satisfactory/types/property/generic/FloatProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/Int64Property.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Int64Property.js +15 -23
- package/build/parser/satisfactory/types/property/generic/Int64Property.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts +8 -4
- package/build/parser/satisfactory/types/property/generic/Int8Property.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Int8Property.js +11 -20
- package/build/parser/satisfactory/types/property/generic/Int8Property.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts +20 -0
- package/build/parser/satisfactory/types/property/generic/IntProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/IntProperty.js +25 -0
- package/build/parser/satisfactory/types/property/generic/IntProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts +21 -0
- package/build/parser/satisfactory/types/property/generic/InterfaceProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js +26 -0
- package/build/parser/satisfactory/types/property/generic/InterfaceProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts +20 -0
- package/build/parser/satisfactory/types/property/generic/NameProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/NameProperty.js +25 -0
- package/build/parser/satisfactory/types/property/generic/NameProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.js +15 -23
- package/build/parser/satisfactory/types/property/generic/ObjectProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts +20 -0
- package/build/parser/satisfactory/types/property/generic/SingleProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/SingleProperty.js +25 -0
- package/build/parser/satisfactory/types/property/generic/SingleProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js +15 -23
- package/build/parser/satisfactory/types/property/generic/SoftObjectProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/StrProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/StrProperty.js +15 -23
- package/build/parser/satisfactory/types/property/generic/StrProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/TextProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/TextProperty.js +38 -45
- package/build/parser/satisfactory/types/property/generic/TextProperty.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/Uint32Property.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Uint32Property.js +15 -23
- package/build/parser/satisfactory/types/property/generic/Uint32Property.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/Uint64Property.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Uint64Property.js +14 -22
- package/build/parser/satisfactory/types/property/generic/Uint64Property.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts +9 -5
- package/build/parser/satisfactory/types/property/generic/Uint8Property.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/Uint8Property.js +14 -22
- package/build/parser/satisfactory/types/property/generic/Uint8Property.js.map +1 -1
- package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts +15 -0
- package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js +129 -0
- package/build/parser/satisfactory/types/property/generic/containers/ArrayProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts +55 -0
- package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js +24 -0
- package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts +20 -0
- package/build/parser/satisfactory/types/property/generic/containers/MapProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/{MapProperty.js → containers/MapProperty.js} +52 -61
- package/build/parser/satisfactory/types/property/generic/containers/MapProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts +14 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js +90 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts +34 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js +17 -0
- package/build/parser/satisfactory/types/property/generic/containers/SetPropertySpecificTypes.js.map +1 -0
- package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts +59 -0
- package/build/parser/satisfactory/types/property/generic/containers/StructProperty.d.ts.map +1 -0
- package/build/parser/satisfactory/types/property/generic/{StructProperty.js → containers/StructProperty.js} +61 -84
- package/build/parser/satisfactory/types/property/generic/containers/StructProperty.js.map +1 -0
- package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts +2 -0
- package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js +14 -5
- package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js.map +1 -1
- package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.js.map +1 -1
- package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js +2 -2
- package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js.map +1 -1
- package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts +4 -2
- package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js +4 -2
- package/build/parser/satisfactory/types/property/special/runtime-buildable-instance-data-version.js.map +1 -1
- package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts +4 -4
- package/build/parser/satisfactory/types/structs/GUIDInfo.d.ts.map +1 -1
- package/build/parser/satisfactory/types/structs/GUIDInfo.js +6 -6
- package/build/parser/satisfactory/types/structs/GUIDInfo.js.map +1 -1
- package/build/parser/satisfactory/types/structs/SaveBodyValidation.d.ts.map +1 -1
- package/build/parser/satisfactory/types/structs/SaveBodyValidation.js +0 -2
- package/build/parser/satisfactory/types/structs/SaveBodyValidation.js.map +1 -1
- package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts +1 -1
- package/build/parser/satisfactory/types/structs/SoftObjectReference.d.ts.map +1 -1
- package/build/parser/satisfactory/types/structs/SoftObjectReference.js +2 -2
- package/build/parser/satisfactory/types/structs/SoftObjectReference.js.map +1 -1
- package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts +12 -0
- package/build/parser/satisfactory/types/structs/binary/FCustomVersion.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js +21 -0
- package/build/parser/satisfactory/types/structs/binary/FCustomVersion.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts +11 -0
- package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js +22 -0
- package/build/parser/satisfactory/types/structs/binary/FCustomVersionContainer.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts +14 -0
- package/build/parser/satisfactory/types/structs/binary/FEngineVersion.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js +24 -0
- package/build/parser/satisfactory/types/structs/binary/FEngineVersion.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts +12 -0
- package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js +22 -0
- package/build/parser/satisfactory/types/structs/binary/FLocalUserNetIdBundle.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts +11 -0
- package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js +18 -0
- package/build/parser/satisfactory/types/structs/binary/FPackageFileVersion.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts +11 -0
- package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js +38 -0
- package/build/parser/satisfactory/types/structs/binary/FPlayerInfoHandle.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts +30 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTag.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js +182 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTag.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts +11 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js +26 -0
- package/build/parser/satisfactory/types/structs/binary/FPropertyTagNode.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts +17 -0
- package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js +27 -0
- package/build/parser/satisfactory/types/structs/binary/FSaveObjectVersionData.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts +11 -0
- package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js +21 -0
- package/build/parser/satisfactory/types/structs/binary/FUniqueNetIdRepl.js.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts +12 -0
- package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.d.ts.map +1 -0
- package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js +22 -0
- package/build/parser/satisfactory/types/structs/binary/LBBalancerIndexing.js.map +1 -0
- package/build/parser/stream/reworked/readable-stream-parser.d.ts +2 -3
- package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
- package/build/parser/stream/reworked/readable-stream-parser.js +82 -44
- package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
- package/build/parser/unreal-engine/ETextHistoryType.d.ts +17 -0
- package/build/parser/unreal-engine/ETextHistoryType.d.ts.map +1 -0
- package/build/parser/unreal-engine/ETextHistoryType.js +21 -0
- package/build/parser/unreal-engine/ETextHistoryType.js.map +1 -0
- package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts +24 -0
- package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.d.ts.map +1 -0
- package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js +29 -0
- package/build/parser/unreal-engine/EUnrealEngineObjectUE5Version.js.map +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +5 -5
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +1428 -1288
- package/docs/classes/BlueprintConfigReader.html +37 -36
- package/docs/classes/BlueprintConfigWriter.html +42 -0
- package/docs/classes/BlueprintReader.html +39 -38
- package/docs/classes/BlueprintWriter.html +45 -0
- package/docs/classes/ByteReader.html +37 -0
- package/docs/classes/ByteWriter.html +41 -0
- package/docs/classes/CompressionLibraryError.html +11 -11
- package/docs/classes/ContextReader.html +36 -35
- package/docs/classes/ContextWriter.html +41 -40
- package/docs/classes/CorruptBlueprintError.html +11 -11
- package/docs/classes/CorruptSaveError.html +11 -11
- package/docs/classes/Parser.html +23 -23
- package/docs/classes/ParserError.html +11 -11
- package/docs/classes/ReadableStreamParser.html +7 -7
- package/docs/classes/SatisfactorySave.html +9 -8
- package/docs/classes/SaveComponent.html +20 -18
- package/docs/classes/SaveEntity.html +25 -23
- package/docs/classes/SaveObject.html +17 -15
- package/docs/classes/SaveReader.html +46 -45
- package/docs/classes/SaveWriter.html +44 -43
- package/docs/classes/TimeoutError.html +11 -11
- package/docs/classes/UnimplementedError.html +11 -11
- package/docs/classes/UnsupportedVersionError.html +11 -11
- package/docs/enums/Alignment.html +3 -3
- package/docs/enums/BlueprintConfigVersion.html +11 -9
- package/docs/enums/BlueprintHeaderVersion.html +7 -7
- package/docs/enums/CompressionAlgorithmCode.html +2 -2
- package/docs/enums/ETextHistoryType.html +15 -0
- package/docs/enums/EUnrealEngineObjectUE5Version.html +23 -0
- package/docs/enums/FactoryGameCustomVersion.html +33 -33
- package/docs/enums/RuntimeBuildableInstanceDataVersion.html +9 -7
- package/docs/enums/SaveCustomVersion.html +71 -65
- package/docs/enums/SaveHeaderType.html +19 -19
- package/docs/functions/AbstractBaseProperty.CreateFromTag.html +2 -0
- package/docs/functions/ArrayProperty.Parse.html +1 -1
- package/docs/functions/ArrayProperty.Serialize.html +1 -1
- package/docs/functions/BlueprintConfig.Parse.html +1 -1
- package/docs/functions/BlueprintConfig.Serialize.html +1 -1
- package/docs/functions/BlueprintHeader.Parse.html +1 -1
- package/docs/functions/BlueprintHeader.Serialize.html +1 -1
- package/docs/functions/BoolProperty.Parse.html +1 -1
- package/docs/functions/BoolProperty.ReadValue.html +1 -1
- package/docs/functions/BoolProperty.Serialize.html +1 -1
- package/docs/functions/BoolProperty.SerializeValue.html +1 -1
- package/docs/functions/BuildableSubsystemSpecialProperties.Parse.html +1 -1
- package/docs/functions/BuildableSubsystemSpecialProperties.Serialize.html +1 -1
- package/docs/functions/BuildableTypeInstance.Parse.html +1 -1
- package/docs/functions/BuildableTypeInstance.Serialize.html +1 -1
- package/docs/functions/ByteProperty.Parse.html +1 -1
- package/docs/functions/ByteProperty.ReadValue.html +1 -1
- package/docs/functions/ByteProperty.Serialize.html +1 -1
- package/docs/functions/ByteProperty.SerializeValue.html +1 -1
- package/docs/functions/CircuitSpecialProperties.Parse.html +1 -1
- package/docs/functions/CircuitSpecialProperties.Serialize.html +1 -1
- package/docs/functions/ConveyorChainActorSpecialProperties.Parse.html +1 -1
- package/docs/functions/ConveyorChainActorSpecialProperties.Serialize.html +1 -1
- package/docs/functions/ConveyorSpecialProperties.Parse.html +1 -1
- package/docs/functions/ConveyorSpecialProperties.Serialize.html +1 -1
- package/docs/functions/DataBlob.Read.html +1 -0
- package/docs/functions/DataBlob.ReadNObjectContents.html +1 -0
- package/docs/functions/DataBlob.SkipOver.html +1 -0
- package/docs/functions/DataBlob.Write.html +1 -0
- package/docs/functions/DoubleProperty.Parse.html +1 -1
- package/docs/functions/DoubleProperty.ReadValue.html +1 -1
- package/docs/functions/DoubleProperty.Serialize.html +1 -1
- package/docs/functions/DoubleProperty.SerializeValue.html +1 -1
- package/docs/functions/DynamicStructPropertyValue.read.html +1 -1
- package/docs/functions/DynamicStructPropertyValue.write.html +1 -1
- package/docs/functions/EmptySpecialProperties.Parse.html +1 -1
- package/docs/functions/EmptySpecialProperties.Serialize.html +1 -1
- package/docs/functions/EnumProperty.Parse.html +1 -1
- package/docs/functions/EnumProperty.ReadValue.html +1 -1
- package/docs/functions/EnumProperty.Serialize.html +1 -1
- package/docs/functions/EnumProperty.SerializeValue.html +1 -1
- package/docs/functions/FClientIdentityInfo.read.html +1 -1
- package/docs/functions/FClientIdentityInfo.write.html +1 -1
- package/docs/functions/FColor.read.html +1 -1
- package/docs/functions/FColor.write.html +1 -1
- package/docs/functions/FCustomVersion.read.html +1 -0
- package/docs/functions/FCustomVersion.write.html +1 -0
- package/docs/functions/FCustomVersionContainer.read.html +1 -0
- package/docs/functions/FCustomVersionContainer.write.html +1 -0
- package/docs/functions/FEngineVersion.read.html +1 -0
- package/docs/functions/FEngineVersion.write.html +1 -0
- package/docs/functions/FGDynamicStruct.Parse.html +1 -1
- package/docs/functions/FGDynamicStruct.Serialize.html +1 -1
- package/docs/functions/FICFrameRange.read.html +1 -1
- package/docs/functions/FICFrameRange.write.html +1 -1
- package/docs/functions/FINGPUT1BufferPixel.read.html +1 -1
- package/docs/functions/FINGPUT1BufferPixel.write.html +1 -1
- package/docs/functions/FINItemStateFileSystem.IsFINItemStateFileSystem.html +1 -1
- package/docs/functions/FINItemStateFileSystem.read.html +1 -1
- package/docs/functions/FINItemStateFileSystem.write.html +1 -1
- package/docs/functions/FINLuaRuntimePersistenceState.read.html +1 -0
- package/docs/functions/FINLuaRuntimePersistenceState.write.html +1 -0
- package/docs/functions/FINNetworkTrace.read.html +1 -1
- package/docs/functions/FINNetworkTrace.write.html +1 -1
- package/docs/functions/FLBBalancerIndexing.read.html +1 -1
- package/docs/functions/FLBBalancerIndexing.write.html +1 -1
- package/docs/functions/FLinearColor.read.html +1 -1
- package/docs/functions/FLinearColor.write.html +1 -1
- package/docs/functions/FLocalUserNetIdBundle.read.html +1 -0
- package/docs/functions/FLocalUserNetIdBundle.write.html +1 -0
- package/docs/functions/FPackageFileVersion.read.html +1 -0
- package/docs/functions/FPackageFileVersion.write.html +1 -0
- package/docs/functions/FPlayerInfoHandle.read.html +1 -0
- package/docs/functions/FPlayerInfoHandle.write.html +1 -0
- package/docs/functions/FPropertyTag.IsCompletePropertyTagType.html +1 -0
- package/docs/functions/FPropertyTag.read.html +2 -0
- package/docs/functions/FPropertyTag.write.html +1 -0
- package/docs/functions/FPropertyTag.writeFromProperty.html +2 -0
- package/docs/functions/FPropertyTagNode.read.html +1 -0
- package/docs/functions/FPropertyTagNode.write.html +1 -0
- package/docs/functions/FSaveObjectVersionData.read.html +1 -0
- package/docs/functions/FSaveObjectVersionData.write.html +1 -0
- package/docs/functions/FUniqueNetIdRepl.read.html +1 -0
- package/docs/functions/FUniqueNetIdRepl.write.html +1 -0
- package/docs/functions/FloatProperty.Parse.html +1 -1
- package/docs/functions/FloatProperty.ReadValue.html +1 -1
- package/docs/functions/FloatProperty.Serialize.html +1 -1
- package/docs/functions/FloatProperty.SerializeValue.html +1 -1
- package/docs/functions/GUID.read.html +1 -1
- package/docs/functions/GUID.write.html +1 -1
- package/docs/functions/HierarchyVersion.CreateOnHeader.html +1 -0
- package/docs/functions/HierarchyVersion.SetOnLevel.html +1 -0
- package/docs/functions/HierarchyVersion.SetOnObject.html +1 -0
- package/docs/functions/Int64Property.Parse.html +1 -1
- package/docs/functions/Int64Property.ReadValue.html +1 -1
- package/docs/functions/Int64Property.Serialize.html +1 -1
- package/docs/functions/Int64Property.SerializeValue.html +1 -1
- package/docs/functions/Int8Property.Parse.html +1 -1
- package/docs/functions/Int8Property.ReadValue.html +1 -1
- package/docs/functions/Int8Property.Serialize.html +1 -1
- package/docs/functions/Int8Property.SerializeValue.html +1 -1
- package/docs/functions/IntProperty.Parse.html +1 -0
- package/docs/functions/IntProperty.ReadValue.html +1 -0
- package/docs/functions/IntProperty.Serialize.html +1 -0
- package/docs/functions/IntProperty.SerializeValue.html +1 -0
- package/docs/functions/InterfaceProperty.Parse.html +1 -0
- package/docs/functions/InterfaceProperty.ReadValue.html +1 -0
- package/docs/functions/InterfaceProperty.Serialize.html +1 -0
- package/docs/functions/InterfaceProperty.SerializeValue.html +1 -0
- package/docs/functions/LBBalancerIndexing.read.html +1 -0
- package/docs/functions/LBBalancerIndexing.write.html +1 -0
- package/docs/functions/Level.Read.html +1 -0
- package/docs/functions/Level.Serialize.html +1 -0
- package/docs/functions/LevelToDestroyedActorsMap.read.html +1 -1
- package/docs/functions/LevelToDestroyedActorsMap.write.html +1 -1
- package/docs/functions/MD5Hash.read.html +1 -1
- package/docs/functions/MD5Hash.write.html +1 -1
- package/docs/functions/MapProperty.Parse.html +1 -1
- package/docs/functions/MapProperty.Serialize.html +1 -1
- package/docs/functions/NameProperty.Parse.html +1 -0
- package/docs/functions/NameProperty.ReadValue.html +1 -0
- package/docs/functions/NameProperty.Serialize.html +1 -0
- package/docs/functions/NameProperty.SerializeValue.html +1 -0
- package/docs/functions/ObjectProperty.Parse.html +1 -1
- package/docs/functions/ObjectProperty.ReadValue.html +1 -1
- package/docs/functions/ObjectProperty.Serialize.html +1 -1
- package/docs/functions/ObjectProperty.SerializeValue.html +1 -1
- package/docs/functions/ObjectReference.IsEqual.html +1 -1
- package/docs/functions/ObjectReference.read.html +1 -1
- package/docs/functions/ObjectReference.write.html +1 -1
- package/docs/functions/ObjectReferencesList.ReadList.html +1 -0
- package/docs/functions/ObjectReferencesList.SerializeList.html +1 -0
- package/docs/functions/ObjectsListSpecialProperties.Parse.html +1 -1
- package/docs/functions/ObjectsListSpecialProperties.Serialize.html +1 -1
- package/docs/functions/OptionalGUID.read.html +1 -0
- package/docs/functions/OptionalGUID.write.html +1 -0
- package/docs/functions/PlayerSpecialProperties.Parse.html +1 -1
- package/docs/functions/PlayerSpecialProperties.Serialize.html +1 -1
- package/docs/functions/PowerLineSpecialProperties.Parse.html +1 -1
- package/docs/functions/PowerLineSpecialProperties.Serialize.html +1 -1
- package/docs/functions/PropertiesList.ParseList.html +1 -1
- package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -1
- package/docs/functions/PropertiesList.SerializeList.html +1 -1
- package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -1
- package/docs/functions/SatisfactorySaveHeader.Parse.html +1 -1
- package/docs/functions/SatisfactorySaveHeader.Serialize.html +1 -1
- package/docs/functions/SaveBodyChunks.CompressDataIntoChunks.html +1 -1
- package/docs/functions/SaveBodyChunks.DecompressChunks.html +1 -1
- package/docs/functions/SaveBodyValidation.Parse.html +1 -1
- package/docs/functions/SaveBodyValidation.Serialize.html +1 -1
- package/docs/functions/SetProperty.Parse.html +1 -1
- package/docs/functions/SetProperty.Serialize.html +1 -1
- package/docs/functions/SingleProperty.Parse.html +1 -0
- package/docs/functions/SingleProperty.ReadValue.html +1 -0
- package/docs/functions/SingleProperty.Serialize.html +1 -0
- package/docs/functions/SingleProperty.SerializeValue.html +1 -0
- package/docs/functions/SoftObjectProperty.Parse.html +1 -1
- package/docs/functions/SoftObjectProperty.ReadValue.html +1 -1
- package/docs/functions/SoftObjectProperty.Serialize.html +1 -1
- package/docs/functions/SoftObjectProperty.SerializeValue.html +1 -1
- package/docs/functions/SoftObjectReference.read.html +1 -1
- package/docs/functions/SoftObjectReference.write.html +1 -1
- package/docs/functions/SpecialDroneActionProperties.Parse.html +1 -1
- package/docs/functions/SpecialDroneActionProperties.Serialize.html +1 -1
- package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -1
- package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -1
- package/docs/functions/StrProperty.Parse.html +1 -1
- package/docs/functions/StrProperty.ReadValue.html +1 -1
- package/docs/functions/StrProperty.Serialize.html +1 -1
- package/docs/functions/StrProperty.SerializeValue.html +1 -1
- package/docs/functions/StructProperty.Parse.html +1 -1
- package/docs/functions/StructProperty.ParseValue.html +1 -1
- package/docs/functions/StructProperty.Serialize.html +1 -1
- package/docs/functions/StructProperty.SerializeValue.html +1 -1
- package/docs/functions/TOCBlob.Read.html +1 -0
- package/docs/functions/TOCBlob.ReadNObjectHeaders.html +1 -0
- package/docs/functions/TOCBlob.SerializeAllObjectHeaders.html +1 -0
- package/docs/functions/TOCBlob.SkipOver.html +1 -0
- package/docs/functions/TOCBlob.Write.html +1 -0
- package/docs/functions/TextProperty.Parse.html +1 -1
- package/docs/functions/TextProperty.ReadValue.html +1 -1
- package/docs/functions/TextProperty.Serialize.html +1 -1
- package/docs/functions/TextProperty.SerializeValue.html +1 -1
- package/docs/functions/Transform.Parse.html +1 -1
- package/docs/functions/Transform.ParseF.html +1 -1
- package/docs/functions/Transform.Serialize.html +1 -1
- package/docs/functions/Transform.SerializeF.html +1 -1
- package/docs/functions/Uint32Property.Parse.html +1 -1
- package/docs/functions/Uint32Property.ReadValue.html +1 -1
- package/docs/functions/Uint32Property.Serialize.html +1 -1
- package/docs/functions/Uint32Property.SerializeValue.html +1 -1
- package/docs/functions/Uint64Property.Parse.html +1 -1
- package/docs/functions/Uint64Property.ReadValue.html +1 -1
- package/docs/functions/Uint64Property.Serialize.html +1 -1
- package/docs/functions/Uint64Property.SerializeValue.html +1 -1
- package/docs/functions/Uint8Property.Parse.html +1 -1
- package/docs/functions/Uint8Property.ReadValue.html +1 -1
- package/docs/functions/Uint8Property.Serialize.html +1 -1
- package/docs/functions/Uint8Property.SerializeValue.html +1 -1
- package/docs/functions/VehiclePhysicsData.Parse.html +1 -1
- package/docs/functions/VehiclePhysicsData.Serialize.html +1 -1
- package/docs/functions/VehicleSpecialProperties.Parse.html +1 -1
- package/docs/functions/VehicleSpecialProperties.Serialize.html +1 -1
- package/docs/functions/col4.ParseBGRA.html +1 -1
- package/docs/functions/col4.ParseRGBA.html +1 -1
- package/docs/functions/col4.SerializeBGRA.html +1 -1
- package/docs/functions/col4.SerializeRGBA.html +1 -1
- package/docs/functions/isArrayProperty.html +1 -1
- package/docs/functions/isBoolProperty.html +1 -1
- package/docs/functions/isBuildableSubsystemSpecialProperties.html +1 -1
- package/docs/functions/isByteProperty.html +1 -1
- package/docs/functions/isCircuitSpecialProperties.html +1 -1
- package/docs/functions/isConveyorChainActorSpecialProperties.html +1 -1
- package/docs/functions/isConveyorSpecialProperties.html +1 -1
- package/docs/functions/isDoubleProperty.html +1 -1
- package/docs/functions/isEmptySpecialProperties.html +1 -1
- package/docs/functions/isEnumProperty.html +1 -1
- package/docs/functions/isFloatProperty.html +1 -1
- package/docs/functions/isInt64Property.html +1 -1
- package/docs/functions/isInt8Property.html +1 -1
- package/docs/functions/isIntProperty.html +1 -0
- package/docs/functions/isInterfaceProperty.html +1 -0
- package/docs/functions/isMapProperty.html +1 -1
- package/docs/functions/isNameProperty.html +1 -0
- package/docs/functions/isObjectProperty.html +1 -1
- package/docs/functions/isObjectsListSpecialProperties.html +1 -1
- package/docs/functions/isPlayerSpecialProperties.html +1 -1
- package/docs/functions/isPowerLineSpecialProperties.html +1 -1
- package/docs/functions/isSaveComponent.html +1 -1
- package/docs/functions/isSaveEntity.html +1 -1
- package/docs/functions/isSetProperty.html +1 -1
- package/docs/functions/isSingleProperty.html +1 -0
- package/docs/functions/isSoftObjectProperty.html +1 -1
- package/docs/functions/isSpecialDroneActionProperties.html +1 -1
- package/docs/functions/isStrProperty.html +1 -1
- package/docs/functions/isStructProperty.html +1 -1
- package/docs/functions/isTextProperty.html +1 -1
- package/docs/functions/isUInt64Property.html +1 -1
- package/docs/functions/isUint32Property.html +1 -1
- package/docs/functions/isUint8Property.html +1 -1
- package/docs/functions/isVehicleSpecialProperties.html +1 -1
- package/docs/functions/vec2.Parse.html +1 -1
- package/docs/functions/vec2.ParseF.html +1 -1
- package/docs/functions/vec2.Serialize.html +1 -1
- package/docs/functions/vec2.SerializeF.html +1 -1
- package/docs/functions/vec3.Parse.html +1 -1
- package/docs/functions/vec3.ParseF.html +1 -1
- package/docs/functions/vec3.ParseInt.html +1 -1
- package/docs/functions/vec3.Serialize.html +1 -1
- package/docs/functions/vec3.SerializeF.html +1 -1
- package/docs/functions/vec3.SerializeInt.html +1 -1
- package/docs/functions/vec3.add.html +1 -1
- package/docs/functions/vec3.length.html +1 -1
- package/docs/functions/vec3.mult.html +1 -1
- package/docs/functions/vec3.norm.html +1 -1
- package/docs/functions/vec3.sub.html +1 -1
- package/docs/functions/vec4.Parse.html +1 -1
- package/docs/functions/vec4.ParseF.html +1 -1
- package/docs/functions/vec4.Serialize.html +1 -1
- package/docs/functions/vec4.SerializeF.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +47 -21
- package/docs/interfaces/BinaryOperable.html +5 -0
- package/docs/interfaces/BinaryReadable.html +22 -0
- package/docs/interfaces/BinaryWritable.html +22 -0
- package/docs/interfaces/Blueprint.html +6 -6
- package/docs/interfaces/BlueprintConfig.html +13 -0
- package/docs/interfaces/SaveComponentHeader.html +6 -6
- package/docs/interfaces/SaveEntityHeader.html +8 -8
- package/docs/interfaces/SaveObjectHeader.html +5 -5
- package/docs/modules/AbstractBaseProperty.html +1 -2
- package/docs/modules/ArrayProperty.html +1 -5
- package/docs/modules/BlueprintConfig.html +1 -3
- package/docs/modules/BlueprintHeader.html +1 -3
- package/docs/modules/BoolProperty.html +1 -6
- package/docs/modules/BuildableSubsystemSpecialProperties.html +1 -3
- package/docs/modules/BuildableTypeInstance.html +1 -3
- package/docs/modules/ByteProperty.html +1 -6
- package/docs/modules/CircuitSpecialProperties.html +1 -3
- package/docs/modules/ConveyorChainActorSpecialProperties.html +1 -3
- package/docs/modules/ConveyorSpecialProperties.html +1 -3
- package/docs/modules/DataBlob.html +2 -0
- package/docs/modules/DoubleProperty.html +1 -6
- package/docs/modules/DynamicStructPropertyValue.html +1 -3
- package/docs/modules/EmptySpecialProperties.html +1 -3
- package/docs/modules/EnumProperty.html +1 -6
- package/docs/modules/FClientIdentityInfo.html +1 -3
- package/docs/modules/FColor.html +1 -3
- package/docs/modules/FCustomVersion.html +1 -0
- package/docs/modules/FCustomVersionContainer.html +1 -0
- package/docs/modules/FEngineVersion.html +1 -0
- package/docs/modules/FGDynamicStruct.html +1 -3
- package/docs/modules/FICFrameRange.html +2 -4
- package/docs/modules/FINGPUT1BufferPixel.html +2 -4
- package/docs/modules/FINItemStateFileSystem.html +1 -5
- package/docs/modules/FINLuaRuntimePersistenceState.html +2 -0
- package/docs/modules/FINNetworkTrace.html +2 -4
- package/docs/modules/FLBBalancerIndexing.html +1 -3
- package/docs/modules/FLinearColor.html +1 -3
- package/docs/modules/FLocalUserNetIdBundle.html +1 -0
- package/docs/modules/FPackageFileVersion.html +1 -0
- package/docs/modules/FPlayerInfoHandle.html +1 -0
- package/docs/modules/FPropertyTag.html +1 -0
- package/docs/modules/FPropertyTagNode.html +1 -0
- package/docs/modules/FSaveObjectVersionData.html +1 -0
- package/docs/modules/FUniqueNetIdRepl.html +1 -0
- package/docs/modules/FloatProperty.html +1 -6
- package/docs/modules/GUID.html +1 -3
- package/docs/modules/HierarchyVersion.html +1 -0
- package/docs/modules/Int64Property.html +1 -6
- package/docs/modules/Int8Property.html +1 -6
- package/docs/modules/IntProperty.html +1 -0
- package/docs/modules/InterfaceProperty.html +1 -0
- package/docs/modules/LBBalancerIndexing.html +1 -0
- package/docs/modules/Level.html +1 -9
- package/docs/modules/LevelToDestroyedActorsMap.html +1 -3
- package/docs/modules/MD5Hash.html +1 -3
- package/docs/modules/MapProperty.html +1 -4
- package/docs/modules/NameProperty.html +1 -0
- package/docs/modules/ObjectProperty.html +1 -6
- package/docs/modules/ObjectReference.html +1 -4
- package/docs/modules/ObjectReferencesList.html +1 -0
- package/docs/modules/ObjectsListSpecialProperties.html +1 -3
- package/docs/modules/OptionalGUID.html +1 -0
- package/docs/modules/PlayerSpecialProperties.html +1 -3
- package/docs/modules/PowerLineSpecialProperties.html +1 -3
- package/docs/modules/PropertiesList.html +1 -5
- package/docs/modules/SatisfactorySaveHeader.html +1 -3
- package/docs/modules/SaveBodyChunks.html +1 -5
- package/docs/modules/SaveBodyValidation.html +2 -4
- package/docs/modules/SetProperty.html +1 -5
- package/docs/modules/SingleProperty.html +1 -0
- package/docs/modules/SoftObjectProperty.html +1 -6
- package/docs/modules/SoftObjectReference.html +1 -3
- package/docs/modules/SpecialDroneActionProperties.html +1 -3
- package/docs/modules/SpecialProperties.html +1 -4
- package/docs/modules/StrProperty.html +1 -6
- package/docs/modules/StructProperty.html +1 -6
- package/docs/modules/TOCBlob.html +2 -0
- package/docs/modules/TextProperty.html +1 -6
- package/docs/modules/Transform.html +2 -6
- package/docs/modules/Uint32Property.html +1 -6
- package/docs/modules/Uint64Property.html +1 -6
- package/docs/modules/Uint8Property.html +1 -6
- package/docs/modules/VehiclePhysicsData.html +1 -3
- package/docs/modules/VehicleSpecialProperties.html +1 -3
- package/docs/modules/col4.html +1 -5
- package/docs/modules/vec2.html +1 -5
- package/docs/modules/vec3.html +1 -12
- package/docs/modules/vec4.html +1 -5
- package/docs/modules.html +1 -263
- package/docs/types/AbstractBaseProperty.html +14 -0
- package/docs/types/ArrayProperty.html +1 -0
- package/docs/types/BasicMultipleStructPropertyValue.html +2 -1
- package/docs/types/BasicStructPropertyValue.html +2 -1
- package/docs/types/BlueprintHeader.html +8 -0
- package/docs/types/BlueprintReaderWriterContext.html +7 -2
- package/docs/types/BoolArrayProperty.html +1 -0
- package/docs/types/BoolProperty.html +1 -0
- package/docs/types/BoxStructPropertyValue.html +4 -1
- package/docs/types/BuildableSubsystemSpecialProperties.html +4 -0
- package/docs/types/BuildableTypeInstance.html +14 -0
- package/docs/types/ByteArrayProperty.html +1 -0
- package/docs/types/ByteProperty.html +1 -0
- package/docs/types/BytePropertyValue.html +3 -1
- package/docs/types/ChunkCompressionInfo.html +5 -1
- package/docs/types/ChunkSummary.html +3 -1
- package/docs/types/CircuitSpecialProperties.html +3 -0
- package/docs/types/ConveyorChainActorSpecialProperties.html +10 -0
- package/docs/types/ConveyorChainSegmentSpecialProperties.html +10 -1
- package/docs/types/ConveyorItemSpecialProperties.html +3 -1
- package/docs/types/ConveyorSpecialProperties.html +2 -0
- package/docs/types/DoubleArrayProperty.html +1 -0
- package/docs/types/DoubleProperty.html +1 -0
- package/docs/types/DynamicStructPropertyValue.html +3 -0
- package/docs/types/EmptySpecialProperties.html +2 -0
- package/docs/types/EnumArrayProperty.html +1 -0
- package/docs/types/EnumProperty.html +1 -0
- package/docs/types/FClientIdentityInfo.html +4 -0
- package/docs/types/FColor.html +2 -0
- package/docs/types/FCustomVersion.html +3 -0
- package/docs/types/FCustomVersionContainer.html +2 -0
- package/docs/types/FEngineVersion.html +6 -0
- package/docs/types/FGDynamicStruct.html +10 -0
- package/docs/types/FICFrameRange.html +3 -0
- package/docs/types/FICFrameRangeStructPropertyValue.html +3 -1
- package/docs/types/FINGPUT1BufferPixel.html +4 -0
- package/docs/types/FINItemStateFileSystem.html +2 -0
- package/docs/types/FINLuaRuntimePersistenceState.html +7 -0
- package/docs/types/FINNetworkTrace.html +4 -0
- package/docs/types/FIRInstancedStruct.html +1 -0
- package/docs/types/FLBBalancerIndexing.html +5 -0
- package/docs/types/FLinearColor.html +2 -0
- package/docs/types/FLocalUserNetIdBundle.html +4 -0
- package/docs/types/FPackageFileVersion.html +3 -0
- package/docs/types/FPlayerInfoHandle.html +3 -0
- package/docs/types/FPropertyTag.html +16 -0
- package/docs/types/FPropertyTagNode.html +3 -0
- package/docs/types/FSaveObjectVersionData.html +6 -0
- package/docs/types/FUniqueNetIdRepl.html +3 -0
- package/docs/types/FloatArrayProperty.html +1 -0
- package/docs/types/FloatProperty.html +1 -0
- package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -1
- package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -1
- package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -1
- package/docs/types/GUID.html +2 -0
- package/docs/types/Grids.html +1 -1
- package/docs/types/HierarchyVersion.html +5 -0
- package/docs/types/Int64ArrayProperty.html +1 -0
- package/docs/types/Int64Property.html +1 -0
- package/docs/types/Int8Property.html +1 -0
- package/docs/types/IntArrayProperty.html +1 -0
- package/docs/types/IntProperty.html +1 -0
- package/docs/types/IntSetProperty.html +1 -0
- package/docs/types/InterfaceArrayProperty.html +1 -0
- package/docs/types/InterfaceProperty.html +1 -0
- package/docs/types/InventoryItemStructPropertyValue.html +4 -1
- package/docs/types/LBBalancerIndexing.html +4 -0
- package/docs/types/Level.html +9 -0
- package/docs/types/LevelToDestroyedActorsMap.html +1 -0
- package/docs/types/Levels.html +1 -1
- package/docs/types/MD5Hash.html +4 -0
- package/docs/types/MapProperty.html +1 -0
- package/docs/types/ModData.html +4 -1
- package/docs/types/NameProperty.html +1 -0
- package/docs/types/NameSetProperty.html +1 -0
- package/docs/types/ObjectArrayProperty.html +1 -0
- package/docs/types/ObjectProperty.html +1 -0
- package/docs/types/ObjectReference.html +4 -0
- package/docs/types/ObjectSetProperty.html +1 -0
- package/docs/types/ObjectsListSpecialProperties.html +3 -0
- package/docs/types/OptionalGUID.html +2 -0
- package/docs/types/PlayerSpecialProperties.html +5 -0
- package/docs/types/PowerLineSpecialProperties.html +6 -0
- package/docs/types/PropertiesMap.html +1 -1
- package/docs/types/RailroadTrackPositionStructPropertyValue.html +5 -1
- package/docs/types/ReaderWriterContext.html +2 -2
- package/docs/types/RoughSaveVersion.html +1 -1
- package/docs/types/SatisfactoryModMetadata.html +4 -1
- package/docs/types/SatisfactorySaveHeader.html +19 -0
- package/docs/types/SaveBodyChunks.html +3 -0
- package/docs/types/SaveBodyValidation.html +2 -0
- package/docs/types/SaveReaderWriterContext.html +11 -3
- package/docs/types/SetProperty.html +1 -0
- package/docs/types/SingleProperty.html +1 -0
- package/docs/types/SoftObjectArrayProperty.html +1 -0
- package/docs/types/SoftObjectProperty.html +1 -0
- package/docs/types/SoftObjectReference.html +4 -0
- package/docs/types/SpecialDroneAction.html +3 -1
- package/docs/types/SpecialDroneActionProperties.html +4 -0
- package/docs/types/SpecialProperties.AvailableSpecialPropertiesTypes.html +1 -1
- package/docs/types/StrArrayProperty.html +1 -0
- package/docs/types/StrProperty.html +1 -0
- package/docs/types/StrSetProperty.html +1 -0
- package/docs/types/StructArrayProperty.html +1 -0
- package/docs/types/StructProperty.html +1 -0
- package/docs/types/StructSetProperty.html +1 -0
- package/docs/types/TextArrayProperty.html +1 -0
- package/docs/types/TextProperty.html +1 -0
- package/docs/types/TextPropertyValue.html +13 -1
- package/docs/types/Transform.html +5 -0
- package/docs/types/Uint32Property.html +1 -0
- package/docs/types/Uint32SetProperty.html +1 -0
- package/docs/types/Uint64Property.html +1 -0
- package/docs/types/Uint8Property.html +1 -0
- package/docs/types/VehiclePhysicsData.html +7 -0
- package/docs/types/VehicleSpecialProperties.html +5 -0
- package/docs/types/col4.html +6 -0
- package/docs/types/vec2.html +4 -0
- package/docs/types/vec3.html +2 -0
- package/docs/types/vec4.html +2 -0
- package/docs/variables/DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE.html +1 -1
- package/docs/variables/EDIT.html +2 -2
- package/docs/variables/FINItemStateFileSystem.ExactStructReference.html +1 -1
- package/docs/variables/SaveBodyChunks.HEADER_V1.html +1 -1
- package/docs/variables/SaveBodyChunks.HEADER_V2.html +1 -1
- package/docs/variables/isBoolArrayProperty.html +1 -0
- package/docs/variables/isByteArrayProperty.html +1 -0
- package/docs/variables/isDoubleArrayProperty.html +1 -0
- package/docs/variables/isEnumArrayProperty.html +1 -0
- package/docs/variables/isFloatArrayProperty.html +1 -0
- package/docs/variables/isInt64ArrayProperty.html +1 -0
- package/docs/variables/isIntArrayProperty.html +1 -0
- package/docs/variables/isIntSetProperty.html +1 -0
- package/docs/variables/isInterfaceArrayProperty.html +1 -0
- package/docs/variables/isNameSetProperty.html +1 -0
- package/docs/variables/isObjectArrayProperty.html +1 -0
- package/docs/variables/isObjectSetProperty.html +1 -0
- package/docs/variables/isSoftObjectArrayProperty.html +1 -0
- package/docs/variables/isStrArrayProperty.html +1 -0
- package/docs/variables/isStrSetProperty.html +1 -0
- package/docs/variables/isStructArrayPRoperty.html +1 -0
- package/docs/variables/isStructSetProperty.html +1 -0
- package/docs/variables/isTextArrayProperty.html +1 -0
- package/docs/variables/isUint32SetProperty.html +1 -0
- package/package.json +3 -3
- package/build/parser/context/context.d.ts.map +0 -1
- package/build/parser/context/context.js.map +0 -1
- package/build/parser/file.types.d.ts +0 -14
- package/build/parser/file.types.d.ts.map +0 -1
- package/build/parser/file.types.js +0 -8
- package/build/parser/file.types.js.map +0 -1
- package/build/parser/satisfactory/save/level.class.d.ts +0 -29
- package/build/parser/satisfactory/save/level.class.d.ts.map +0 -1
- package/build/parser/satisfactory/save/level.class.js +0 -204
- package/build/parser/satisfactory/save/level.class.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts +0 -22
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js +0 -127
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts +0 -15
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts +0 -15
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts +0 -26
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js +0 -75
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts +0 -15
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts +0 -16
- package/build/parser/satisfactory/types/property/generic/Int32Property.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/Int32Property.js +0 -33
- package/build/parser/satisfactory/types/property/generic/Int32Property.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts +0 -25
- package/build/parser/satisfactory/types/property/generic/MapProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/MapProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts +0 -15
- package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts +0 -15
- package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js +0 -75
- package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/SetProperty/StrSetProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js +0 -42
- package/build/parser/satisfactory/types/property/generic/SetProperty/StructSetProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts +0 -14
- package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js +0 -23
- package/build/parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty.js.map +0 -1
- package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts +0 -60
- package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +0 -1
- package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +0 -1
- package/build/parser/satisfactory/types/structs/GUID.d.ts +0 -8
- package/build/parser/satisfactory/types/structs/GUID.d.ts.map +0 -1
- package/build/parser/satisfactory/types/structs/GUID.js +0 -22
- package/build/parser/satisfactory/types/structs/GUID.js.map +0 -1
- package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts +0 -6
- package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +0 -1
- package/build/parser/stream/reworked/save-stream-json-stringifier.js +0 -35
- package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +0 -1
- package/build/parser/stream/reworked/save-stream-writer.class.d.ts +0 -28
- package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +0 -1
- package/build/parser/stream/reworked/save-stream-writer.class.js +0 -84
- package/build/parser/stream/reworked/save-stream-writer.class.js.map +0 -1
- package/docs/classes/SaveStreamJsonStringifier.html +0 -5
- package/docs/classes/SaveStreamWriter.html +0 -16
- package/docs/functions/AbstractBaseProperty.Create.html +0 -1
- package/docs/functions/ArrayProperty.CalcOverhead.html +0 -1
- package/docs/functions/BoolArrayProperty.Parse.html +0 -1
- package/docs/functions/BoolArrayProperty.Serialize.html +0 -1
- package/docs/functions/BoolProperty.CalcOverhead.html +0 -1
- package/docs/functions/ByteArrayProperty.Parse.html +0 -1
- package/docs/functions/ByteArrayProperty.Serialize.html +0 -1
- package/docs/functions/ByteProperty.CalcOverhead.html +0 -1
- package/docs/functions/DoubleArrayProperty.Parse.html +0 -1
- package/docs/functions/DoubleArrayProperty.Serialize.html +0 -1
- package/docs/functions/DoubleProperty.CalcOverhead.html +0 -1
- package/docs/functions/EnumArrayProperty.Parse.html +0 -1
- package/docs/functions/EnumArrayProperty.Serialize.html +0 -1
- package/docs/functions/EnumProperty.CalcOverhead.html +0 -1
- package/docs/functions/FloatArrayProperty.Parse.html +0 -1
- package/docs/functions/FloatArrayProperty.Serialize.html +0 -1
- package/docs/functions/FloatProperty.CalcOverhead.html +0 -1
- package/docs/functions/GUIDInfo.read.html +0 -1
- package/docs/functions/GUIDInfo.write.html +0 -1
- package/docs/functions/Int32ArrayProperty.Parse.html +0 -1
- package/docs/functions/Int32ArrayProperty.Serialize.html +0 -1
- package/docs/functions/Int32Property.CalcOverhead.html +0 -1
- package/docs/functions/Int32Property.Parse.html +0 -1
- package/docs/functions/Int32Property.ReadValue.html +0 -1
- package/docs/functions/Int32Property.Serialize.html +0 -1
- package/docs/functions/Int32Property.SerializeValue.html +0 -1
- package/docs/functions/Int32SetProperty.Parse.html +0 -1
- package/docs/functions/Int32SetProperty.Serialize.html +0 -1
- package/docs/functions/Int64ArrayProperty.Parse.html +0 -1
- package/docs/functions/Int64ArrayProperty.Serialize.html +0 -1
- package/docs/functions/Int64Property.CalcOverhead.html +0 -1
- package/docs/functions/Int8Property.CalcOverhead.html +0 -1
- package/docs/functions/Level.ReadAllObjectContents.html +0 -1
- package/docs/functions/Level.ReadAllObjectHeaders.html +0 -1
- package/docs/functions/Level.ReadLevel.html +0 -1
- package/docs/functions/Level.ReadNObjectContents.html +0 -1
- package/docs/functions/Level.ReadNObjectHeaders.html +0 -1
- package/docs/functions/Level.SerializeAllObjectContents.html +0 -1
- package/docs/functions/Level.SerializeAllObjectHeaders.html +0 -1
- package/docs/functions/Level.SerializeLevel.html +0 -1
- package/docs/functions/MapProperty.CalcOverhead.html +0 -1
- package/docs/functions/ObjectArrayProperty.Parse.html +0 -1
- package/docs/functions/ObjectArrayProperty.Serialize.html +0 -1
- package/docs/functions/ObjectProperty.CalcOverhead.html +0 -1
- package/docs/functions/ObjectSetProperty.Parse.html +0 -1
- package/docs/functions/ObjectSetProperty.Serialize.html +0 -1
- package/docs/functions/SetProperty.CalcOverhead.html +0 -1
- package/docs/functions/SoftObjectArrayProperty.Parse.html +0 -1
- package/docs/functions/SoftObjectArrayProperty.Serialize.html +0 -1
- package/docs/functions/SoftObjectProperty.CalcOverhead.html +0 -1
- package/docs/functions/StrArrayProperty.Parse.html +0 -1
- package/docs/functions/StrArrayProperty.Serialize.html +0 -1
- package/docs/functions/StrProperty.CalcOverhead.html +0 -1
- package/docs/functions/StrSetProperty.Parse.html +0 -1
- package/docs/functions/StrSetProperty.Serialize.html +0 -1
- package/docs/functions/StructArrayProperty.Parse.html +0 -1
- package/docs/functions/StructArrayProperty.Serialize.html +0 -1
- package/docs/functions/StructProperty.CalcOverhead.html +0 -1
- package/docs/functions/StructSetProperty.Parse.html +0 -1
- package/docs/functions/StructSetProperty.Serialize.html +0 -1
- package/docs/functions/TextArrayProperty.Parse.html +0 -1
- package/docs/functions/TextArrayProperty.Serialize.html +0 -1
- package/docs/functions/TextProperty.CalcOverhead.html +0 -1
- package/docs/functions/Uint32Property.CalcOverhead.html +0 -1
- package/docs/functions/Uint32SetProperty.Parse.html +0 -1
- package/docs/functions/Uint32SetProperty.Serialize.html +0 -1
- package/docs/functions/Uint64Property.CalcOverhead.html +0 -1
- package/docs/functions/Uint8Property.CalcOverhead.html +0 -1
- package/docs/functions/isBoolArrayProperty.html +0 -1
- package/docs/functions/isByteArrayProperty.html +0 -1
- package/docs/functions/isDoubleArrayProperty.html +0 -1
- package/docs/functions/isEnumArrayProperty.html +0 -1
- package/docs/functions/isFloatArrayProperty.html +0 -1
- package/docs/functions/isInt32ArrayProperty.html +0 -1
- package/docs/functions/isInt32Property.html +0 -1
- package/docs/functions/isInt32SetProperty.html +0 -1
- package/docs/functions/isInt64ArrayProperty.html +0 -1
- package/docs/functions/isObjectArrayProperty.html +0 -1
- package/docs/functions/isObjectSetProperty.html +0 -1
- package/docs/functions/isSoftObjectArrayProperty.html +0 -1
- package/docs/functions/isStrArrayProperty.html +0 -1
- package/docs/functions/isStrSetProperty.html +0 -1
- package/docs/functions/isStructArrayProperty.html +0 -1
- package/docs/functions/isStructSetProperty.html +0 -1
- package/docs/functions/isTextArrayProperty.html +0 -1
- package/docs/functions/isUint32SetProperty.html +0 -1
- package/docs/interfaces/BlueprintConfig-1.html +0 -8
- package/docs/modules/BoolArrayProperty.html +0 -3
- package/docs/modules/ByteArrayProperty.html +0 -3
- package/docs/modules/DoubleArrayProperty.html +0 -3
- package/docs/modules/EnumArrayProperty.html +0 -3
- package/docs/modules/FloatArrayProperty.html +0 -3
- package/docs/modules/GUIDInfo.html +0 -3
- package/docs/modules/Int32ArrayProperty.html +0 -3
- package/docs/modules/Int32Property.html +0 -6
- package/docs/modules/Int32SetProperty.html +0 -3
- package/docs/modules/Int64ArrayProperty.html +0 -3
- package/docs/modules/ObjectArrayProperty.html +0 -3
- package/docs/modules/ObjectSetProperty.html +0 -3
- package/docs/modules/SoftObjectArrayProperty.html +0 -3
- package/docs/modules/StrArrayProperty.html +0 -3
- package/docs/modules/StrSetProperty.html +0 -3
- package/docs/modules/StructArrayProperty.html +0 -3
- package/docs/modules/StructSetProperty.html +0 -3
- package/docs/modules/TextArrayProperty.html +0 -3
- package/docs/modules/Uint32SetProperty.html +0 -3
- package/docs/types/AbstractBaseProperty-1.html +0 -7
- package/docs/types/ArrayProperty.AvailableArrayPropertyTypes.html +0 -1
- package/docs/types/ArrayPropertyStructValueFields.html +0 -1
- package/docs/types/BlueprintHeader-1.html +0 -1
- package/docs/types/BoolArrayProperty-1.html +0 -1
- package/docs/types/BoolProperty-1.html +0 -1
- package/docs/types/BuildableSubsystemSpecialProperties-1.html +0 -1
- package/docs/types/BuildableTypeInstance-1.html +0 -1
- package/docs/types/ByteArrayProperty-1.html +0 -1
- package/docs/types/ByteProperty-1.html +0 -1
- package/docs/types/CircuitSpecialProperties-1.html +0 -1
- package/docs/types/ConveyorChainActorSpecialProperties-1.html +0 -1
- package/docs/types/ConveyorSpecialProperties-1.html +0 -1
- package/docs/types/DoubleArrayProperty-1.html +0 -1
- package/docs/types/DoubleProperty-1.html +0 -1
- package/docs/types/DynamicStructPropertyValue-1.html +0 -1
- package/docs/types/EmptySpecialProperties-1.html +0 -1
- package/docs/types/EnumArrayProperty-1.html +0 -1
- package/docs/types/EnumProperty-1.html +0 -1
- package/docs/types/FClientIdentityInfo-1.html +0 -2
- package/docs/types/FColor-1.html +0 -2
- package/docs/types/FGDynamicStruct-1.html +0 -6
- package/docs/types/FICFrameRange-1.html +0 -1
- package/docs/types/FINGPUT1BufferPixel-1.html +0 -1
- package/docs/types/FINItemStateFileSystem-1.html +0 -2
- package/docs/types/FINNetworkTrace-1.html +0 -1
- package/docs/types/FLBBalancerIndexing-1.html +0 -2
- package/docs/types/FLinearColor-1.html +0 -2
- package/docs/types/FloatArrayProperty-1.html +0 -1
- package/docs/types/FloatProperty-1.html +0 -1
- package/docs/types/GUID-1.html +0 -2
- package/docs/types/GUIDInfo-1.html +0 -2
- package/docs/types/Int32ArrayProperty-1.html +0 -1
- package/docs/types/Int32Property-1.html +0 -1
- package/docs/types/Int32SetProperty-1.html +0 -1
- package/docs/types/Int64ArrayProperty-1.html +0 -1
- package/docs/types/Int64Property-1.html +0 -1
- package/docs/types/Int8Property-1.html +0 -1
- package/docs/types/Level-1.html +0 -2
- package/docs/types/LevelToDestroyedActorsMap-1.html +0 -1
- package/docs/types/MAP_STRUCT_PROXY.html +0 -1
- package/docs/types/MD5Hash-1.html +0 -2
- package/docs/types/MapProperty-1.html +0 -1
- package/docs/types/ObjectArrayProperty-1.html +0 -1
- package/docs/types/ObjectProperty-1.html +0 -1
- package/docs/types/ObjectReference-1.html +0 -2
- package/docs/types/ObjectSetProperty-1.html +0 -1
- package/docs/types/ObjectsListSpecialProperties-1.html +0 -1
- package/docs/types/PlayerSpecialProperties-1.html +0 -1
- package/docs/types/PowerLineSpecialProperties-1.html +0 -1
- package/docs/types/SatisfactorySaveHeader-1.html +0 -1
- package/docs/types/SaveBodyChunks-1.html +0 -1
- package/docs/types/SaveBodyValidation-1.html +0 -1
- package/docs/types/SetProperty.AvailableSetPropertyTypes.html +0 -1
- package/docs/types/SoftObjectArrayProperty-1.html +0 -1
- package/docs/types/SoftObjectProperty-1.html +0 -1
- package/docs/types/SoftObjectReference-1.html +0 -1
- package/docs/types/SpecialDroneActionProperties-1.html +0 -1
- package/docs/types/StrArrayProperty-1.html +0 -1
- package/docs/types/StrProperty-1.html +0 -1
- package/docs/types/StrSetProperty-1.html +0 -1
- package/docs/types/StructArrayProperty-1.html +0 -1
- package/docs/types/StructProperty-1.html +0 -1
- package/docs/types/StructSetProperty-1.html +0 -1
- package/docs/types/TextArrayProperty-1.html +0 -1
- package/docs/types/TextProperty-1.html +0 -1
- package/docs/types/Transform-1.html +0 -2
- package/docs/types/Uint32Property-1.html +0 -1
- package/docs/types/Uint32SetProperty-1.html +0 -1
- package/docs/types/Uint64Property-1.html +0 -1
- package/docs/types/Uint8Property-1.html +0 -1
- package/docs/types/VehiclePhysicsData-1.html +0 -1
- package/docs/types/VehicleSpecialProperties-1.html +0 -1
- package/docs/types/col4-1.html +0 -2
- package/docs/types/vec2-1.html +0 -2
- package/docs/types/vec3-1.html +0 -2
- package/docs/types/vec4-1.html +0 -2
|
@@ -2,17 +2,36 @@
|
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.ReadableStreamParser = void 0;
|
|
5
|
-
const
|
|
5
|
+
const hierarchical_version_context_1 = require("../../context/hierarchical-version-context");
|
|
6
6
|
const parser_error_1 = require("../../error/parser.error");
|
|
7
|
-
const
|
|
7
|
+
const data_blob_1 = require("../../satisfactory/save/data-blob");
|
|
8
8
|
const level_to_destroyed_actors_map_1 = require("../../satisfactory/save/level-to-destroyed-actors-map");
|
|
9
9
|
const object_references_list_1 = require("../../satisfactory/save/object-references-list");
|
|
10
10
|
const satisfactory_save_1 = require("../../satisfactory/save/satisfactory-save");
|
|
11
11
|
const satisfactory_save_header_1 = require("../../satisfactory/save/satisfactory-save-header");
|
|
12
12
|
const save_custom_version_1 = require("../../satisfactory/save/save-custom-version");
|
|
13
13
|
const save_reader_1 = require("../../satisfactory/save/save-reader");
|
|
14
|
+
const toc_blob_1 = require("../../satisfactory/save/toc-blob");
|
|
14
15
|
const ObjectReference_1 = require("../../satisfactory/types/structs/ObjectReference");
|
|
15
16
|
const SaveBodyValidation_1 = require("../../satisfactory/types/structs/SaveBodyValidation");
|
|
17
|
+
const FSaveObjectVersionData_1 = require("../../satisfactory/types/structs/binary/FSaveObjectVersionData");
|
|
18
|
+
const streamWeb = (() => {
|
|
19
|
+
try {
|
|
20
|
+
return require('stream/web');
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
try {
|
|
24
|
+
return require('web-streams-polyfill');
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return {
|
|
28
|
+
ReadableStream: globalThis.ReadableStream,
|
|
29
|
+
QueuingStrategy: globalThis.QueuingStrategy,
|
|
30
|
+
ReadableStreamDefaultController: globalThis.ReadableStreamDefaultController
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
})();
|
|
16
35
|
const DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;
|
|
17
36
|
const createStringLengthQueuingStrategy = (highWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4) => ({
|
|
18
37
|
highWaterMark,
|
|
@@ -59,52 +78,77 @@ class ReadableStreamParser {
|
|
|
59
78
|
let destroyedActorsMap = {};
|
|
60
79
|
for (let j = 0; j <= levelCount; j++) {
|
|
61
80
|
let levelName = (j === levelCount) ? '' + mapName : reader.readString();
|
|
81
|
+
const level = {
|
|
82
|
+
name: levelName,
|
|
83
|
+
objects: [],
|
|
84
|
+
collectables: [],
|
|
85
|
+
writesDestroyedActorsInTOCBlob: false
|
|
86
|
+
};
|
|
62
87
|
const isPersistentLevel = levelName === mapName;
|
|
63
88
|
if (j % 500 === 0) {
|
|
64
89
|
reader.onProgressCallback(reader.getBufferProgress(), `reading level [${(j + 1)}/${(levelCount + 1)}] ${levelName}`);
|
|
65
90
|
}
|
|
66
|
-
await write(`${j > 0 ? ', ' : ''}"${levelName}": {"name": "${levelName}"
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
91
|
+
await write(`${j > 0 ? ', ' : ''}"${levelName}": {"name": "${levelName}",`, false);
|
|
92
|
+
const tocBlobMarker = toc_blob_1.TOCBlob.SkipOver(reader);
|
|
93
|
+
const dataBlobMarker = data_blob_1.DataBlob.SkipOver(reader);
|
|
94
|
+
if (!isPersistentLevel) {
|
|
95
|
+
if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.SerializePerStreamableLevelTOCVersion) {
|
|
96
|
+
level.saveCustomVersion = reader.readInt32();
|
|
97
|
+
await write(`"saveCustomVersion": ${level.saveCustomVersion},`, false);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (isPersistentLevel) {
|
|
101
|
+
const destroyedActorsMap = level_to_destroyed_actors_map_1.LevelToDestroyedActorsMap.read(reader);
|
|
102
|
+
await write(`"destroyedActorsMap": ${JSON.stringify(destroyedActorsMap)},`, false);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
level.collectables = object_references_list_1.ObjectReferencesList.ReadList(reader);
|
|
106
|
+
if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
|
|
107
|
+
const shouldSerializePerObjectVersionData = reader.readInt32() >= 1;
|
|
108
|
+
if (shouldSerializePerObjectVersionData) {
|
|
109
|
+
level.objectVersionData = FSaveObjectVersionData_1.FSaveObjectVersionData.read(reader);
|
|
110
|
+
await write(`"objectVersionData": ${JSON.stringify(level.objectVersionData)},`, false);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
70
113
|
}
|
|
71
|
-
|
|
72
|
-
|
|
114
|
+
await write(`"collectables": [${level.collectables.map(obj => JSON.stringify(obj)).join(', ')}],`, false);
|
|
115
|
+
hierarchical_version_context_1.HierarchyVersion.SetOnLevel(reader.context.saveVersion, level.saveCustomVersion);
|
|
116
|
+
hierarchical_version_context_1.HierarchyVersion.SetOnLevel(reader.context.packageFileVersionUE5, level.objectVersionData?.packageFileVersion.ue5Version);
|
|
117
|
+
const endOfLevelPosition = reader.getBufferPosition();
|
|
118
|
+
await write(`"objects": [`, false);
|
|
119
|
+
reader.jumpTo(tocBlobMarker.position);
|
|
73
120
|
let countObjectHeaders = reader.readInt32();
|
|
74
121
|
let totalReadObjectsInLevel = 0;
|
|
75
122
|
let writtenObjectsInLevel = 0;
|
|
76
123
|
let afterHeadersOfBatch = reader.getBufferPosition();
|
|
77
124
|
let afterObjectsOfBatch = -1;
|
|
78
125
|
do {
|
|
79
|
-
reader.
|
|
126
|
+
reader.jumpTo(afterHeadersOfBatch);
|
|
80
127
|
const objectCountToRead = Math.min(countObjectHeaders - totalReadObjectsInLevel, batchingSizeOfObjects);
|
|
81
|
-
const objects =
|
|
128
|
+
const objects = toc_blob_1.TOCBlob.ReadNObjectHeaders(reader, objectCountToRead);
|
|
82
129
|
afterHeadersOfBatch = reader.getBufferPosition();
|
|
83
130
|
if (countObjectHeaders === totalReadObjectsInLevel + objects.length) {
|
|
84
|
-
|
|
85
|
-
if (
|
|
131
|
+
let remainingSize = tocBlobMarker.length - (reader.getBufferPosition() - tocBlobMarker.position);
|
|
132
|
+
if (remainingSize > 0) {
|
|
86
133
|
if (isPersistentLevel) {
|
|
87
134
|
destroyedActorsMap = level_to_destroyed_actors_map_1.LevelToDestroyedActorsMap.read(reader);
|
|
88
135
|
}
|
|
89
136
|
else {
|
|
90
137
|
collectables = object_references_list_1.ObjectReferencesList.ReadList(reader);
|
|
91
138
|
}
|
|
139
|
+
level.writesDestroyedActorsInTOCBlob = true;
|
|
92
140
|
}
|
|
93
141
|
}
|
|
94
142
|
if (totalReadObjectsInLevel === 0) {
|
|
95
|
-
reader.
|
|
96
|
-
const objectContentsBinLen = reader.readInt32();
|
|
97
|
-
if (reader.context.saveVersion >= save_custom_version_1.SaveCustomVersion.UnrealEngine5) {
|
|
98
|
-
reader.readInt32Zero();
|
|
99
|
-
}
|
|
143
|
+
reader.jumpTo(dataBlobMarker.position);
|
|
100
144
|
const posBeforeContents = reader.getBufferPosition();
|
|
101
145
|
const countEntities = reader.readInt32();
|
|
102
146
|
afterObjectsOfBatch = reader.getBufferPosition();
|
|
103
147
|
}
|
|
104
148
|
else {
|
|
105
|
-
reader.
|
|
149
|
+
reader.jumpTo(afterObjectsOfBatch);
|
|
106
150
|
}
|
|
107
|
-
|
|
151
|
+
data_blob_1.DataBlob.ReadNObjectContents(reader, objectCountToRead, objects, 0);
|
|
108
152
|
afterObjectsOfBatch = reader.getBufferPosition();
|
|
109
153
|
totalReadObjectsInLevel += objectCountToRead;
|
|
110
154
|
if (countObjectHeaders > 10000 && totalReadObjectsInLevel % 10000 === 0) {
|
|
@@ -120,22 +164,8 @@ class ReadableStreamParser {
|
|
|
120
164
|
writtenObjectsInLevel += objectCountToRead;
|
|
121
165
|
} while (totalReadObjectsInLevel < countObjectHeaders);
|
|
122
166
|
await write('], ', false);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const saveCustomVersion = reader.readInt32();
|
|
126
|
-
await write(`"saveCustomVersion": ${saveCustomVersion}, `, false);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (isPersistentLevel) {
|
|
130
|
-
destroyedActorsMap = level_to_destroyed_actors_map_1.LevelToDestroyedActorsMap.read(reader);
|
|
131
|
-
await write(`"destroyedActorsMap": ${JSON.stringify(destroyedActorsMap)}, `, false);
|
|
132
|
-
}
|
|
133
|
-
await write('"collectables": [', false);
|
|
134
|
-
if (!isPersistentLevel) {
|
|
135
|
-
collectables = object_references_list_1.ObjectReferencesList.ReadList(reader);
|
|
136
|
-
}
|
|
137
|
-
await write(`${collectables.map(obj => JSON.stringify(obj)).join(', ')}`, true);
|
|
138
|
-
await write(']', false);
|
|
167
|
+
await write(`"writesDestroyedActorsInTOCBlob": ${JSON.stringify(level.writesDestroyedActorsInTOCBlob)}`, false);
|
|
168
|
+
reader.jumpTo(endOfLevelPosition);
|
|
139
169
|
await write('}', false);
|
|
140
170
|
}
|
|
141
171
|
}
|
|
@@ -144,7 +174,7 @@ exports.ReadableStreamParser = ReadableStreamParser;
|
|
|
144
174
|
_a = ReadableStreamParser;
|
|
145
175
|
ReadableStreamParser.CreateReadableStreamForParsingSave = (onStart, onCancel, onPullRequest, highWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4) => {
|
|
146
176
|
let ourController = null;
|
|
147
|
-
const stream = new
|
|
177
|
+
const stream = new streamWeb.ReadableStream({
|
|
148
178
|
start: (controller) => {
|
|
149
179
|
ourController = controller;
|
|
150
180
|
onStart(ourController);
|
|
@@ -188,7 +218,7 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
|
|
|
188
218
|
const reader = new save_reader_1.SaveReader(bytes, options?.onProgress);
|
|
189
219
|
const header = satisfactory_save_header_1.SatisfactorySaveHeader.Parse(reader);
|
|
190
220
|
const save = new satisfactory_save_1.SatisfactorySave(name, header);
|
|
191
|
-
const roughSaveVersion = save_reader_1.SaveReader.
|
|
221
|
+
const roughSaveVersion = save_reader_1.SaveReader.GetApproximateSaveVersion(header.saveVersion);
|
|
192
222
|
if (roughSaveVersion === '<U6') {
|
|
193
223
|
throw new parser_error_1.UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');
|
|
194
224
|
}
|
|
@@ -197,11 +227,19 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
|
|
|
197
227
|
if (options?.onDecompressedSaveBody !== undefined) {
|
|
198
228
|
options.onDecompressedSaveBody(reader.getBuffer());
|
|
199
229
|
}
|
|
230
|
+
if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.UnrealEngine5) {
|
|
231
|
+
reader.readInt32();
|
|
232
|
+
}
|
|
233
|
+
let saveObjectVersionData = save.objectVersionData;
|
|
234
|
+
if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
|
|
235
|
+
saveObjectVersionData = FSaveObjectVersionData_1.FSaveObjectVersionData.read(reader);
|
|
236
|
+
reader.context.packageFileVersionUE5 = hierarchical_version_context_1.HierarchyVersion.CreateOnHeader(saveObjectVersionData.packageFileVersion.ue5Version);
|
|
237
|
+
}
|
|
200
238
|
let saveBodyValidation = save.saveBodyValidation;
|
|
201
|
-
if (reader.context.saveVersion >= save_custom_version_1.SaveCustomVersion.IntroducedWorldPartition) {
|
|
239
|
+
if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.IntroducedWorldPartition) {
|
|
202
240
|
saveBodyValidation = SaveBodyValidation_1.SaveBodyValidation.Parse(reader);
|
|
203
241
|
}
|
|
204
|
-
await _a.
|
|
242
|
+
await _a.WriteHeaderAndFieldsBeforeLevel(write, name, inflateResult.compressionInfo, header, saveBodyValidation, saveObjectVersionData);
|
|
205
243
|
await _a.ReadWriteLevels(write, reader, save.header.mapName, save.header.buildVersion);
|
|
206
244
|
await write(`}`, false);
|
|
207
245
|
if (reader.getBufferPosition() < reader.getBufferLength()) {
|
|
@@ -214,9 +252,6 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
|
|
|
214
252
|
await write(`, "unresolvedWorldSaveData": ${JSON.stringify(save.unresolvedWorldSaveData)} `, false);
|
|
215
253
|
}
|
|
216
254
|
}
|
|
217
|
-
if (save.name !== undefined) {
|
|
218
|
-
await write(`, "name": "${save.name}" `, false);
|
|
219
|
-
}
|
|
220
255
|
if (options?.onProgress !== undefined) {
|
|
221
256
|
options.onProgress(1, 'finished parsing.');
|
|
222
257
|
}
|
|
@@ -225,7 +260,10 @@ ReadableStreamParser.CreateReadableStreamFromSaveToJson = (name, bytes, options)
|
|
|
225
260
|
};
|
|
226
261
|
return { stream, startStreaming };
|
|
227
262
|
};
|
|
228
|
-
ReadableStreamParser.
|
|
229
|
-
|
|
263
|
+
ReadableStreamParser.WriteHeaderAndFieldsBeforeLevel = async (write, name, compressionInfo, header, saveBodyValidation, saveObjectVersionData) => {
|
|
264
|
+
const compressionInfoEntry = `"compressionInfo": ${JSON.stringify(compressionInfo)}`;
|
|
265
|
+
const saveBodyValidationEntry = saveBodyValidation !== undefined ? `, "saveBodyValidation": ${JSON.stringify(saveBodyValidation)}` : '';
|
|
266
|
+
const saveObjectVersionDataEntry = saveObjectVersionData !== undefined ? `, "objectVersionData": ${JSON.stringify(saveObjectVersionData)}` : '';
|
|
267
|
+
return write(`{"header": ${JSON.stringify(header)}, "name": "${name}", ${compressionInfoEntry}${saveBodyValidationEntry}${saveObjectVersionDataEntry}, "levels": {`, false);
|
|
230
268
|
};
|
|
231
269
|
//# sourceMappingURL=readable-stream-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable-stream-parser.js","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/readable-stream-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { QueuingStrategy, ReadableStream, ReadableStreamDefaultController } from \"stream/web\";\nimport { UnsupportedVersionError } from '../../error/parser.error';\nimport { Level } from '../../satisfactory/save/level';\nimport { LevelToDestroyedActorsMap } from '../../satisfactory/save/level-to-destroyed-actors-map';\nimport { ObjectReferencesList } from '../../satisfactory/save/object-references-list';\nimport { SatisfactorySave } from \"../../satisfactory/save/satisfactory-save\";\nimport { SatisfactorySaveHeader } from '../../satisfactory/save/satisfactory-save-header';\nimport { ChunkCompressionInfo } from \"../../satisfactory/save/save-body-chunks\";\nimport { SaveCustomVersion } from '../../satisfactory/save/save-custom-version';\nimport { SaveReader } from '../../satisfactory/save/save-reader';\nimport { ObjectReference } from '../../satisfactory/types/structs/ObjectReference';\nimport { SaveBodyValidation } from \"../../satisfactory/types/structs/SaveBodyValidation\";\n\nconst DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;\t// 200MiB\nconst createStringLengthQueuingStrategy = (highWaterMark: number = DEFAULT_BYTE_HIGHWATERMARK / 4): QueuingStrategy<string> => ({\n\thighWaterMark,\n\tsize: (chunk: string | undefined) => {\n\t\tif (chunk === undefined) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn chunk.length;\n\t}\n});\n\nclass SimpleWaitForConsumerLock {\n\tlocked: boolean = false;\n\tunlockWasCalledInTheMeantime: boolean = false;\n\texecutionFn: (() => void) | undefined = undefined;\n\n\t/** activate lock and set function to execute on unlock.\n\t * If at least 1 unlock was called before this call, immediately unlock.\n\t */\n\tpublic lock(executionFn: () => void) {\n\t\tthis.executionFn = executionFn;\n\t\tthis.locked = true;\n\t\tif (this.unlockWasCalledInTheMeantime) {\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\t/**\n\t * unlock and execute stored function if present.\n\t */\n\tpublic unlock() {\n\t\tthis.locked = false;\n\t\tif (this.executionFn) {\n\t\t\tthis.executionFn();\n\t\t\tthis.executionFn = undefined;\n\t\t} else {\n\t\t\tthis.unlockWasCalledInTheMeantime = true;\n\t\t}\n\t}\n};\n\n/**\n * Creates a ReadableStream from Binary file, that actually waits until the reading operator has caught up before it pushes more.\n */\nexport class ReadableStreamParser {\n\n\tprivate static CreateReadableStreamForParsingSave = (\n\t\tonStart: (controller: ReadableStreamDefaultController<string>) => void,\n\t\tonCancel: (reason: any) => void,\n\t\tonPullRequest: (desiredSize: number) => void,\n\t\thighWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4\n\t) => {\n\t\tlet ourController: ReadableStreamDefaultController<string> | null = null;\n\t\tconst stream = new ReadableStream<string>({\n\t\t\tstart: (controller: ReadableStreamDefaultController<string>) => {\n\t\t\t\tourController = controller;\n\t\t\t\tonStart(ourController);\n\t\t\t},\n\t\t\tpull: (controller: ReadableStreamDefaultController<string>) => {\n\t\t\t\tonPullRequest(ourController!.desiredSize ?? 1);\n\t\t\t},\n\t\t\tcancel: (reason) => {\n\t\t\t\tconsole.warn('parsing stream was canceled!', reason);\n\t\t\t\tif (ourController !== null) {\n\t\t\t\t\tourController.close();\n\t\t\t\t}\n\t\t\t\tonCancel(reason);\n\t\t\t}\n\t\t}, createStringLengthQueuingStrategy(highWaterMark));\n\n\t\t// create handle to close source.\n\t\tconst finish = () => {\n\t\t\tif (ourController !== null) {\n\t\t\t\tourController?.close();\n\t\t\t}\n\t\t}\n\n\t\treturn { stream, controller: ourController!, finish };\n\t};\n\n\t/**\n\t * the more elegant way to parse saves, instead of using the plain ParseSave. Since streaming will not hold the converted JSON in memory at once.\n\t * @param name the save name\n\t * @param bytes the save file as UInt8Array\n\t * @param onDecompressedSaveBody a callback to report back on the decompressed binary save body.\n\t * @param onProgress a callback to report back on the parsing progress. Optionally contains a message.\n\t * @returns a WHATWG compliant readable stream of strings (They are valid JSON and represent a {@link SatisfactorySave} object). And a method to actually start the streaming for more precise control.\n\t */\n\tpublic static CreateReadableStreamFromSaveToJson = (\n\t\tname: string,\n\t\tbytes: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedSaveBody: (buffer: ArrayBufferLike) => void,\n\t\t\tonProgress: (progress: number, message?: string) => void\n\t\t}>\n\t): { stream: ReadableStream<string>, startStreaming: () => Promise<void> } => {\n\n\t\t// create a simple lock to sync with consumer of the stream. Aka handle backpressure.\n\t\tconst waitForConsumerLock = new SimpleWaitForConsumerLock();\n\t\tconst waitForConsumer = async () => {\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\twaitForConsumerLock.lock(resolve);\n\t\t\t});\n\t\t}\n\n\t\tconst { stream, controller, finish } = ReadableStreamParser.CreateReadableStreamForParsingSave(\n\t\t\t(controller) => {\n\t\t\t\t//startStreaming();\n\t\t\t},\n\t\t\t(reason) => { },\n\t\t\t(desiredSize) => {\n\t\t\t\t// consumer (to be more correct, the internal buffer!) is ready, unlock syncing lock.\n\t\t\t\twaitForConsumerLock.unlock();\n\t\t\t},\n\t\t);\n\n\t\t/**\n\t\t * pushes a value into the readable stream. Optionally waits for the \"pull\" signal of the stream before writing.\n\t\t * @param value the value to write\n\t\t * @param waitForConsumerToBeReady whether the process should wait until the \"pull\" signal of the stream.\n\t\t */\n\t\tconst write = async (value: string, waitForConsumerToBeReady = true): Promise<void> => {\n\t\t\tif (waitForConsumerToBeReady) {\n\t\t\t\tawait waitForConsumer();\n\t\t\t}\n\t\t\tcontroller.enqueue(value);\n\t\t}\n\n\t\tconst startStreaming = async (): Promise<void> => {\n\n\t\t\tconst reader = new SaveReader(bytes, options?.onProgress);\n\n\t\t\t// read header\n\t\t\tconst header = SatisfactorySaveHeader.Parse(reader);\n\t\t\tconst save = new SatisfactorySave(name, header);\n\n\t\t\t// guard save version\n\t\t\tconst roughSaveVersion = SaveReader.GetRoughSaveVersion(header.saveVersion);\n\t\t\tif (roughSaveVersion === '<U6') {\n\t\t\t\tthrow new UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');\n\t\t\t}\n\n\t\t\t// inflate chunks\n\t\t\tconst inflateResult = reader.inflateChunks();\n\t\t\tsave.compressionInfo = inflateResult.compressionInfo;\n\n\t\t\t// call callback on decompressed save body\n\t\t\tif (options?.onDecompressedSaveBody !== undefined) {\n\t\t\t\toptions.onDecompressedSaveBody(reader.getBuffer());\n\t\t\t}\n\n\t\t\tlet saveBodyValidation = save.saveBodyValidation;\n\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.IntroducedWorldPartition) {\n\t\t\t\tsaveBodyValidation = SaveBodyValidation.Parse(reader);\n\t\t\t}\n\n\t\t\tawait ReadableStreamParser.WriteHeaderAndSaveBodyValidation(write, name, inflateResult.compressionInfo, header, saveBodyValidation);\n\n\t\t\t// parse levels\n\t\t\tawait ReadableStreamParser.ReadWriteLevels(write, reader, save.header.mapName, save.header.buildVersion);\n\t\t\tawait write(`}`, false);\n\n\t\t\t// unresolved data\n\t\t\tif (reader.getBufferPosition() < reader.getBufferLength()) {\n\t\t\t\tconst countUnresolvedWorldSaveData = reader.readInt32();\n\t\t\t\tif (countUnresolvedWorldSaveData) {\n\t\t\t\t\tsave.unresolvedWorldSaveData = [];\n\t\t\t\t\tfor (let i = 0; i < countUnresolvedWorldSaveData; i++) {\n\t\t\t\t\t\tsave.unresolvedWorldSaveData.push(ObjectReference.read(reader));\n\t\t\t\t\t}\n\t\t\t\t\tawait write(`, \"unresolvedWorldSaveData\": ${JSON.stringify(save.unresolvedWorldSaveData)} `, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (save.name !== undefined) {\n\t\t\t\tawait write(`, \"name\": \"${save.name}\" `, false);\n\t\t\t}\n\n\t\t\tif (options?.onProgress !== undefined) {\n\t\t\t\toptions.onProgress(1, 'finished parsing.');\n\t\t\t}\n\n\t\t\t// close save object.\n\t\t\tawait write(`}`, true);\n\t\t\tfinish();\n\t\t};\n\n\t\treturn { stream, startStreaming };\n\t}\n\n\n\tprivate static WriteHeaderAndSaveBodyValidation = async (\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\tname: string,\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\theader: SatisfactorySaveHeader,\n\t\tsaveBodyValidation: SaveBodyValidation\n\t) => {\n\t\treturn write(`{\"header\": ${JSON.stringify(header)}, \"name\": \"${name}\", \"compressionInfo\": ${JSON.stringify(compressionInfo)}, \"saveBodyValidation\": ${JSON.stringify(saveBodyValidation)}, \"levels\": {`, false);\n\t}\n\n\tprivate static async ReadWriteLevels(\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\treader: SaveReader,\n\t\tmapName: string,\n\t\tbuildVersion: number,\n\t): Promise<void> {\n\n\t\tconst batchingSizeOfObjects = 1000;\n\t\tconst thresholdOfWrittenObjectsUntilWaitingForConsumerAgain = 3 * batchingSizeOfObjects;\n\n\t\tconst levelCount = reader.readInt32();\n\t\treader.onProgressCallback(reader.getBufferProgress(), `reading pack of ${levelCount + 1} levels.`);\n\n\t\tlet writtenTotalObjectsSinceConsumerSync = 0;\n\t\tlet collectables: ObjectReference[] = [];\n\t\tlet destroyedActorsMap: LevelToDestroyedActorsMap = {};\n\t\tfor (let j = 0; j <= levelCount; j++) {\n\t\t\tlet levelName = (j === levelCount) ? '' + mapName : reader.readString();\n\t\t\tconst isPersistentLevel = levelName === mapName;\n\n\t\t\tif (j % 500 === 0) {\n\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `reading level [${(j + 1)}/${(levelCount + 1)}] ${levelName}`);\n\t\t\t}\n\n\t\t\t// we will intentionally NOT wait for next pull request, since these few characters don't make waiting useful.\n\t\t\tawait write(`${j > 0 ? ', ' : ''}\"${levelName}\": {\"name\": \"${levelName}\", \"objects\": [`, false);\n\n\n\t\t\t// object headers\n\t\t\tconst headersBinLen = reader.readInt32(); // object headers + destroyed colelctables\n\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.UnrealEngine5) {\n\t\t\t\treader.readInt32Zero();\n\t\t\t}\n\n\t\t\tconst posBeforeHeaders = reader.getBufferPosition();\n\t\t\tconst afterAllHeaders = posBeforeHeaders + headersBinLen;\n\t\t\tlet countObjectHeaders = reader.readInt32();\n\n\t\t\tlet totalReadObjectsInLevel = 0;\n\t\t\tlet writtenObjectsInLevel = 0;\n\t\t\tlet afterHeadersOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\tlet afterObjectsOfBatch = -1;\n\n\t\t\tdo {\n\n\t\t\t\t// jump to after last read batch\n\t\t\t\treader.skipBytes(afterHeadersOfBatch - reader.getBufferPosition());\n\n\t\t\t\t// read batch\n\t\t\t\tconst objectCountToRead = Math.min(countObjectHeaders - totalReadObjectsInLevel, batchingSizeOfObjects);\n\t\t\t\tconst objects = Level.ReadNObjectHeaders(reader, objectCountToRead);\n\n\t\t\t\tafterHeadersOfBatch = reader.getBufferPosition();\n\n\n\t\t\t\t// after headers, there MAY be destroyed entities. don't have to.\n\t\t\t\t// But either way, we can safely ignore them.\n\t\t\t\tif (countObjectHeaders === totalReadObjectsInLevel + objects.length) {\n\t\t\t\t\tconst bytesLeft = afterAllHeaders - reader.getBufferPosition();\n\t\t\t\t\tif (bytesLeft > 0) {\n\t\t\t\t\t\tif (isPersistentLevel) {\n\t\t\t\t\t\t\tdestroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcollectables = ObjectReferencesList.ReadList(reader);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\n\t\t\t\tif (totalReadObjectsInLevel === 0) {\n\n\t\t\t\t\t// jump to after all headers\n\t\t\t\t\treader.skipBytes(afterAllHeaders - reader.getBufferPosition());\n\n\t\t\t\t\tconst objectContentsBinLen = reader.readInt32();\n\t\t\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.UnrealEngine5) {\n\t\t\t\t\t\treader.readInt32Zero();\n\t\t\t\t\t}\n\n\t\t\t\t\tconst posBeforeContents = reader.getBufferPosition();\n\t\t\t\t\tconst countEntities = reader.readInt32();\n\t\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\t\t} else {\n\t\t\t\t\treader.skipBytes(afterObjectsOfBatch - reader.getBufferPosition());\n\t\t\t\t}\n\n\t\t\t\tLevel.ReadNObjectContents(reader, objectCountToRead, objects, 0);\n\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\n\n\t\t\t\ttotalReadObjectsInLevel += objectCountToRead;\n\t\t\t\tif (countObjectHeaders > 10000 && totalReadObjectsInLevel % 10000 === 0) {\n\t\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `read object count [${(totalReadObjectsInLevel + 1)}/${(countObjectHeaders + 1)}] in level ${levelName}`);\n\t\t\t\t}\n\n\t\t\t\t// we should wait even if the objects of many levels accumulate to several hundred.\n\t\t\t\tlet shouldWait = false;\n\t\t\t\tif (writtenTotalObjectsSinceConsumerSync >= thresholdOfWrittenObjectsUntilWaitingForConsumerAgain) {\n\t\t\t\t\t// will wait til consumer catches up. Because we wrote ${writtenTotalObjectsSinceConsumerSync} objects without waiting.\n\t\t\t\t\tshouldWait = true;\n\t\t\t\t\twrittenTotalObjectsSinceConsumerSync = 0;\n\t\t\t\t}\n\t\t\t\tawait write(`${writtenObjectsInLevel > 0 ? ', ' : ''}${objects.filter(Boolean).map(obj => JSON.stringify(obj)).join(', ')}`, shouldWait);\n\t\t\t\twrittenTotalObjectsSinceConsumerSync += objectCountToRead;\n\t\t\t\twrittenObjectsInLevel += objectCountToRead;\n\n\t\t\t} while (totalReadObjectsInLevel < countObjectHeaders)\n\n\n\t\t\tawait write('], ', false);\n\n\t\t\t// only NOT in the persistent level, we have saveVersion\n\t\t\tif (!isPersistentLevel) {\n\t\t\t\tif (reader.context.saveVersion >= SaveCustomVersion.SerializePerStreamableLevelTOCVersion) {\n\t\t\t\t\tconst saveCustomVersion = reader.readInt32();\n\t\t\t\t\tawait write(`\"saveCustomVersion\": ${saveCustomVersion}, `, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// only in persistent level, we have LevelToDestroyedActorsMap\n\t\t\tif (isPersistentLevel) {\n\t\t\t\tdestroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\tawait write(`\"destroyedActorsMap\": ${JSON.stringify(destroyedActorsMap)}, `, false);\n\t\t\t}\n\n\t\t\tawait write('\"collectables\": [', false);\n\n\t\t\t// only NOT in the persistent level, we have 2nd collectables.\n\t\t\tif (!isPersistentLevel) {\n\t\t\t\tcollectables = ObjectReferencesList.ReadList(reader);\n\t\t\t}\n\n\t\t\tawait write(`${collectables.map(obj => JSON.stringify(obj)).join(', ')}`, true);\n\n\t\t\tawait write(']', false);\n\t\t\tawait write('}', false);\n\t\t}\n\t}\n}"]}
|
|
1
|
+
{"version":3,"file":"readable-stream-parser.js","sourceRoot":"","sources":["../../../../src/parser/stream/reworked/readable-stream-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { HierarchyVersion } from \"../../context/hierarchical-version-context\";\nimport { UnsupportedVersionError } from '../../error/parser.error';\nimport { DataBlob } from \"../../satisfactory/save/data-blob\";\nimport { Level } from \"../../satisfactory/save/level\";\nimport { LevelToDestroyedActorsMap } from '../../satisfactory/save/level-to-destroyed-actors-map';\nimport { ObjectReferencesList } from '../../satisfactory/save/object-references-list';\nimport { SatisfactorySave } from \"../../satisfactory/save/satisfactory-save\";\nimport { SatisfactorySaveHeader } from '../../satisfactory/save/satisfactory-save-header';\nimport { ChunkCompressionInfo } from \"../../satisfactory/save/save-body-chunks\";\nimport { SaveCustomVersion } from '../../satisfactory/save/save-custom-version';\nimport { SaveReader } from '../../satisfactory/save/save-reader';\nimport { TOCBlob } from \"../../satisfactory/save/toc-blob\";\nimport { ObjectReference } from '../../satisfactory/types/structs/ObjectReference';\nimport { SaveBodyValidation } from \"../../satisfactory/types/structs/SaveBodyValidation\";\nimport { FSaveObjectVersionData } from \"../../satisfactory/types/structs/binary/FSaveObjectVersionData\";\n\ninterface StreamWeb {\n\tReadableStream: any;\n\tQueuingStrategy: any;\n\tReadableStreamDefaultController: any;\n}\n\nconst streamWeb: StreamWeb = (() => {\n\ttry {\n\t\treturn require('stream/web');\n\t} catch {\n\t\ttry {\n\t\t\treturn require('web-streams-polyfill');\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\tReadableStream: (globalThis as any).ReadableStream as any,\n\t\t\t\tQueuingStrategy: (globalThis as any).QueuingStrategy as any,\n\t\t\t\tReadableStreamDefaultController: (globalThis as any).ReadableStreamDefaultController as any\n\t\t\t};\n\t\t}\n\t}\n})();\n\nconst DEFAULT_BYTE_HIGHWATERMARK = 1024 * 1024 * 200;\t// 200MiB\nconst createStringLengthQueuingStrategy = (highWaterMark: number = DEFAULT_BYTE_HIGHWATERMARK / 4): any => ({\n\thighWaterMark,\n\tsize: (chunk: string | undefined) => {\n\t\tif (chunk === undefined) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn chunk.length;\n\t}\n});\n\nclass SimpleWaitForConsumerLock {\n\tlocked: boolean = false;\n\tunlockWasCalledInTheMeantime: boolean = false;\n\texecutionFn: (() => void) | undefined = undefined;\n\n\t/** activate lock and set function to execute on unlock.\n\t * If at least 1 unlock was called before this call, immediately unlock.\n\t */\n\tpublic lock(executionFn: () => void) {\n\t\tthis.executionFn = executionFn;\n\t\tthis.locked = true;\n\t\tif (this.unlockWasCalledInTheMeantime) {\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\t/**\n\t * unlock and execute stored function if present.\n\t */\n\tpublic unlock() {\n\t\tthis.locked = false;\n\t\tif (this.executionFn) {\n\t\t\tthis.executionFn();\n\t\t\tthis.executionFn = undefined;\n\t\t} else {\n\t\t\tthis.unlockWasCalledInTheMeantime = true;\n\t\t}\n\t}\n};\n\n/**\n * Creates a ReadableStream from Binary file, that actually waits until the reading operator has caught up before it pushes more.\n */\nexport class ReadableStreamParser {\n\n\tprivate static CreateReadableStreamForParsingSave = (\n\t\tonStart: (controller: any) => void,\n\t\tonCancel: (reason: any) => void,\n\t\tonPullRequest: (desiredSize: number) => void,\n\t\thighWaterMark = DEFAULT_BYTE_HIGHWATERMARK / 4\n\t) => {\n\t\tlet ourController: any = null;\n\t\tconst stream = new (streamWeb.ReadableStream as any)({\n\t\t\tstart: (controller: any) => {\n\t\t\t\tourController = controller;\n\t\t\t\tonStart(ourController);\n\t\t\t},\n\t\t\tpull: (controller: any) => {\n\t\t\t\tonPullRequest(ourController!.desiredSize ?? 1);\n\t\t\t},\n\t\t\tcancel: (reason: any) => {\n\t\t\t\tconsole.warn('parsing stream was canceled!', reason);\n\t\t\t\tif (ourController !== null) {\n\t\t\t\t\tourController.close();\n\t\t\t\t}\n\t\t\t\tonCancel(reason);\n\t\t\t}\n\t\t}, createStringLengthQueuingStrategy(highWaterMark));\n\n\t\t// create handle to close source.\n\t\tconst finish = () => {\n\t\t\tif (ourController !== null) {\n\t\t\t\tourController?.close();\n\t\t\t}\n\t\t}\n\n\t\treturn { stream, controller: ourController!, finish };\n\t};\n\n\t/**\n\t * the more elegant way to parse saves, instead of using the plain ParseSave. Since streaming will not hold the converted JSON in memory at once.\n\t * @param name the save name\n\t * @param bytes the save file as UInt8Array\n\t * @param onDecompressedSaveBody a callback to report back on the decompressed binary save body.\n\t * @param onProgress a callback to report back on the parsing progress. Optionally contains a message.\n\t * @returns a WHATWG compliant readable stream of strings (They are valid JSON and represent a {@link SatisfactorySave} object). And a method to actually start the streaming for more precise control.\n\t */\n\tpublic static CreateReadableStreamFromSaveToJson = (\n\t\tname: string,\n\t\tbytes: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedSaveBody: (buffer: ArrayBufferLike) => void,\n\t\t\tonProgress: (progress: number, message?: string) => void\n\t\t}>\n\t): { stream: any, startStreaming: () => Promise<void> } => {\n\n\t\t// create a simple lock to sync with consumer of the stream. Aka handle backpressure.\n\t\tconst waitForConsumerLock = new SimpleWaitForConsumerLock();\n\t\tconst waitForConsumer = async () => {\n\t\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\t\twaitForConsumerLock.lock(resolve);\n\t\t\t});\n\t\t}\n\n\t\tconst { stream, controller, finish } = ReadableStreamParser.CreateReadableStreamForParsingSave(\n\t\t\t(controller) => {\n\t\t\t\t//startStreaming();\n\t\t\t},\n\t\t\t(reason) => { },\n\t\t\t(desiredSize) => {\n\t\t\t\t// consumer (to be more correct, the internal buffer!) is ready, unlock syncing lock.\n\t\t\t\twaitForConsumerLock.unlock();\n\t\t\t},\n\t\t);\n\n\t\t/**\n\t\t * pushes a value into the readable stream. Optionally waits for the \"pull\" signal of the stream before writing.\n\t\t * @param value the value to write\n\t\t * @param waitForConsumerToBeReady whether the process should wait until the \"pull\" signal of the stream.\n\t\t */\n\t\tconst write = async (value: string, waitForConsumerToBeReady = true): Promise<void> => {\n\t\t\tif (waitForConsumerToBeReady) {\n\t\t\t\tawait waitForConsumer();\n\t\t\t}\n\t\t\tcontroller.enqueue(value);\n\t\t}\n\n\t\tconst startStreaming = async (): Promise<void> => {\n\n\t\t\tconst reader = new SaveReader(bytes, options?.onProgress);\n\n\t\t\t// read header\n\t\t\tconst header = SatisfactorySaveHeader.Parse(reader);\n\t\t\tconst save = new SatisfactorySave(name, header);\n\n\t\t\t// guard save version\n\t\t\tconst roughSaveVersion = SaveReader.GetApproximateSaveVersion(header.saveVersion);\n\t\t\tif (roughSaveVersion === '<U6') {\n\t\t\t\tthrow new UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');\n\t\t\t}\n\n\t\t\t// inflate chunks\n\t\t\tconst inflateResult = reader.inflateChunks();\n\t\t\tsave.compressionInfo = inflateResult.compressionInfo;\n\n\t\t\t// call callback on decompressed save body\n\t\t\tif (options?.onDecompressedSaveBody !== undefined) {\n\t\t\t\toptions.onDecompressedSaveBody(reader.getBuffer());\n\t\t\t}\n\n\t\t\t// might be padding?\n\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.UnrealEngine5) {\n\t\t\t\treader.readInt32();\n\t\t\t}\n\n\t\t\t// read FSaveObjectVersionData\n\t\t\tlet saveObjectVersionData = save.objectVersionData;\n\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n\t\t\t\tsaveObjectVersionData = FSaveObjectVersionData.read(reader);\n\t\t\t\treader.context.packageFileVersionUE5 = HierarchyVersion.CreateOnHeader(saveObjectVersionData.packageFileVersion.ue5Version);\n\t\t\t}\n\n\t\t\t// world partition and validation\n\t\t\tlet saveBodyValidation = save.saveBodyValidation;\n\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.IntroducedWorldPartition) {\n\t\t\t\tsaveBodyValidation = SaveBodyValidation.Parse(reader);\n\t\t\t}\n\t\t\tawait ReadableStreamParser.WriteHeaderAndFieldsBeforeLevel(write, name, inflateResult.compressionInfo, header, saveBodyValidation, saveObjectVersionData);\n\n\n\t\t\t// parse levels\n\t\t\tawait ReadableStreamParser.ReadWriteLevels(write, reader, save.header.mapName, save.header.buildVersion);\n\t\t\tawait write(`}`, false);\n\n\t\t\t// unresolved data\n\t\t\tif (reader.getBufferPosition() < reader.getBufferLength()) {\n\t\t\t\tconst countUnresolvedWorldSaveData = reader.readInt32();\n\t\t\t\tif (countUnresolvedWorldSaveData) {\n\t\t\t\t\tsave.unresolvedWorldSaveData = [];\n\t\t\t\t\tfor (let i = 0; i < countUnresolvedWorldSaveData; i++) {\n\t\t\t\t\t\tsave.unresolvedWorldSaveData.push(ObjectReference.read(reader));\n\t\t\t\t\t}\n\t\t\t\t\tawait write(`, \"unresolvedWorldSaveData\": ${JSON.stringify(save.unresolvedWorldSaveData)} `, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options?.onProgress !== undefined) {\n\t\t\t\toptions.onProgress(1, 'finished parsing.');\n\t\t\t}\n\n\t\t\t// close save object.\n\t\t\tawait write(`}`, true);\n\t\t\tfinish();\n\t\t};\n\n\t\treturn { stream, startStreaming };\n\t}\n\n\n\tprivate static WriteHeaderAndFieldsBeforeLevel = async (\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\tname: string,\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\theader: SatisfactorySaveHeader,\n\t\tsaveBodyValidation: SaveBodyValidation,\n\t\tsaveObjectVersionData?: FSaveObjectVersionData\n\t) => {\n\t\tconst compressionInfoEntry = `\"compressionInfo\": ${JSON.stringify(compressionInfo)}`;\n\t\tconst saveBodyValidationEntry = saveBodyValidation !== undefined ? `, \"saveBodyValidation\": ${JSON.stringify(saveBodyValidation)}` : '';\n\t\tconst saveObjectVersionDataEntry = saveObjectVersionData !== undefined ? `, \"objectVersionData\": ${JSON.stringify(saveObjectVersionData)}` : '';\n\t\treturn write(`{\"header\": ${JSON.stringify(header)}, \"name\": \"${name}\", ${compressionInfoEntry}${saveBodyValidationEntry}${saveObjectVersionDataEntry}, \"levels\": {`, false);\n\t}\n\n\tprivate static async ReadWriteLevels(\n\t\twrite: (value: string, waitTilConsumingEndIsReady?: boolean) => Promise<void>,\n\t\treader: SaveReader,\n\t\tmapName: string,\n\t\tbuildVersion: number,\n\t): Promise<void> {\n\n\t\tconst batchingSizeOfObjects = 1000;\n\t\tconst thresholdOfWrittenObjectsUntilWaitingForConsumerAgain = 3 * batchingSizeOfObjects;\n\n\t\tconst levelCount = reader.readInt32();\n\t\treader.onProgressCallback(reader.getBufferProgress(), `reading pack of ${levelCount + 1} levels.`);\n\n\t\tlet writtenTotalObjectsSinceConsumerSync = 0;\n\t\tlet collectables: ObjectReference[] = [];\n\t\tlet destroyedActorsMap: LevelToDestroyedActorsMap = {};\n\t\tfor (let j = 0; j <= levelCount; j++) {\n\t\t\tlet levelName = (j === levelCount) ? '' + mapName : reader.readString();\n\t\t\tconst level: Level = {\n\t\t\t\tname: levelName,\n\t\t\t\tobjects: [],\n\t\t\t\tcollectables: [],\n\t\t\t\twritesDestroyedActorsInTOCBlob: false\n\t\t\t}\n\t\t\tconst isPersistentLevel = levelName === mapName;\n\n\t\t\tif (j % 500 === 0) {\n\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `reading level [${(j + 1)}/${(levelCount + 1)}] ${levelName}`);\n\t\t\t}\n\t\t\tawait write(`${j > 0 ? ', ' : ''}\"${levelName}\": {\"name\": \"${levelName}\",`, false);\n\n\t\t\t// read blobs later\n\t\t\tconst tocBlobMarker = TOCBlob.SkipOver(reader);\n\t\t\tconst dataBlobMarker = DataBlob.SkipOver(reader);\n\n\t\t\t// save Version in Streaming level\n\t\t\tif (!isPersistentLevel) {\n\t\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.SerializePerStreamableLevelTOCVersion) {\n\t\t\t\t\tlevel.saveCustomVersion = reader.readInt32();\n\t\t\t\t\tawait write(`\"saveCustomVersion\": ${level.saveCustomVersion},`, false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// for persistent level, we have LevelToDestroyedActorsMap, else collectibles + object version data\n\t\t\t// 2nd appearance of destroyed actors / collectables. the lists are equal at both locations\n\t\t\tif (isPersistentLevel) {\n\t\t\t\tconst destroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\tawait write(`\"destroyedActorsMap\": ${JSON.stringify(destroyedActorsMap)},`, false);\n\t\t\t} else {\n\t\t\t\tlevel.collectables = ObjectReferencesList.ReadList(reader);\n\n\t\t\t\tif (reader.context.saveVersion.header >= SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n\t\t\t\t\tconst shouldSerializePerObjectVersionData = reader.readInt32() >= 1;\n\t\t\t\t\tif (shouldSerializePerObjectVersionData) {\n\t\t\t\t\t\tlevel.objectVersionData = FSaveObjectVersionData.read(reader);\n\t\t\t\t\t\tawait write(`\"objectVersionData\": ${JSON.stringify(level.objectVersionData)},`, false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait write(`\"collectables\": [${level.collectables.map(obj => JSON.stringify(obj)).join(', ')}],`, false);\n\n\t\t\t// set appropriate version context.\n\t\t\tHierarchyVersion.SetOnLevel(reader.context.saveVersion, level.saveCustomVersion);\n\t\t\tHierarchyVersion.SetOnLevel(reader.context.packageFileVersionUE5, level.objectVersionData?.packageFileVersion.ue5Version);\n\n\t\t\t// jump back and read TOCBlob, DataBlob with accurate save version\n\t\t\tconst endOfLevelPosition = reader.getBufferPosition();\n\n\n\t\t\t// we will intentionally NOT wait for next pull request, since these few characters don't make waiting useful.\n\t\t\tawait write(`\"objects\": [`, false);\n\t\t\treader.jumpTo(tocBlobMarker.position);\n\n\n\t\t\t// we do the same as TOCBlob.read & DataBlob.read. but jumping back and forth between batches.\n\t\t\tlet countObjectHeaders = reader.readInt32();\n\t\t\tlet totalReadObjectsInLevel = 0;\n\t\t\tlet writtenObjectsInLevel = 0;\n\t\t\tlet afterHeadersOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\tlet afterObjectsOfBatch = -1;\n\n\t\t\tdo {\n\n\t\t\t\t// jump to after last read batch\n\t\t\t\treader.jumpTo(afterHeadersOfBatch);\n\n\t\t\t\t// read batch\n\t\t\t\tconst objectCountToRead = Math.min(countObjectHeaders - totalReadObjectsInLevel, batchingSizeOfObjects);\n\t\t\t\tconst objects = TOCBlob.ReadNObjectHeaders(reader, objectCountToRead);\n\t\t\t\tafterHeadersOfBatch = reader.getBufferPosition();\n\n\t\t\t\t// 1st lsit of collectables / destroyed actors in toc blob.\n\t\t\t\tif (countObjectHeaders === totalReadObjectsInLevel + objects.length) {\n\t\t\t\t\tlet remainingSize = tocBlobMarker.length - (reader.getBufferPosition() - tocBlobMarker.position);\n\t\t\t\t\tif (remainingSize > 0) {\n\t\t\t\t\t\tif (isPersistentLevel) {\n\t\t\t\t\t\t\tdestroyedActorsMap = LevelToDestroyedActorsMap.read(reader);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcollectables = ObjectReferencesList.ReadList(reader);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlevel.writesDestroyedActorsInTOCBlob = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (totalReadObjectsInLevel === 0) {\n\n\t\t\t\t\t// jump to after all headers\n\t\t\t\t\treader.jumpTo(dataBlobMarker.position);\n\t\t\t\t\tconst posBeforeContents = reader.getBufferPosition();\n\t\t\t\t\tconst countEntities = reader.readInt32();\n\t\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\t// at first no batch is read.\n\t\t\t\t} else {\n\t\t\t\t\treader.jumpTo(afterObjectsOfBatch);\n\t\t\t\t}\n\n\t\t\t\tDataBlob.ReadNObjectContents(reader, objectCountToRead, objects, 0);\n\t\t\t\tafterObjectsOfBatch = reader.getBufferPosition();\n\t\t\t\ttotalReadObjectsInLevel += objectCountToRead;\n\t\t\t\tif (countObjectHeaders > 10000 && totalReadObjectsInLevel % 10000 === 0) {\n\t\t\t\t\treader.onProgressCallback(reader.getBufferProgress(), `read object count [${(totalReadObjectsInLevel + 1)}/${(countObjectHeaders + 1)}] in level ${levelName}`);\n\t\t\t\t}\n\n\t\t\t\t// we should wait even if the objects of many levels accumulate to several hundred.\n\t\t\t\tlet shouldWait = false;\n\t\t\t\tif (writtenTotalObjectsSinceConsumerSync >= thresholdOfWrittenObjectsUntilWaitingForConsumerAgain) {\n\t\t\t\t\t// will wait til consumer catches up. Because we wrote ${writtenTotalObjectsSinceConsumerSync} objects without waiting.\n\t\t\t\t\tshouldWait = true;\n\t\t\t\t\twrittenTotalObjectsSinceConsumerSync = 0;\n\t\t\t\t}\n\t\t\t\tawait write(`${writtenObjectsInLevel > 0 ? ', ' : ''}${objects.filter(Boolean).map(obj => JSON.stringify(obj)).join(', ')}`, shouldWait);\n\t\t\t\twrittenTotalObjectsSinceConsumerSync += objectCountToRead;\n\t\t\t\twrittenObjectsInLevel += objectCountToRead;\n\n\t\t\t} while (totalReadObjectsInLevel < countObjectHeaders)\n\n\n\t\t\tawait write('], ', false);\n\t\t\tawait write(`\"writesDestroyedActorsInTOCBlob\": ${JSON.stringify(level.writesDestroyedActorsInTOCBlob)}`, false);\n\n\t\t\treader.jumpTo(endOfLevelPosition);\n\t\t\tawait write('}', false);\n\t\t}\n\t}\n}"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare enum ETextHistoryType {
|
|
2
|
+
None = -1,
|
|
3
|
+
Base = 0,
|
|
4
|
+
NamedFormat = 1,
|
|
5
|
+
OrderedFormat = 2,
|
|
6
|
+
ArgumentFormat = 3,
|
|
7
|
+
AsNumber = 4,
|
|
8
|
+
AsPercent = 5,
|
|
9
|
+
AsCurrency = 6,
|
|
10
|
+
AsDate = 7,
|
|
11
|
+
AsTime = 8,
|
|
12
|
+
AsDateTime = 9,
|
|
13
|
+
Transform = 10,
|
|
14
|
+
StringTableEntry = 11,
|
|
15
|
+
TextGenerator = 12
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ETextHistoryType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ETextHistoryType.d.ts","sourceRoot":"","sources":["../../../src/parser/unreal-engine/ETextHistoryType.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IACxB,IAAI,KAAK;IACT,IAAI,IAAI;IACR,WAAW,IAAA;IACX,aAAa,IAAA;IACb,cAAc,IAAA;IACd,QAAQ,IAAA;IACR,SAAS,IAAA;IACT,UAAU,IAAA;IACV,MAAM,IAAA;IACN,MAAM,IAAA;IACN,UAAU,IAAA;IACV,SAAS,KAAA;IACT,gBAAgB,KAAA;IAChB,aAAa,KAAA;CAChB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ETextHistoryType = void 0;
|
|
4
|
+
var ETextHistoryType;
|
|
5
|
+
(function (ETextHistoryType) {
|
|
6
|
+
ETextHistoryType[ETextHistoryType["None"] = -1] = "None";
|
|
7
|
+
ETextHistoryType[ETextHistoryType["Base"] = 0] = "Base";
|
|
8
|
+
ETextHistoryType[ETextHistoryType["NamedFormat"] = 1] = "NamedFormat";
|
|
9
|
+
ETextHistoryType[ETextHistoryType["OrderedFormat"] = 2] = "OrderedFormat";
|
|
10
|
+
ETextHistoryType[ETextHistoryType["ArgumentFormat"] = 3] = "ArgumentFormat";
|
|
11
|
+
ETextHistoryType[ETextHistoryType["AsNumber"] = 4] = "AsNumber";
|
|
12
|
+
ETextHistoryType[ETextHistoryType["AsPercent"] = 5] = "AsPercent";
|
|
13
|
+
ETextHistoryType[ETextHistoryType["AsCurrency"] = 6] = "AsCurrency";
|
|
14
|
+
ETextHistoryType[ETextHistoryType["AsDate"] = 7] = "AsDate";
|
|
15
|
+
ETextHistoryType[ETextHistoryType["AsTime"] = 8] = "AsTime";
|
|
16
|
+
ETextHistoryType[ETextHistoryType["AsDateTime"] = 9] = "AsDateTime";
|
|
17
|
+
ETextHistoryType[ETextHistoryType["Transform"] = 10] = "Transform";
|
|
18
|
+
ETextHistoryType[ETextHistoryType["StringTableEntry"] = 11] = "StringTableEntry";
|
|
19
|
+
ETextHistoryType[ETextHistoryType["TextGenerator"] = 12] = "TextGenerator";
|
|
20
|
+
})(ETextHistoryType || (exports.ETextHistoryType = ETextHistoryType = {}));
|
|
21
|
+
//# sourceMappingURL=ETextHistoryType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ETextHistoryType.js","sourceRoot":"","sources":["../../../src/parser/unreal-engine/ETextHistoryType.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IACxB,wDAAS,CAAA;IACT,uDAAQ,CAAA;IACR,qEAAW,CAAA;IACX,yEAAa,CAAA;IACb,2EAAc,CAAA;IACd,+DAAQ,CAAA;IACR,iEAAS,CAAA;IACT,mEAAU,CAAA;IACV,2DAAM,CAAA;IACN,2DAAM,CAAA;IACN,mEAAU,CAAA;IACV,kEAAS,CAAA;IACT,gFAAgB,CAAA;IAChB,0EAAa,CAAA;AACjB,CAAC,EAfW,gBAAgB,gCAAhB,gBAAgB,QAe3B","sourcesContent":["export enum ETextHistoryType {\n None = -1,\n Base = 0,\n NamedFormat,\n OrderedFormat,\n ArgumentFormat,\n AsNumber,\n AsPercent,\n AsCurrency,\n AsDate,\n AsTime,\n AsDateTime,\n Transform,\n StringTableEntry,\n TextGenerator\n}"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare enum EUnrealEngineObjectUE5Version {
|
|
2
|
+
INITIAL_VERSION = 1000,
|
|
3
|
+
NAMES_REFERENCED_FROM_EXPORT_DATA = 1001,
|
|
4
|
+
PAYLOAD_TOC = 1002,
|
|
5
|
+
OPTIONAL_RESOURCES = 1003,
|
|
6
|
+
LARGE_WORLD_COORDINATES = 1004,
|
|
7
|
+
REMOVE_OBJECT_EXPORT_PACKAGE_GUID = 1005,
|
|
8
|
+
TRACK_OBJECT_EXPORT_IS_INHERITED = 1006,
|
|
9
|
+
FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES = 1007,
|
|
10
|
+
ADD_SOFTOBJECTPATH_LIST = 1008,
|
|
11
|
+
DATA_RESOURCES = 1009,
|
|
12
|
+
SCRIPT_SERIALIZATION_OFFSET = 1010,
|
|
13
|
+
PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION = 1011,
|
|
14
|
+
PROPERTY_TAG_COMPLETE_TYPE_NAME = 1012,
|
|
15
|
+
ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES = 1013,
|
|
16
|
+
METADATA_SERIALIZATION_OFFSET = 1014,
|
|
17
|
+
VERSE_CELLS = 1015,
|
|
18
|
+
PACKAGE_SAVED_HASH = 1016,
|
|
19
|
+
OS_SUB_OBJECT_SHADOW_SERIALIZATION = 1017,
|
|
20
|
+
IMPORT_TYPE_HIERARCHIES = 1018,
|
|
21
|
+
AUTOMATIC_VERSION_PLUS_ONE = 1019,
|
|
22
|
+
AUTOMATIC_VERSION = 1018
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=EUnrealEngineObjectUE5Version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EUnrealEngineObjectUE5Version.d.ts","sourceRoot":"","sources":["../../../src/parser/unreal-engine/EUnrealEngineObjectUE5Version.ts"],"names":[],"mappings":"AAIA,oBAAY,6BAA6B;IAMrC,eAAe,OAAO;IAGtB,iCAAiC,OAAA;IAGjC,WAAW,OAAA;IAGX,kBAAkB,OAAA;IAGlB,uBAAuB,OAAA;IAGvB,iCAAiC,OAAA;IAGjC,gCAAgC,OAAA;IAGhC,wCAAwC,OAAA;IAGxC,uBAAuB,OAAA;IAGvB,cAAc,OAAA;IAGd,2BAA2B,OAAA;IAK3B,oDAAoD,OAAA;IAGpD,+BAA+B,OAAA;IAG/B,sCAAsC,OAAA;IAGtC,6BAA6B,OAAA;IAG7B,WAAW,OAAA;IAGX,kBAAkB,OAAA;IAGlB,kCAAkC,OAAA;IAGlC,uBAAuB,OAAA;IAIvB,0BAA0B,OAAA;IAC1B,iBAAiB,OAAiC;CACrD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EUnrealEngineObjectUE5Version = void 0;
|
|
4
|
+
var EUnrealEngineObjectUE5Version;
|
|
5
|
+
(function (EUnrealEngineObjectUE5Version) {
|
|
6
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["INITIAL_VERSION"] = 1000] = "INITIAL_VERSION";
|
|
7
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["NAMES_REFERENCED_FROM_EXPORT_DATA"] = 1001] = "NAMES_REFERENCED_FROM_EXPORT_DATA";
|
|
8
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PAYLOAD_TOC"] = 1002] = "PAYLOAD_TOC";
|
|
9
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["OPTIONAL_RESOURCES"] = 1003] = "OPTIONAL_RESOURCES";
|
|
10
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["LARGE_WORLD_COORDINATES"] = 1004] = "LARGE_WORLD_COORDINATES";
|
|
11
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["REMOVE_OBJECT_EXPORT_PACKAGE_GUID"] = 1005] = "REMOVE_OBJECT_EXPORT_PACKAGE_GUID";
|
|
12
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["TRACK_OBJECT_EXPORT_IS_INHERITED"] = 1006] = "TRACK_OBJECT_EXPORT_IS_INHERITED";
|
|
13
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES"] = 1007] = "FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES";
|
|
14
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["ADD_SOFTOBJECTPATH_LIST"] = 1008] = "ADD_SOFTOBJECTPATH_LIST";
|
|
15
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["DATA_RESOURCES"] = 1009] = "DATA_RESOURCES";
|
|
16
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["SCRIPT_SERIALIZATION_OFFSET"] = 1010] = "SCRIPT_SERIALIZATION_OFFSET";
|
|
17
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION"] = 1011] = "PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION";
|
|
18
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PROPERTY_TAG_COMPLETE_TYPE_NAME"] = 1012] = "PROPERTY_TAG_COMPLETE_TYPE_NAME";
|
|
19
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES"] = 1013] = "ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES";
|
|
20
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["METADATA_SERIALIZATION_OFFSET"] = 1014] = "METADATA_SERIALIZATION_OFFSET";
|
|
21
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["VERSE_CELLS"] = 1015] = "VERSE_CELLS";
|
|
22
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["PACKAGE_SAVED_HASH"] = 1016] = "PACKAGE_SAVED_HASH";
|
|
23
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["OS_SUB_OBJECT_SHADOW_SERIALIZATION"] = 1017] = "OS_SUB_OBJECT_SHADOW_SERIALIZATION";
|
|
24
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["IMPORT_TYPE_HIERARCHIES"] = 1018] = "IMPORT_TYPE_HIERARCHIES";
|
|
25
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["AUTOMATIC_VERSION_PLUS_ONE"] = 1019] = "AUTOMATIC_VERSION_PLUS_ONE";
|
|
26
|
+
EUnrealEngineObjectUE5Version[EUnrealEngineObjectUE5Version["AUTOMATIC_VERSION"] = 1018] = "AUTOMATIC_VERSION";
|
|
27
|
+
})(EUnrealEngineObjectUE5Version || (exports.EUnrealEngineObjectUE5Version = EUnrealEngineObjectUE5Version = {}));
|
|
28
|
+
;
|
|
29
|
+
//# sourceMappingURL=EUnrealEngineObjectUE5Version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EUnrealEngineObjectUE5Version.js","sourceRoot":"","sources":["../../../src/parser/unreal-engine/EUnrealEngineObjectUE5Version.ts"],"names":[],"mappings":";;;AAIA,IAAY,6BAoEX;AApED,WAAY,6BAA6B;IAMrC,0GAAsB,CAAA;IAGtB,8IAAiC,CAAA;IAGjC,kGAAW,CAAA;IAGX,gHAAkB,CAAA;IAGlB,0HAAuB,CAAA;IAGvB,8IAAiC,CAAA;IAGjC,4IAAgC,CAAA;IAGhC,4JAAwC,CAAA;IAGxC,0HAAuB,CAAA;IAGvB,wGAAc,CAAA;IAGd,kIAA2B,CAAA;IAK3B,oLAAoD,CAAA;IAGpD,0IAA+B,CAAA;IAG/B,wJAAsC,CAAA;IAGtC,sIAA6B,CAAA;IAG7B,kGAAW,CAAA;IAGX,gHAAkB,CAAA;IAGlB,gJAAkC,CAAA;IAGlC,0HAAuB,CAAA;IAIvB,gIAA0B,CAAA;IAC1B,8GAAkD,CAAA;AACtD,CAAC,EApEW,6BAA6B,6CAA7B,6BAA6B,QAoExC;AAAA,CAAC","sourcesContent":["\n/**\n * Source: https://github.com/EpicGames/UnrealEngine/blob/260bb2e1c5610b31c63a36206eedd289409c5f11/Engine/Source/Runtime/Core/Public/UObject/ObjectVersion.h#L40\n */\nexport enum EUnrealEngineObjectUE5Version {\n // Note that currently the oldest loadable package version is EUnrealEngineObjectUEVersion::VER_UE4_OLDEST_LOADABLE_PACKAGE\n // this can be enabled should we ever deprecate UE4 versions entirely\n //OLDEST_LOADABLE_PACKAGE = ???,\n\n // The original UE5 version, at the time this was added the UE4 version was 522, so UE5 will start from 1000 to show a clear difference\n INITIAL_VERSION = 1000,\n\n // Support stripping names that are not referenced from export data\n NAMES_REFERENCED_FROM_EXPORT_DATA,\n\n // Added a payload table of contents to the package summary\n PAYLOAD_TOC,\n\n // Added data to identify references from and to optional package\n OPTIONAL_RESOURCES,\n\n // Large world coordinates converts a number of core types to double components by default.\n LARGE_WORLD_COORDINATES,\n\n // Remove package GUID from FObjectExport\n REMOVE_OBJECT_EXPORT_PACKAGE_GUID,\n\n // Add IsInherited to the FObjectExport entry\n TRACK_OBJECT_EXPORT_IS_INHERITED,\n\n // Replace FName asset path in FSoftObjectPath with (package name, asset name) pair FTopLevelAssetPath\n FSOFTOBJECTPATH_REMOVE_ASSET_PATH_FNAMES,\n\n // Add a soft object path list to the package summary for fast remap\n ADD_SOFTOBJECTPATH_LIST,\n\n // Added bulk/data resource table\n DATA_RESOURCES,\n\n // Added script property serialization offset to export table entries for saved, versioned packages\n SCRIPT_SERIALIZATION_OFFSET,\n\n // Adding property tag extension,\n // Support for overridable serialization on UObject,\n // Support for overridable logic in containers\n PROPERTY_TAG_EXTENSION_AND_OVERRIDABLE_SERIALIZATION,\n\n // Added property tag complete type name and serialization type\n PROPERTY_TAG_COMPLETE_TYPE_NAME,\n\n // Changed UE::AssetRegistry::WritePackageData to include PackageBuildDependencies\n ASSETREGISTRY_PACKAGEBUILDDEPENDENCIES,\n\n // Added meta data serialization offset to for saved, versioned packages\n METADATA_SERIALIZATION_OFFSET,\n\n // Added VCells to the object graph\n VERSE_CELLS,\n\n // Changed PackageFileSummary to write FIoHash PackageSavedHash instead of FGuid Guid\n PACKAGE_SAVED_HASH,\n\n // OS shadow serialization of subobjects\n OS_SUB_OBJECT_SHADOW_SERIALIZATION,\n\n // Adds a table of hierarchical type information for imports in a package\n IMPORT_TYPE_HIERARCHIES,\n\n // -----<new versions can be added before this line>-------------------------------------------------\n // - this needs to be the last line (see note below)\n AUTOMATIC_VERSION_PLUS_ONE,\n AUTOMATIC_VERSION = AUTOMATIC_VERSION_PLUS_ONE - 1\n};"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
window.hierarchyData = "eJyVlk+P2yAQxb8LZ7Y1GGPj465W6qHSVv17WOXgxJMurY0tTKpGq3z3iljJgpMUuOSQvPHvvZkx4RXpYTATqp8ZLnKKGRFkhZGGbQcbIwc1ofoVMfuhmh5Qje6lavT+aQTdrDtAGP2WqkU1LThGO92hGkllQG+bDUzvffG7F9N3CKNN10wTqpGZ2jtbfXeusD++yK7VoFD9TCgu2eqAEaEXBj5D00YbOImTDbDK4svL/D+0NNH4kzgVT4k4pmeVy98bsHlAn9mEVif28dEWfFbdhM5feMCcUgukRCyANkEYOKuSgCK3wJy6A34YlIG/JhzSE6ZgS17iqshwXhFy5Iv8kh/O7AlT+IISTDImcC7mERe524BPjZ5AP2o9/BfvyFLgBRO44AUuKoILUWJOcszpbIO5g/+mpt04DtpA+x30JAcVtHSjJGDPknnhTUDr3Wi+NH8giFxqI1gVuWTddzsYtVQmFugXRFBF6VH7UcNkO/RRrnWj9xHcqyVhMifudn+VPQy7cExXF8Gg/ubIfuygB2WgjViapTrMK7nbzfMsIg5GXxomVUV2jfQwqK38mcBzC8JUQck1asQ57EvDJHsO3Q6YAHQLwlh79DpY+/qGm/mmigAI71/MlobDvKnCAJaJbAGwr+igQJkPfpTrl4MrFak3BJYJvpq98FteQnnPwojIJK8WmEdlpNlH53XlEWGPTLaMNj8klGtWxYQSy018Wv+CTfwQXXnyBIng2K4Sts1dzX6WgWdAKPCsSrkK2LXBtsGrw+HwD5P6+Kk="
|
package/docs/assets/icons.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
function addIcons() {
|
|
4
4
|
if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons);
|
|
5
5
|
const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg"));
|
|
6
|
-
svg.innerHTML = `<g id="icon-1" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-2" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">N</text></g><g id="icon-8" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">E</text></g><g id="icon-16" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-32" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">V</text></g><g id="icon-64" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-128" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-256" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">I</text></g><g id="icon-512" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-1024" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-2048" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-method)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4096" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-8192" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-16384" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-32768" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-65536" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-131072" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-262144" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-524288" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-1048576" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-2097152" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-4194304" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-reference)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">R</text></g><g id="icon-8388608" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="6,5 6,19 18,19, 18,10 13,5"></polygon><line x1="9" y1="9" x2="13" y2="9"></line><line x1="9" y1="12" x2="15" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></g></g><g id="icon-folder" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="5,5 10,5 12,8 19,8 19,18 5,18"></polygon></g></g><g id="icon-chevronDown" class="tsd-no-select"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></g><g id="icon-chevronSmall" class="tsd-no-select"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-icon-text)"></path></g><g id="icon-checkbox" class="tsd-no-select"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></g><g id="icon-menu" class="tsd-no-select"><rect x="1" y="3" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-icon-text)"></rect></g><g id="icon-search" class="tsd-no-select"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-icon-text)"></path></g><g id="icon-anchor" class="tsd-no-select"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></g>`;
|
|
6
|
+
svg.innerHTML = `<symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Module" id="icon-1"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">M</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Module" id="icon-2"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">M</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Namespace" id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">N</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Enumeration" id="icon-8"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">E</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Enumeration Member" id="icon-16"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Variable" id="icon-32"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">V</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Function" id="icon-64"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">F</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Class" id="icon-128"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">C</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Interface" id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">I</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Constructor" id="icon-512"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">C</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Property" id="icon-1024"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Method" id="icon-2048"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-method)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">M</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Function" id="icon-4096"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">F</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Index Signature" id="icon-8192"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Constructor" id="icon-16384"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">C</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Property" id="icon-32768"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">P</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Type Alias" id="icon-65536"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">T</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Type Alias" id="icon-131072"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">T</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Accessor" id="icon-262144"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">A</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Accessor" id="icon-524288"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">A</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Accessor" id="icon-1048576"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">A</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Type Alias" id="icon-2097152"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">T</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Reference" id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-reference)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dy="0.35em" text-anchor="middle">R</text></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Document" id="icon-8388608"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="6,5 6,19 18,19, 18,10 13,5"></polygon><line x1="9" y1="9" x2="13" y2="9"></line><line x1="9" y1="12" x2="15" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></g></symbol><symbol class="tsd-kind-icon tsd-no-select" viewBox="0 0 24 24" aria-label="Folder" id="icon-folder"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="5,5 10,5 12,8 19,8 19,18 5,18"></polygon></g></symbol><symbol width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true" id="icon-chevronDown" class="tsd-no-select"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" id="icon-chevronSmall" class="tsd-no-select"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-icon-text)"></path></symbol><symbol width="32" height="32" viewBox="0 0 32 32" aria-hidden="true" id="icon-checkbox" class="tsd-no-select"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" id="icon-menu" class="tsd-no-select"><rect x="1" y="3" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-icon-text)"></rect></symbol><symbol width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" id="icon-search" class="tsd-no-select"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-icon-text)"></path></symbol><symbol viewBox="0 0 24 24" aria-hidden="true" id="icon-anchor" class="tsd-no-select"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></symbol><symbol xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertNote" class="tsd-no-select"><path fill="var(--color-alert-note)" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertTip" class="tsd-no-select"><path fill="var(--color-alert-tip)" d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertImportant" class="tsd-no-select"><path fill="var(--color-alert-important)" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertWarning" class="tsd-no-select"><path fill="var(--color-alert-warning)" d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></symbol><symbol width="16" height="16" viewBox="0 0 16 16" aria-hidden="true" id="icon-alertCaution" class="tsd-no-select"><path fill="var(--color-alert-caution)" d="M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></symbol>`;
|
|
7
7
|
svg.style.display = "none";
|
|
8
8
|
if (location.protocol === "file:") updateUseElements();
|
|
9
9
|
}
|