@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
|
@@ -56,8 +56,14 @@ var SaveCustomVersion;
|
|
|
56
56
|
SaveCustomVersion[SaveCustomVersion["BackToBackRailroadSwitches"] = 50] = "BackToBackRailroadSwitches";
|
|
57
57
|
SaveCustomVersion[SaveCustomVersion["SerializePerStreamableLevelTOCVersion"] = 51] = "SerializePerStreamableLevelTOCVersion";
|
|
58
58
|
SaveCustomVersion[SaveCustomVersion["RailroadTrackConnectionCleanup"] = 52] = "RailroadTrackConnectionCleanup";
|
|
59
|
-
SaveCustomVersion[SaveCustomVersion["
|
|
60
|
-
SaveCustomVersion[SaveCustomVersion["
|
|
59
|
+
SaveCustomVersion[SaveCustomVersion["SerializeDataPackageVersionAndCustomVersions"] = 53] = "SerializeDataPackageVersionAndCustomVersions";
|
|
60
|
+
SaveCustomVersion[SaveCustomVersion["DROPPED_RailroadSubsystemThirdRailConnectionsCleanup"] = 54] = "DROPPED_RailroadSubsystemThirdRailConnectionsCleanup";
|
|
61
|
+
SaveCustomVersion[SaveCustomVersion["RailroadSubsystemThirdRailConnectionsCleanupRedone"] = 55] = "RailroadSubsystemThirdRailConnectionsCleanupRedone";
|
|
62
|
+
SaveCustomVersion[SaveCustomVersion["UnlockAvailableItemDescriptorsForPickedUpItems"] = 56] = "UnlockAvailableItemDescriptorsForPickedUpItems";
|
|
63
|
+
SaveCustomVersion[SaveCustomVersion["NewPlayerInfoHandleSerializationFormat"] = 57] = "NewPlayerInfoHandleSerializationFormat";
|
|
64
|
+
SaveCustomVersion[SaveCustomVersion["FixNewPlayerInfoHandleSerializationFormat"] = 58] = "FixNewPlayerInfoHandleSerializationFormat";
|
|
65
|
+
SaveCustomVersion[SaveCustomVersion["VersionPlusOne"] = 59] = "VersionPlusOne";
|
|
66
|
+
SaveCustomVersion[SaveCustomVersion["LatestVersion"] = 58] = "LatestVersion";
|
|
61
67
|
})(SaveCustomVersion || (exports.SaveCustomVersion = SaveCustomVersion = {}));
|
|
62
68
|
;
|
|
63
69
|
//# sourceMappingURL=save-custom-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-custom-version.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-custom-version.ts"],"names":[],"mappings":";;;AAIA,IAAY,iBAoKX;AApKD,WAAY,iBAAiB;IAEzB,uGAA+B,CAAA;IAG/B,6FAAsB,CAAA;IAGtB,qGAA0B,CAAA;IAG1B,2GAA6B,CAAA;IAG7B,6GAA8B,CAAA;IAG9B,+GAA+B,CAAA;IAG/B,+FAAuB,CAAA;IAGvB,mHAAiC,CAAA;IAGjC,+GAA+B,CAAA;IAG/B,2HAAqC,CAAA;IAGrC,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,0GAA4B,CAAA;IAG5B,4GAA6B,CAAA;IAG7B,oKAAyD,CAAA;IAGzD,wGAA2B,CAAA;IAG3B,oIAAyC,CAAA;IAGzC,0GAA4B,CAAA;IAG5B,gHAA+B,CAAA;IAG/B,kGAAwB,CAAA;IAGxB,kFAAgB,CAAA;IAGhB,0FAAoB,CAAA;IAIpB,0FAAoB,CAAA;IAGpB,gGAAuB,CAAA;IAGvB,wFAAmB,CAAA;IAGnB,sFAAkB,CAAA;IAGlB,gGAAuB,CAAA;IAGvB,4FAAqB,CAAA;IAGrB,kGAAwB,CAAA;IAGxB,8FAAsB,CAAA;IAGtB,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,gGAAuB,CAAA;IAGvB,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,4FAAqB,CAAA;IAGrB,4EAAa,CAAA;IAGb,kGAAwB,CAAA;IAGxB,wFAAmB,CAAA;IAGnB,kGAAwB,CAAA;IAGxB,kGAAwB,CAAA;IAGxB,wGAA2B,CAAA;IAG3B,0GAA4B,CAAA;IAG5B,sFAAkB,CAAA;IAGlB,sHAAkC,CAAA;IAGlC,kEAAQ,CAAA;IAGR,0EAAY,CAAA;IAGZ,oJAAiD,CAAA;IAGjD,0FAAoB,CAAA;IAGpB,sGAA0B,CAAA;IAG1B,4HAAqC,CAAA;IAGrC,8GAA8B,CAAA;IAG9B,8EAAc,CAAA;IACd,4EAAkC,CAAA;AACtC,CAAC,EApKW,iBAAiB,iCAAjB,iBAAiB,QAoK5B;AAAA,CAAC","sourcesContent":["\n/**\n * Source: SaveCustomVersion.h\n */\nexport enum SaveCustomVersion {\n /** 2016/12/20 - Initial version of the save system, saves some character stuff like inventory and health */\n BeforeCustomVersionWasAdded = 0,\n\n /** 2017/01/23 - Now storing transform for all saved actors */\n DROPPED_StoreTransform,\n\n /** 2017/01/25 - Change object header, stops storing map name in savefile. Breaks all backward compability */\n DROPPED_ChangeObjectHeader,\n\n /** 2017/01/30 - Changed serialization of property names to strings instead of ints. Breaks all backward compability */\n DROPPED_PropertyTagsAsStrings,\n\n /** 2017/01/31 - Now store the body state of all vehicles */\n DROPPED_StoreVehiclesBodyState,\n\n /** 2017/02/13 - Store if a actor was stored in the level in the actor TOC */\n DROPPED_ActorPlacedInLevelSaved,\n\n /** 2017/05/02 - Removed outer from save in actor header, now it's saved as a part of the actors property set */\n DROPPED_MovedActorOuter,\n\n /** 2017/05/23 - Rewrote power connections to use actor components. */\n DROPPED_PowerConnectionComponents,\n\n // 2017-10-09: Serialize train timetable\n DROPPED_SerializeTrainTimetable,\n\n // 2017-10-27: FactoryConnection transform converted from World to local\n DROPPED_FactoryConnectionWorldToLocal,\n\n // 2017-11-03: Circuits are now objects and not structs.\n DROPPED_CircuitObjects,\n\n // 2018-02-12: DockingStations now only have one inventory\n DROPPED_DockingStationSingleInventory,\n\n // 2018-03-06: Saving build shortcuts\n DROPPED_SavingBuildShortcuts,\n\n // 2018-04-05 Game Phase manager has been added and functionality has been moved from GameState.\n DROPPED_GamePhaseManagerAdded,\n\n // 2018-10-25 No longer save relative transforms for UFGConnectionComponent.\n DROPPED_RemovedRelativeTransformsFromConnectionComponents,\n\n // 2018-11-19 OnlineSubsystemMCP - Restore a lost pawn since we didn't have peoples EpicID\n DROPPED_MCP_RestoreLostPawn,\n\n // 2018-11-19 Wires no longer save locations, they span between connection components instead\n DROPPED_WireSpanFromConnnectionComponents,\n\n // 2019-01-30 Renamed SaveSessionId\n DROPPED_RenamedSaveSessionId,\n\n // 2019-06-20 GeoThermal generators didn't save resource nodes prior to this which results with issues when being dismantled\n ChangedGeoThermalGeneratorSaved,\n\n // 2019-06-24 NewRailroadSerialization to overwrite old railroad data\n OverwriteOldRailroadData,\n\n // 2019-07-24 Due to a bug in the network optimizations the legs data where trashed, reseting the legs to zero is the best option.\n ResetFactoryLegs,\n\n // 2019-08-28 The large portion of the save file is now compressed. The header is still intact at the start of the file but after that it is compressed with ZLIB.\n SaveFileIsCompressed,\n\n // 2020-02-09: This is so we can check if a save is older than BU3 and do certain migrations. \n // For example save old number of inventory and arm slots to new system\n BU3SaveCompatibility,\n\n // 2020-03-19: Factory Colors have been converted to Linear Color. The buildable subsystem needs to convert from FColor to Linear Color overriding the defaults\n BuildingColorConversion,\n\n // 2020-04-21 Lizard doggos that had the friend status set but did not have a valid spawner saved will be recoupled with their spawner so that they are not killed bc of orphan status\n RescuedFriendDoggos,\n\n // 2020-06-02 Check if we have saved items in our inventory that is relevant to know if they are picked up\n CheckPickedUpItems,\n\n // 2021-02-05 Migrate Building Colros to FCustomUserColorData\n PerInstanceCustomColors,\n\n // 2021-09-14 Fix incorrect positioning of double ramp meshes. We then adjust position of double ramps in older saves in order to account for the change.\n DoubleRampPositioning,\n\n // 2021-09-21 Migrate FGTrain from native only to a blueprint class BP_Train.\n TrainBlueprintClassAdded,\n\n // 2021-12-03: Added sublevel streaming support\n AddedSublevelStreaming,\n\n // 2022-08-10: Added additional track progression path to resource sink subsystem\n AddedResourceSinkTrack,\n\n // 2022-07-28: Added Coloring support to concrete pillars, in post load we check if the swatch if the default one, if so we swap it with concrete.\n AddedColoringSupportToConcretePillars,\n\n // 2022-10-24: Readded since AddedColoringSupportToConcretePillars was merged to main\n AddedResourceSinkTrack2,\n\n // 2022-10-18: Added Cached locations for wire locations for use in visualization in blueprint hologram (can't depend on connection components)\n AddedCachedLocationsForWire,\n\n // 2022-11-17: Added migration of inventories from the old splitters and mergers to the new ones that have a smaller inventories.\n ReworkedSplittersAndMergers,\n\n // 2022-11-23: Added new productivity monitor implementation.\n ReworkedProductivityMonitor,\n\n // 2022-11-25: Nativized shopping list and added blueprint support.\n NativizedShoppingList,\n\n // 2022-07-05: Unreal Engine 5 support\n UnrealEngine5,\n\n // 2022-11-10: Added support for partitioned worlds in conjunction to sub-level saving \n IntroducedWorldPartition,\n\n // 2023-01-09: Tobias: Refactored drone actions to no longer be uobjects in order to fix a crash.\n DroneActionRefactor,\n\n // 2023-01-13: Tobias: Refactored wires to support multiple wire meshes.\n MultipleWireMeshRefactor,\n\n // 2023-01-11: Switched FArchive support to be 64bit in SaveSession\n SwitchTo64BitSaveArchive,\n\n // 20223-06-14: Added PostLoad corrections for splines built from Blueprints (they were broken do to them being now rendered by a shader)\n ResetBrokenBlueprintSplines,\n\n // 2023-09-15: Inventory Item State Refactor - now we save ItemState on FInventoryItems as a FGDynamicStruct, as opposed to AActor pointer\n RefactoredInventoryItemState,\n\n // 2024-04-03: Save version to ensure the paint finishes are in the save data.\n AddedPaintFinishes,\n\n // 2024-06-25: Normailzed Arrive / Leave tangents for conveyor chain spline points on load (this is a migration to mimic current spline generation code)\n NormalizeChainSplineArriveAndLeave,\n\n // 2024-06-04: Arbitrary \"1.0\" version\n Version1,\n\n // 2025-03-12: Tobias: I refactored the poles (conveyor / pipe) a while ago, but missed some save migration code necessary for the pipe poles so I'm adding this now\n PoleRefactor,\n\n // 2025-03-18: Lightweight Buildable Subsystem serializes lightweight buildable version now, to avoid having to bump the save version when updating serialization format for lightweights\n LightweightBuildableSubsystemWritesRuntimeVersion,\n\n // 2025-03-24: ObjectFlags are now serialized for objects and actors during saving. NOTE: Versions from this version till SerializePerStreamableLevelTOCVersion are VOLATILE and might lose sublevel data!!\n SerializeObjectFlags,\n\n // 2025-03-26: Back-to-back railroad switches.\n BackToBackRailroadSwitches,\n\n // 2025-03-28: Serialize per Streamable Level TOC version rather than using the persistent level version for all streamable levels TOC serialization\n SerializePerStreamableLevelTOCVersion,\n\n // 2025-04-23: Cleaning up invalid train track connections for saves prior to 1.1. Clears out ghost / teleporting connections and adds railroad switches where needed if there's a junction that doesn't have them.\n RailroadTrackConnectionCleanup,\n\n // -----<new versions can be added above this line>-------------------------------------------------\n VersionPlusOne,\n LatestVersion = VersionPlusOne - 1\n};"]}
|
|
1
|
+
{"version":3,"file":"save-custom-version.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-custom-version.ts"],"names":[],"mappings":";;;AAIA,IAAY,iBAsLX;AAtLD,WAAY,iBAAiB;IAEzB,uGAA+B,CAAA;IAG/B,6FAAsB,CAAA;IAGtB,qGAA0B,CAAA;IAG1B,2GAA6B,CAAA;IAG7B,6GAA8B,CAAA;IAG9B,+GAA+B,CAAA;IAG/B,+FAAuB,CAAA;IAGvB,mHAAiC,CAAA;IAGjC,+GAA+B,CAAA;IAG/B,2HAAqC,CAAA;IAGrC,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,0GAA4B,CAAA;IAG5B,4GAA6B,CAAA;IAG7B,oKAAyD,CAAA;IAGzD,wGAA2B,CAAA;IAG3B,oIAAyC,CAAA;IAGzC,0GAA4B,CAAA;IAG5B,gHAA+B,CAAA;IAG/B,kGAAwB,CAAA;IAGxB,kFAAgB,CAAA;IAGhB,0FAAoB,CAAA;IAIpB,0FAAoB,CAAA;IAGpB,gGAAuB,CAAA;IAGvB,wFAAmB,CAAA;IAGnB,sFAAkB,CAAA;IAGlB,gGAAuB,CAAA;IAGvB,4FAAqB,CAAA;IAGrB,kGAAwB,CAAA;IAGxB,8FAAsB,CAAA;IAGtB,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,gGAAuB,CAAA;IAGvB,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,4FAAqB,CAAA;IAGrB,4EAAa,CAAA;IAGb,kGAAwB,CAAA;IAGxB,wFAAmB,CAAA;IAGnB,kGAAwB,CAAA;IAGxB,kGAAwB,CAAA;IAGxB,wGAA2B,CAAA;IAG3B,0GAA4B,CAAA;IAG5B,sFAAkB,CAAA;IAGlB,sHAAkC,CAAA;IAGlC,kEAAQ,CAAA;IAGR,0EAAY,CAAA;IAGZ,oJAAiD,CAAA;IAGjD,0FAAoB,CAAA;IAGpB,sGAA0B,CAAA;IAG1B,4HAAqC,CAAA;IAGrC,8GAA8B,CAAA;IAG9B,0IAA4C,CAAA;IAG5C,0JAAoD,CAAA;IAGpD,sJAAkD,CAAA;IAGlD,8IAA8C,CAAA;IAG9C,8HAAsC,CAAA;IAGtC,oIAAyC,CAAA;IAGzC,8EAAc,CAAA;IACd,4EAAkC,CAAA;AACtC,CAAC,EAtLW,iBAAiB,iCAAjB,iBAAiB,QAsL5B;AAAA,CAAC","sourcesContent":["\n/**\n * Source: SaveCustomVersion.h\n */\nexport enum SaveCustomVersion {\n /** 2016/12/20 - Initial version of the save system, saves some character stuff like inventory and health */\n BeforeCustomVersionWasAdded = 0,\n\n /** 2017/01/23 - Now storing transform for all saved actors */\n DROPPED_StoreTransform,\n\n /** 2017/01/25 - Change object header, stops storing map name in savefile. Breaks all backward compability */\n DROPPED_ChangeObjectHeader,\n\n /** 2017/01/30 - Changed serialization of property names to strings instead of ints. Breaks all backward compability */\n DROPPED_PropertyTagsAsStrings,\n\n /** 2017/01/31 - Now store the body state of all vehicles */\n DROPPED_StoreVehiclesBodyState,\n\n /** 2017/02/13 - Store if a actor was stored in the level in the actor TOC */\n DROPPED_ActorPlacedInLevelSaved,\n\n /** 2017/05/02 - Removed outer from save in actor header, now it's saved as a part of the actors property set */\n DROPPED_MovedActorOuter,\n\n /** 2017/05/23 - Rewrote power connections to use actor components. */\n DROPPED_PowerConnectionComponents,\n\n // 2017-10-09: Serialize train timetable\n DROPPED_SerializeTrainTimetable,\n\n // 2017-10-27: FactoryConnection transform converted from World to local\n DROPPED_FactoryConnectionWorldToLocal,\n\n // 2017-11-03: Circuits are now objects and not structs.\n DROPPED_CircuitObjects,\n\n // 2018-02-12: DockingStations now only have one inventory\n DROPPED_DockingStationSingleInventory,\n\n // 2018-03-06: Saving build shortcuts\n DROPPED_SavingBuildShortcuts,\n\n // 2018-04-05 Game Phase manager has been added and functionality has been moved from GameState.\n DROPPED_GamePhaseManagerAdded,\n\n // 2018-10-25 No longer save relative transforms for UFGConnectionComponent.\n DROPPED_RemovedRelativeTransformsFromConnectionComponents,\n\n // 2018-11-19 OnlineSubsystemMCP - Restore a lost pawn since we didn't have peoples EpicID\n DROPPED_MCP_RestoreLostPawn,\n\n // 2018-11-19 Wires no longer save locations, they span between connection components instead\n DROPPED_WireSpanFromConnnectionComponents,\n\n // 2019-01-30 Renamed SaveSessionId\n DROPPED_RenamedSaveSessionId,\n\n // 2019-06-20 GeoThermal generators didn't save resource nodes prior to this which results with issues when being dismantled\n ChangedGeoThermalGeneratorSaved,\n\n // 2019-06-24 NewRailroadSerialization to overwrite old railroad data\n OverwriteOldRailroadData,\n\n // 2019-07-24 Due to a bug in the network optimizations the legs data where trashed, reseting the legs to zero is the best option.\n ResetFactoryLegs,\n\n // 2019-08-28 The large portion of the save file is now compressed. The header is still intact at the start of the file but after that it is compressed with ZLIB.\n SaveFileIsCompressed,\n\n // 2020-02-09: This is so we can check if a save is older than BU3 and do certain migrations. \n // For example save old number of inventory and arm slots to new system\n BU3SaveCompatibility,\n\n // 2020-03-19: Factory Colors have been converted to Linear Color. The buildable subsystem needs to convert from FColor to Linear Color overriding the defaults\n BuildingColorConversion,\n\n // 2020-04-21 Lizard doggos that had the friend status set but did not have a valid spawner saved will be recoupled with their spawner so that they are not killed bc of orphan status\n RescuedFriendDoggos,\n\n // 2020-06-02 Check if we have saved items in our inventory that is relevant to know if they are picked up\n CheckPickedUpItems,\n\n // 2021-02-05 Migrate Building Colros to FCustomUserColorData\n PerInstanceCustomColors,\n\n // 2021-09-14 Fix incorrect positioning of double ramp meshes. We then adjust position of double ramps in older saves in order to account for the change.\n DoubleRampPositioning,\n\n // 2021-09-21 Migrate FGTrain from native only to a blueprint class BP_Train.\n TrainBlueprintClassAdded,\n\n // 2021-12-03: Added sublevel streaming support\n AddedSublevelStreaming,\n\n // 2022-08-10: Added additional track progression path to resource sink subsystem\n AddedResourceSinkTrack,\n\n // 2022-07-28: Added Coloring support to concrete pillars, in post load we check if the swatch if the default one, if so we swap it with concrete.\n AddedColoringSupportToConcretePillars,\n\n // 2022-10-24: Readded since AddedColoringSupportToConcretePillars was merged to main\n AddedResourceSinkTrack2,\n\n // 2022-10-18: Added Cached locations for wire locations for use in visualization in blueprint hologram (can't depend on connection components)\n AddedCachedLocationsForWire,\n\n // 2022-11-17: Added migration of inventories from the old splitters and mergers to the new ones that have a smaller inventories.\n ReworkedSplittersAndMergers,\n\n // 2022-11-23: Added new productivity monitor implementation.\n ReworkedProductivityMonitor,\n\n // 2022-11-25: Nativized shopping list and added blueprint support.\n NativizedShoppingList,\n\n // 2022-07-05: Unreal Engine 5 support\n UnrealEngine5,\n\n // 2022-11-10: Added support for partitioned worlds in conjunction to sub-level saving \n IntroducedWorldPartition,\n\n // 2023-01-09: Tobias: Refactored drone actions to no longer be uobjects in order to fix a crash.\n DroneActionRefactor,\n\n // 2023-01-13: Tobias: Refactored wires to support multiple wire meshes.\n MultipleWireMeshRefactor,\n\n // 2023-01-11: Switched FArchive support to be 64bit in SaveSession\n SwitchTo64BitSaveArchive,\n\n // 20223-06-14: Added PostLoad corrections for splines built from Blueprints (they were broken do to them being now rendered by a shader)\n ResetBrokenBlueprintSplines,\n\n // 2023-09-15: Inventory Item State Refactor - now we save ItemState on FInventoryItems as a FGDynamicStruct, as opposed to AActor pointer\n RefactoredInventoryItemState,\n\n // 2024-04-03: Save version to ensure the paint finishes are in the save data.\n AddedPaintFinishes,\n\n // 2024-06-25: Normailzed Arrive / Leave tangents for conveyor chain spline points on load (this is a migration to mimic current spline generation code)\n NormalizeChainSplineArriveAndLeave,\n\n // 2024-06-04: Arbitrary \"1.0\" version\n Version1,\n\n // 2025-03-12: Tobias: I refactored the poles (conveyor / pipe) a while ago, but missed some save migration code necessary for the pipe poles so I'm adding this now\n PoleRefactor,\n\n // 2025-03-18: Lightweight Buildable Subsystem serializes lightweight buildable version now, to avoid having to bump the save version when updating serialization format for lightweights\n LightweightBuildableSubsystemWritesRuntimeVersion,\n\n // 2025-03-24: ObjectFlags are now serialized for objects and actors during saving. NOTE: Versions from this version till SerializePerStreamableLevelTOCVersion are VOLATILE and might lose sublevel data!!\n SerializeObjectFlags,\n\n // 2025-03-26: Back-to-back railroad switches.\n BackToBackRailroadSwitches,\n\n // 2025-03-28: Serialize per Streamable Level TOC version rather than using the persistent level version for all streamable levels TOC serialization\n SerializePerStreamableLevelTOCVersion,\n\n // 2025-04-23: Cleaning up invalid train track connections for saves prior to 1.1. Clears out ghost / teleporting connections and adds railroad switches where needed if there's a junction that doesn't have them.\n RailroadTrackConnectionCleanup,\n\n // 2025-05-06: Serialize package file version (UE version) and custom versions for serialized object data\n SerializeDataPackageVersionAndCustomVersions,\n\n // 2025-06-26: This version was dropped on 2025-08-06 due to issues introduced internally.\n DROPPED_RailroadSubsystemThirdRailConnectionsCleanup,\n\n // 2025-08-06: Proper fix for third rails leaked into saves.\n RailroadSubsystemThirdRailConnectionsCleanupRedone,\n\n // 2025-12-02: Added available item descriptors system, and automatically unlock all items that are remebered as picked up\n UnlockAvailableItemDescriptorsForPickedUpItems,\n\n // 2025-12-11: Treat Null online services Player Info Handles as valid, use INDEX_NONE to refer to invalid handles instead. Switched to int32 to refer to player info index\n NewPlayerInfoHandleSerializationFormat,\n\n // 2025-12-12: Fix FPlayerInfoHandle serializing the data twice and not sticking to the old format in all cases\n FixNewPlayerInfoHandleSerializationFormat,\n\n // -----<new versions can be added above this line>-------------------------------------------------\n VersionPlusOne,\n LatestVersion = VersionPlusOne - 1\n};"]}
|
|
@@ -7,8 +7,8 @@ export declare class SaveReader extends ContextReader {
|
|
|
7
7
|
onProgressCallback: (progress: number, msg?: string) => void;
|
|
8
8
|
static readonly EPOCH_TICKS = 621355968000000000n;
|
|
9
9
|
constructor(fileBuffer: ArrayBufferLike, onProgressCallback?: (progress: number, msg?: string) => void);
|
|
10
|
-
|
|
11
|
-
static
|
|
10
|
+
static GetApproximateSaveVersion: (saveVersion: number) => RoughSaveVersion;
|
|
11
|
+
static IsGameVersionAtLeast_U1_2: (saveVersion: number) => boolean;
|
|
12
12
|
static IsGameVersionAtLeast_U1_1: (saveVersion: number) => boolean;
|
|
13
13
|
static IsGameVersionAtLeast_U1: (saveVersion: number) => boolean;
|
|
14
14
|
static IsGameVersionAtLeast_U8: (saveVersion: number) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-reader.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"save-reader.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAkB,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAIzD,qBAAa,UAAW,SAAQ,aAAa;IAKI,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI;IAF5G,gBAAuB,WAAW,uBAAuB;gBAE7C,UAAU,EAAE,eAAe,EAAS,kBAAkB,GAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAgB;IAKxH,OAAc,yBAAyB,gBAAiB,MAAM,KAAG,gBAAgB,CAc/E;IAEF,OAAc,yBAAyB,gBAAiB,MAAM,aAAgF;IAC9I,OAAc,yBAAyB,gBAAiB,MAAM,aAA4E;IAC1I,OAAc,uBAAuB,gBAAiB,MAAM,aAA+C;IAC3G,OAAc,uBAAuB,gBAAiB,MAAM,aAAoD;IAChH,OAAc,0BAA0B,gBAAiB,MAAM,aAA6D;IAErH,aAAa,IAAI;QAAE,eAAe,EAAE,oBAAoB,CAAA;KAAE;IAqB1D,UAAU,IAAI;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;KAAE;CA2BpD"}
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SaveReader = exports.DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = void 0;
|
|
4
4
|
const alignment_enum_1 = require("../../byte/alignment.enum");
|
|
5
5
|
const context_reader_1 = require("../../context/context-reader");
|
|
6
|
+
const hierarchical_version_context_1 = require("../../context/hierarchical-version-context");
|
|
6
7
|
const parser_error_1 = require("../../error/parser.error");
|
|
8
|
+
const EUnrealEngineObjectUE5Version_1 = require("../../unreal-engine/EUnrealEngineObjectUE5Version");
|
|
7
9
|
const level_1 = require("./level");
|
|
8
10
|
const save_body_chunks_1 = require("./save-body-chunks");
|
|
9
11
|
const save_custom_version_1 = require("./save-custom-version");
|
|
@@ -12,11 +14,7 @@ class SaveReader extends context_reader_1.ContextReader {
|
|
|
12
14
|
constructor(fileBuffer, onProgressCallback = () => { }) {
|
|
13
15
|
super(fileBuffer, alignment_enum_1.Alignment.LITTLE_ENDIAN);
|
|
14
16
|
this.onProgressCallback = onProgressCallback;
|
|
15
|
-
this.
|
|
16
|
-
if (value !== expected) {
|
|
17
|
-
console.warn(`Read a value that's usually '${expected}', but this time '${value}'. Meaning unclear. Especially if you use mods. Raise an issue or contact me if you want.`);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
17
|
+
this.context.packageFileVersionUE5 = hierarchical_version_context_1.HierarchyVersion.CreateOnHeader(EUnrealEngineObjectUE5Version_1.EUnrealEngineObjectUE5Version.INITIAL_VERSION);
|
|
20
18
|
}
|
|
21
19
|
inflateChunks() {
|
|
22
20
|
const result = save_body_chunks_1.SaveBodyChunks.DecompressChunks(this.fileBuffer.slice(this.currentByte), this.alignment);
|
|
@@ -25,8 +23,9 @@ class SaveReader extends context_reader_1.ContextReader {
|
|
|
25
23
|
this.maxByte = this.fileBuffer.byteLength;
|
|
26
24
|
this.bufferView = new DataView(this.fileBuffer);
|
|
27
25
|
const totalBodyRestSize = this.readInt32();
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
const extraBytes = (this.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.UnrealEngine5 ? 8 : 4);
|
|
27
|
+
if (result.uncompressedData.byteLength !== (totalBodyRestSize + extraBytes)) {
|
|
28
|
+
throw new parser_error_1.CorruptSaveError(`Possibly corrupt. Indicated size of total save body (${totalBodyRestSize + extraBytes}) does not match the uncompressed real size of ${result.uncompressedData.byteLength}.`);
|
|
30
29
|
}
|
|
31
30
|
return {
|
|
32
31
|
compressionInfo: result.compressionInfo
|
|
@@ -36,8 +35,8 @@ class SaveReader extends context_reader_1.ContextReader {
|
|
|
36
35
|
if (!this.context.saveVersion || !this.context.saveHeaderType) {
|
|
37
36
|
throw new parser_error_1.ParserError('ParserError', 'Header and its context must be set before objects can be read.');
|
|
38
37
|
}
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
38
|
+
const approximateSaveVersion = SaveReader.GetApproximateSaveVersion(this.context.saveVersion.header);
|
|
39
|
+
if (approximateSaveVersion === '<U6') {
|
|
41
40
|
throw new parser_error_1.UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');
|
|
42
41
|
}
|
|
43
42
|
const levels = {};
|
|
@@ -48,16 +47,19 @@ class SaveReader extends context_reader_1.ContextReader {
|
|
|
48
47
|
if (i % 500 === 0) {
|
|
49
48
|
this.onProgressCallback(this.getBufferProgress(), `reading level [${(i + 1)}/${(levelCount + 1)}] ${levelSingleName}`);
|
|
50
49
|
}
|
|
51
|
-
levels[levelSingleName] = level_1.Level.
|
|
50
|
+
levels[levelSingleName] = level_1.Level.Read(this, levelSingleName);
|
|
52
51
|
}
|
|
53
52
|
return levels;
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
exports.SaveReader = SaveReader;
|
|
57
56
|
SaveReader.EPOCH_TICKS = 621355968000000000n;
|
|
58
|
-
SaveReader.
|
|
59
|
-
if (SaveReader.
|
|
60
|
-
return 'U1.
|
|
57
|
+
SaveReader.GetApproximateSaveVersion = (saveVersion) => {
|
|
58
|
+
if (SaveReader.IsGameVersionAtLeast_U1_2(saveVersion)) {
|
|
59
|
+
return 'U1.2+';
|
|
60
|
+
}
|
|
61
|
+
else if (SaveReader.IsGameVersionAtLeast_U1_1(saveVersion)) {
|
|
62
|
+
return 'U1.1';
|
|
61
63
|
}
|
|
62
64
|
else if (SaveReader.IsGameVersionAtLeast_U1(saveVersion)) {
|
|
63
65
|
return 'U1.0';
|
|
@@ -72,6 +74,7 @@ SaveReader.GetRoughSaveVersion = (saveVersion) => {
|
|
|
72
74
|
return '<U6';
|
|
73
75
|
}
|
|
74
76
|
};
|
|
77
|
+
SaveReader.IsGameVersionAtLeast_U1_2 = (saveVersion) => saveVersion >= save_custom_version_1.SaveCustomVersion.FixNewPlayerInfoHandleSerializationFormat;
|
|
75
78
|
SaveReader.IsGameVersionAtLeast_U1_1 = (saveVersion) => saveVersion >= save_custom_version_1.SaveCustomVersion.SerializePerStreamableLevelTOCVersion;
|
|
76
79
|
SaveReader.IsGameVersionAtLeast_U1 = (saveVersion) => saveVersion >= save_custom_version_1.SaveCustomVersion.Version1;
|
|
77
80
|
SaveReader.IsGameVersionAtLeast_U8 = (saveVersion) => saveVersion >= save_custom_version_1.SaveCustomVersion.UnrealEngine5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-reader.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":";;;AAAA,8DAAsD;AACtD,iEAA6D;AAC7D,2DAAkG;
|
|
1
|
+
{"version":3,"file":"save-reader.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":"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","sourcesContent":["import { Alignment } from '../../byte/alignment.enum';\nimport { ContextReader } from '../../context/context-reader';\nimport { HierarchyVersion } from '../../context/hierarchical-version-context';\nimport { CorruptSaveError, ParserError, UnsupportedVersionError } from '../../error/parser.error';\nimport { EUnrealEngineObjectUE5Version } from '../../unreal-engine/EUnrealEngineObjectUE5Version';\nimport { Level } from './level';\nimport { ChunkCompressionInfo, SaveBodyChunks } from './save-body-chunks';\nimport { SaveCustomVersion } from './save-custom-version';\nimport { RoughSaveVersion } from './save.types';\n\n\nexport const DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;\n\n\n\nexport class SaveReader extends ContextReader {\n\n\t// the number of .net ticks at the unix epoch\n\tpublic static readonly EPOCH_TICKS = 621355968000000000n;\n\n\tconstructor(fileBuffer: ArrayBufferLike, public onProgressCallback: (progress: number, msg?: string) => void = () => { }) {\n\t\tsuper(fileBuffer, Alignment.LITTLE_ENDIAN);\n\t\tthis.context.packageFileVersionUE5 = HierarchyVersion.CreateOnHeader(EUnrealEngineObjectUE5Version.INITIAL_VERSION);\n\t}\n\n\tpublic static GetApproximateSaveVersion = (saveVersion: number): RoughSaveVersion => {\n\t\tif (SaveReader.IsGameVersionAtLeast_U1_2(saveVersion)) {\n\t\t\treturn 'U1.2+';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U1_1(saveVersion)) {\n\t\t\treturn 'U1.1';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U1(saveVersion)) {\n\t\t\treturn 'U1.0';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U8(saveVersion)) {\n\t\t\treturn 'U8';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U6_U7(saveVersion)) {\n\t\t\treturn 'U6/U7';\n\t\t} else {\n\t\t\treturn '<U6';\n\t\t}\n\t};\n\n\tpublic static IsGameVersionAtLeast_U1_2 = (saveVersion: number) => saveVersion >= SaveCustomVersion.FixNewPlayerInfoHandleSerializationFormat;\n\tpublic static IsGameVersionAtLeast_U1_1 = (saveVersion: number) => saveVersion >= SaveCustomVersion.SerializePerStreamableLevelTOCVersion;\n\tpublic static IsGameVersionAtLeast_U1 = (saveVersion: number) => saveVersion >= SaveCustomVersion.Version1;\n\tpublic static IsGameVersionAtLeast_U8 = (saveVersion: number) => saveVersion >= SaveCustomVersion.UnrealEngine5;\t// Could be anywhere from UnrealEngine5 (37) to ResetBrokenBlueprintSplinnes (42)\n\tpublic static IsGameVersionAtLeast_U6_U7 = (saveVersion: number) => saveVersion >= SaveCustomVersion.AddedSublevelStreaming;\n\n\tpublic inflateChunks(): { compressionInfo: ChunkCompressionInfo } {\n\n\t\tconst result = SaveBodyChunks.DecompressChunks(this.fileBuffer.slice(this.currentByte), this.alignment);\n\n\t\t// reset on decompressed data.\n\t\tthis.currentByte = 0;\n\t\tthis.fileBuffer = result.uncompressedData.buffer;\n\t\tthis.maxByte = this.fileBuffer.byteLength;\n\t\tthis.bufferView = new DataView(this.fileBuffer);\n\n\t\tconst totalBodyRestSize = this.readInt32();\n\t\tconst extraBytes = (this.context.saveVersion.header >= SaveCustomVersion.UnrealEngine5 ? 8 : 4);\n\t\tif (result.uncompressedData.byteLength !== (totalBodyRestSize + extraBytes)) {\n\t\t\tthrow new CorruptSaveError(`Possibly corrupt. Indicated size of total save body (${totalBodyRestSize + extraBytes}) does not match the uncompressed real size of ${result.uncompressedData.byteLength}.`);\n\t\t}\n\n\t\treturn {\n\t\t\tcompressionInfo: result.compressionInfo\n\t\t};\n\t}\n\n\tpublic readLevels(): { [levelName: string]: Level; } {\n\n\t\tif (!this.context.saveVersion || !this.context.saveHeaderType) {\n\t\t\tthrow new ParserError('ParserError', 'Header and its context must be set before objects can be read.');\n\t\t}\n\n\t\t// guard save version\n\t\tconst approximateSaveVersion = SaveReader.GetApproximateSaveVersion(this.context.saveVersion.header);\n\t\tif (approximateSaveVersion === '<U6') {\n\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}\n\n\t\tconst levels: { [levelName: string]: Level; } = {};\n\t\tconst levelCount = this.readInt32();\n\t\tthis.onProgressCallback(this.getBufferProgress(), `reading pack of ${levelCount + 1} levels.`);\n\n\t\tfor (let i = 0; i <= levelCount; i++) {\n\t\t\tlet levelSingleName = i === levelCount ? this.context.mapName! : this.readString();\n\t\t\tif (i % 500 === 0) {\n\t\t\t\tthis.onProgressCallback(this.getBufferProgress(), `reading level [${(i + 1)}/${(levelCount + 1)}] ${levelSingleName}`);\n\t\t\t}\n\n\t\t\tlevels[levelSingleName] = Level.Read(this, levelSingleName);\n\t\t}\n\n\t\treturn levels;\n\t}\n}\n\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-writer.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"save-writer.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAK7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAGxF,qBAAa,UAAW,SAAQ,aAAa;;WAO9B,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;WAUhE,gCAAgC,CAC7C,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,oBAAoB,EACrC,eAAe,EAAE,WAAW,GAAG,MAAM,EACrC,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,EACxD,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,SAAS,GAAE,SAAmC,GAC5C,YAAY,EAAE;IAKV,cAAc,CACpB,eAAe,EAAE,oBAAoB,EACrC,cAAc,EAAE,MAAM,EAEtB,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,EACxD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAClC,YAAY,EAAE;CAgBjB"}
|
|
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SaveWriter = void 0;
|
|
4
4
|
const alignment_enum_1 = require("../../byte/alignment.enum");
|
|
5
5
|
const context_writer_1 = require("../../context/context-writer");
|
|
6
|
+
const hierarchical_version_context_1 = require("../../context/hierarchical-version-context");
|
|
6
7
|
const parser_error_1 = require("../../error/parser.error");
|
|
8
|
+
const EUnrealEngineObjectUE5Version_1 = require("../../unreal-engine/EUnrealEngineObjectUE5Version");
|
|
7
9
|
const level_1 = require("./level");
|
|
8
10
|
const save_body_chunks_1 = require("./save-body-chunks");
|
|
9
11
|
class SaveWriter extends context_writer_1.ContextWriter {
|
|
10
12
|
constructor() {
|
|
11
13
|
super(alignment_enum_1.Alignment.LITTLE_ENDIAN);
|
|
14
|
+
this.context.packageFileVersionUE5 = hierarchical_version_context_1.HierarchyVersion.CreateOnHeader(EUnrealEngineObjectUE5Version_1.EUnrealEngineObjectUE5Version.INITIAL_VERSION);
|
|
12
15
|
}
|
|
13
16
|
static WriteLevels(writer, save) {
|
|
14
17
|
writer.writeInt32(Object.keys(save.levels).length - 1);
|
|
@@ -16,7 +19,7 @@ class SaveWriter extends context_writer_1.ContextWriter {
|
|
|
16
19
|
if (level.name !== save.header.mapName) {
|
|
17
20
|
writer.writeString(level.name);
|
|
18
21
|
}
|
|
19
|
-
level_1.Level.
|
|
22
|
+
level_1.Level.Serialize(writer, level);
|
|
20
23
|
}
|
|
21
24
|
}
|
|
22
25
|
static GenerateCompressedChunksFromData(bufferArray, compressionInfo, blueprintOrSave, onBinaryBeforeCompressing, onChunk, alignment = alignment_enum_1.Alignment.LITTLE_ENDIAN) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-writer.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":";;;AAAA,8DAAsD;AACtD,iEAA6D;AAC7D,2DAAuD;AACvD,mCAAgC;AAEhC,yDAAwF;AAGxF,MAAa,UAAW,SAAQ,8BAAa;IAE5C;QACC,KAAK,CAAC,0BAAS,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"save-writer.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":";;;AAAA,8DAAsD;AACtD,iEAA6D;AAC7D,6FAA8E;AAC9E,2DAAuD;AACvD,qGAAkG;AAClG,mCAAgC;AAEhC,yDAAwF;AAGxF,MAAa,UAAW,SAAQ,8BAAa;IAE5C;QACC,KAAK,CAAC,0BAAS,CAAC,aAAa,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,+CAAgB,CAAC,cAAc,CAAC,6DAA6B,CAAC,eAAe,CAAC,CAAC;IACrH,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,MAAqB,EAAE,IAAsB;QACtE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,aAAK,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAC7C,WAAwB,EACxB,eAAqC,EACrC,eAAqC,EACrC,yBAAwD,EACxD,OAAoC,EACpC,YAAuB,0BAAS,CAAC,aAAa;QAG9C,OAAO,iCAAc,CAAC,sBAAsB,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5I,CAAC;IAEM,cAAc,CACpB,eAAqC,EACrC,cAAsB,EAEtB,yBAAwD,EACxD,QAAsC,EACtC,OAAoC;QAGpC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAW,CAAC,aAAa,EAAE,qGAAqG,CAAC,CAAC;QAC7I,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QACzE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAGjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhK,OAAO,YAAY,CAAC;IACrB,CAAC;CACD;AApDD,gCAoDC","sourcesContent":["import { Alignment } from \"../../byte/alignment.enum\";\nimport { ContextWriter } from '../../context/context-writer';\nimport { HierarchyVersion } from \"../../context/hierarchical-version-context\";\nimport { ParserError } from \"../../error/parser.error\";\nimport { EUnrealEngineObjectUE5Version } from \"../../unreal-engine/EUnrealEngineObjectUE5Version\";\nimport { Level } from './level';\nimport { SatisfactorySave } from \"./satisfactory-save\";\nimport { ChunkCompressionInfo, ChunkSummary, SaveBodyChunks } from \"./save-body-chunks\";\n\n\nexport class SaveWriter extends ContextWriter {\n\n\tconstructor() {\n\t\tsuper(Alignment.LITTLE_ENDIAN);\n\t\tthis.context.packageFileVersionUE5 = HierarchyVersion.CreateOnHeader(EUnrealEngineObjectUE5Version.INITIAL_VERSION);\n\t}\n\n\tpublic static WriteLevels(writer: ContextWriter, save: SatisfactorySave): void {\n\t\twriter.writeInt32(Object.keys(save.levels).length - 1);\n\t\tfor (const level of Object.values(save.levels)) {\n\t\t\tif (level.name !== save.header.mapName) {\n\t\t\t\twriter.writeString(level.name);\n\t\t\t}\n\t\t\tLevel.Serialize(writer, level);\n\t\t}\n\t}\n\n\tpublic static GenerateCompressedChunksFromData(\n\t\tbufferArray: ArrayBuffer,\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\tblueprintOrSave: 'blueprint' | 'save',\n\t\tonBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\tonChunk: (chunk: Uint8Array) => void,\n\t\talignment: Alignment = Alignment.LITTLE_ENDIAN\n\t): ChunkSummary[] {\n\n\t\treturn SaveBodyChunks.CompressDataIntoChunks(bufferArray, compressionInfo, blueprintOrSave, onBinaryBeforeCompressing, onChunk, alignment);\n\t}\n\n\tpublic generateChunks(\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\tposAfterHeader: number,\n\n\t\tonBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\tonHeader: (header: Uint8Array) => void,\n\t\tonChunk: (chunk: Uint8Array) => void\n\t): ChunkSummary[] {\n\n\t\tif (posAfterHeader <= 0) {\n\t\t\tthrow new ParserError('ParserError', 'Seems like this buffer has no header. Please write the header first before you can generate chunks.');\n\t\t}\n\n\t\t// send plain header first.\n\t\tconst header = new Uint8Array(this.bufferArray.slice(0, posAfterHeader));\n\t\tonHeader(header);\n\n\t\t// create save body\n\t\tthis.bufferArray = this.bufferArray.slice(posAfterHeader);\n\t\tconst chunkSummary = SaveWriter.GenerateCompressedChunksFromData(this.bufferArray, compressionInfo, 'save', onBinaryBeforeCompressing, onChunk, this.alignment);\n\n\t\treturn chunkSummary;\n\t}\n}\n"]}
|
|
@@ -8,5 +8,5 @@ export type SatisfactoryModMetadata = {
|
|
|
8
8
|
FullMapName: string;
|
|
9
9
|
Mods: ModData[];
|
|
10
10
|
};
|
|
11
|
-
export type RoughSaveVersion = '<U6' | 'U6/U7' | 'U8' | 'U1.0' | 'U1.1+';
|
|
11
|
+
export type RoughSaveVersion = '<U6' | 'U6/U7' | 'U8' | 'U1.0' | 'U1.1' | 'U1.2+';
|
|
12
12
|
//# sourceMappingURL=save.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.types.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save.types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AAGD,MAAM,MAAM,uBAAuB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,EAAE,CAAC;CACnB,CAAA;AAGD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"save.types.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save.types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAA;AAGD,MAAM,MAAM,uBAAuB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,EAAE,CAAC;CACnB,CAAA;AAGD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.types.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save.types.ts"],"names":[],"mappings":"","sourcesContent":["\n/** @public */\nexport type ModData = {\n Reference: string;\n Name: string;\n Version: string;\n}\n\n/** @public */\nexport type SatisfactoryModMetadata = {\n Version: number;\n FullMapName: string;\n Mods: ModData[];\n}\n\n/** @public */\nexport type RoughSaveVersion = '<U6' | 'U6/U7' | 'U8' | 'U1.0' | 'U1.1+';"]}
|
|
1
|
+
{"version":3,"file":"save.types.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save.types.ts"],"names":[],"mappings":"","sourcesContent":["\n/** @public */\nexport type ModData = {\n Reference: string;\n Name: string;\n Version: string;\n}\n\n/** @public */\nexport type SatisfactoryModMetadata = {\n Version: number;\n FullMapName: string;\n Mods: ModData[];\n}\n\n/** @public */\nexport type RoughSaveVersion = '<U6' | 'U6/U7' | 'U8' | 'U1.0' | 'U1.1' | 'U1.2+';"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ContextReader } from "../../context/context-reader";
|
|
2
|
+
import { ContextWriter } from "../../context/context-writer";
|
|
3
|
+
import { SaveComponent } from "../types/objects/SaveComponent";
|
|
4
|
+
import { SaveEntity } from "../types/objects/SaveEntity";
|
|
5
|
+
import { Level } from "./level";
|
|
6
|
+
type BlobMarker = {
|
|
7
|
+
position: number;
|
|
8
|
+
length: number;
|
|
9
|
+
};
|
|
10
|
+
export declare namespace TOCBlob {
|
|
11
|
+
function SkipOver(reader: ContextReader): BlobMarker;
|
|
12
|
+
function Read(reader: ContextReader, objectsList: (SaveEntity | SaveComponent)[]): void;
|
|
13
|
+
function ReadNObjectHeaders(reader: ContextReader, count: number): (SaveEntity | SaveComponent)[];
|
|
14
|
+
function Write(writer: ContextWriter, level: Level, isPersistentLevel: boolean): void;
|
|
15
|
+
function SerializeAllObjectHeaders(writer: ContextWriter, objects: (SaveEntity | SaveComponent)[]): void;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=toc-blob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toc-blob.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/toc-blob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,KAAK,UAAU,GAAG;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAA;AAKD,yBAAiB,OAAO,CAAC;IAErB,SAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAY1D;IAGD,SAAgB,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC,EAAE,GAAG,IAAI,CAU7F;IAED,SAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,UAAU,GAAG,aAAa,CAAC,EAAE,CAsBvG;IAED,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,QAsBpF;IAGD,SAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC,EAAE,GAAG,IAAI,CAkB9G;CACJ"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TOCBlob = void 0;
|
|
4
|
+
const parser_error_1 = require("../../error/parser.error");
|
|
5
|
+
const SaveComponent_1 = require("../types/objects/SaveComponent");
|
|
6
|
+
const SaveEntity_1 = require("../types/objects/SaveEntity");
|
|
7
|
+
const level_to_destroyed_actors_map_1 = require("./level-to-destroyed-actors-map");
|
|
8
|
+
const object_references_list_1 = require("./object-references-list");
|
|
9
|
+
const save_custom_version_1 = require("./save-custom-version");
|
|
10
|
+
var TOCBlob;
|
|
11
|
+
(function (TOCBlob) {
|
|
12
|
+
function SkipOver(reader) {
|
|
13
|
+
const tocBlobBinaryLength = reader.readInt32();
|
|
14
|
+
if (reader.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.UnrealEngine5) {
|
|
15
|
+
reader.readInt32Zero();
|
|
16
|
+
}
|
|
17
|
+
const posBeforeTOCBlob = reader.getBufferPosition();
|
|
18
|
+
reader.skipBytes(tocBlobBinaryLength);
|
|
19
|
+
return {
|
|
20
|
+
position: posBeforeTOCBlob,
|
|
21
|
+
length: tocBlobBinaryLength
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
TOCBlob.SkipOver = SkipOver;
|
|
25
|
+
function Read(reader, objectsList) {
|
|
26
|
+
let countObjectHeaders = reader.readInt32();
|
|
27
|
+
const batchSize = 10000;
|
|
28
|
+
let readObjectHeadersCount = 0;
|
|
29
|
+
while (readObjectHeadersCount < countObjectHeaders) {
|
|
30
|
+
objectsList.push(...ReadNObjectHeaders(reader, Math.min(batchSize, countObjectHeaders - readObjectHeadersCount)));
|
|
31
|
+
readObjectHeadersCount += Math.min(batchSize, countObjectHeaders - readObjectHeadersCount);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
TOCBlob.Read = Read;
|
|
35
|
+
function ReadNObjectHeaders(reader, count) {
|
|
36
|
+
let objects = [];
|
|
37
|
+
let objectsRead = 0;
|
|
38
|
+
for (; objectsRead < count; objectsRead++) {
|
|
39
|
+
let obj;
|
|
40
|
+
let objectType = reader.readInt32();
|
|
41
|
+
switch (objectType) {
|
|
42
|
+
case SaveEntity_1.SaveEntity.TypeID:
|
|
43
|
+
obj = new SaveEntity_1.SaveEntity('', '', '', '');
|
|
44
|
+
SaveEntity_1.SaveEntity.ParseHeader(reader, obj);
|
|
45
|
+
break;
|
|
46
|
+
case SaveComponent_1.SaveComponent.TypeID:
|
|
47
|
+
obj = new SaveComponent_1.SaveComponent('', '', '', '');
|
|
48
|
+
SaveComponent_1.SaveComponent.ParseHeader(reader, obj);
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
throw new parser_error_1.CorruptSaveError('Unknown object type' + objectType);
|
|
52
|
+
}
|
|
53
|
+
objects.push(obj);
|
|
54
|
+
}
|
|
55
|
+
return objects;
|
|
56
|
+
}
|
|
57
|
+
TOCBlob.ReadNObjectHeaders = ReadNObjectHeaders;
|
|
58
|
+
function Write(writer, level, isPersistentLevel) {
|
|
59
|
+
const lenIndicatorTOCBlob = writer.getBufferPosition();
|
|
60
|
+
writer.writeInt32(0);
|
|
61
|
+
if (writer.context.saveVersion.header >= save_custom_version_1.SaveCustomVersion.UnrealEngine5) {
|
|
62
|
+
writer.writeInt32Zero();
|
|
63
|
+
}
|
|
64
|
+
const start = writer.getBufferPosition();
|
|
65
|
+
SerializeAllObjectHeaders(writer, level.objects);
|
|
66
|
+
if (level.writesDestroyedActorsInTOCBlob) {
|
|
67
|
+
if (isPersistentLevel) {
|
|
68
|
+
level_to_destroyed_actors_map_1.LevelToDestroyedActorsMap.write(writer, level.destroyedActorsMap ?? {});
|
|
69
|
+
}
|
|
70
|
+
else if (!isPersistentLevel) {
|
|
71
|
+
object_references_list_1.ObjectReferencesList.SerializeList(writer, level.collectables ?? []);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
writer.writeBinarySizeFromPosition(lenIndicatorTOCBlob, start);
|
|
75
|
+
}
|
|
76
|
+
TOCBlob.Write = Write;
|
|
77
|
+
function SerializeAllObjectHeaders(writer, objects) {
|
|
78
|
+
writer.writeInt32(objects.length);
|
|
79
|
+
for (const obj of objects) {
|
|
80
|
+
switch (obj.type) {
|
|
81
|
+
case 'SaveEntity':
|
|
82
|
+
writer.writeInt32(SaveEntity_1.SaveEntity.TypeID);
|
|
83
|
+
SaveEntity_1.SaveEntity.SerializeHeader(writer, obj);
|
|
84
|
+
break;
|
|
85
|
+
case 'SaveComponent':
|
|
86
|
+
writer.writeInt32(SaveComponent_1.SaveComponent.TypeID);
|
|
87
|
+
SaveComponent_1.SaveComponent.SerializeHeader(writer, obj);
|
|
88
|
+
break;
|
|
89
|
+
default:
|
|
90
|
+
throw new parser_error_1.UnimplementedError(`Unknown object type ${obj.type}. Not implemented.`);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
TOCBlob.SerializeAllObjectHeaders = SerializeAllObjectHeaders;
|
|
96
|
+
})(TOCBlob || (exports.TOCBlob = TOCBlob = {}));
|
|
97
|
+
//# sourceMappingURL=toc-blob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toc-blob.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/toc-blob.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from \"../../context/context-reader\";\nimport { ContextWriter } from \"../../context/context-writer\";\nimport { CorruptSaveError, UnimplementedError } from \"../../error/parser.error\";\nimport { SaveComponent } from \"../types/objects/SaveComponent\";\nimport { SaveEntity } from \"../types/objects/SaveEntity\";\nimport { Level } from \"./level\";\nimport { LevelToDestroyedActorsMap } from \"./level-to-destroyed-actors-map\";\nimport { ObjectReferencesList } from \"./object-references-list\";\nimport { SaveCustomVersion } from \"./save-custom-version\";\n\ntype BlobMarker = {\n position: number;\n length: number;\n}\n\n/**\n * Part of a level structure, containing object headers.\n */\nexport namespace TOCBlob {\n\n export function SkipOver(reader: ContextReader): BlobMarker {\n const tocBlobBinaryLength = reader.readInt32();\n if (reader.context.saveVersion.header >= SaveCustomVersion.UnrealEngine5) {\n reader.readInt32Zero();\n }\n const posBeforeTOCBlob = reader.getBufferPosition();\n reader.skipBytes(tocBlobBinaryLength);\n\n return {\n position: posBeforeTOCBlob,\n length: tocBlobBinaryLength\n };\n }\n\n\n export function Read(reader: ContextReader, objectsList: (SaveEntity | SaveComponent)[]): void {\n let countObjectHeaders = reader.readInt32();\n\n // read in batches\n const batchSize = 10000;\n let readObjectHeadersCount = 0;\n while (readObjectHeadersCount < countObjectHeaders) {\n objectsList.push(...ReadNObjectHeaders(reader, Math.min(batchSize, countObjectHeaders - readObjectHeadersCount)));\n readObjectHeadersCount += Math.min(batchSize, countObjectHeaders - readObjectHeadersCount);\n }\n }\n\n export function ReadNObjectHeaders(reader: ContextReader, count: number): (SaveEntity | SaveComponent)[] {\n let objects: (SaveEntity | SaveComponent)[] = [];\n let objectsRead = 0;\n for (; objectsRead < count; objectsRead++) {\n\n let obj: SaveEntity | SaveComponent;\n let objectType = reader.readInt32();\n switch (objectType) {\n case SaveEntity.TypeID:\n obj = new SaveEntity('', '', '', '');\n SaveEntity.ParseHeader(reader, obj);\n break;\n case SaveComponent.TypeID:\n obj = new SaveComponent('', '', '', '');\n SaveComponent.ParseHeader(reader, obj);\n break;\n default:\n throw new CorruptSaveError('Unknown object type' + objectType);\n }\n objects.push(obj);\n }\n return objects;\n }\n\n export function Write(writer: ContextWriter, level: Level, isPersistentLevel: boolean) {\n\n const lenIndicatorTOCBlob = writer.getBufferPosition();\n writer.writeInt32(0);\t// len indicator\n\n if (writer.context.saveVersion.header >= SaveCustomVersion.UnrealEngine5) {\n writer.writeInt32Zero();\n }\n\n const start = writer.getBufferPosition();\n SerializeAllObjectHeaders(writer, level.objects);\n\n if (level.writesDestroyedActorsInTOCBlob) {\n if (isPersistentLevel) {\n LevelToDestroyedActorsMap.write(writer, level.destroyedActorsMap ?? {});\n } else if (!isPersistentLevel) {\n ObjectReferencesList.SerializeList(writer, level.collectables ?? []);\n }\n }\n\n // replace binary size from earlier for - object headers + collectables\n writer.writeBinarySizeFromPosition(lenIndicatorTOCBlob, start);\n }\n\n\n export function SerializeAllObjectHeaders(writer: ContextWriter, objects: (SaveEntity | SaveComponent)[]): void {\n writer.writeInt32(objects.length);\n for (const obj of objects) {\n\n switch (obj.type) {\n case 'SaveEntity':\n writer.writeInt32(SaveEntity.TypeID);\n SaveEntity.SerializeHeader(writer, obj);\n break;\n case 'SaveComponent':\n writer.writeInt32(SaveComponent.TypeID);\n SaveComponent.SerializeHeader(writer, obj);\n break;\n default:\n throw new UnimplementedError(`Unknown object type ${(obj as unknown as any).type}. Not implemented.`);\n break;\n }\n }\n }\n}"]}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SaveComponent = exports.isSaveComponent = void 0;
|
|
4
4
|
const SaveObject_1 = require("./SaveObject");
|
|
5
5
|
const isSaveComponent = (obj) => {
|
|
6
|
-
return obj.type === 'SaveComponent';
|
|
6
|
+
return obj !== null && typeof obj === 'object' && 'type' in obj && obj.type === 'SaveComponent';
|
|
7
7
|
};
|
|
8
8
|
exports.isSaveComponent = isSaveComponent;
|
|
9
9
|
class SaveComponent extends SaveObject_1.SaveObject {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveComponent.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/objects/SaveComponent.ts"],"names":[],"mappings":";;;AAGA,6CAA4D;AAErD,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAwB,EAAE;IACjE,OAAO,GAAG,CAAC,IAAI,KAAK,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"SaveComponent.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/objects/SaveComponent.ts"],"names":[],"mappings":";;;AAGA,6CAA4D;AAErD,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAwB,EAAE;IACjE,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,CAAC;AACjG,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAMD,MAAa,aAAc,SAAQ,uBAAU;IAK5C,YAAmB,QAAgB,EAAS,UAAkB,EAAS,YAAoB,EAAS,mBAAmB,EAAE;QACxH,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QADxB,aAAQ,GAAR,QAAQ,CAAQ;QAAS,eAAU,GAAV,UAAU,CAAQ;QAAS,iBAAY,GAAZ,YAAY,CAAQ;QAAS,qBAAgB,GAAhB,gBAAgB,CAAK;QAFzG,SAAI,GAAG,eAAe,CAAC;IAIvC,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,MAAkB,EAAE,GAAkB;QAC/D,uBAAU,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,MAAqB,EAAE,SAAwB;QAC5E,uBAAU,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,SAAwB,EAAE,MAAc,EAAE,MAAqB,EAAE,QAAgB;QACxG,uBAAU,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;;AArBF,sCAsBC;AArBuB,oBAAM,GAAG,CAAC,AAAJ,CAAK","sourcesContent":["import { ByteReader } from '../../../byte/byte-reader.class';\nimport { ContextReader } from '../../../context/context-reader';\nimport { ContextWriter } from '../../../context/context-writer';\nimport { SaveObject, SaveObjectHeader } from \"./SaveObject\";\n\nexport const isSaveComponent = (obj: any): obj is SaveComponent => {\n\treturn obj !== null && typeof obj === 'object' && 'type' in obj && obj.type === 'SaveComponent';\n}\n\nexport interface SaveComponentHeader extends SaveObjectHeader {\n\tparentEntityName: string;\n}\n\nexport class SaveComponent extends SaveObject implements SaveComponentHeader {\n\tpublic static readonly TypeID = 0;\n\n\tpublic readonly type = 'SaveComponent';\n\n\tconstructor(public typePath: string, public rootObject: string, public instanceName: string, public parentEntityName = '') {\n\t\tsuper(typePath, rootObject, instanceName);\n\t}\n\n\tpublic static ParseHeader(reader: ByteReader, obj: SaveComponent): void {\n\t\tSaveObject.ParseHeader(reader, obj);\n\t\tobj.parentEntityName = reader.readString();\n\t}\n\n\tpublic static SerializeHeader(writer: ContextWriter, component: SaveComponent) {\n\t\tSaveObject.SerializeHeader(writer, component);\n\t\twriter.writeString(component.parentEntityName);\n\t}\n\n\tpublic static ParseData(component: SaveComponent, length: number, reader: ContextReader, typePath: string): void {\n\t\tSaveObject.ParseData(component, length, reader, typePath);\n\t}\n}"]}
|
|
@@ -5,7 +5,7 @@ const ObjectReference_1 = require("../structs/ObjectReference");
|
|
|
5
5
|
const Transform_1 = require("../structs/Transform");
|
|
6
6
|
const SaveObject_1 = require("./SaveObject");
|
|
7
7
|
const isSaveEntity = (obj) => {
|
|
8
|
-
return obj.type === 'SaveEntity';
|
|
8
|
+
return obj !== null && typeof obj === 'object' && 'type' in obj && obj.type === 'SaveEntity';
|
|
9
9
|
};
|
|
10
10
|
exports.isSaveEntity = isSaveEntity;
|
|
11
11
|
class SaveEntity extends SaveObject_1.SaveObject {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveEntity.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/objects/SaveEntity.ts"],"names":[],"mappings":";;;AAGA,gEAA6D;AAC7D,oDAAiD;AACjD,6CAA4D;AAErD,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAqB,EAAE;IAC3D,OAAO,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"SaveEntity.js","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/objects/SaveEntity.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { ContextReader } from '../../../context/context-reader';\nimport { ContextWriter } from '../../../context/context-writer';\nimport { ObjectReference } from \"../structs/ObjectReference\";\nimport { Transform } from '../structs/Transform';\nimport { SaveObject, SaveObjectHeader } from \"./SaveObject\";\n\nexport const isSaveEntity = (obj: any): obj is SaveEntity => {\n\treturn obj !== null && typeof obj === 'object' && 'type' in obj && obj.type === 'SaveEntity';\n}\n\nexport interface SaveEntityHeader extends SaveObjectHeader {\n\tneedTransform: boolean;\n\ttransform: Transform;\n\twasPlacedInLevel: boolean;\n}\n\nexport class SaveEntity extends SaveObject {\n\tpublic static readonly TypeID = 1;\n\n\tpublic readonly type = 'SaveEntity';\n\n\tpublic needTransform: boolean;\n\tpublic transform: Transform;\n\tpublic wasPlacedInLevel: boolean;\n\tpublic parentObject: ObjectReference;\n\tpublic components: ObjectReference[];\n\n\tconstructor(public typePath: string, public rootObject: string, public instanceName: string, public parentEntityName = '', needsTransform: boolean = false) {\n\t\tsuper(typePath, rootObject, instanceName);\n\t\tthis.needTransform = needsTransform;\n\t\tthis.wasPlacedInLevel = false;\n\t\tthis.parentObject = { levelName: '', pathName: '' };\n\t\tthis.transform = {\n\t\t\trotation: { x: 0, y: 0, z: 0, w: 1 },\n\t\t\ttranslation: { x: 0, y: 0, z: 0 },\n\t\t\tscale3d: { x: 1, y: 1, z: 1 }\n\t\t}\n\t\tthis.components = [];\n\t}\n\n\tpublic static ParseHeader(reader: ContextReader, obj: SaveEntity): void {\n\t\tSaveObject.ParseHeader(reader, obj);\n\t\tobj.needTransform = reader.readInt32() == 1;\n\t\tobj.transform = Transform.ParseF(reader);\n\t\tobj.wasPlacedInLevel = reader.readInt32() == 1;\n\t}\n\n\tpublic static ParseData(entity: SaveEntity, length: number, reader: ContextReader, typePath: string): void {\n\n\t\tconst start = reader.getBufferPosition();\n\n\t\tentity.parentObject = ObjectReference.read(reader);\n\n\t\tvar componentCount = reader.readInt32();\n\t\tfor (let i = 0; i < componentCount; i++) {\n\t\t\tvar componentRef = ObjectReference.read(reader);\n\t\t\tentity.components.push(componentRef);\n\t\t}\n\n\t\tconst remainingSize = length - (reader.getBufferPosition() - start);\n\t\treturn SaveObject.ParseData(entity, remainingSize, reader, typePath);\n\t}\n\n\tpublic static SerializeHeader(writer: ContextWriter, entity: SaveEntity): void {\n\t\tSaveObject.SerializeHeader(writer, entity);\n\n\t\twriter.writeInt32(entity.needTransform ? 1 : 0);\n\t\tTransform.SerializeF(writer, entity.transform);\n\t\twriter.writeInt32(entity.wasPlacedInLevel ? 1 : 0);\n\t}\n\n\tpublic static SerializeData(writer: ContextWriter, entity: SaveEntity): void {\n\t\tObjectReference.write(writer, entity.parentObject);\n\n\t\twriter.writeInt32(entity.components.length);\n\t\tfor (const component of entity.components) {\n\t\t\twriter.writeString(component.levelName);\n\t\t\twriter.writeString(component.pathName);\n\t\t}\n\n\t\tSaveObject.SerializeData(writer, entity);\n\t}\n}\n"]}
|
|
@@ -2,6 +2,8 @@ import { ContextReader } from '../../../context/context-reader';
|
|
|
2
2
|
import { ContextWriter } from '../../../context/context-writer';
|
|
3
3
|
import { PropertiesMap } from "../property/generic/AbstractBaseProperty";
|
|
4
4
|
import { SpecialProperties } from '../property/special/SpecialProperties';
|
|
5
|
+
import { FSaveObjectVersionData } from '../structs/binary/FSaveObjectVersionData';
|
|
6
|
+
import { GUID } from '../structs/binary/GUID';
|
|
5
7
|
export interface SaveObjectHeader {
|
|
6
8
|
typePath: string;
|
|
7
9
|
rootObject: string;
|
|
@@ -14,9 +16,11 @@ export declare abstract class SaveObject implements SaveObjectHeader {
|
|
|
14
16
|
instanceName: string;
|
|
15
17
|
flags?: number | undefined;
|
|
16
18
|
properties: PropertiesMap;
|
|
19
|
+
guid?: GUID;
|
|
17
20
|
specialProperties: SpecialProperties.AvailableSpecialPropertiesTypes;
|
|
18
21
|
trailingData: number[];
|
|
19
22
|
saveCustomVersion: number;
|
|
23
|
+
objectVersionData?: FSaveObjectVersionData;
|
|
20
24
|
shouldMigrateObjectRefsToPersistent: boolean;
|
|
21
25
|
constructor(typePath: string, rootObject: string, instanceName: string, flags?: number | undefined);
|
|
22
26
|
protected static ParseHeader(reader: ContextReader, obj: SaveObject): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveObject.d.ts","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/objects/SaveObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8BAAsB,UAAW,YAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"SaveObject.d.ts","sourceRoot":"","sources":["../../../../../src/parser/satisfactory/types/objects/SaveObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8BAAsB,UAAW,YAAW,gBAAgB;IAWxC,QAAQ,EAAE,MAAM;IAAS,UAAU,EAAE,MAAM;IAAS,YAAY,EAAE,MAAM;IAAS,KAAK,CAAC,EAAE,MAAM;IAT3G,UAAU,EAAE,aAAa,CAAM;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,iBAAiB,EAAE,iBAAiB,CAAC,+BAA+B,CAAsC;IAC1G,YAAY,EAAE,MAAM,EAAE,CAAM;IAE5B,iBAAiB,EAAE,MAAM,CAAK;IAC9B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,mCAAmC,EAAE,OAAO,CAAS;gBAEzC,QAAQ,EAAE,MAAM,EAAS,UAAU,EAAE,MAAM,EAAS,YAAY,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM,YAAA;IAIlH,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAU1E,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;WAUhE,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;WAuCzF,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;CAc/D"}
|
|
@@ -5,6 +5,8 @@ const parser_error_1 = require("../../../error/parser.error");
|
|
|
5
5
|
const save_custom_version_1 = require("../../save/save-custom-version");
|
|
6
6
|
const PropertiesList_1 = require("../property/PropertiesList");
|
|
7
7
|
const SpecialProperties_1 = require("../property/special/SpecialProperties");
|
|
8
|
+
const FPropertyTag_1 = require("../structs/binary/FPropertyTag");
|
|
9
|
+
const GUID_1 = require("../structs/binary/GUID");
|
|
8
10
|
class SaveObject {
|
|
9
11
|
constructor(typePath, rootObject, instanceName, flags) {
|
|
10
12
|
this.typePath = typePath;
|
|
@@ -21,7 +23,7 @@ class SaveObject {
|
|
|
21
23
|
obj.typePath = reader.readString();
|
|
22
24
|
obj.rootObject = reader.readString();
|
|
23
25
|
obj.instanceName = reader.readString();
|
|
24
|
-
if (reader.context.saveVersion >= save_custom_version_1.SaveCustomVersion.SerializeObjectFlags) {
|
|
26
|
+
if (reader.context.saveVersion.level >= save_custom_version_1.SaveCustomVersion.SerializeObjectFlags) {
|
|
25
27
|
obj.flags = reader.readUint32();
|
|
26
28
|
}
|
|
27
29
|
}
|
|
@@ -29,16 +31,22 @@ class SaveObject {
|
|
|
29
31
|
writer.writeString(obj.typePath);
|
|
30
32
|
writer.writeString(obj.rootObject);
|
|
31
33
|
writer.writeString(obj.instanceName);
|
|
32
|
-
if (writer.context.saveVersion >= save_custom_version_1.SaveCustomVersion.SerializeObjectFlags) {
|
|
34
|
+
if (writer.context.saveVersion.level >= save_custom_version_1.SaveCustomVersion.SerializeObjectFlags) {
|
|
33
35
|
writer.writeUint32(obj.flags ?? 0);
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
static ParseData(obj, length, reader, typePath) {
|
|
37
39
|
const start = reader.getBufferPosition();
|
|
38
40
|
let remainingSize = length;
|
|
41
|
+
if (FPropertyTag_1.FPropertyTag.IsCompletePropertyTagType(reader)) {
|
|
42
|
+
const serializationControl = reader.readByte();
|
|
43
|
+
}
|
|
39
44
|
try {
|
|
40
45
|
obj.properties = PropertiesList_1.PropertiesList.ParseList(reader);
|
|
41
|
-
reader.
|
|
46
|
+
const hasGuid = reader.readInt32() > 0;
|
|
47
|
+
if (hasGuid) {
|
|
48
|
+
obj.guid = GUID_1.GUID.read(reader);
|
|
49
|
+
}
|
|
42
50
|
remainingSize = length - (reader.getBufferPosition() - start);
|
|
43
51
|
obj.specialProperties = SpecialProperties_1.SpecialProperties.ParseClassSpecificSpecialProperties(reader, typePath, remainingSize);
|
|
44
52
|
}
|
|
@@ -47,7 +55,6 @@ class SaveObject {
|
|
|
47
55
|
throw error;
|
|
48
56
|
}
|
|
49
57
|
else {
|
|
50
|
-
console.warn(error);
|
|
51
58
|
console.warn(`data of object ${obj.instanceName} could not be read fully. Trailing data will be filled with raw bytes.`);
|
|
52
59
|
}
|
|
53
60
|
}
|
|
@@ -67,8 +74,15 @@ class SaveObject {
|
|
|
67
74
|
}
|
|
68
75
|
}
|
|
69
76
|
static SerializeData(writer, obj) {
|
|
77
|
+
if (FPropertyTag_1.FPropertyTag.IsCompletePropertyTagType(writer)) {
|
|
78
|
+
writer.writeByte(0);
|
|
79
|
+
}
|
|
70
80
|
PropertiesList_1.PropertiesList.SerializeList(writer, obj.properties);
|
|
71
|
-
|
|
81
|
+
const hasGuid = obj.guid !== undefined;
|
|
82
|
+
writer.writeInt32(hasGuid ? 1 : 0);
|
|
83
|
+
if (hasGuid) {
|
|
84
|
+
GUID_1.GUID.write(writer, obj.guid);
|
|
85
|
+
}
|
|
72
86
|
SpecialProperties_1.SpecialProperties.SerializeClassSpecificSpecialProperties(writer, obj.typePath, obj.specialProperties);
|
|
73
87
|
writer.writeBytesArray(obj.trailingData);
|
|
74
88
|
}
|