@etothepii/satisfactory-file-parser 4.0.1 → 4.0.2

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 CHANGED
@@ -1,6 +1,10 @@
1
1
  # Changelog
2
2
  Make sure to use the same version for parsing and serializing saves, if possible.
3
3
 
4
+ ### [4.0.2] (2026-04-23)
5
+ ### Bugfix
6
+ * StructProperty had `subtype` in typescript definition, even tho it is no longer filled.
7
+
4
8
  ### [4.0.1] (2026-04-18)
5
9
  ### Bugfix
6
10
  * ByteProperty wasnt read correctly, when node purities were overwritten from 1.2 game mode.
@@ -47,7 +47,6 @@ export type GENERIC_STRUCT_PROPERTY_VALUE = BasicMultipleStructPropertyValue | B
47
47
  export declare const isStructProperty: (property: any) => property is StructProperty;
48
48
  export type StructProperty = AbstractBaseProperty & {
49
49
  type: 'StructProperty';
50
- subtype: string;
51
50
  value: GENERIC_STRUCT_PROPERTY_VALUE;
52
51
  };
53
52
  export declare namespace StructProperty {
@@ -1 +1 @@
1
- {"version":3,"file":"StructProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/StructProperty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StructProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/StructProperty.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StructProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/StructProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { SaveCustomVersion } from '../../../../save/save-custom-version';\nimport { FClientIdentityInfo } from '../../../structs/binary/FClientIdentityInfo';\nimport { FColor } from '../../../structs/binary/FColor';\nimport { FLinearColor } from '../../../structs/binary/FLinearColor';\nimport { FPlayerInfoHandle } from '../../../structs/binary/FPlayerInfoHandle';\nimport { FPropertyTag } from '../../../structs/binary/FPropertyTag';\nimport { FPropertyTagNode } from '../../../structs/binary/FPropertyTagNode';\nimport { FUniqueNetIdRepl } from '../../../structs/binary/FUniqueNetIdRepl';\nimport { GUID } from '../../../structs/binary/GUID';\nimport { col4 } from '../../../structs/col4';\nimport { DynamicStructPropertyValue } from '../../../structs/DynamicStructPropertyValue';\nimport { FGDynamicStruct } from '../../../structs/FGDynamicStruct';\nimport { FICFrameRange } from '../../../structs/mods/FicsItCam/FICFrameRange';\nimport { FINGPUT1BufferPixel } from '../../../structs/mods/FicsItNetworks/FINGPUT1BufferPixel';\nimport { FINLuaRuntimePersistenceState } from '../../../structs/mods/FicsItNetworks/FINLuaRuntimePersistenceState';\nimport { FINNetworkTrace } from '../../../structs/mods/FicsItNetworks/FINNetworkTrace';\nimport { FLBBalancerIndexing } from '../../../structs/mods/ModularLoadBalancers/FLBBalancerIndexing';\nimport { ObjectReference } from '../../../structs/ObjectReference';\nimport { vec2 } from '../../../structs/vec2';\nimport { vec3 } from '../../../structs/vec3';\nimport { vec4 } from '../../../structs/vec4';\nimport { AbstractBaseProperty } from '../AbstractBaseProperty';\n\n\nexport type BasicMultipleStructPropertyValue = {\n values: any;\n};\n\nexport type BasicStructPropertyValue = {\n value: any;\n};\n\nexport type BoxStructPropertyValue = {\n min: vec3;\n max: vec3;\n isValid: boolean;\n};\n\nexport type RailroadTrackPositionStructPropertyValue = {\n root: string;\n instanceName: string;\n offset: number;\n forward: number;\n};\n\nexport type InventoryItemStructPropertyValue = {\n itemReference: ObjectReference;\n itemState?: FGDynamicStruct;\n legacyItemStateActor?: ObjectReference;\n};\n\nexport type FICFrameRangeStructPropertyValue = {\n begin: string;\n end: string;\n};\n\nexport type GENERIC_STRUCT_PROPERTY_VALUE = BasicMultipleStructPropertyValue | BasicStructPropertyValue | BoxStructPropertyValue | RailroadTrackPositionStructPropertyValue |\n InventoryItemStructPropertyValue | FICFrameRangeStructPropertyValue | FClientIdentityInfo | DynamicStructPropertyValue | col4 | vec2 | vec3 | vec4 | string |\n FINNetworkTrace | FINGPUT1BufferPixel | FLBBalancerIndexing | FINLuaRuntimePersistenceState | FUniqueNetIdRepl | FPlayerInfoHandle;\n\nexport const isStructProperty = (property: any): property is StructProperty => !Array.isArray(property) && property.propertyTagType.name === 'StructProperty';\n\nexport type StructProperty = AbstractBaseProperty & {\n type: 'StructProperty';\n subtype: string;\n value: GENERIC_STRUCT_PROPERTY_VALUE;\n};\n\nexport namespace StructProperty {\n\n export function Parse(reader: ContextReader, property: StructProperty, tag: FPropertyTag): void {\n\n const before = reader.getBufferPosition();\n property.value = ParseValue(reader, property.propertyTagType.children[0], tag.binarySize);\n const readBytes = reader.getBufferPosition() - before;\n if (readBytes !== tag.binarySize) {\n if (tag.binarySize - readBytes === 4) {\n // U8, fine - honestly i am not sure whether this is even still relevant. with some bug fixes this most likely has been fixed.\n reader.skipBytes(tag.binarySize - readBytes);\n } else {\n throw new Error(`possibly corrupt. Read ${readBytes} for structproperty of ${JSON.stringify(property.propertyTagType.children[0].name)}, but ${tag.binarySize} were indicated.`);\n }\n }\n }\n\n export function ParseValue(reader: ContextReader, propertyTagType: FPropertyTagNode, size: number): GENERIC_STRUCT_PROPERTY_VALUE {\n\n let value: GENERIC_STRUCT_PROPERTY_VALUE;\n\n switch (propertyTagType.name) {\n case 'Color':\n value = FColor.read(reader);\n break;\n\n case 'IntPoint':\n value = reader.readInt64().toString();\n break;\n\n case 'LinearColor':\n value = FLinearColor.read(reader);\n break;\n\n case 'Vector2D':\n value = (reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec2.Parse(reader) : vec2.ParseF(reader);\n break;\n\n case 'Vector':\n case 'Rotator':\n value = (reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec3.Parse(reader) : vec3.ParseF(reader);\n break;\n\n case 'Quat':\n case 'Vector4':\n case 'Vector4D':\n value = (reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec4.Parse(reader) : vec4.ParseF(reader);\n break;\n\n case 'Box':\n value = ((reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? {\n min: vec3.Parse(reader),\n max: vec3.Parse(reader),\n isValid: reader.readByte() >= 1\n } : {\n min: vec3.ParseF(reader),\n max: vec3.ParseF(reader),\n isValid: reader.readByte() >= 1\n }) satisfies BoxStructPropertyValue;\n break;\n\n case 'RailroadTrackPosition':\n value = {\n root: reader.readString(),\n instanceName: reader.readString(),\n offset: reader.readFloat32(),\n forward: reader.readFloat32()\n };\n break;\n\n case 'TimerHandle':\n value = reader.readString();\n break;\n\n case 'Guid':\n value = GUID.read(reader);\n break;\n\n case 'ClientIdentityInfo':\n value = FClientIdentityInfo.read(reader);\n break;\n\n case 'InventoryItem':\n const before = reader.getBufferPosition();\n\n value = {\n itemReference: ObjectReference.read(reader)\n } satisfies InventoryItemStructPropertyValue;\n\n // inventory items have potentially an item state. but not before explicit version\n if (reader.context.saveVersion.object >= SaveCustomVersion.RefactoredInventoryItemState) {\n value.itemState = FGDynamicStruct.Parse(reader);\n } else {\n value.legacyItemStateActor = ObjectReference.read(reader);\n }\n\n break;\n\n case 'FluidBox':\n value = {\n value: reader.readFloat32()\n };\n break;\n\n case 'SlateBrush':\n value = reader.readString();\n break;\n\n case 'DateTime':\n value = reader.readInt64().toString();\n break;\n\n case 'UniqueNetIdRepl':\n value = FUniqueNetIdRepl.read(reader, size);\n break;\n\n case 'PlayerInfoHandle':\n value = FPlayerInfoHandle.read(reader);\n break;\n\n // FixsitCamera mod\n case 'FICFrameRange':\n value = FICFrameRange.read(reader);\n break;\n\n // MLB mod\n case 'LBBalancerIndexing':\n value = FLBBalancerIndexing.read(reader);\n break;\n\n // FicsIt-Networks mod\n case 'FINNetworkTrace':\n case 'FIRTrace':\n value = FINNetworkTrace.read(reader);\n break;\n\n case 'FINGPUT1BufferPixel':\n value = FINGPUT1BufferPixel.read(reader);\n break;\n\n case 'FINLuaProcessorStateStorage':\n case 'FINLuaRuntimePersistenceState':\n value = FINLuaRuntimePersistenceState.read(reader, size);\n break;\n\n default:\n value = DynamicStructPropertyValue.read(reader, propertyTagType.name);\n break;\n }\n\n return value;\n }\n\n export function Serialize(writer: ContextWriter, property: StructProperty): void {\n StructProperty.SerializeValue(writer, property.propertyTagType.children[0].name, property.value);\n }\n\n export function SerializeValue(writer: ContextWriter, subtype: string, value: GENERIC_STRUCT_PROPERTY_VALUE): void {\n\n switch (subtype) {\n case 'Color':\n FColor.write(writer, value as FColor);\n break;\n\n case 'IntPoint':\n writer.writeInt64(BigInt(value as string))\n break;\n\n case 'LinearColor':\n FLinearColor.write(writer, value as FLinearColor);\n break;\n\n case 'Vector2D':\n value = value as vec2;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec2.Serialize(writer, value);\n } else {\n vec2.SerializeF(writer, value);\n }\n break;\n\n case 'Vector':\n case 'Rotator':\n value = value as vec3;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec3.Serialize(writer, value as vec3);\n } else {\n vec3.SerializeF(writer, value as vec3);\n }\n break;\n\n case 'Quat':\n case 'Vector4':\n case 'Vector4D':\n value = value as vec4;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec4.Serialize(writer, value as vec4);\n } else {\n vec4.SerializeF(writer, value as vec4);\n }\n break;\n\n case 'Box':\n value = value as BoxStructPropertyValue;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec3.Serialize(writer, value.min);\n vec3.Serialize(writer, value.max);\n } else {\n vec3.SerializeF(writer, value.min);\n vec3.SerializeF(writer, value.max);\n }\n writer.writeByte(value.isValid ? 1 : 0);\n break;\n\n case 'RailroadTrackPosition':\n value = value as RailroadTrackPositionStructPropertyValue;\n writer.writeString(value.root);\n writer.writeString(value.instanceName);\n writer.writeFloat32(value.offset);\n writer.writeFloat32(value.forward);\n break;\n\n case 'TimerHandle':\n value = value as string;\n writer.writeString(value);\n break;\n\n case 'Guid':\n GUID.write(writer, value as GUID);\n break;\n\n case 'ClientIdentityInfo':\n FClientIdentityInfo.write(writer, value as FClientIdentityInfo);\n break;\n\n case 'InventoryItem':\n value = value as InventoryItemStructPropertyValue;\n ObjectReference.write(writer, value.itemReference);\n\n if (writer.context.saveVersion.object >= SaveCustomVersion.RefactoredInventoryItemState) {\n FGDynamicStruct.Serialize(writer, value.itemState!);\n } else {\n ObjectReference.write(writer, value.legacyItemStateActor!);\n }\n break;\n\n case 'FluidBox':\n value = value as BasicStructPropertyValue;\n writer.writeFloat32(value.value);\n break;\n\n case 'SlateBrush':\n writer.writeString(value as string);\n break;\n\n case 'DateTime':\n value = value as string;\n writer.writeInt64(BigInt(value));\n break;\n\n case 'UniqueNetIdRepl':\n FUniqueNetIdRepl.write(writer, value as FUniqueNetIdRepl);\n break;\n\n case 'PlayerInfoHandle':\n FPlayerInfoHandle.write(writer, value as FPlayerInfoHandle);\n break;\n\n // MODS\n case 'FICFrameRange':\n FICFrameRange.write(writer, value as FICFrameRange);\n break;\n\n // MLB mod\n case 'LBBalancerIndexing':\n FLBBalancerIndexing.write(writer, value as FLBBalancerIndexing);\n break;\n\n // FicsItNetworks mod\n case 'FINNetworkTrace':\n case 'FIRTrace':\n FINNetworkTrace.write(writer, value as FINNetworkTrace);\n break;\n\n case 'FINGPUT1BufferPixel':\n FINGPUT1BufferPixel.write(writer, value as FINGPUT1BufferPixel);\n break;\n\n case 'FINLuaProcessorStateStorage':\n case 'FINLuaRuntimePersistenceState':\n FINLuaRuntimePersistenceState.write(writer, value as FINLuaRuntimePersistenceState);\n break;\n\n default:\n DynamicStructPropertyValue.write(writer, value as DynamicStructPropertyValue);\n break;\n }\n }\n}\n\n\n"]}
1
+ {"version":3,"file":"StructProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/containers/StructProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { SaveCustomVersion } from '../../../../save/save-custom-version';\nimport { FClientIdentityInfo } from '../../../structs/binary/FClientIdentityInfo';\nimport { FColor } from '../../../structs/binary/FColor';\nimport { FLinearColor } from '../../../structs/binary/FLinearColor';\nimport { FPlayerInfoHandle } from '../../../structs/binary/FPlayerInfoHandle';\nimport { FPropertyTag } from '../../../structs/binary/FPropertyTag';\nimport { FPropertyTagNode } from '../../../structs/binary/FPropertyTagNode';\nimport { FUniqueNetIdRepl } from '../../../structs/binary/FUniqueNetIdRepl';\nimport { GUID } from '../../../structs/binary/GUID';\nimport { col4 } from '../../../structs/col4';\nimport { DynamicStructPropertyValue } from '../../../structs/DynamicStructPropertyValue';\nimport { FGDynamicStruct } from '../../../structs/FGDynamicStruct';\nimport { FICFrameRange } from '../../../structs/mods/FicsItCam/FICFrameRange';\nimport { FINGPUT1BufferPixel } from '../../../structs/mods/FicsItNetworks/FINGPUT1BufferPixel';\nimport { FINLuaRuntimePersistenceState } from '../../../structs/mods/FicsItNetworks/FINLuaRuntimePersistenceState';\nimport { FINNetworkTrace } from '../../../structs/mods/FicsItNetworks/FINNetworkTrace';\nimport { FLBBalancerIndexing } from '../../../structs/mods/ModularLoadBalancers/FLBBalancerIndexing';\nimport { ObjectReference } from '../../../structs/ObjectReference';\nimport { vec2 } from '../../../structs/vec2';\nimport { vec3 } from '../../../structs/vec3';\nimport { vec4 } from '../../../structs/vec4';\nimport { AbstractBaseProperty } from '../AbstractBaseProperty';\n\n\nexport type BasicMultipleStructPropertyValue = {\n values: any;\n};\n\nexport type BasicStructPropertyValue = {\n value: any;\n};\n\nexport type BoxStructPropertyValue = {\n min: vec3;\n max: vec3;\n isValid: boolean;\n};\n\nexport type RailroadTrackPositionStructPropertyValue = {\n root: string;\n instanceName: string;\n offset: number;\n forward: number;\n};\n\nexport type InventoryItemStructPropertyValue = {\n itemReference: ObjectReference;\n itemState?: FGDynamicStruct;\n legacyItemStateActor?: ObjectReference;\n};\n\nexport type FICFrameRangeStructPropertyValue = {\n begin: string;\n end: string;\n};\n\nexport type GENERIC_STRUCT_PROPERTY_VALUE = BasicMultipleStructPropertyValue | BasicStructPropertyValue | BoxStructPropertyValue | RailroadTrackPositionStructPropertyValue |\n InventoryItemStructPropertyValue | FICFrameRangeStructPropertyValue | FClientIdentityInfo | DynamicStructPropertyValue | col4 | vec2 | vec3 | vec4 | string |\n FINNetworkTrace | FINGPUT1BufferPixel | FLBBalancerIndexing | FINLuaRuntimePersistenceState | FUniqueNetIdRepl | FPlayerInfoHandle;\n\nexport const isStructProperty = (property: any): property is StructProperty => !Array.isArray(property) && property.propertyTagType.name === 'StructProperty';\n\nexport type StructProperty = AbstractBaseProperty & {\n type: 'StructProperty';\n value: GENERIC_STRUCT_PROPERTY_VALUE;\n};\n\nexport namespace StructProperty {\n\n export function Parse(reader: ContextReader, property: StructProperty, tag: FPropertyTag): void {\n\n const before = reader.getBufferPosition();\n property.value = ParseValue(reader, property.propertyTagType.children[0], tag.binarySize);\n const readBytes = reader.getBufferPosition() - before;\n if (readBytes !== tag.binarySize) {\n if (tag.binarySize - readBytes === 4) {\n // U8, fine - honestly i am not sure whether this is even still relevant. with some bug fixes this most likely has been fixed.\n reader.skipBytes(tag.binarySize - readBytes);\n } else {\n throw new Error(`possibly corrupt. Read ${readBytes} for structproperty of ${JSON.stringify(property.propertyTagType.children[0].name)}, but ${tag.binarySize} were indicated.`);\n }\n }\n }\n\n export function ParseValue(reader: ContextReader, propertyTagType: FPropertyTagNode, size: number): GENERIC_STRUCT_PROPERTY_VALUE {\n\n let value: GENERIC_STRUCT_PROPERTY_VALUE;\n\n switch (propertyTagType.name) {\n case 'Color':\n value = FColor.read(reader);\n break;\n\n case 'IntPoint':\n value = reader.readInt64().toString();\n break;\n\n case 'LinearColor':\n value = FLinearColor.read(reader);\n break;\n\n case 'Vector2D':\n value = (reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec2.Parse(reader) : vec2.ParseF(reader);\n break;\n\n case 'Vector':\n case 'Rotator':\n value = (reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec3.Parse(reader) : vec3.ParseF(reader);\n break;\n\n case 'Quat':\n case 'Vector4':\n case 'Vector4D':\n value = (reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? vec4.Parse(reader) : vec4.ParseF(reader);\n break;\n\n case 'Box':\n value = ((reader.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) ? {\n min: vec3.Parse(reader),\n max: vec3.Parse(reader),\n isValid: reader.readByte() >= 1\n } : {\n min: vec3.ParseF(reader),\n max: vec3.ParseF(reader),\n isValid: reader.readByte() >= 1\n }) satisfies BoxStructPropertyValue;\n break;\n\n case 'RailroadTrackPosition':\n value = {\n root: reader.readString(),\n instanceName: reader.readString(),\n offset: reader.readFloat32(),\n forward: reader.readFloat32()\n };\n break;\n\n case 'TimerHandle':\n value = reader.readString();\n break;\n\n case 'Guid':\n value = GUID.read(reader);\n break;\n\n case 'ClientIdentityInfo':\n value = FClientIdentityInfo.read(reader);\n break;\n\n case 'InventoryItem':\n const before = reader.getBufferPosition();\n\n value = {\n itemReference: ObjectReference.read(reader)\n } satisfies InventoryItemStructPropertyValue;\n\n // inventory items have potentially an item state. but not before explicit version\n if (reader.context.saveVersion.object >= SaveCustomVersion.RefactoredInventoryItemState) {\n value.itemState = FGDynamicStruct.Parse(reader);\n } else {\n value.legacyItemStateActor = ObjectReference.read(reader);\n }\n\n break;\n\n case 'FluidBox':\n value = {\n value: reader.readFloat32()\n };\n break;\n\n case 'SlateBrush':\n value = reader.readString();\n break;\n\n case 'DateTime':\n value = reader.readInt64().toString();\n break;\n\n case 'UniqueNetIdRepl':\n value = FUniqueNetIdRepl.read(reader, size);\n break;\n\n case 'PlayerInfoHandle':\n value = FPlayerInfoHandle.read(reader);\n break;\n\n // FixsitCamera mod\n case 'FICFrameRange':\n value = FICFrameRange.read(reader);\n break;\n\n // MLB mod\n case 'LBBalancerIndexing':\n value = FLBBalancerIndexing.read(reader);\n break;\n\n // FicsIt-Networks mod\n case 'FINNetworkTrace':\n case 'FIRTrace':\n value = FINNetworkTrace.read(reader);\n break;\n\n case 'FINGPUT1BufferPixel':\n value = FINGPUT1BufferPixel.read(reader);\n break;\n\n case 'FINLuaProcessorStateStorage':\n case 'FINLuaRuntimePersistenceState':\n value = FINLuaRuntimePersistenceState.read(reader, size);\n break;\n\n default:\n value = DynamicStructPropertyValue.read(reader, propertyTagType.name);\n break;\n }\n\n return value;\n }\n\n export function Serialize(writer: ContextWriter, property: StructProperty): void {\n StructProperty.SerializeValue(writer, property.propertyTagType.children[0].name, property.value);\n }\n\n export function SerializeValue(writer: ContextWriter, subtype: string, value: GENERIC_STRUCT_PROPERTY_VALUE): void {\n\n switch (subtype) {\n case 'Color':\n FColor.write(writer, value as FColor);\n break;\n\n case 'IntPoint':\n writer.writeInt64(BigInt(value as string))\n break;\n\n case 'LinearColor':\n FLinearColor.write(writer, value as FLinearColor);\n break;\n\n case 'Vector2D':\n value = value as vec2;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec2.Serialize(writer, value);\n } else {\n vec2.SerializeF(writer, value);\n }\n break;\n\n case 'Vector':\n case 'Rotator':\n value = value as vec3;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec3.Serialize(writer, value as vec3);\n } else {\n vec3.SerializeF(writer, value as vec3);\n }\n break;\n\n case 'Quat':\n case 'Vector4':\n case 'Vector4D':\n value = value as vec4;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec4.Serialize(writer, value as vec4);\n } else {\n vec4.SerializeF(writer, value as vec4);\n }\n break;\n\n case 'Box':\n value = value as BoxStructPropertyValue;\n if (writer.context.saveVersion.object >= SaveCustomVersion.SwitchTo64BitSaveArchive) {\n vec3.Serialize(writer, value.min);\n vec3.Serialize(writer, value.max);\n } else {\n vec3.SerializeF(writer, value.min);\n vec3.SerializeF(writer, value.max);\n }\n writer.writeByte(value.isValid ? 1 : 0);\n break;\n\n case 'RailroadTrackPosition':\n value = value as RailroadTrackPositionStructPropertyValue;\n writer.writeString(value.root);\n writer.writeString(value.instanceName);\n writer.writeFloat32(value.offset);\n writer.writeFloat32(value.forward);\n break;\n\n case 'TimerHandle':\n value = value as string;\n writer.writeString(value);\n break;\n\n case 'Guid':\n GUID.write(writer, value as GUID);\n break;\n\n case 'ClientIdentityInfo':\n FClientIdentityInfo.write(writer, value as FClientIdentityInfo);\n break;\n\n case 'InventoryItem':\n value = value as InventoryItemStructPropertyValue;\n ObjectReference.write(writer, value.itemReference);\n\n if (writer.context.saveVersion.object >= SaveCustomVersion.RefactoredInventoryItemState) {\n FGDynamicStruct.Serialize(writer, value.itemState!);\n } else {\n ObjectReference.write(writer, value.legacyItemStateActor!);\n }\n break;\n\n case 'FluidBox':\n value = value as BasicStructPropertyValue;\n writer.writeFloat32(value.value);\n break;\n\n case 'SlateBrush':\n writer.writeString(value as string);\n break;\n\n case 'DateTime':\n value = value as string;\n writer.writeInt64(BigInt(value));\n break;\n\n case 'UniqueNetIdRepl':\n FUniqueNetIdRepl.write(writer, value as FUniqueNetIdRepl);\n break;\n\n case 'PlayerInfoHandle':\n FPlayerInfoHandle.write(writer, value as FPlayerInfoHandle);\n break;\n\n // MODS\n case 'FICFrameRange':\n FICFrameRange.write(writer, value as FICFrameRange);\n break;\n\n // MLB mod\n case 'LBBalancerIndexing':\n FLBBalancerIndexing.write(writer, value as FLBBalancerIndexing);\n break;\n\n // FicsItNetworks mod\n case 'FINNetworkTrace':\n case 'FIRTrace':\n FINNetworkTrace.write(writer, value as FINNetworkTrace);\n break;\n\n case 'FINGPUT1BufferPixel':\n FINGPUT1BufferPixel.write(writer, value as FINGPUT1BufferPixel);\n break;\n\n case 'FINLuaProcessorStateStorage':\n case 'FINLuaRuntimePersistenceState':\n FINLuaRuntimePersistenceState.write(writer, value as FINLuaRuntimePersistenceState);\n break;\n\n default:\n DynamicStructPropertyValue.write(writer, value as DynamicStructPropertyValue);\n break;\n }\n }\n}\n\n\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@etothepii/satisfactory-file-parser",
3
3
  "author": "etothepii",
4
- "version": "4.0.1",
4
+ "version": "4.0.2",
5
5
  "description": "A file parser for satisfactory files. Includes save files and blueprint files.",
6
6
  "types": "./build/index.d.ts",
7
7
  "main": "./build/index.js",