@etothepii/satisfactory-file-parser 3.3.1 → 4.0.0
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 +25 -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/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 +12 -7
- package/build/parser/satisfactory/types/property/generic/ByteProperty.d.ts.map +1 -1
- package/build/parser/satisfactory/types/property/generic/ByteProperty.js +37 -34
- 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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Uint8Property.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"Uint8Property.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,eAAe,aAAc,GAAG,KAAG,QAAQ,IAAI,aAA8F,CAAC;AAE3J,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,IAAI,EAAE,eAAe,CAAC;IACtB,eAAe,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,yBAAiB,aAAa,CAAC;IAE3B,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAE1E;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEvD;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAE9E;IAED,SAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEzE;CACJ"}
|
|
@@ -1,33 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Uint8Property = exports.isUint8Property = void 0;
|
|
4
|
-
const
|
|
5
|
-
const AbstractBaseProperty_1 = require("./AbstractBaseProperty");
|
|
6
|
-
const isUint8Property = (property) => !Array.isArray(property) && property.type === 'UInt8Property';
|
|
4
|
+
const isUint8Property = (property) => !Array.isArray(property) && property.propertyTagType.name === 'UInt8Property';
|
|
7
5
|
exports.isUint8Property = isUint8Property;
|
|
8
6
|
var Uint8Property;
|
|
9
7
|
(function (Uint8Property) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
type: 'Uint8Property',
|
|
16
|
-
value,
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
Uint8Property.ReadValue = (reader) => {
|
|
8
|
+
function Parse(reader, property) {
|
|
9
|
+
property.value = Uint8Property.ReadValue(reader);
|
|
10
|
+
}
|
|
11
|
+
Uint8Property.Parse = Parse;
|
|
12
|
+
function ReadValue(reader) {
|
|
20
13
|
return reader.readUint8();
|
|
21
|
-
}
|
|
22
|
-
Uint8Property.
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
Uint8Property.Serialize = (writer, property) => {
|
|
26
|
-
GUIDInfo_1.GUIDInfo.write(writer, property.guidInfo);
|
|
14
|
+
}
|
|
15
|
+
Uint8Property.ReadValue = ReadValue;
|
|
16
|
+
function Serialize(writer, property) {
|
|
27
17
|
Uint8Property.SerializeValue(writer, property.value);
|
|
28
|
-
}
|
|
29
|
-
Uint8Property.
|
|
18
|
+
}
|
|
19
|
+
Uint8Property.Serialize = Serialize;
|
|
20
|
+
function SerializeValue(writer, value) {
|
|
30
21
|
writer.writeUint8(value);
|
|
31
|
-
}
|
|
22
|
+
}
|
|
23
|
+
Uint8Property.SerializeValue = SerializeValue;
|
|
32
24
|
})(Uint8Property || (exports.Uint8Property = Uint8Property = {}));
|
|
33
25
|
//# sourceMappingURL=Uint8Property.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Uint8Property.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Uint8Property.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/generic/Uint8Property.ts"],"names":[],"mappings":";;;AAKO,MAAM,eAAe,GAAG,CAAC,QAAa,EAA6B,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,eAAe,CAAC;AAA9I,QAAA,eAAe,mBAA+H;AAQ3J,IAAiB,aAAa,CAiB7B;AAjBD,WAAiB,aAAa;IAE1B,SAAgB,KAAK,CAAC,MAAqB,EAAE,QAAuB;QAChE,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAFe,mBAAK,QAEpB,CAAA;IAED,SAAgB,SAAS,CAAC,MAAqB;QAC3C,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;IAFe,uBAAS,YAExB,CAAA;IAED,SAAgB,SAAS,CAAC,MAAqB,EAAE,QAAuB;QACpE,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAFe,uBAAS,YAExB,CAAA;IAED,SAAgB,cAAc,CAAC,MAAqB,EAAE,KAAa;QAC/D,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAFe,4BAAc,iBAE7B,CAAA;AACL,CAAC,EAjBgB,aAAa,6BAAb,aAAa,QAiB7B","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { FPropertyTagNode } from '../../structs/binary/FPropertyTagNode';\nimport { AbstractBaseProperty } from './AbstractBaseProperty';\n\nexport const isUint8Property = (property: any): property is Uint8Property => !Array.isArray(property) && property.propertyTagType.name === 'UInt8Property';\n\nexport type Uint8Property = AbstractBaseProperty & {\n type: 'Uint8Property';\n propertyTagType: { name: 'Uint8Property', children: FPropertyTagNode[] };\n value: number;\n};\n\nexport namespace Uint8Property {\n\n export function Parse(reader: ContextReader, property: Uint8Property): void {\n property.value = Uint8Property.ReadValue(reader);\n }\n\n export function ReadValue(reader: ContextReader): number {\n return reader.readUint8();\n }\n\n export function Serialize(writer: ContextWriter, property: Uint8Property): void {\n Uint8Property.SerializeValue(writer, property.value);\n }\n\n export function SerializeValue(writer: ContextWriter, value: number): void {\n writer.writeUint8(value);\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ContextReader } from '../../../../../context/context-reader';
|
|
2
|
+
import { ContextWriter } from '../../../../../context/context-writer';
|
|
3
|
+
import { FPropertyTag } from '../../../structs/binary/FPropertyTag';
|
|
4
|
+
import { AbstractBaseProperty } from '../AbstractBaseProperty';
|
|
5
|
+
export declare const isArrayProperty: (property: any) => property is ArrayProperty;
|
|
6
|
+
export type ArrayProperty = AbstractBaseProperty & {
|
|
7
|
+
type: 'ArrayProperty';
|
|
8
|
+
structTag?: FPropertyTag;
|
|
9
|
+
values: any[];
|
|
10
|
+
};
|
|
11
|
+
export declare namespace ArrayProperty {
|
|
12
|
+
function Parse(reader: ContextReader, tag: FPropertyTag, property: ArrayProperty): void;
|
|
13
|
+
function Serialize(writer: ContextWriter, property: ArrayProperty): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ArrayProperty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrayProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAe/D,eAAO,MAAM,eAAe,aAAc,GAAG,KAAG,QAAQ,IAAI,aAA8F,CAAC;AAE3J,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;CACjB,CAAA;AAED,yBAAiB,aAAa,CAAC;IAE3B,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAyE7F;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAsE9E;CACJ"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArrayProperty = exports.isArrayProperty = void 0;
|
|
4
|
+
const parser_error_1 = require("../../../../../error/parser.error");
|
|
5
|
+
const save_custom_version_1 = require("../../../../save/save-custom-version");
|
|
6
|
+
const FPropertyTag_1 = require("../../../structs/binary/FPropertyTag");
|
|
7
|
+
const BoolProperty_1 = require("../BoolProperty");
|
|
8
|
+
const ByteProperty_1 = require("../ByteProperty");
|
|
9
|
+
const DoubleProperty_1 = require("../DoubleProperty");
|
|
10
|
+
const EnumProperty_1 = require("../EnumProperty");
|
|
11
|
+
const FloatProperty_1 = require("../FloatProperty");
|
|
12
|
+
const Int64Property_1 = require("../Int64Property");
|
|
13
|
+
const InterfaceProperty_1 = require("../InterfaceProperty");
|
|
14
|
+
const IntProperty_1 = require("../IntProperty");
|
|
15
|
+
const ObjectProperty_1 = require("../ObjectProperty");
|
|
16
|
+
const SoftObjectProperty_1 = require("../SoftObjectProperty");
|
|
17
|
+
const StrProperty_1 = require("../StrProperty");
|
|
18
|
+
const TextProperty_1 = require("../TextProperty");
|
|
19
|
+
const StructProperty_1 = require("./StructProperty");
|
|
20
|
+
const isArrayProperty = (property) => !Array.isArray(property) && property.propertyTagType.name === 'ArrayProperty';
|
|
21
|
+
exports.isArrayProperty = isArrayProperty;
|
|
22
|
+
var ArrayProperty;
|
|
23
|
+
(function (ArrayProperty) {
|
|
24
|
+
function Parse(reader, tag, property) {
|
|
25
|
+
const elementCount = reader.readInt32();
|
|
26
|
+
switch (property.propertyTagType.children[0].name) {
|
|
27
|
+
case "FloatProperty":
|
|
28
|
+
property.values = new Array(elementCount).fill(0).map(() => FloatProperty_1.FloatProperty.ReadValue(reader));
|
|
29
|
+
break;
|
|
30
|
+
case "BoolProperty":
|
|
31
|
+
property.values = new Array(elementCount).fill(0).map(() => BoolProperty_1.BoolProperty.ReadValue(reader));
|
|
32
|
+
break;
|
|
33
|
+
case "IntProperty":
|
|
34
|
+
property.values = new Array(elementCount).fill(0).map(() => IntProperty_1.IntProperty.ReadValue(reader));
|
|
35
|
+
break;
|
|
36
|
+
case "Int64Property":
|
|
37
|
+
property.values = new Array(elementCount).fill(0).map(() => Int64Property_1.Int64Property.ReadValue(reader));
|
|
38
|
+
break;
|
|
39
|
+
case "DoubleProperty":
|
|
40
|
+
property.values = new Array(elementCount).fill(0).map(() => DoubleProperty_1.DoubleProperty.ReadValue(reader));
|
|
41
|
+
break;
|
|
42
|
+
case "ByteProperty":
|
|
43
|
+
property.values = new Array(elementCount).fill(0).map(() => ByteProperty_1.ByteProperty.ReadValue(reader));
|
|
44
|
+
break;
|
|
45
|
+
case "StrProperty":
|
|
46
|
+
property.values = new Array(elementCount).fill(0).map(() => StrProperty_1.StrProperty.ReadValue(reader));
|
|
47
|
+
break;
|
|
48
|
+
case "EnumProperty":
|
|
49
|
+
property.values = new Array(elementCount).fill(0).map(() => EnumProperty_1.EnumProperty.ReadValue(reader));
|
|
50
|
+
break;
|
|
51
|
+
case "TextProperty":
|
|
52
|
+
property.values = new Array(elementCount).fill(0).map(() => TextProperty_1.TextProperty.ReadValue(reader));
|
|
53
|
+
break;
|
|
54
|
+
case "InterfaceProperty":
|
|
55
|
+
property.values = new Array(elementCount).fill(0).map(() => InterfaceProperty_1.InterfaceProperty.ReadValue(reader));
|
|
56
|
+
break;
|
|
57
|
+
case "ObjectProperty":
|
|
58
|
+
property.values = new Array(elementCount).fill(0).map(() => ObjectProperty_1.ObjectProperty.ReadValue(reader));
|
|
59
|
+
break;
|
|
60
|
+
case "SoftObjectProperty":
|
|
61
|
+
property.values = new Array(elementCount).fill(0).map(() => SoftObjectProperty_1.SoftObjectProperty.ReadValue(reader));
|
|
62
|
+
break;
|
|
63
|
+
case "StructProperty":
|
|
64
|
+
let binarySizeToCheck = tag.binarySize - 4;
|
|
65
|
+
if (reader.context.saveVersion.object < save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
|
|
66
|
+
const innerTag = FPropertyTag_1.FPropertyTag.read(reader);
|
|
67
|
+
property.structTag = innerTag;
|
|
68
|
+
property.propertyTagType.children[0] = innerTag.propertyTagType;
|
|
69
|
+
binarySizeToCheck = property.structTag.binarySize;
|
|
70
|
+
}
|
|
71
|
+
property.values = new Array(elementCount).fill(0).map(() => StructProperty_1.StructProperty.ParseValue(reader, tag.propertyTagType.children[0].children[0], binarySizeToCheck));
|
|
72
|
+
break;
|
|
73
|
+
default:
|
|
74
|
+
throw new parser_error_1.UnimplementedError(`Unknown array property subtype ${JSON.stringify(property.propertyTagType.children[0].name)} for ${property.propertyTagType.name}. Not implemented.`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
ArrayProperty.Parse = Parse;
|
|
78
|
+
function Serialize(writer, property) {
|
|
79
|
+
writer.writeInt32(property.values.length);
|
|
80
|
+
switch (property.propertyTagType.children[0].name) {
|
|
81
|
+
case "FloatProperty":
|
|
82
|
+
property.values.forEach(value => FloatProperty_1.FloatProperty.SerializeValue(writer, value));
|
|
83
|
+
break;
|
|
84
|
+
case "BoolProperty":
|
|
85
|
+
property.values.forEach(value => BoolProperty_1.BoolProperty.SerializeValue(writer, value));
|
|
86
|
+
break;
|
|
87
|
+
case "IntProperty":
|
|
88
|
+
property.values.forEach(value => IntProperty_1.IntProperty.SerializeValue(writer, value));
|
|
89
|
+
break;
|
|
90
|
+
case "Int64Property":
|
|
91
|
+
property.values.forEach(value => Int64Property_1.Int64Property.SerializeValue(writer, value));
|
|
92
|
+
break;
|
|
93
|
+
case "DoubleProperty":
|
|
94
|
+
property.values.forEach(value => DoubleProperty_1.DoubleProperty.SerializeValue(writer, value));
|
|
95
|
+
break;
|
|
96
|
+
case "ByteProperty":
|
|
97
|
+
property.values.forEach(value => ByteProperty_1.ByteProperty.SerializeValue(writer, value));
|
|
98
|
+
break;
|
|
99
|
+
case "StrProperty":
|
|
100
|
+
property.values.forEach(value => StrProperty_1.StrProperty.SerializeValue(writer, value));
|
|
101
|
+
break;
|
|
102
|
+
case "EnumProperty":
|
|
103
|
+
property.values.forEach(value => EnumProperty_1.EnumProperty.SerializeValue(writer, value));
|
|
104
|
+
break;
|
|
105
|
+
case "TextProperty":
|
|
106
|
+
property.values.forEach(value => TextProperty_1.TextProperty.SerializeValue(writer, value));
|
|
107
|
+
break;
|
|
108
|
+
case "InterfaceProperty":
|
|
109
|
+
property.values.forEach(value => InterfaceProperty_1.InterfaceProperty.SerializeValue(writer, value));
|
|
110
|
+
break;
|
|
111
|
+
case "ObjectProperty":
|
|
112
|
+
property.values.forEach(value => ObjectProperty_1.ObjectProperty.SerializeValue(writer, value));
|
|
113
|
+
break;
|
|
114
|
+
case "SoftObjectProperty":
|
|
115
|
+
property.values.forEach(value => SoftObjectProperty_1.SoftObjectProperty.SerializeValue(writer, value));
|
|
116
|
+
break;
|
|
117
|
+
case "StructProperty":
|
|
118
|
+
if (writer.context.saveVersion.object < save_custom_version_1.SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {
|
|
119
|
+
FPropertyTag_1.FPropertyTag.write(writer, property.structTag);
|
|
120
|
+
}
|
|
121
|
+
property.values.forEach(value => StructProperty_1.StructProperty.SerializeValue(writer, property.propertyTagType.children[0].children[0].name, value));
|
|
122
|
+
break;
|
|
123
|
+
default:
|
|
124
|
+
throw new parser_error_1.UnimplementedError(`Unknown array property to serialize. ${property.type ?? ''}, ${property.subtype ?? ''}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
ArrayProperty.Serialize = Serialize;
|
|
128
|
+
})(ArrayProperty || (exports.ArrayProperty = ArrayProperty = {}));
|
|
129
|
+
//# sourceMappingURL=ArrayProperty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrayProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { UnimplementedError } from '../../../../../error/parser.error';\nimport { SaveCustomVersion } from '../../../../save/save-custom-version';\nimport { FPropertyTag } from '../../../structs/binary/FPropertyTag';\nimport { AbstractBaseProperty } from '../AbstractBaseProperty';\nimport { BoolProperty } from '../BoolProperty';\nimport { ByteProperty } from '../ByteProperty';\nimport { DoubleProperty } from '../DoubleProperty';\nimport { EnumProperty } from '../EnumProperty';\nimport { FloatProperty } from '../FloatProperty';\nimport { Int64Property } from '../Int64Property';\nimport { InterfaceProperty } from '../InterfaceProperty';\nimport { IntProperty } from '../IntProperty';\nimport { ObjectProperty } from '../ObjectProperty';\nimport { SoftObjectProperty } from '../SoftObjectProperty';\nimport { StrProperty } from '../StrProperty';\nimport { TextProperty } from '../TextProperty';\nimport { StructProperty } from './StructProperty';\n\nexport const isArrayProperty = (property: any): property is ArrayProperty => !Array.isArray(property) && property.propertyTagType.name === 'ArrayProperty';\n\nexport type ArrayProperty = AbstractBaseProperty & {\n type: 'ArrayProperty';\n structTag?: FPropertyTag;\n values: any[];\n}\n\nexport namespace ArrayProperty {\n\n export function Parse(reader: ContextReader, tag: FPropertyTag, property: ArrayProperty): void {\n\n const elementCount = reader.readInt32();\n switch (property.propertyTagType.children[0].name) {\n case \"FloatProperty\":\n property.values = new Array(elementCount).fill(0).map(() => FloatProperty.ReadValue(reader));\n break;\n\n case \"BoolProperty\":\n property.values = new Array(elementCount).fill(0).map(() => BoolProperty.ReadValue(reader));\n break;\n\n case \"IntProperty\":\n property.values = new Array(elementCount).fill(0).map(() => IntProperty.ReadValue(reader));\n break;\n\n case \"Int64Property\":\n property.values = new Array(elementCount).fill(0).map(() => Int64Property.ReadValue(reader));\n break;\n\n case \"DoubleProperty\":\n property.values = new Array(elementCount).fill(0).map(() => DoubleProperty.ReadValue(reader));\n break;\n\n case \"ByteProperty\":\n property.values = new Array(elementCount).fill(0).map(() => ByteProperty.ReadValue(reader));\n break;\n\n case \"StrProperty\":\n property.values = new Array(elementCount).fill(0).map(() => StrProperty.ReadValue(reader));\n break;\n\n case \"EnumProperty\":\n property.values = new Array(elementCount).fill(0).map(() => EnumProperty.ReadValue(reader));\n break;\n\n case \"TextProperty\":\n property.values = new Array(elementCount).fill(0).map(() => TextProperty.ReadValue(reader));\n break;\n\n case \"InterfaceProperty\":\n property.values = new Array(elementCount).fill(0).map(() => InterfaceProperty.ReadValue(reader));\n break;\n\n case \"ObjectProperty\":\n property.values = new Array(elementCount).fill(0).map(() => ObjectProperty.ReadValue(reader));\n break;\n\n case \"SoftObjectProperty\":\n property.values = new Array(elementCount).fill(0).map(() => SoftObjectProperty.ReadValue(reader));\n break;\n\n case \"StructProperty\":\n\n // we already read elementCount. so - 4.\n //TODO: check?\n let binarySizeToCheck = tag.binarySize - 4;\n\n // saveVersion 53 is late 1.1\n if (reader.context.saveVersion.object < SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n const innerTag = FPropertyTag.read(reader);\n property.structTag = innerTag;\n property.propertyTagType.children[0] = innerTag.propertyTagType;\n binarySizeToCheck = property.structTag!.binarySize;\n }\n\n property.values = new Array(elementCount).fill(0).map(() => StructProperty.ParseValue(reader, tag.propertyTagType.children[0].children[0], binarySizeToCheck));\n break;\n\n default:\n throw new UnimplementedError(`Unknown array property subtype ${JSON.stringify(property.propertyTagType.children[0].name)} for ${property.propertyTagType.name}. Not implemented.`);\n\n }\n }\n\n export function Serialize(writer: ContextWriter, property: ArrayProperty): void {\n\n writer.writeInt32(property.values.length);\n\n switch (property.propertyTagType.children[0].name) {\n case \"FloatProperty\":\n property.values.forEach(value => FloatProperty.SerializeValue(writer, value));\n break;\n\n case \"BoolProperty\":\n property.values.forEach(value => BoolProperty.SerializeValue(writer, value));\n break;\n\n case \"IntProperty\":\n property.values.forEach(value => IntProperty.SerializeValue(writer, value));\n break;\n\n case \"Int64Property\":\n property.values.forEach(value => Int64Property.SerializeValue(writer, value));\n break;\n\n case \"DoubleProperty\":\n property.values.forEach(value => DoubleProperty.SerializeValue(writer, value));\n break;\n\n case \"ByteProperty\":\n property.values.forEach(value => ByteProperty.SerializeValue(writer, value));\n break;\n\n case \"StrProperty\":\n property.values.forEach(value => StrProperty.SerializeValue(writer, value));\n break;\n\n case \"EnumProperty\":\n property.values.forEach(value => EnumProperty.SerializeValue(writer, value));\n break;\n\n case \"TextProperty\":\n property.values.forEach(value => TextProperty.SerializeValue(writer, value));\n break;\n\n case \"InterfaceProperty\":\n property.values.forEach(value => InterfaceProperty.SerializeValue(writer, value));\n break;\n\n case \"ObjectProperty\":\n property.values.forEach(value => ObjectProperty.SerializeValue(writer, value));\n break;\n\n case \"SoftObjectProperty\":\n property.values.forEach(value => SoftObjectProperty.SerializeValue(writer, value));\n break;\n\n case \"StructProperty\":\n\n // saveVersion 53 is late 1.1\n if (writer.context.saveVersion.object < SaveCustomVersion.SerializeDataPackageVersionAndCustomVersions) {\n FPropertyTag.write(writer, property.structTag!);\n }\n\n property.values.forEach(value => StructProperty.SerializeValue(writer, property.propertyTagType.children[0].children[0].name, value));\n\n //writer.writeBinarySizeFromPosition(lenIndicator, before);\n // TODO: write binary value ?\n\n break;\n\n default:\n throw new UnimplementedError(`Unknown array property to serialize. ${(property as any).type ?? ''}, ${(property as any).subtype ?? ''}`);\n }\n }\n}\n"]}
|
package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { FPropertyTagNode } from "../../../structs/binary/FPropertyTagNode";
|
|
2
|
+
import { AbstractBaseProperty } from "../AbstractBaseProperty";
|
|
3
|
+
import { BoolProperty } from "../BoolProperty";
|
|
4
|
+
import { ByteProperty } from "../ByteProperty";
|
|
5
|
+
import { DoubleProperty } from "../DoubleProperty";
|
|
6
|
+
import { EnumProperty } from "../EnumProperty";
|
|
7
|
+
import { FloatProperty } from "../FloatProperty";
|
|
8
|
+
import { Int64Property } from "../Int64Property";
|
|
9
|
+
import { InterfaceProperty } from "../InterfaceProperty";
|
|
10
|
+
import { IntProperty } from "../IntProperty";
|
|
11
|
+
import { ObjectProperty } from "../ObjectProperty";
|
|
12
|
+
import { SoftObjectProperty } from "../SoftObjectProperty";
|
|
13
|
+
import { StrProperty } from "../StrProperty";
|
|
14
|
+
import { TextProperty } from "../TextProperty";
|
|
15
|
+
import { StructProperty } from "./StructProperty";
|
|
16
|
+
type SpecificArrayPropertyType<TSubtype extends AbstractBaseProperty, TSubtypevalue = TSubtype['value']> = AbstractBaseProperty & {
|
|
17
|
+
propertyTagType: {
|
|
18
|
+
name: 'ArrayProperty';
|
|
19
|
+
children: [
|
|
20
|
+
{
|
|
21
|
+
name: TSubtype['type'];
|
|
22
|
+
children: FPropertyTagNode[];
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
};
|
|
26
|
+
values: TSubtypevalue[];
|
|
27
|
+
};
|
|
28
|
+
export type BoolArrayProperty = SpecificArrayPropertyType<BoolProperty, number>;
|
|
29
|
+
export declare const isBoolArrayProperty: (property: AbstractBaseProperty) => property is BoolArrayProperty;
|
|
30
|
+
export type Int64ArrayProperty = SpecificArrayPropertyType<Int64Property>;
|
|
31
|
+
export declare const isInt64ArrayProperty: (property: AbstractBaseProperty) => property is Int64ArrayProperty;
|
|
32
|
+
export type ByteArrayProperty = SpecificArrayPropertyType<ByteProperty, number>;
|
|
33
|
+
export declare const isByteArrayProperty: (property: AbstractBaseProperty) => property is ByteArrayProperty;
|
|
34
|
+
export type DoubleArrayProperty = SpecificArrayPropertyType<DoubleProperty>;
|
|
35
|
+
export declare const isDoubleArrayProperty: (property: AbstractBaseProperty) => property is DoubleArrayProperty;
|
|
36
|
+
export type EnumArrayProperty = SpecificArrayPropertyType<EnumProperty>;
|
|
37
|
+
export declare const isEnumArrayProperty: (property: AbstractBaseProperty) => property is EnumArrayProperty;
|
|
38
|
+
export type FloatArrayProperty = SpecificArrayPropertyType<FloatProperty>;
|
|
39
|
+
export declare const isFloatArrayProperty: (property: AbstractBaseProperty) => property is FloatArrayProperty;
|
|
40
|
+
export type IntArrayProperty = SpecificArrayPropertyType<IntProperty>;
|
|
41
|
+
export declare const isIntArrayProperty: (property: AbstractBaseProperty) => property is IntArrayProperty;
|
|
42
|
+
export type ObjectArrayProperty = SpecificArrayPropertyType<ObjectProperty>;
|
|
43
|
+
export declare const isObjectArrayProperty: (property: AbstractBaseProperty) => property is ObjectArrayProperty;
|
|
44
|
+
export type InterfaceArrayProperty = SpecificArrayPropertyType<InterfaceProperty>;
|
|
45
|
+
export declare const isInterfaceArrayProperty: (property: AbstractBaseProperty) => property is InterfaceArrayProperty;
|
|
46
|
+
export type SoftObjectArrayProperty = SpecificArrayPropertyType<SoftObjectProperty>;
|
|
47
|
+
export declare const isSoftObjectArrayProperty: (property: AbstractBaseProperty) => property is SoftObjectArrayProperty;
|
|
48
|
+
export type StrArrayProperty = SpecificArrayPropertyType<StrProperty>;
|
|
49
|
+
export declare const isStrArrayProperty: (property: AbstractBaseProperty) => property is StrArrayProperty;
|
|
50
|
+
export type StructArrayProperty = SpecificArrayPropertyType<StructProperty>;
|
|
51
|
+
export declare const isStructArrayPRoperty: (property: AbstractBaseProperty) => property is StructArrayProperty;
|
|
52
|
+
export type TextArrayProperty = SpecificArrayPropertyType<TextProperty>;
|
|
53
|
+
export declare const isTextArrayProperty: (property: AbstractBaseProperty) => property is TextArrayProperty;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=ArrayPropertySpecificTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrayPropertySpecificTypes.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.ts"],"names":[],"mappings":"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"}
|
package/build/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isTextArrayProperty = exports.isStructArrayPRoperty = exports.isStrArrayProperty = exports.isSoftObjectArrayProperty = exports.isInterfaceArrayProperty = exports.isObjectArrayProperty = exports.isIntArrayProperty = exports.isFloatArrayProperty = exports.isEnumArrayProperty = exports.isDoubleArrayProperty = exports.isByteArrayProperty = exports.isInt64ArrayProperty = exports.isBoolArrayProperty = void 0;
|
|
4
|
+
const ArrayProperty_1 = require("./ArrayProperty");
|
|
5
|
+
function createArrayPropertyGuardFor(typeName) {
|
|
6
|
+
return (property) => {
|
|
7
|
+
return ((0, ArrayProperty_1.isArrayProperty)(property) &&
|
|
8
|
+
property.propertyTagType?.children[0]?.name === typeName);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
exports.isBoolArrayProperty = createArrayPropertyGuardFor('BoolProperty');
|
|
12
|
+
exports.isInt64ArrayProperty = createArrayPropertyGuardFor('Int64Property');
|
|
13
|
+
exports.isByteArrayProperty = createArrayPropertyGuardFor('ByteProperty');
|
|
14
|
+
exports.isDoubleArrayProperty = createArrayPropertyGuardFor('DoubleProperty');
|
|
15
|
+
exports.isEnumArrayProperty = createArrayPropertyGuardFor('EnumProperty');
|
|
16
|
+
exports.isFloatArrayProperty = createArrayPropertyGuardFor('FloatProperty');
|
|
17
|
+
exports.isIntArrayProperty = createArrayPropertyGuardFor('IntProperty');
|
|
18
|
+
exports.isObjectArrayProperty = createArrayPropertyGuardFor('ObjectProperty');
|
|
19
|
+
exports.isInterfaceArrayProperty = createArrayPropertyGuardFor('InterfaceProperty');
|
|
20
|
+
exports.isSoftObjectArrayProperty = createArrayPropertyGuardFor('SoftObjectProperty');
|
|
21
|
+
exports.isStrArrayProperty = createArrayPropertyGuardFor('StrProperty');
|
|
22
|
+
exports.isStructArrayPRoperty = createArrayPropertyGuardFor('StructProperty');
|
|
23
|
+
exports.isTextArrayProperty = createArrayPropertyGuardFor('TextProperty');
|
|
24
|
+
//# sourceMappingURL=ArrayPropertySpecificTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrayPropertySpecificTypes.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/ArrayPropertySpecificTypes.ts"],"names":[],"mappings":";;;AAcA,mDAAkD;AAgBlD,SAAS,2BAA2B,CAChC,QAAgD;IAEhD,OAAO,CACH,QAA8B,EACJ,EAAE;QAC5B,OAAO,CACH,IAAA,+BAAe,EAAC,QAAQ,CAAC;YACzB,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAC3D,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAGY,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC;AAGrF,QAAA,oBAAoB,GAAG,2BAA2B,CAAqB,eAAe,CAAC,CAAC;AAGxF,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC;AAGrF,QAAA,qBAAqB,GAAG,2BAA2B,CAAsB,gBAAgB,CAAC,CAAC;AAG3F,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC;AAGrF,QAAA,oBAAoB,GAAG,2BAA2B,CAAqB,eAAe,CAAC,CAAC;AAGxF,QAAA,kBAAkB,GAAG,2BAA2B,CAAmB,aAAa,CAAC,CAAC;AAGlF,QAAA,qBAAqB,GAAG,2BAA2B,CAAsB,gBAAgB,CAAC,CAAC;AAG3F,QAAA,wBAAwB,GAAG,2BAA2B,CAAyB,mBAAmB,CAAC,CAAC;AAGpG,QAAA,yBAAyB,GAAG,2BAA2B,CAA0B,oBAAoB,CAAC,CAAC;AAGvG,QAAA,kBAAkB,GAAG,2BAA2B,CAAmB,aAAa,CAAC,CAAC;AAGlF,QAAA,qBAAqB,GAAG,2BAA2B,CAAsB,gBAAgB,CAAC,CAAC;AAG3F,QAAA,mBAAmB,GAAG,2BAA2B,CAAoB,cAAc,CAAC,CAAC","sourcesContent":["import { FPropertyTagNode } from \"../../../structs/binary/FPropertyTagNode\";\nimport { AbstractBaseProperty } from \"../AbstractBaseProperty\";\nimport { BoolProperty } from \"../BoolProperty\";\nimport { ByteProperty } from \"../ByteProperty\";\nimport { DoubleProperty } from \"../DoubleProperty\";\nimport { EnumProperty } from \"../EnumProperty\";\nimport { FloatProperty } from \"../FloatProperty\";\nimport { Int64Property } from \"../Int64Property\";\nimport { InterfaceProperty } from \"../InterfaceProperty\";\nimport { IntProperty } from \"../IntProperty\";\nimport { ObjectProperty } from \"../ObjectProperty\";\nimport { SoftObjectProperty } from \"../SoftObjectProperty\";\nimport { StrProperty } from \"../StrProperty\";\nimport { TextProperty } from \"../TextProperty\";\nimport { isArrayProperty } from \"./ArrayProperty\";\nimport { StructProperty } from \"./StructProperty\";\n\n// Helpers to create type guards.\n// Not necessarily needed, but checking for a \"StrArrayProperty\" can be useful i guess.\ntype SpecificArrayPropertyType<TSubtype extends AbstractBaseProperty, TSubtypevalue = TSubtype['value']> = AbstractBaseProperty & {\n propertyTagType: {\n name: 'ArrayProperty';\n children: [{\n name: TSubtype['type'];\n children: FPropertyTagNode[];\n }];\n };\n values: TSubtypevalue[];\n};\ntype ExtractSubtype<T> = T extends SpecificArrayPropertyType<infer U> ? U : never;\nfunction createArrayPropertyGuardFor<TArrayProperty extends SpecificArrayPropertyType<AbstractBaseProperty>>(\n typeName: ExtractSubtype<TArrayProperty>['type']\n) {\n return (\n property: AbstractBaseProperty\n ): property is TArrayProperty => {\n return (\n isArrayProperty(property) &&\n property.propertyTagType?.children[0]?.name === typeName\n );\n };\n}\n\nexport type BoolArrayProperty = SpecificArrayPropertyType<BoolProperty, number>;\nexport const isBoolArrayProperty = createArrayPropertyGuardFor<BoolArrayProperty>('BoolProperty');\n\nexport type Int64ArrayProperty = SpecificArrayPropertyType<Int64Property>;\nexport const isInt64ArrayProperty = createArrayPropertyGuardFor<Int64ArrayProperty>('Int64Property');\n\nexport type ByteArrayProperty = SpecificArrayPropertyType<ByteProperty, number>;\nexport const isByteArrayProperty = createArrayPropertyGuardFor<ByteArrayProperty>('ByteProperty');\n\nexport type DoubleArrayProperty = SpecificArrayPropertyType<DoubleProperty>;\nexport const isDoubleArrayProperty = createArrayPropertyGuardFor<DoubleArrayProperty>('DoubleProperty');\n\nexport type EnumArrayProperty = SpecificArrayPropertyType<EnumProperty>;\nexport const isEnumArrayProperty = createArrayPropertyGuardFor<EnumArrayProperty>('EnumProperty');\n\nexport type FloatArrayProperty = SpecificArrayPropertyType<FloatProperty>;\nexport const isFloatArrayProperty = createArrayPropertyGuardFor<FloatArrayProperty>('FloatProperty');\n\nexport type IntArrayProperty = SpecificArrayPropertyType<IntProperty>;\nexport const isIntArrayProperty = createArrayPropertyGuardFor<IntArrayProperty>('IntProperty');\n\nexport type ObjectArrayProperty = SpecificArrayPropertyType<ObjectProperty>;\nexport const isObjectArrayProperty = createArrayPropertyGuardFor<ObjectArrayProperty>('ObjectProperty');\n\nexport type InterfaceArrayProperty = SpecificArrayPropertyType<InterfaceProperty>;\nexport const isInterfaceArrayProperty = createArrayPropertyGuardFor<InterfaceArrayProperty>('InterfaceProperty');\n\nexport type SoftObjectArrayProperty = SpecificArrayPropertyType<SoftObjectProperty>;\nexport const isSoftObjectArrayProperty = createArrayPropertyGuardFor<SoftObjectArrayProperty>('SoftObjectProperty');\n\nexport type StrArrayProperty = SpecificArrayPropertyType<StrProperty>;\nexport const isStrArrayProperty = createArrayPropertyGuardFor<StrArrayProperty>('StrProperty');\n\nexport type StructArrayProperty = SpecificArrayPropertyType<StructProperty>;\nexport const isStructArrayPRoperty = createArrayPropertyGuardFor<StructArrayProperty>('StructProperty');\n\nexport type TextArrayProperty = SpecificArrayPropertyType<TextProperty>;\nexport const isTextArrayProperty = createArrayPropertyGuardFor<TextArrayProperty>('TextProperty');"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ContextReader } from '../../../../../context/context-reader';
|
|
2
|
+
import { ContextWriter } from '../../../../../context/context-writer';
|
|
3
|
+
import { LBBalancerIndexing } from '../../../structs/binary/LBBalancerIndexing';
|
|
4
|
+
import { ObjectReference } from '../../../structs/ObjectReference';
|
|
5
|
+
import { vec3 } from '../../../structs/vec3';
|
|
6
|
+
import { AbstractBaseProperty } from '../AbstractBaseProperty';
|
|
7
|
+
import { GENERIC_STRUCT_PROPERTY_VALUE } from './StructProperty';
|
|
8
|
+
export type GENERIC_MAP_KEY_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | vec3;
|
|
9
|
+
export type GENERIC_MAP_VALUE_TYPE = number | ObjectReference | boolean | GENERIC_STRUCT_PROPERTY_VALUE | LBBalancerIndexing;
|
|
10
|
+
export declare const isMapProperty: (property: any) => property is MapProperty;
|
|
11
|
+
export type MapProperty = AbstractBaseProperty & {
|
|
12
|
+
type: 'MapProperty';
|
|
13
|
+
numElementsToRemove?: number;
|
|
14
|
+
values: [key: GENERIC_MAP_KEY_TYPE, value: GENERIC_MAP_VALUE_TYPE][];
|
|
15
|
+
};
|
|
16
|
+
export declare namespace MapProperty {
|
|
17
|
+
function Parse(reader: ContextReader, property: MapProperty): void;
|
|
18
|
+
function Serialize(writer: ContextWriter, property: MapProperty): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=MapProperty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/MapProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAO/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,GAAG,IAAI,CAAC;AAC7G,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,eAAe,GAAG,OAAO,GAAG,6BAA6B,GAAG,kBAAkB,CAAC;AAE7H,eAAO,MAAM,aAAa,aAAc,GAAG,KAAG,QAAQ,IAAI,WAA0F,CAAC;AAErJ,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAC;CACxE,CAAC;AAGF,yBAAiB,WAAW,CAAC;IAEzB,SAAgB,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAwFxE;IAED,SAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CA6E5E;CACJ"}
|
|
@@ -1,45 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MapProperty = exports.isMapProperty = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
4
|
+
const parser_error_1 = require("../../../../../error/parser.error");
|
|
5
|
+
const LBBalancerIndexing_1 = require("../../../structs/binary/LBBalancerIndexing");
|
|
6
|
+
const DynamicStructPropertyValue_1 = require("../../../structs/DynamicStructPropertyValue");
|
|
7
|
+
const vec3_1 = require("../../../structs/vec3");
|
|
8
|
+
const ByteProperty_1 = require("../ByteProperty");
|
|
9
|
+
const EnumProperty_1 = require("../EnumProperty");
|
|
10
|
+
const Int64Property_1 = require("../Int64Property");
|
|
11
|
+
const IntProperty_1 = require("../IntProperty");
|
|
12
|
+
const ObjectProperty_1 = require("../ObjectProperty");
|
|
13
|
+
const StrProperty_1 = require("../StrProperty");
|
|
14
|
+
const isMapProperty = (property) => !Array.isArray(property) && property.propertyTagType.name === 'MapProperty';
|
|
13
15
|
exports.isMapProperty = isMapProperty;
|
|
14
16
|
var MapProperty;
|
|
15
17
|
(function (MapProperty) {
|
|
16
|
-
|
|
18
|
+
function Parse(reader, property) {
|
|
17
19
|
const start = reader.getBufferPosition();
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
values: [],
|
|
26
|
-
modeUnk1: undefined,
|
|
27
|
-
modeUnk2: '',
|
|
28
|
-
modeUnk3: ''
|
|
29
|
-
};
|
|
30
|
-
reader.readByte();
|
|
31
|
-
property.modeType = reader.readInt32();
|
|
20
|
+
const keyType = property.propertyTagType.children[0].name;
|
|
21
|
+
const valueType = property.propertyTagType.children[1].name;
|
|
22
|
+
property.numElementsToRemove = reader.readInt32();
|
|
23
|
+
if (property.numElementsToRemove > 0) {
|
|
24
|
+
throw new parser_error_1.UnimplementedError('MapProperty does not yet support Number of Elements to be removed. Feel free to raise an issue.');
|
|
25
|
+
}
|
|
26
|
+
property.values = [];
|
|
32
27
|
const elementCount = reader.readInt32();
|
|
33
28
|
for (let i = 0; i < elementCount; i++) {
|
|
34
29
|
let key;
|
|
35
30
|
let value;
|
|
36
|
-
switch (
|
|
31
|
+
switch (keyType) {
|
|
37
32
|
case 'StructProperty':
|
|
38
|
-
if (
|
|
39
|
-
key =
|
|
33
|
+
if (property.name === 'mSaveData' || property.name === 'mUnresolvedSaveData') {
|
|
34
|
+
key = vec3_1.vec3.ParseInt(reader);
|
|
40
35
|
}
|
|
41
36
|
else {
|
|
42
|
-
key = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader,
|
|
37
|
+
key = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, keyType);
|
|
43
38
|
}
|
|
44
39
|
break;
|
|
45
40
|
case 'ObjectProperty':
|
|
@@ -53,8 +48,7 @@ var MapProperty;
|
|
|
53
48
|
key = EnumProperty_1.EnumProperty.ReadValue(reader);
|
|
54
49
|
break;
|
|
55
50
|
case 'IntProperty':
|
|
56
|
-
|
|
57
|
-
key = Int32Property_1.Int32Property.ReadValue(reader);
|
|
51
|
+
key = IntProperty_1.IntProperty.ReadValue(reader);
|
|
58
52
|
break;
|
|
59
53
|
case 'Int64Property':
|
|
60
54
|
key = Int64Property_1.Int64Property.ReadValue(reader);
|
|
@@ -63,18 +57,18 @@ var MapProperty;
|
|
|
63
57
|
key = ByteProperty_1.ByteProperty.ReadValue(reader);
|
|
64
58
|
break;
|
|
65
59
|
default:
|
|
66
|
-
throw new Error(`not implemented map key type ${
|
|
60
|
+
throw new Error(`not implemented map key type ${keyType}`);
|
|
67
61
|
}
|
|
68
|
-
switch (
|
|
62
|
+
switch (valueType) {
|
|
69
63
|
case 'StructProperty':
|
|
70
|
-
if (
|
|
71
|
-
value =
|
|
64
|
+
if (property.name === 'mIndexMapping' && reader.context.mods.MLBAlternates !== undefined) {
|
|
65
|
+
value = LBBalancerIndexing_1.LBBalancerIndexing.read(reader);
|
|
72
66
|
}
|
|
73
|
-
else if (
|
|
74
|
-
value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader,
|
|
67
|
+
else if (property.name === 'Senders' && reader.context.mods.FicsItNetworks !== undefined) {
|
|
68
|
+
value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, valueType);
|
|
75
69
|
}
|
|
76
70
|
else {
|
|
77
|
-
value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader,
|
|
71
|
+
value = DynamicStructPropertyValue_1.DynamicStructPropertyValue.read(reader, valueType);
|
|
78
72
|
}
|
|
79
73
|
break;
|
|
80
74
|
case 'ObjectProperty':
|
|
@@ -88,8 +82,7 @@ var MapProperty;
|
|
|
88
82
|
value = EnumProperty_1.EnumProperty.ReadValue(reader);
|
|
89
83
|
break;
|
|
90
84
|
case 'IntProperty':
|
|
91
|
-
|
|
92
|
-
value = Int32Property_1.Int32Property.ReadValue(reader);
|
|
85
|
+
value = IntProperty_1.IntProperty.ReadValue(reader);
|
|
93
86
|
break;
|
|
94
87
|
case 'Int64Property':
|
|
95
88
|
value = Int64Property_1.Int64Property.ReadValue(reader);
|
|
@@ -98,26 +91,22 @@ var MapProperty;
|
|
|
98
91
|
value = ByteProperty_1.ByteProperty.ReadValue(reader);
|
|
99
92
|
break;
|
|
100
93
|
default:
|
|
101
|
-
throw new Error(`not implemented map value type ${
|
|
94
|
+
throw new Error(`not implemented map value type ${valueType}`);
|
|
102
95
|
}
|
|
103
96
|
property.values.push([key, value]);
|
|
104
97
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
writer.writeString(property.keyType);
|
|
112
|
-
writer.writeString(property.valueType);
|
|
113
|
-
writer.writeByte(0);
|
|
114
|
-
writer.writeInt32(property.modeType);
|
|
98
|
+
}
|
|
99
|
+
MapProperty.Parse = Parse;
|
|
100
|
+
function Serialize(writer, property) {
|
|
101
|
+
const keyType = property.propertyTagType.children[0].name;
|
|
102
|
+
const valueType = property.propertyTagType.children[1].name;
|
|
103
|
+
writer.writeInt32(property.numElementsToRemove ?? 0);
|
|
115
104
|
writer.writeInt32(property.values.length);
|
|
116
105
|
for (const entry of property.values) {
|
|
117
|
-
switch (
|
|
106
|
+
switch (keyType) {
|
|
118
107
|
case 'StructProperty':
|
|
119
108
|
if (property.name === 'mSaveData' || property.name === 'mUnresolvedSaveData') {
|
|
120
|
-
|
|
109
|
+
vec3_1.vec3.SerializeInt(writer, entry[0]);
|
|
121
110
|
}
|
|
122
111
|
else {
|
|
123
112
|
DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[0]);
|
|
@@ -134,8 +123,7 @@ var MapProperty;
|
|
|
134
123
|
EnumProperty_1.EnumProperty.SerializeValue(writer, entry[0]);
|
|
135
124
|
break;
|
|
136
125
|
case 'IntProperty':
|
|
137
|
-
|
|
138
|
-
Int32Property_1.Int32Property.SerializeValue(writer, entry[0]);
|
|
126
|
+
IntProperty_1.IntProperty.SerializeValue(writer, entry[0]);
|
|
139
127
|
break;
|
|
140
128
|
case 'Int64Property':
|
|
141
129
|
Int64Property_1.Int64Property.SerializeValue(writer, entry[0]);
|
|
@@ -144,12 +132,15 @@ var MapProperty;
|
|
|
144
132
|
ByteProperty_1.ByteProperty.SerializeValue(writer, entry[0]);
|
|
145
133
|
break;
|
|
146
134
|
default:
|
|
147
|
-
throw new Error(`not implemented map key type ${
|
|
135
|
+
throw new Error(`not implemented map key type ${valueType}`);
|
|
148
136
|
}
|
|
149
|
-
switch (
|
|
137
|
+
switch (valueType) {
|
|
150
138
|
case 'StructProperty':
|
|
151
139
|
if (property.name === 'mIndexMapping' && writer.context.mods.MLBAlternates !== undefined) {
|
|
152
|
-
|
|
140
|
+
LBBalancerIndexing_1.LBBalancerIndexing.write(writer, entry[1]);
|
|
141
|
+
}
|
|
142
|
+
else if (property.name === 'Senders' && writer.context.mods.FicsItNetworks !== undefined) {
|
|
143
|
+
DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[1]);
|
|
153
144
|
}
|
|
154
145
|
else {
|
|
155
146
|
DynamicStructPropertyValue_1.DynamicStructPropertyValue.write(writer, entry[1]);
|
|
@@ -166,8 +157,7 @@ var MapProperty;
|
|
|
166
157
|
EnumProperty_1.EnumProperty.SerializeValue(writer, entry[1]);
|
|
167
158
|
break;
|
|
168
159
|
case 'IntProperty':
|
|
169
|
-
|
|
170
|
-
Int32Property_1.Int32Property.SerializeValue(writer, entry[1]);
|
|
160
|
+
IntProperty_1.IntProperty.SerializeValue(writer, entry[1]);
|
|
171
161
|
break;
|
|
172
162
|
case 'Int64Property':
|
|
173
163
|
Int64Property_1.Int64Property.SerializeValue(writer, entry[1]);
|
|
@@ -176,9 +166,10 @@ var MapProperty;
|
|
|
176
166
|
ByteProperty_1.ByteProperty.SerializeValue(writer, entry[1]);
|
|
177
167
|
break;
|
|
178
168
|
default:
|
|
179
|
-
throw new Error(`not implemented map value type ${
|
|
169
|
+
throw new Error(`not implemented map value type ${valueType}`);
|
|
180
170
|
}
|
|
181
171
|
}
|
|
182
|
-
}
|
|
172
|
+
}
|
|
173
|
+
MapProperty.Serialize = Serialize;
|
|
183
174
|
})(MapProperty || (exports.MapProperty = MapProperty = {}));
|
|
184
175
|
//# sourceMappingURL=MapProperty.js.map
|