@etothepii/satisfactory-file-parser 3.0.1 → 3.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.
Files changed (482) hide show
  1. package/CHANGELOG.md +7 -4
  2. package/README.md +4 -4
  3. package/build/index.d.ts +1 -0
  4. package/build/index.d.ts.map +1 -1
  5. package/build/index.js +1 -0
  6. package/build/index.js.map +1 -1
  7. package/build/parser/parser.d.ts.map +1 -1
  8. package/build/parser/parser.js +5 -3
  9. package/build/parser/parser.js.map +1 -1
  10. package/build/parser/satisfactory/edit/edit-constants.d.ts +62 -0
  11. package/build/parser/satisfactory/edit/edit-constants.d.ts.map +1 -1
  12. package/build/parser/satisfactory/edit/edit-constants.js +62 -0
  13. package/build/parser/satisfactory/edit/edit-constants.js.map +1 -1
  14. package/build/parser/satisfactory/save/level-to-destroyed-actors-map.d.ts +9 -0
  15. package/build/parser/satisfactory/save/level-to-destroyed-actors-map.d.ts.map +1 -0
  16. package/build/parser/satisfactory/save/level-to-destroyed-actors-map.js +32 -0
  17. package/build/parser/satisfactory/save/level-to-destroyed-actors-map.js.map +1 -0
  18. package/build/parser/satisfactory/save/level.class.d.ts +2 -3
  19. package/build/parser/satisfactory/save/level.class.d.ts.map +1 -1
  20. package/build/parser/satisfactory/save/level.class.js +17 -27
  21. package/build/parser/satisfactory/save/level.class.js.map +1 -1
  22. package/build/parser/satisfactory/types/property/generic/StructProperty.d.ts.map +1 -1
  23. package/build/parser/satisfactory/types/property/generic/StructProperty.js +3 -3
  24. package/build/parser/satisfactory/types/property/generic/StructProperty.js.map +1 -1
  25. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
  26. package/build/parser/stream/reworked/readable-stream-parser.js +9 -12
  27. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
  28. package/docs/classes/BlueprintConfigReader.html +4 -4
  29. package/docs/classes/BlueprintConfigWriter.html +4 -4
  30. package/docs/classes/BlueprintReader.html +4 -4
  31. package/docs/classes/BlueprintWriter.html +4 -4
  32. package/docs/classes/CompressionLibraryError.html +2 -2
  33. package/docs/classes/CorruptBlueprintError.html +2 -2
  34. package/docs/classes/CorruptSaveError.html +2 -2
  35. package/docs/classes/Parser.html +6 -6
  36. package/docs/classes/ParserError.html +2 -2
  37. package/docs/classes/ReadableStreamParser.html +2 -2
  38. package/docs/classes/SatisfactorySave.html +2 -2
  39. package/docs/classes/SaveComponent.html +2 -2
  40. package/docs/classes/SaveEntity.html +2 -2
  41. package/docs/classes/SaveObject.html +2 -2
  42. package/docs/classes/SaveReader.html +4 -4
  43. package/docs/classes/SaveStreamJsonStringifier.html +2 -2
  44. package/docs/classes/SaveStreamWriter.html +2 -2
  45. package/docs/classes/SaveWriter.html +4 -4
  46. package/docs/classes/TimeoutError.html +2 -2
  47. package/docs/classes/UnimplementedError.html +2 -2
  48. package/docs/classes/UnsupportedVersionError.html +2 -2
  49. package/docs/enums/BlueprintConfigVersion.html +2 -2
  50. package/docs/enums/CompressionAlgorithmCode.html +2 -2
  51. package/docs/enums/FactoryGameCustomVersion.html +2 -2
  52. package/docs/enums/RuntimeBuildableInstanceDataVersion.html +2 -2
  53. package/docs/enums/SaveCustomVersion.html +10 -10
  54. package/docs/enums/SaveHeaderType.html +2 -2
  55. package/docs/functions/AbstractBaseProperty.Create.html +1 -1
  56. package/docs/functions/ArrayProperty.CalcOverhead.html +1 -1
  57. package/docs/functions/ArrayProperty.Parse.html +1 -1
  58. package/docs/functions/ArrayProperty.Serialize.html +1 -1
  59. package/docs/functions/BlueprintConfig.Parse.html +1 -1
  60. package/docs/functions/BlueprintConfig.Serialize.html +1 -1
  61. package/docs/functions/BlueprintHeader.Parse.html +1 -1
  62. package/docs/functions/BlueprintHeader.Serialize.html +1 -1
  63. package/docs/functions/BoolArrayProperty.Parse.html +1 -1
  64. package/docs/functions/BoolArrayProperty.Serialize.html +1 -1
  65. package/docs/functions/BoolProperty.CalcOverhead.html +1 -1
  66. package/docs/functions/BoolProperty.Parse.html +1 -1
  67. package/docs/functions/BoolProperty.ReadValue.html +1 -1
  68. package/docs/functions/BoolProperty.Serialize.html +1 -1
  69. package/docs/functions/BoolProperty.SerializeValue.html +1 -1
  70. package/docs/functions/BuildableSubsystemSpecialProperties.Parse.html +1 -1
  71. package/docs/functions/BuildableSubsystemSpecialProperties.Serialize.html +1 -1
  72. package/docs/functions/BuildableTypeInstance.Parse.html +1 -1
  73. package/docs/functions/BuildableTypeInstance.Serialize.html +1 -1
  74. package/docs/functions/ByteArrayProperty.Parse.html +1 -1
  75. package/docs/functions/ByteArrayProperty.Serialize.html +1 -1
  76. package/docs/functions/ByteProperty.CalcOverhead.html +1 -1
  77. package/docs/functions/ByteProperty.Parse.html +1 -1
  78. package/docs/functions/ByteProperty.ReadValue.html +1 -1
  79. package/docs/functions/ByteProperty.Serialize.html +1 -1
  80. package/docs/functions/ByteProperty.SerializeValue.html +1 -1
  81. package/docs/functions/CircuitSpecialProperties.Parse.html +1 -1
  82. package/docs/functions/CircuitSpecialProperties.Serialize.html +1 -1
  83. package/docs/functions/ConveyorChainActorSpecialProperties.Parse.html +1 -1
  84. package/docs/functions/ConveyorChainActorSpecialProperties.Serialize.html +1 -1
  85. package/docs/functions/ConveyorSpecialProperties.Parse.html +1 -1
  86. package/docs/functions/ConveyorSpecialProperties.Serialize.html +1 -1
  87. package/docs/functions/DoubleArrayProperty.Parse.html +1 -1
  88. package/docs/functions/DoubleArrayProperty.Serialize.html +1 -1
  89. package/docs/functions/DoubleProperty.CalcOverhead.html +1 -1
  90. package/docs/functions/DoubleProperty.Parse.html +1 -1
  91. package/docs/functions/DoubleProperty.ReadValue.html +1 -1
  92. package/docs/functions/DoubleProperty.Serialize.html +1 -1
  93. package/docs/functions/DoubleProperty.SerializeValue.html +1 -1
  94. package/docs/functions/DynamicStructPropertyValue.read.html +1 -1
  95. package/docs/functions/DynamicStructPropertyValue.write.html +1 -1
  96. package/docs/functions/EmptySpecialProperties.Parse.html +1 -1
  97. package/docs/functions/EmptySpecialProperties.Serialize.html +1 -1
  98. package/docs/functions/EnumArrayProperty.Parse.html +1 -1
  99. package/docs/functions/EnumArrayProperty.Serialize.html +1 -1
  100. package/docs/functions/EnumProperty.CalcOverhead.html +1 -1
  101. package/docs/functions/EnumProperty.Parse.html +1 -1
  102. package/docs/functions/EnumProperty.ReadValue.html +1 -1
  103. package/docs/functions/EnumProperty.Serialize.html +1 -1
  104. package/docs/functions/EnumProperty.SerializeValue.html +1 -1
  105. package/docs/functions/FGDynamicStruct.Parse.html +1 -1
  106. package/docs/functions/FGDynamicStruct.Serialize.html +1 -1
  107. package/docs/functions/FICFrameRange.Parse.html +1 -1
  108. package/docs/functions/FICFrameRange.Serialize.html +1 -1
  109. package/docs/functions/FloatArrayProperty.Parse.html +1 -1
  110. package/docs/functions/FloatArrayProperty.Serialize.html +1 -1
  111. package/docs/functions/FloatProperty.CalcOverhead.html +1 -1
  112. package/docs/functions/FloatProperty.Parse.html +1 -1
  113. package/docs/functions/FloatProperty.ReadValue.html +1 -1
  114. package/docs/functions/FloatProperty.Serialize.html +1 -1
  115. package/docs/functions/FloatProperty.SerializeValue.html +1 -1
  116. package/docs/functions/GUID.read.html +1 -1
  117. package/docs/functions/GUID.write.html +1 -1
  118. package/docs/functions/GUIDInfo.read.html +1 -1
  119. package/docs/functions/GUIDInfo.write.html +1 -1
  120. package/docs/functions/Int32ArrayProperty.Parse.html +1 -1
  121. package/docs/functions/Int32ArrayProperty.Serialize.html +1 -1
  122. package/docs/functions/Int32Property.CalcOverhead.html +1 -1
  123. package/docs/functions/Int32Property.Parse.html +1 -1
  124. package/docs/functions/Int32Property.ReadValue.html +1 -1
  125. package/docs/functions/Int32Property.Serialize.html +1 -1
  126. package/docs/functions/Int32Property.SerializeValue.html +1 -1
  127. package/docs/functions/Int32SetProperty.Parse.html +1 -1
  128. package/docs/functions/Int32SetProperty.Serialize.html +1 -1
  129. package/docs/functions/Int64ArrayProperty.Parse.html +1 -1
  130. package/docs/functions/Int64ArrayProperty.Serialize.html +1 -1
  131. package/docs/functions/Int64Property.CalcOverhead.html +1 -1
  132. package/docs/functions/Int64Property.Parse.html +1 -1
  133. package/docs/functions/Int64Property.ReadValue.html +1 -1
  134. package/docs/functions/Int64Property.Serialize.html +1 -1
  135. package/docs/functions/Int64Property.SerializeValue.html +1 -1
  136. package/docs/functions/Int8Property.CalcOverhead.html +1 -1
  137. package/docs/functions/Int8Property.Parse.html +1 -1
  138. package/docs/functions/Int8Property.ReadValue.html +1 -1
  139. package/docs/functions/Int8Property.Serialize.html +1 -1
  140. package/docs/functions/Int8Property.SerializeValue.html +1 -1
  141. package/docs/functions/Level.ReadAllObjectContents.html +1 -1
  142. package/docs/functions/Level.ReadAllObjectHeaders.html +1 -1
  143. package/docs/functions/Level.ReadLevel.html +1 -1
  144. package/docs/functions/Level.ReadNObjectContents.html +1 -1
  145. package/docs/functions/Level.ReadNObjectHeaders.html +1 -1
  146. package/docs/functions/Level.SerializeAllObjectContents.html +1 -1
  147. package/docs/functions/Level.SerializeAllObjectHeaders.html +1 -1
  148. package/docs/functions/Level.SerializeLevel.html +1 -1
  149. package/docs/functions/MD5Hash.read.html +1 -1
  150. package/docs/functions/MD5Hash.write.html +1 -1
  151. package/docs/functions/MapProperty.CalcOverhead.html +1 -1
  152. package/docs/functions/MapProperty.Parse.html +1 -1
  153. package/docs/functions/MapProperty.Serialize.html +1 -1
  154. package/docs/functions/ObjectArrayProperty.Parse.html +1 -1
  155. package/docs/functions/ObjectArrayProperty.Serialize.html +1 -1
  156. package/docs/functions/ObjectProperty.CalcOverhead.html +1 -1
  157. package/docs/functions/ObjectProperty.Parse.html +1 -1
  158. package/docs/functions/ObjectProperty.ReadValue.html +1 -1
  159. package/docs/functions/ObjectProperty.Serialize.html +1 -1
  160. package/docs/functions/ObjectProperty.SerializeValue.html +1 -1
  161. package/docs/functions/ObjectReference.IsEqual.html +1 -1
  162. package/docs/functions/ObjectReference.read.html +1 -1
  163. package/docs/functions/ObjectReference.write.html +1 -1
  164. package/docs/functions/ObjectSetProperty.Parse.html +1 -1
  165. package/docs/functions/ObjectSetProperty.Serialize.html +1 -1
  166. package/docs/functions/ObjectsListSpecialProperties.Parse.html +1 -1
  167. package/docs/functions/ObjectsListSpecialProperties.Serialize.html +1 -1
  168. package/docs/functions/PlayerSpecialProperties.Parse.html +1 -1
  169. package/docs/functions/PlayerSpecialProperties.Serialize.html +1 -1
  170. package/docs/functions/PowerLineSpecialProperties.Parse.html +1 -1
  171. package/docs/functions/PowerLineSpecialProperties.Serialize.html +1 -1
  172. package/docs/functions/PropertiesList.ParseList.html +1 -1
  173. package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -1
  174. package/docs/functions/PropertiesList.SerializeList.html +1 -1
  175. package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -1
  176. package/docs/functions/SatisfactorySaveHeader.Parse.html +1 -1
  177. package/docs/functions/SatisfactorySaveHeader.Serialize.html +1 -1
  178. package/docs/functions/SaveBodyChunks.CompressDataIntoChunks.html +1 -1
  179. package/docs/functions/SaveBodyChunks.DecompressChunks.html +1 -1
  180. package/docs/functions/SetProperty.CalcOverhead.html +1 -1
  181. package/docs/functions/SetProperty.Parse.html +1 -1
  182. package/docs/functions/SetProperty.Serialize.html +1 -1
  183. package/docs/functions/SoftObjectArrayProperty.Parse.html +1 -1
  184. package/docs/functions/SoftObjectArrayProperty.Serialize.html +1 -1
  185. package/docs/functions/SoftObjectReference.read.html +1 -1
  186. package/docs/functions/SoftObjectReference.write.html +1 -1
  187. package/docs/functions/SpecialDroneActionProperties.Parse.html +1 -1
  188. package/docs/functions/SpecialDroneActionProperties.Serialize.html +1 -1
  189. package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -1
  190. package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -1
  191. package/docs/functions/StrArrayProperty.Parse.html +1 -1
  192. package/docs/functions/StrArrayProperty.Serialize.html +1 -1
  193. package/docs/functions/StrProperty.CalcOverhead.html +1 -1
  194. package/docs/functions/StrProperty.Parse.html +1 -1
  195. package/docs/functions/StrProperty.ReadValue.html +1 -1
  196. package/docs/functions/StrProperty.Serialize.html +1 -1
  197. package/docs/functions/StrProperty.SerializeValue.html +1 -1
  198. package/docs/functions/StrSetProperty.Parse.html +1 -1
  199. package/docs/functions/StrSetProperty.Serialize.html +1 -1
  200. package/docs/functions/StructArrayProperty.Parse.html +1 -1
  201. package/docs/functions/StructArrayProperty.Serialize.html +1 -1
  202. package/docs/functions/StructProperty.CalcOverhead.html +1 -1
  203. package/docs/functions/StructProperty.Parse.html +1 -1
  204. package/docs/functions/StructProperty.ParseValue.html +1 -1
  205. package/docs/functions/StructProperty.Serialize.html +1 -1
  206. package/docs/functions/StructProperty.SerializeValue.html +1 -1
  207. package/docs/functions/StructSetProperty.Parse.html +1 -1
  208. package/docs/functions/StructSetProperty.Serialize.html +1 -1
  209. package/docs/functions/TextArrayProperty.Parse.html +1 -1
  210. package/docs/functions/TextArrayProperty.Serialize.html +1 -1
  211. package/docs/functions/TextProperty.CalcOverhead.html +1 -1
  212. package/docs/functions/TextProperty.Parse.html +1 -1
  213. package/docs/functions/TextProperty.ReadValue.html +1 -1
  214. package/docs/functions/TextProperty.Serialize.html +1 -1
  215. package/docs/functions/TextProperty.SerializeValue.html +1 -1
  216. package/docs/functions/Transform.Parse.html +1 -1
  217. package/docs/functions/Transform.ParseF.html +1 -1
  218. package/docs/functions/Transform.Serialize.html +1 -1
  219. package/docs/functions/Transform.SerializeF.html +1 -1
  220. package/docs/functions/Uint32Property.CalcOverhead.html +1 -1
  221. package/docs/functions/Uint32Property.Parse.html +1 -1
  222. package/docs/functions/Uint32Property.ReadValue.html +1 -1
  223. package/docs/functions/Uint32Property.Serialize.html +1 -1
  224. package/docs/functions/Uint32Property.SerializeValue.html +1 -1
  225. package/docs/functions/Uint32SetProperty.Parse.html +1 -1
  226. package/docs/functions/Uint32SetProperty.Serialize.html +1 -1
  227. package/docs/functions/Uint64Property.CalcOverhead.html +1 -1
  228. package/docs/functions/Uint64Property.Parse.html +1 -1
  229. package/docs/functions/Uint64Property.ReadValue.html +1 -1
  230. package/docs/functions/Uint64Property.Serialize.html +1 -1
  231. package/docs/functions/Uint64Property.SerializeValue.html +1 -1
  232. package/docs/functions/Uint8Property.CalcOverhead.html +1 -1
  233. package/docs/functions/Uint8Property.Parse.html +1 -1
  234. package/docs/functions/Uint8Property.ReadValue.html +1 -1
  235. package/docs/functions/Uint8Property.Serialize.html +1 -1
  236. package/docs/functions/Uint8Property.SerializeValue.html +1 -1
  237. package/docs/functions/VehiclePhysicsData.Parse.html +1 -1
  238. package/docs/functions/VehiclePhysicsData.Serialize.html +1 -1
  239. package/docs/functions/VehicleSpecialProperties.Parse.html +1 -1
  240. package/docs/functions/VehicleSpecialProperties.Serialize.html +1 -1
  241. package/docs/functions/col4.ParseBGRA.html +1 -1
  242. package/docs/functions/col4.ParseRGBA.html +1 -1
  243. package/docs/functions/col4.SerializeBGRA.html +1 -1
  244. package/docs/functions/col4.SerializeRGBA.html +1 -1
  245. package/docs/functions/isArrayProperty.html +1 -1
  246. package/docs/functions/isBoolArrayProperty.html +1 -1
  247. package/docs/functions/isBoolProperty.html +1 -1
  248. package/docs/functions/isBuildableSubsystemSpecialProperties.html +1 -1
  249. package/docs/functions/isByteArrayProperty.html +1 -1
  250. package/docs/functions/isByteProperty.html +1 -1
  251. package/docs/functions/isCircuitSpecialProperties.html +1 -1
  252. package/docs/functions/isConveyorChainActorSpecialProperties.html +1 -1
  253. package/docs/functions/isConveyorSpecialProperties.html +1 -1
  254. package/docs/functions/isDoubleArrayProperty.html +1 -1
  255. package/docs/functions/isDoubleProperty.html +1 -1
  256. package/docs/functions/isEmptySpecialProperties.html +1 -1
  257. package/docs/functions/isEnumArrayProperty.html +1 -1
  258. package/docs/functions/isEnumProperty.html +1 -1
  259. package/docs/functions/isFloatArrayProperty.html +1 -1
  260. package/docs/functions/isFloatProperty.html +1 -1
  261. package/docs/functions/isInt32ArrayProperty.html +1 -1
  262. package/docs/functions/isInt32Property.html +1 -1
  263. package/docs/functions/isInt32SetProperty.html +1 -1
  264. package/docs/functions/isInt64ArrayProperty.html +1 -1
  265. package/docs/functions/isInt64Property.html +1 -1
  266. package/docs/functions/isInt8Property.html +1 -1
  267. package/docs/functions/isMapProperty.html +1 -1
  268. package/docs/functions/isObjectArrayProperty.html +1 -1
  269. package/docs/functions/isObjectProperty.html +1 -1
  270. package/docs/functions/isObjectSetProperty.html +1 -1
  271. package/docs/functions/isObjectsListSpecialProperties.html +1 -1
  272. package/docs/functions/isPlayerSpecialProperties.html +1 -1
  273. package/docs/functions/isPowerLineSpecialProperties.html +1 -1
  274. package/docs/functions/isSaveComponent.html +1 -1
  275. package/docs/functions/isSaveEntity.html +1 -1
  276. package/docs/functions/isSetProperty.html +1 -1
  277. package/docs/functions/isSoftObjectArrayProperty.html +1 -1
  278. package/docs/functions/isSpecialDroneActionProperties.html +1 -1
  279. package/docs/functions/isStrArrayProperty.html +1 -1
  280. package/docs/functions/isStrProperty.html +1 -1
  281. package/docs/functions/isStrSetProperty.html +1 -1
  282. package/docs/functions/isStructArrayProperty.html +1 -1
  283. package/docs/functions/isStructProperty.html +1 -1
  284. package/docs/functions/isStructSetProperty.html +1 -1
  285. package/docs/functions/isTextArrayProperty.html +1 -1
  286. package/docs/functions/isTextProperty.html +1 -1
  287. package/docs/functions/isUInt64Property.html +1 -1
  288. package/docs/functions/isUint32Property.html +1 -1
  289. package/docs/functions/isUint32SetProperty.html +1 -1
  290. package/docs/functions/isUint8Property.html +1 -1
  291. package/docs/functions/isVehicleSpecialProperties.html +1 -1
  292. package/docs/functions/vec2.Parse.html +1 -1
  293. package/docs/functions/vec2.ParseF.html +1 -1
  294. package/docs/functions/vec2.Serialize.html +1 -1
  295. package/docs/functions/vec2.SerializeF.html +1 -1
  296. package/docs/functions/vec3.Parse.html +1 -1
  297. package/docs/functions/vec3.ParseF.html +1 -1
  298. package/docs/functions/vec3.ParseInt.html +1 -1
  299. package/docs/functions/vec3.Serialize.html +1 -1
  300. package/docs/functions/vec3.SerializeF.html +1 -1
  301. package/docs/functions/vec3.SerializeInt.html +1 -1
  302. package/docs/functions/vec3.add.html +1 -1
  303. package/docs/functions/vec3.length.html +1 -1
  304. package/docs/functions/vec3.mult.html +1 -1
  305. package/docs/functions/vec3.norm.html +1 -1
  306. package/docs/functions/vec3.sub.html +1 -1
  307. package/docs/functions/vec4.Parse.html +1 -1
  308. package/docs/functions/vec4.ParseF.html +1 -1
  309. package/docs/functions/vec4.Serialize.html +1 -1
  310. package/docs/functions/vec4.SerializeF.html +1 -1
  311. package/docs/index.html +2 -2
  312. package/docs/interfaces/Blueprint.html +2 -2
  313. package/docs/interfaces/BlueprintConfig-1.html +2 -2
  314. package/docs/interfaces/SaveComponentHeader.html +2 -2
  315. package/docs/interfaces/SaveEntityHeader.html +2 -2
  316. package/docs/interfaces/SaveObjectHeader.html +2 -2
  317. package/docs/modules/AbstractBaseProperty.html +1 -1
  318. package/docs/modules/ArrayProperty.html +1 -1
  319. package/docs/modules/BlueprintConfig.html +1 -1
  320. package/docs/modules/BlueprintHeader.html +1 -1
  321. package/docs/modules/BoolArrayProperty.html +1 -1
  322. package/docs/modules/BoolProperty.html +1 -1
  323. package/docs/modules/BuildableSubsystemSpecialProperties.html +1 -1
  324. package/docs/modules/BuildableTypeInstance.html +1 -1
  325. package/docs/modules/ByteArrayProperty.html +1 -1
  326. package/docs/modules/ByteProperty.html +1 -1
  327. package/docs/modules/CircuitSpecialProperties.html +1 -1
  328. package/docs/modules/ConveyorChainActorSpecialProperties.html +1 -1
  329. package/docs/modules/ConveyorSpecialProperties.html +1 -1
  330. package/docs/modules/DoubleArrayProperty.html +1 -1
  331. package/docs/modules/DoubleProperty.html +1 -1
  332. package/docs/modules/DynamicStructPropertyValue.html +1 -1
  333. package/docs/modules/EmptySpecialProperties.html +1 -1
  334. package/docs/modules/EnumArrayProperty.html +1 -1
  335. package/docs/modules/EnumProperty.html +1 -1
  336. package/docs/modules/FGDynamicStruct.html +1 -1
  337. package/docs/modules/FICFrameRange.html +1 -1
  338. package/docs/modules/FloatArrayProperty.html +1 -1
  339. package/docs/modules/FloatProperty.html +1 -1
  340. package/docs/modules/GUID.html +1 -1
  341. package/docs/modules/GUIDInfo.html +1 -1
  342. package/docs/modules/Int32ArrayProperty.html +1 -1
  343. package/docs/modules/Int32Property.html +1 -1
  344. package/docs/modules/Int32SetProperty.html +1 -1
  345. package/docs/modules/Int64ArrayProperty.html +1 -1
  346. package/docs/modules/Int64Property.html +1 -1
  347. package/docs/modules/Int8Property.html +1 -1
  348. package/docs/modules/Level.html +1 -1
  349. package/docs/modules/MD5Hash.html +1 -1
  350. package/docs/modules/MapProperty.html +1 -1
  351. package/docs/modules/ObjectArrayProperty.html +1 -1
  352. package/docs/modules/ObjectProperty.html +1 -1
  353. package/docs/modules/ObjectReference.html +1 -1
  354. package/docs/modules/ObjectSetProperty.html +1 -1
  355. package/docs/modules/ObjectsListSpecialProperties.html +1 -1
  356. package/docs/modules/PlayerSpecialProperties.html +1 -1
  357. package/docs/modules/PowerLineSpecialProperties.html +1 -1
  358. package/docs/modules/PropertiesList.html +1 -1
  359. package/docs/modules/SatisfactorySaveHeader.html +1 -1
  360. package/docs/modules/SaveBodyChunks.html +1 -1
  361. package/docs/modules/SetProperty.html +1 -1
  362. package/docs/modules/SoftObjectArrayProperty.html +1 -1
  363. package/docs/modules/SoftObjectReference.html +1 -1
  364. package/docs/modules/SpecialDroneActionProperties.html +1 -1
  365. package/docs/modules/SpecialProperties.html +1 -1
  366. package/docs/modules/StrArrayProperty.html +1 -1
  367. package/docs/modules/StrProperty.html +1 -1
  368. package/docs/modules/StrSetProperty.html +1 -1
  369. package/docs/modules/StructArrayProperty.html +1 -1
  370. package/docs/modules/StructProperty.html +1 -1
  371. package/docs/modules/StructSetProperty.html +1 -1
  372. package/docs/modules/TextArrayProperty.html +1 -1
  373. package/docs/modules/TextProperty.html +1 -1
  374. package/docs/modules/Transform.html +1 -1
  375. package/docs/modules/Uint32Property.html +1 -1
  376. package/docs/modules/Uint32SetProperty.html +1 -1
  377. package/docs/modules/Uint64Property.html +1 -1
  378. package/docs/modules/Uint8Property.html +1 -1
  379. package/docs/modules/VehiclePhysicsData.html +1 -1
  380. package/docs/modules/VehicleSpecialProperties.html +1 -1
  381. package/docs/modules/col4.html +1 -1
  382. package/docs/modules/vec2.html +1 -1
  383. package/docs/modules/vec3.html +1 -1
  384. package/docs/modules/vec4.html +1 -1
  385. package/docs/types/AbstractBaseProperty-1.html +1 -1
  386. package/docs/types/ArrayProperty.AvailableArrayPropertyTypes.html +1 -1
  387. package/docs/types/ArrayPropertyStructValueFields.html +1 -1
  388. package/docs/types/BasicMultipleStructPropertyValue.html +1 -1
  389. package/docs/types/BasicStructPropertyValue.html +1 -1
  390. package/docs/types/BlueprintHeader-1.html +1 -1
  391. package/docs/types/BoolArrayProperty-1.html +1 -1
  392. package/docs/types/BoolProperty-1.html +1 -1
  393. package/docs/types/BoxStructPropertyValue.html +1 -1
  394. package/docs/types/BuildableSubsystemSpecialProperties-1.html +1 -1
  395. package/docs/types/BuildableTypeInstance-1.html +1 -1
  396. package/docs/types/ByteArray4.html +1 -1
  397. package/docs/types/ByteArrayProperty-1.html +1 -1
  398. package/docs/types/ByteProperty-1.html +1 -1
  399. package/docs/types/BytePropertyValue.html +1 -1
  400. package/docs/types/ChunkCompressionInfo.html +1 -1
  401. package/docs/types/ChunkSummary.html +1 -1
  402. package/docs/types/CircuitSpecialProperties-1.html +1 -1
  403. package/docs/types/ClientIdentityInfo.html +1 -1
  404. package/docs/types/ConveyorChainActorSpecialProperties-1.html +1 -1
  405. package/docs/types/ConveyorChainSegmentSpecialProperties.html +1 -1
  406. package/docs/types/ConveyorItemSpecialProperties.html +1 -1
  407. package/docs/types/ConveyorSpecialProperties-1.html +1 -1
  408. package/docs/types/DoubleArrayProperty-1.html +1 -1
  409. package/docs/types/DoubleProperty-1.html +1 -1
  410. package/docs/types/DynamicStructPropertyValue-1.html +1 -1
  411. package/docs/types/EmptySpecialProperties-1.html +1 -1
  412. package/docs/types/EnumArrayProperty-1.html +1 -1
  413. package/docs/types/EnumProperty-1.html +1 -1
  414. package/docs/types/FGDynamicStruct-1.html +1 -1
  415. package/docs/types/FICFrameRange-1.html +1 -1
  416. package/docs/types/FICFrameRangeStructPropertyValue.html +1 -1
  417. package/docs/types/FloatArrayProperty-1.html +1 -1
  418. package/docs/types/FloatProperty-1.html +1 -1
  419. package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -1
  420. package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -1
  421. package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -1
  422. package/docs/types/GUID-1.html +1 -1
  423. package/docs/types/GUIDInfo-1.html +1 -1
  424. package/docs/types/Grids.html +1 -1
  425. package/docs/types/Int32ArrayProperty-1.html +1 -1
  426. package/docs/types/Int32Property-1.html +1 -1
  427. package/docs/types/Int32SetProperty-1.html +1 -1
  428. package/docs/types/Int64ArrayProperty-1.html +1 -1
  429. package/docs/types/Int64Property-1.html +1 -1
  430. package/docs/types/Int8Property-1.html +1 -1
  431. package/docs/types/InventoryItemStructPropertyValue.html +1 -1
  432. package/docs/types/Level-1.html +1 -1
  433. package/docs/types/Levels.html +1 -1
  434. package/docs/types/MAP_STRUCT_KEY_PROXY.html +1 -1
  435. package/docs/types/MD5Hash-1.html +1 -1
  436. package/docs/types/MapProperty-1.html +1 -1
  437. package/docs/types/ModData.html +1 -1
  438. package/docs/types/ObjectArrayProperty-1.html +1 -1
  439. package/docs/types/ObjectProperty-1.html +1 -1
  440. package/docs/types/ObjectReference-1.html +1 -1
  441. package/docs/types/ObjectSetProperty-1.html +1 -1
  442. package/docs/types/ObjectsListSpecialProperties-1.html +1 -1
  443. package/docs/types/PlayerSpecialProperties-1.html +1 -1
  444. package/docs/types/PowerLineSpecialProperties-1.html +1 -1
  445. package/docs/types/PropertiesMap.html +1 -1
  446. package/docs/types/RailroadTrackPositionStructPropertyValue.html +1 -1
  447. package/docs/types/RoughSaveVersion.html +1 -1
  448. package/docs/types/SatisfactoryModMetadata.html +1 -1
  449. package/docs/types/SatisfactorySaveHeader-1.html +1 -1
  450. package/docs/types/SaveBodyChunks-1.html +1 -1
  451. package/docs/types/SaveBodyValidation.html +1 -1
  452. package/docs/types/SetProperty.AvailableSetPropertyTypes.html +1 -1
  453. package/docs/types/SoftObjectArrayProperty-1.html +1 -1
  454. package/docs/types/SoftObjectReference-1.html +1 -1
  455. package/docs/types/SpecialDroneAction.html +1 -1
  456. package/docs/types/SpecialDroneActionProperties-1.html +1 -1
  457. package/docs/types/SpecialProperties.AvailableSpecialPropertiesTypes.html +1 -1
  458. package/docs/types/StrArrayProperty-1.html +1 -1
  459. package/docs/types/StrProperty-1.html +1 -1
  460. package/docs/types/StrSetProperty-1.html +1 -1
  461. package/docs/types/StructArrayProperty-1.html +1 -1
  462. package/docs/types/StructProperty-1.html +1 -1
  463. package/docs/types/StructSetProperty-1.html +1 -1
  464. package/docs/types/TextArrayProperty-1.html +1 -1
  465. package/docs/types/TextProperty-1.html +1 -1
  466. package/docs/types/TextPropertyValue.html +1 -1
  467. package/docs/types/Transform-1.html +1 -1
  468. package/docs/types/Uint32Property-1.html +1 -1
  469. package/docs/types/Uint32SetProperty-1.html +1 -1
  470. package/docs/types/Uint64Property-1.html +1 -1
  471. package/docs/types/Uint8Property-1.html +1 -1
  472. package/docs/types/VehiclePhysicsData-1.html +1 -1
  473. package/docs/types/VehicleSpecialProperties-1.html +1 -1
  474. package/docs/types/col4-1.html +1 -1
  475. package/docs/types/vec2-1.html +1 -1
  476. package/docs/types/vec3-1.html +1 -1
  477. package/docs/types/vec4-1.html +1 -1
  478. package/docs/variables/DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE.html +1 -1
  479. package/docs/variables/EDIT.html +1 -1
  480. package/docs/variables/SaveBodyChunks.HEADER_V1.html +1 -1
  481. package/docs/variables/SaveBodyChunks.HEADER_V2.html +1 -1
  482. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
-
2
1
  # Changelog
2
+ ### [3.0.2] (2025-06-25)
3
+ #### Bugfix for Dismantled Crashsites and Map Markers
4
+ * Dismantled Crashsites weren't parsed correctly. They now correctly show up in the `destroyedActors` field of the persistent level.
5
+ * Map Markers weren't parsed correctly. They should be fixed now.
6
+
3
7
  ### [3.0.1] (2025-04-20)
4
8
  #### Breaking Changes in Save Structure for 1.1
5
9
  * The save header in 1.1 has now the save file name. Which gets used over the passed name when the file is from 1.1.
@@ -8,10 +12,10 @@
8
12
  * SaveObject's field `unknownType2` is now called `shouldMigrateObjectRefsToPersistent`.
9
13
  * SaveObject's field `objectVersion` is now called `saveCustomVersion`.
10
14
  * Levels also have a field `saveCustomVersion`.
11
- * `BuildableSubsystemSpecialProperties` have one more field (`currentLightweightVersion`) and their buildables can now be also a different type.
15
+ * `BuildableSubsystemSpecialProperties` have one more field (`currentLightweightVersion`).
12
16
  * The `parentObjectRoot` and `parentObjectName` got merged to `parentObject` as a Reference struct, instead of two strings.
13
17
  * The `objects` of `VehicleSpecialProperties` are now of type `VehiclePhysicsData` instead of just listing `unknownBytes`.
14
- * Levels within a Save are not an array, but an object with level name as key now.
18
+ * Levels within a Save are not an array, but an object with level name as key now. You can use `Object.values(levels)`to get your array.
15
19
  * Blueprint Configs have now a `configVersion`
16
20
  * InventoryItems' naming of fields changed. `itemStateRaw` is now better resolved into individual `properties`
17
21
  * InventoryItems have now a ObjectReference `itemReference` instead of the single string `itemName`, since that is more correct. InventoryItems' fields are also mostly optional due to compatibility.
@@ -21,7 +25,6 @@
21
25
  * `SatisfactorySaveHeader` and `BlueprintHeader` have their own namespace now.
22
26
 
23
27
 
24
- # Changelog
25
28
  ### [2.1.3] (2024-11-24)
26
29
  #### Update README
27
30
  * fixed link to auto-generated typedoc.
package/README.md CHANGED
@@ -39,7 +39,7 @@ If you parse a U8 save/blueprint, the parser will also serialize it back to a U8
39
39
  `yarn add @etothepii/satisfactory-file-parser`
40
40
 
41
41
  # Bug Reports or Feedback
42
- You can always raise an issue on the linked [github project](https://github.com/etothepii4/satisfactory-file-parser) or hit me up on the satisfactory discord `etothepii`.
42
+ You can always raise an issue on the linked [github project](https://github.com/etothepii4/satisfactory-file-parser) or hit me up in discord [`etothepii`](https://discordapp.com/users/268751901212803074).
43
43
 
44
44
  # Mod Support ✅
45
45
  By Default, most Mods just reuse Properties and Structs of the base game.
@@ -107,7 +107,7 @@ Parser.WriteSave(save, header => {
107
107
  });
108
108
 
109
109
  // write complete sav file back to disk
110
- fs.writeFileSync('./MyModifiedSave.sav', Buffer.concat([fileHeader!, ...bodyChunks]));
110
+ fs.writeFileSync('./MyModifiedSave.sav', new Uint8Array(Buffer.concat([fileHeader!, ...bodyChunks]));
111
111
  ```
112
112
 
113
113
 
@@ -146,10 +146,10 @@ const summary = Parser.WriteBlueprintFiles(blueprint,
146
146
  );
147
147
 
148
148
  // write complete .sbp file back to disk
149
- fs.writeFileSync('./MyBlueprint.sbp', Buffer.concat([mainFileHeader!, ...mainFileBodyChunks]));
149
+ fs.writeFileSync('./MyBlueprint.sbp', new Uint8Array(Buffer.concat([mainFileHeader!, ...mainFileBodyChunks])));
150
150
 
151
151
  // write .sbpcfg file back to disk, we get that data from the result of WriteBlueprintFiles
152
- fs.writeFileSync('./MyBlueprint.sbpcfg', Buffer.from(summary.configFileBinary));
152
+ fs.writeFileSync('./MyBlueprint.sbpcfg', new Uint8Array(summary.configFileBinary));
153
153
  ```
154
154
 
155
155
  ## Additional Options on the Parser Methods
package/build/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './parser/satisfactory/blueprint/blueprint-config-version';
3
3
  export * from './parser/satisfactory/blueprint/blueprint-header';
4
4
  export * from './parser/satisfactory/blueprint/blueprint.types';
5
5
  export * from './parser/satisfactory/save/factory-game-custom-version';
6
+ export * from './parser/satisfactory/save/level-to-destroyed-actors-map';
6
7
  export * from './parser/satisfactory/save/level.class';
7
8
  export * from './parser/satisfactory/save/satisfactory-save';
8
9
  export * from './parser/satisfactory/save/satisfactory-save-header';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -20,6 +20,7 @@ __exportStar(require("./parser/satisfactory/blueprint/blueprint-config-version")
20
20
  __exportStar(require("./parser/satisfactory/blueprint/blueprint-header"), exports);
21
21
  __exportStar(require("./parser/satisfactory/blueprint/blueprint.types"), exports);
22
22
  __exportStar(require("./parser/satisfactory/save/factory-game-custom-version"), exports);
23
+ __exportStar(require("./parser/satisfactory/save/level-to-destroyed-actors-map"), exports);
23
24
  __exportStar(require("./parser/satisfactory/save/level.class"), exports);
24
25
  __exportStar(require("./parser/satisfactory/save/satisfactory-save"), exports);
25
26
  __exportStar(require("./parser/satisfactory/save/satisfactory-save-header"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,mFAAiE;AACjE,2FAAyE;AACzE,mFAAiE;AACjE,kFAAgE;AAChE,yFAAuE;AACvE,yEAAuD;AACvD,+EAA6D;AAC7D,sFAAoE;AACpE,8EAA4D;AAC5D,iFAA+D;AAC/D,8EAA4D;AAC5D,wEAAsD;AACtD,oFAAkE;AAClE,iFAA+D;AAC/D,iFAA+D;AAC/D,oGAAkF;AAClF,2GAAyF;AACzF,+GAA6F;AAC7F,+GAA6F;AAC7F,iHAA+F;AAC/F,+GAA6F;AAC7F,gHAA8F;AAC9F,gHAA8F;AAC9F,gHAA8F;AAC9F,iHAA+F;AAC/F,qHAAmG;AACnG,8GAA4F;AAC5F,iHAA+F;AAC/F,+GAA6F;AAC7F,4FAA0E;AAC1E,4FAA0E;AAC1E,8FAA4E;AAC5E,4FAA0E;AAC1E,6FAA2E;AAC3E,6FAA2E;AAC3E,6FAA2E;AAC3E,4FAA0E;AAC1E,2FAAyE;AACzE,8FAA4E;AAC5E,4GAA0F;AAC1F,6GAA2F;AAC3F,uGAAqF;AACrF,0GAAwF;AACxF,6GAA2F;AAC3F,6GAA2F;AAC3F,2FAAyE;AACzE,8FAA4E;AAC5E,4FAA0E;AAC1E,8FAA4E;AAC5E,8FAA4E;AAC5E,6FAA2E;AAC3E,sFAAoE;AACpE,mHAAiG;AACjG,wGAAsF;AACtF,mHAAiG;AACjG,yGAAuF;AACvF,sGAAoF;AACpF,4GAA0F;AAC1F,uGAAqF;AACrF,0GAAwF;AACxF,uHAAqG;AACrG,4GAA0F;AAC1F,iGAA+E;AAC/E,wGAAsF;AACtF,2EAAyD;AACzD,iGAA+E;AAC/E,sFAAoE;AACpE,2EAAyD;AACzD,+EAA6D;AAC7D,8EAA4D;AAC5D,mGAAiF;AACjF,sFAAoE;AACpE,0FAAwE;AACxE,gFAA8D;AAC9D,2EAAyD;AACzD,2EAAyD;AACzD,2EAAyD;AACzD,yFAAuE;AAGvE,qFAA0G;AAAjG,yHAAA,qBAAqB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC/C,qFAA0G;AAAjG,yHAAA,qBAAqB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC/C,yEAAuD;AACvD,sEAAoE;AAA3D,yGAAA,UAAU,OAAA;AACnB,sGAAkG;AAAzF,yIAAA,yBAAyB,OAAA;AAClC,8FAAqF;AAA5E,4HAAA,gBAAgB,OAAA;AAGzB,8DAA4C;AAG5C,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,0FAAuF;AAA9E,8HAAA,oBAAoB,OAAA;AAG7B,4EAA0D","sourcesContent":["// types & classes for convenience\nexport * from './parser/satisfactory/blueprint/blueprint-config';\nexport * from './parser/satisfactory/blueprint/blueprint-config-version';\nexport * from './parser/satisfactory/blueprint/blueprint-header';\nexport * from './parser/satisfactory/blueprint/blueprint.types';\nexport * from './parser/satisfactory/save/factory-game-custom-version';\nexport * from './parser/satisfactory/save/level.class';\nexport * from './parser/satisfactory/save/satisfactory-save';\nexport * from './parser/satisfactory/save/satisfactory-save-header';\nexport * from './parser/satisfactory/save/save-body-chunks';\nexport * from './parser/satisfactory/save/save-custom-version';\nexport * from './parser/satisfactory/save/save-header-type';\nexport * from './parser/satisfactory/save/save.types';\nexport * from './parser/satisfactory/types/objects/SaveComponent';\nexport * from './parser/satisfactory/types/objects/SaveEntity';\nexport * from './parser/satisfactory/types/objects/SaveObject';\nexport * from './parser/satisfactory/types/property/generic/AbstractBaseProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/BoolProperty';\nexport * from './parser/satisfactory/types/property/generic/ByteProperty';\nexport * from './parser/satisfactory/types/property/generic/DoubleProperty';\nexport * from './parser/satisfactory/types/property/generic/EnumProperty';\nexport * from './parser/satisfactory/types/property/generic/FloatProperty';\nexport * from './parser/satisfactory/types/property/generic/Int32Property';\nexport * from './parser/satisfactory/types/property/generic/Int64Property';\nexport * from './parser/satisfactory/types/property/generic/Int8Property';\nexport * from './parser/satisfactory/types/property/generic/MapProperty';\nexport * from './parser/satisfactory/types/property/generic/ObjectProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/SetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/StrSetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/StructSetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty';\nexport * from './parser/satisfactory/types/property/generic/StrProperty';\nexport * from './parser/satisfactory/types/property/generic/StructProperty';\nexport * from './parser/satisfactory/types/property/generic/TextProperty';\nexport * from './parser/satisfactory/types/property/generic/Uint32Property';\nexport * from './parser/satisfactory/types/property/generic/Uint64Property';\nexport * from './parser/satisfactory/types/property/generic/Uint8Property';\nexport * from './parser/satisfactory/types/property/PropertiesList';\nexport * from './parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/CircuitSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/ConveyorSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/EmptySpecialProperties';\nexport * from './parser/satisfactory/types/property/special/ObjectsListSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/PlayerSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/PowerLineSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/runtime-buildable-instance-data-version';\nexport * from './parser/satisfactory/types/property/special/SpecialDroneActionProperties';\nexport * from './parser/satisfactory/types/property/special/SpecialProperties';\nexport * from './parser/satisfactory/types/property/special/VehicleSpecialProperties';\nexport * from './parser/satisfactory/types/structs/col4';\nexport * from './parser/satisfactory/types/structs/DynamicStructPropertyValue';\nexport * from './parser/satisfactory/types/structs/FGDynamicStruct';\nexport * from './parser/satisfactory/types/structs/GUID';\nexport * from './parser/satisfactory/types/structs/GUIDInfo';\nexport * from './parser/satisfactory/types/structs/MD5Hash';\nexport * from './parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange';\nexport * from './parser/satisfactory/types/structs/ObjectReference';\nexport * from './parser/satisfactory/types/structs/SoftObjectReference';\nexport * from './parser/satisfactory/types/structs/Transform';\nexport * from './parser/satisfactory/types/structs/vec2';\nexport * from './parser/satisfactory/types/structs/vec3';\nexport * from './parser/satisfactory/types/structs/vec4';\nexport * from './parser/satisfactory/types/structs/VehiclePhysicsData';\n\n// should better be removed in a future update to prevent shenanigans.\nexport { BlueprintConfigReader, BlueprintReader } from './parser/satisfactory/blueprint/blueprint-reader';\nexport { BlueprintConfigWriter, BlueprintWriter } from './parser/satisfactory/blueprint/blueprint-writer';\nexport * from './parser/satisfactory/save/save-reader';\nexport { SaveWriter } from './parser/satisfactory/save/save-writer';\nexport { SaveStreamJsonStringifier } from './parser/stream/reworked/save-stream-json-stringifier';\nexport { SaveStreamWriter } from './parser/stream/reworked/save-stream-writer.class';\n\n// errors\nexport * from './parser/error/parser.error';\n\n// facade\nexport { Parser } from './parser/parser';\nexport { ReadableStreamParser } from './parser/stream/reworked/readable-stream-parser';\n\n// edit\nexport * from './parser/satisfactory/edit/edit-constants';\n\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,mFAAiE;AACjE,2FAAyE;AACzE,mFAAiE;AACjE,kFAAgE;AAChE,yFAAuE;AACvE,2FAAyE;AACzE,yEAAuD;AACvD,+EAA6D;AAC7D,sFAAoE;AACpE,8EAA4D;AAC5D,iFAA+D;AAC/D,8EAA4D;AAC5D,wEAAsD;AACtD,oFAAkE;AAClE,iFAA+D;AAC/D,iFAA+D;AAC/D,oGAAkF;AAClF,2GAAyF;AACzF,+GAA6F;AAC7F,+GAA6F;AAC7F,iHAA+F;AAC/F,+GAA6F;AAC7F,gHAA8F;AAC9F,gHAA8F;AAC9F,gHAA8F;AAC9F,iHAA+F;AAC/F,qHAAmG;AACnG,8GAA4F;AAC5F,iHAA+F;AAC/F,+GAA6F;AAC7F,4FAA0E;AAC1E,4FAA0E;AAC1E,8FAA4E;AAC5E,4FAA0E;AAC1E,6FAA2E;AAC3E,6FAA2E;AAC3E,6FAA2E;AAC3E,4FAA0E;AAC1E,2FAAyE;AACzE,8FAA4E;AAC5E,4GAA0F;AAC1F,6GAA2F;AAC3F,uGAAqF;AACrF,0GAAwF;AACxF,6GAA2F;AAC3F,6GAA2F;AAC3F,2FAAyE;AACzE,8FAA4E;AAC5E,4FAA0E;AAC1E,8FAA4E;AAC5E,8FAA4E;AAC5E,6FAA2E;AAC3E,sFAAoE;AACpE,mHAAiG;AACjG,wGAAsF;AACtF,mHAAiG;AACjG,yGAAuF;AACvF,sGAAoF;AACpF,4GAA0F;AAC1F,uGAAqF;AACrF,0GAAwF;AACxF,uHAAqG;AACrG,4GAA0F;AAC1F,iGAA+E;AAC/E,wGAAsF;AACtF,2EAAyD;AACzD,iGAA+E;AAC/E,sFAAoE;AACpE,2EAAyD;AACzD,+EAA6D;AAC7D,8EAA4D;AAC5D,mGAAiF;AACjF,sFAAoE;AACpE,0FAAwE;AACxE,gFAA8D;AAC9D,2EAAyD;AACzD,2EAAyD;AACzD,2EAAyD;AACzD,yFAAuE;AAGvE,qFAA0G;AAAjG,yHAAA,qBAAqB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC/C,qFAA0G;AAAjG,yHAAA,qBAAqB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC/C,yEAAuD;AACvD,sEAAoE;AAA3D,yGAAA,UAAU,OAAA;AACnB,sGAAkG;AAAzF,yIAAA,yBAAyB,OAAA;AAClC,8FAAqF;AAA5E,4HAAA,gBAAgB,OAAA;AAGzB,8DAA4C;AAG5C,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,0FAAuF;AAA9E,8HAAA,oBAAoB,OAAA;AAG7B,4EAA0D","sourcesContent":["// types & classes for convenience\nexport * from './parser/satisfactory/blueprint/blueprint-config';\nexport * from './parser/satisfactory/blueprint/blueprint-config-version';\nexport * from './parser/satisfactory/blueprint/blueprint-header';\nexport * from './parser/satisfactory/blueprint/blueprint.types';\nexport * from './parser/satisfactory/save/factory-game-custom-version';\nexport * from './parser/satisfactory/save/level-to-destroyed-actors-map';\nexport * from './parser/satisfactory/save/level.class';\nexport * from './parser/satisfactory/save/satisfactory-save';\nexport * from './parser/satisfactory/save/satisfactory-save-header';\nexport * from './parser/satisfactory/save/save-body-chunks';\nexport * from './parser/satisfactory/save/save-custom-version';\nexport * from './parser/satisfactory/save/save-header-type';\nexport * from './parser/satisfactory/save/save.types';\nexport * from './parser/satisfactory/types/objects/SaveComponent';\nexport * from './parser/satisfactory/types/objects/SaveEntity';\nexport * from './parser/satisfactory/types/objects/SaveObject';\nexport * from './parser/satisfactory/types/property/generic/AbstractBaseProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/BoolArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/ByteArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/DoubleArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/EnumArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/FloatArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/Int32ArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/Int64ArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/ObjectArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/SoftObjectArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/StrArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/StructArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/ArrayProperty/TextArrayProperty';\nexport * from './parser/satisfactory/types/property/generic/BoolProperty';\nexport * from './parser/satisfactory/types/property/generic/ByteProperty';\nexport * from './parser/satisfactory/types/property/generic/DoubleProperty';\nexport * from './parser/satisfactory/types/property/generic/EnumProperty';\nexport * from './parser/satisfactory/types/property/generic/FloatProperty';\nexport * from './parser/satisfactory/types/property/generic/Int32Property';\nexport * from './parser/satisfactory/types/property/generic/Int64Property';\nexport * from './parser/satisfactory/types/property/generic/Int8Property';\nexport * from './parser/satisfactory/types/property/generic/MapProperty';\nexport * from './parser/satisfactory/types/property/generic/ObjectProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/Int32SetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/ObjectSetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/SetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/StrSetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/StructSetProperty';\nexport * from './parser/satisfactory/types/property/generic/SetProperty/Uint32SetProperty';\nexport * from './parser/satisfactory/types/property/generic/StrProperty';\nexport * from './parser/satisfactory/types/property/generic/StructProperty';\nexport * from './parser/satisfactory/types/property/generic/TextProperty';\nexport * from './parser/satisfactory/types/property/generic/Uint32Property';\nexport * from './parser/satisfactory/types/property/generic/Uint64Property';\nexport * from './parser/satisfactory/types/property/generic/Uint8Property';\nexport * from './parser/satisfactory/types/property/PropertiesList';\nexport * from './parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/CircuitSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/ConveyorSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/EmptySpecialProperties';\nexport * from './parser/satisfactory/types/property/special/ObjectsListSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/PlayerSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/PowerLineSpecialProperties';\nexport * from './parser/satisfactory/types/property/special/runtime-buildable-instance-data-version';\nexport * from './parser/satisfactory/types/property/special/SpecialDroneActionProperties';\nexport * from './parser/satisfactory/types/property/special/SpecialProperties';\nexport * from './parser/satisfactory/types/property/special/VehicleSpecialProperties';\nexport * from './parser/satisfactory/types/structs/col4';\nexport * from './parser/satisfactory/types/structs/DynamicStructPropertyValue';\nexport * from './parser/satisfactory/types/structs/FGDynamicStruct';\nexport * from './parser/satisfactory/types/structs/GUID';\nexport * from './parser/satisfactory/types/structs/GUIDInfo';\nexport * from './parser/satisfactory/types/structs/MD5Hash';\nexport * from './parser/satisfactory/types/structs/mods/FicsItCam/FICFrameRange';\nexport * from './parser/satisfactory/types/structs/ObjectReference';\nexport * from './parser/satisfactory/types/structs/SoftObjectReference';\nexport * from './parser/satisfactory/types/structs/Transform';\nexport * from './parser/satisfactory/types/structs/vec2';\nexport * from './parser/satisfactory/types/structs/vec3';\nexport * from './parser/satisfactory/types/structs/vec4';\nexport * from './parser/satisfactory/types/structs/VehiclePhysicsData';\n\n// should better be removed in a future update to prevent shenanigans.\nexport { BlueprintConfigReader, BlueprintReader } from './parser/satisfactory/blueprint/blueprint-reader';\nexport { BlueprintConfigWriter, BlueprintWriter } from './parser/satisfactory/blueprint/blueprint-writer';\nexport * from './parser/satisfactory/save/save-reader';\nexport { SaveWriter } from './parser/satisfactory/save/save-writer';\nexport { SaveStreamJsonStringifier } from './parser/stream/reworked/save-stream-json-stringifier';\nexport { SaveStreamWriter } from './parser/stream/reworked/save-stream-writer.class';\n\n// errors\nexport * from './parser/error/parser.error';\n\n// facade\nexport { Parser } from './parser/parser';\nexport { ReadableStreamParser } from './parser/stream/reworked/readable-stream-parser';\n\n// edit\nexport * from './parser/satisfactory/edit/edit-constants';\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAQpE,qBAAa,MAAM;WASJ,SAAS,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,sBAAsB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;QAC1D,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAC5D,CAAC,GACA,gBAAgB;WA0DL,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAC7C,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;KACzD,CAAC,GACA,YAAY,EAAE;WAoCH,mBAAmB,CAChC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,iCAAiC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;KACjE,CAAC,GACA;QACF,oBAAoB,EAAE,YAAY,EAAE,CAAC;QACrC,gBAAgB,EAAE,WAAW,CAAA;KAC7B;WA+Ca,mBAAmB,CAChC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,eAAe,EAC9B,mBAAmB,EAAE,eAAe,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,2BAA2B,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;KAC9D,CAAC,GACA,SAAS;IAoCZ,OAAc,qBAAqB,QAAS,GAAG,WAAU,MAAM,KAAO,MAAM,CAQjE;CAEX"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAQpE,qBAAa,MAAM;WASJ,SAAS,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,sBAAsB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;QAC1D,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAC5D,CAAC,GACA,gBAAgB;WA0DL,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAC7C,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;KACzD,CAAC,GACA,YAAY,EAAE;WAuCH,mBAAmB,CAChC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,iCAAiC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;KACjE,CAAC,GACA;QACF,oBAAoB,EAAE,YAAY,EAAE,CAAC;QACrC,gBAAgB,EAAE,WAAW,CAAA;KAC7B;WA+Ca,mBAAmB,CAChC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,eAAe,EAC9B,mBAAmB,EAAE,eAAe,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC;QACjB,2BAA2B,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;KAC9D,CAAC,GACA,SAAS;IAoCZ,OAAc,qBAAqB,QAAS,GAAG,WAAU,MAAM,KAAO,MAAM,CAQjE;CAEX"}
@@ -54,9 +54,11 @@ class Parser {
54
54
  save_writer_1.SaveWriter.WriteGrids(writer, save.grids);
55
55
  }
56
56
  save_writer_1.SaveWriter.WriteLevels(writer, save);
57
- writer.writeInt32(save.unresolvedWorldSaveData?.length ?? 0);
58
- for (const actor of save.unresolvedWorldSaveData ?? []) {
59
- ObjectReference_1.ObjectReference.write(writer, actor);
57
+ if (save.unresolvedWorldSaveData && save.unresolvedWorldSaveData.length > 0) {
58
+ writer.writeInt32(save.unresolvedWorldSaveData?.length ?? 0);
59
+ for (const actor of save.unresolvedWorldSaveData ?? []) {
60
+ ObjectReference_1.ObjectReference.write(writer, actor);
61
+ }
60
62
  }
61
63
  writer.endWriting();
62
64
  const chunkSummary = writer.generateChunks(save.compressionInfo, posAfterHeader, options?.onBinaryBeforeCompressing ?? (() => { }), onHeader, onChunk);
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { UnsupportedVersionError } from './error/parser.error';\nimport { BlueprintConfig } from './satisfactory/blueprint/blueprint-config';\nimport { BlueprintHeader } from './satisfactory/blueprint/blueprint-header';\nimport { BlueprintConfigReader, BlueprintReader } from \"./satisfactory/blueprint/blueprint-reader\";\nimport { BlueprintConfigWriter, BlueprintWriter } from \"./satisfactory/blueprint/blueprint-writer\";\nimport { Blueprint } from \"./satisfactory/blueprint/blueprint.types\";\nimport { SatisfactorySave } from \"./satisfactory/save/satisfactory-save\";\nimport { SatisfactorySaveHeader } from './satisfactory/save/satisfactory-save-header';\nimport { ChunkSummary } from './satisfactory/save/save-body-chunks';\nimport { SaveCustomVersion } from './satisfactory/save/save-custom-version';\nimport { SaveReader } from './satisfactory/save/save-reader';\nimport { SaveWriter } from \"./satisfactory/save/save-writer\";\nimport { ObjectReference } from './satisfactory/types/structs/ObjectReference';\n\n\n/** @public */\nexport class Parser {\n\n\t/**\n\t * Parses a given binary buffer as {@link SatisfactorySave}\n\t * @param name the save name. It won't be serialized, so it does not matter how you name it.\n\t * @param bytes the actual binary buffer\n\t * @param options provides callbacks. Either on the decompressed save body or on reported progress as a number [0,1] with an occasional message.\n\t * @returns \n\t */\n\tpublic static ParseSave(\n\t\tname: string,\n\t\tbytes: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedSaveBody: (buffer: ArrayBufferLike) => void,\n\t\t\tonProgressCallback: (progress: number, msg?: string) => void\n\t\t}>\n\t): SatisfactorySave {\n\n\t\tconst reader = new SaveReader(bytes, options?.onProgressCallback);\n\n\t\tconst header = SatisfactorySaveHeader.Parse(reader);\n\t\tconst save = new SatisfactorySave(name, header);\n\n\t\t// guard save version\n\t\tconst roughSaveVersion = SaveReader.GetRoughSaveVersion(header.saveVersion);\n\t\tif (roughSaveVersion === '<U6') {\n\t\t\tthrow new UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');\n\t\t}\n\n\t\t// inflate chunks\n\t\tconst inflateResult = reader.inflateChunks();\n\t\tsave.compressionInfo = inflateResult.compressionInfo;\n\n\t\t// call callback on decompressed save body\n\t\tif (options?.onDecompressedSaveBody !== undefined) {\n\t\t\toptions.onDecompressedSaveBody(reader.getBuffer());\n\t\t}\n\n\t\tif (reader.context.saveVersion >= SaveCustomVersion.IntroducedWorldPartition) {\n\n\t\t\t// save body validation hash\n\t\t\tsave.gridHash = reader.readSaveBodyHash();\n\n\t\t\t// parse grids\n\t\t\tsave.grids = reader.readGrids();\n\t\t}\n\n\n\t\t// parse levels\n\t\tsave.levels = reader.readLevels();\n\n\t\t// unresolved data, probably not even useful.\n\t\tconst countUnresolvedWorldSaveData = reader.readInt32();\n\t\tif (countUnresolvedWorldSaveData) {\n\t\t\tsave.unresolvedWorldSaveData = [];\n\t\t\tfor (let i = 0; i < countUnresolvedWorldSaveData; i++) {\n\t\t\t\tsave.unresolvedWorldSaveData.push(ObjectReference.read(reader));\n\t\t\t}\n\t\t}\n\n\t\treader.onProgressCallback(reader.getBufferProgress(), 'finished parsing.');\n\n\n\t\treturn save;\n\t}\n\n\t/**\n\t * serializes a {@link SatisfactorySave} into binary and reports back on individual callbacks.\n\t * @param save the {@link SatisfactorySave} to serialize into binary.\n\t * @param options provides callbacks. onBinaryBeforeCompressing gets called on the binary save body before it is compressed.\n\t * onHeader gets called on the binary save header, which is always uncompressed.\n\t * onChunk gets called when a chunk of the compressed save body was generated. Often, files' save bodies consist of multiple chunks.\n\t * @returns a summary of the generated chunks.\n\t */\n\tpublic static WriteSave(save: SatisfactorySave,\n\t\tonHeader: (header: Uint8Array) => void,\n\t\tonChunk: (chunk: Uint8Array) => void,\n\t\toptions?: Partial<{\n\t\t\tonBinaryBeforeCompressing: (buffer: ArrayBuffer) => void,\n\t\t}>\n\t): ChunkSummary[] {\n\n\t\tconst writer = new SaveWriter();\n\t\twriter.context.saveHeaderType = save.header.saveHeaderType;\n\t\twriter.context.saveVersion = save.header.saveVersion;\n\t\twriter.context.buildVersion = save.header.buildVersion;\n\t\twriter.context.mapName = save.header.mapName;\n\n\t\tSatisfactorySaveHeader.Serialize(writer, save.header);\n\t\tconst posAfterHeader = writer.getBufferPosition();\n\n\t\tif (writer.context.saveVersion >= SaveCustomVersion.IntroducedWorldPartition) {\n\t\t\tSaveWriter.WriteSaveBodyHash(writer, save.gridHash);\n\t\t\tSaveWriter.WriteGrids(writer, save.grids);\n\t\t}\n\n\t\tSaveWriter.WriteLevels(writer, save);\n\n\t\t// unresolved data\n\t\twriter.writeInt32(save.unresolvedWorldSaveData?.length ?? 0);\n\t\tfor (const actor of save.unresolvedWorldSaveData ?? []) {\n\t\t\tObjectReference.write(writer, actor);\n\t\t}\n\n\t\twriter.endWriting();\n\t\tconst chunkSummary = writer.generateChunks(save.compressionInfo!, posAfterHeader, options?.onBinaryBeforeCompressing ?? (() => { }), onHeader, onChunk);\n\t\treturn chunkSummary;\n\t}\n\n\t/**\n\t * Writes a {@link Blueprint} object to binary. And reports back on individual callbacks.\n\t * @param blueprint the blueprint to be written\n\t * @param options onMainFileBinaryBeforeCompressing gets called back when the main blueprint file binary is ready before compressing.\n\t * onMainFileHeader gets called back when the main blueprint file header is ready. onMainFileChunk gets called back when a main blueprint file chunk is ready.\n\t * @returns a chunk summary of the main file generated chunks. Plus the binary data of the config file, since it is often very small.\n\t */\n\tpublic static WriteBlueprintFiles(\n\t\tblueprint: Blueprint,\n\t\tonMainFileHeader: (header: Uint8Array) => void,\n\t\tonMainFileChunk: (chunk: Uint8Array) => void,\n\t\toptions?: Partial<{\n\t\t\tonMainFileBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\t}>\n\t): {\n\t\tmainFileChunkSummary: ChunkSummary[],\n\t\tconfigFileBinary: ArrayBuffer\n\t} {\n\n\t\t// write main blueprint file\n\t\tconst blueprintWriter = new BlueprintWriter();\n\t\tblueprintWriter.context.blueprintConfigVersion = blueprint.config.configVersion;\n\t\tblueprintWriter.context.saveVersion = blueprint.header.saveVersion;\n\t\tblueprintWriter.context.buildVersion = blueprint.header.buildVersion;\n\n\t\tBlueprintHeader.Serialize(blueprintWriter, blueprint.header);\n\t\tconst saveBodyPos = blueprintWriter.getBufferPosition();\n\t\tBlueprintWriter.SerializeObjects(blueprintWriter, blueprint.objects);\n\t\tblueprintWriter.endWriting();\n\t\tlet binaryChunks: Uint8Array[] = [];\n\t\tlet binaryHeader: Uint8Array;\n\t\tconst mainFileChunkSummary = blueprintWriter.generateChunks(\n\t\t\tblueprint.compressionInfo,\n\t\t\tsaveBodyPos,\n\t\t\t{\n\t\t\t\tonBinaryBeforeCompressing: options?.onMainFileBinaryBeforeCompressing ?? (() => { }),\n\t\t\t\tonHeader: onMainFileHeader,\n\t\t\t\tonChunk: onMainFileChunk\n\t\t\t}\n\t\t);\n\n\t\t// write config as well.\n\t\tconst configWriter = new BlueprintConfigWriter();\n\t\tconfigWriter.context.blueprintConfigVersion = blueprint.config.configVersion;\n\t\tblueprintWriter.context.saveVersion = blueprint.header.saveVersion;\n\t\tblueprintWriter.context.buildVersion = blueprint.header.buildVersion;\n\n\t\tBlueprintConfig.Serialize(configWriter, blueprint.config);\n\t\tconst configFileBinary = configWriter.endWriting();\n\n\t\treturn {\n\t\t\tmainFileChunkSummary,\n\t\t\tconfigFileBinary\n\t\t}\n\t}\n\n\t/**\n\t * Parses two buffers (main blueprint file + config file) into a {@link Blueprint object}\n\t * @param name the name of the blueprint, since it is not part of the binary data and has to be passed.\n\t * @param blueprintFile the main blueprint file \".sbp\"\n\t * @param blueprintConfigFile the config blueprint file \".sbpcfg\"\n\t * @param options provides callbacks. onDecompressedBlueprintBody gets called when the body of the main blueprint file is decompressed.\n\t * @returns \n\t */\n\tpublic static ParseBlueprintFiles(\n\t\tname: string,\n\t\tblueprintFile: ArrayBufferLike,\n\t\tblueprintConfigFile: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedBlueprintBody: (buffer: ArrayBufferLike) => void\n\t\t}>\n\t): Blueprint {\n\n\t\t// read config file\n\t\tconst blueprintConfigReader = new BlueprintConfigReader(blueprintConfigFile);\n\t\tconst config = BlueprintConfig.Parse(blueprintConfigReader);\n\n\t\t// read actual blueprint file. with context from config\n\t\tconst blueprintReader = new BlueprintReader(blueprintFile);\n\t\tblueprintReader.context.blueprintConfigVersion = config.configVersion;\n\t\tconst header = BlueprintHeader.Parse(blueprintReader);\n\t\tconst inflateResult = blueprintReader.inflateChunks();\n\n\t\t// call back on decompressed body.\n\t\tif (options?.onDecompressedBlueprintBody !== undefined) {\n\t\t\toptions.onDecompressedBlueprintBody(inflateResult.inflatedData);\n\t\t}\n\n\t\tconst blueprintObjects = BlueprintReader.ParseObjects(blueprintReader);\n\t\tconst blueprint: Blueprint = {\n\t\t\tname,\n\t\t\tcompressionInfo: blueprintReader.compressionInfo,\n\t\t\theader: header,\n\t\t\tconfig,\n\t\t\tobjects: blueprintObjects\n\t\t};\n\t\treturn blueprint;\n\t}\n\n\t/**\n\t * It JSON.stringifies any parsed content safely. The original JSON.stringify() has some flaws that get in the way, so it is custom wrapped. The original has some problems:\n\t * 1. it cannot stringify bigints. So we help out by converting it into a string.\n\t * 2. It cannot distinguish between 0 and -0. But a float32 is encoded in a uint8Array for 0 to be [0,0,0,0] (0x00000000) and -0 to be [0,0,0,128] (0x00000080) in little endian.\n\t * @param obj basically anything that can be stringified\n\t * @param indent the indentation, just like with the real JSON stringify.\n\t * @returns a string that is safely stringified.\n\t */\n\tpublic static JSONStringifyModified = (obj: any, indent: number = 0): string =>\n\t\tJSON.stringify(obj, (key, value) => {\n\t\t\tif (typeof value === 'bigint') {\n\t\t\t\treturn value.toString();\n\t\t\t} else if (value === 0 && 1 / value < 0) {\t// -0\n\t\t\t\treturn '-0';\n\t\t\t}\n\t\t\treturn value;\n\t\t}, indent)\n\n}"]}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { UnsupportedVersionError } from './error/parser.error';\nimport { BlueprintConfig } from './satisfactory/blueprint/blueprint-config';\nimport { BlueprintHeader } from './satisfactory/blueprint/blueprint-header';\nimport { BlueprintConfigReader, BlueprintReader } from \"./satisfactory/blueprint/blueprint-reader\";\nimport { BlueprintConfigWriter, BlueprintWriter } from \"./satisfactory/blueprint/blueprint-writer\";\nimport { Blueprint } from \"./satisfactory/blueprint/blueprint.types\";\nimport { SatisfactorySave } from \"./satisfactory/save/satisfactory-save\";\nimport { SatisfactorySaveHeader } from './satisfactory/save/satisfactory-save-header';\nimport { ChunkSummary } from './satisfactory/save/save-body-chunks';\nimport { SaveCustomVersion } from './satisfactory/save/save-custom-version';\nimport { SaveReader } from './satisfactory/save/save-reader';\nimport { SaveWriter } from \"./satisfactory/save/save-writer\";\nimport { ObjectReference } from './satisfactory/types/structs/ObjectReference';\n\n\n/** @public */\nexport class Parser {\n\n\t/**\n\t * Parses a given binary buffer as {@link SatisfactorySave}\n\t * @param name the save name. It won't be serialized, so it does not matter how you name it.\n\t * @param bytes the actual binary buffer\n\t * @param options provides callbacks. Either on the decompressed save body or on reported progress as a number [0,1] with an occasional message.\n\t * @returns \n\t */\n\tpublic static ParseSave(\n\t\tname: string,\n\t\tbytes: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedSaveBody: (buffer: ArrayBufferLike) => void,\n\t\t\tonProgressCallback: (progress: number, msg?: string) => void\n\t\t}>\n\t): SatisfactorySave {\n\n\t\tconst reader = new SaveReader(bytes, options?.onProgressCallback);\n\n\t\tconst header = SatisfactorySaveHeader.Parse(reader);\n\t\tconst save = new SatisfactorySave(name, header);\n\n\t\t// guard save version\n\t\tconst roughSaveVersion = SaveReader.GetRoughSaveVersion(header.saveVersion);\n\t\tif (roughSaveVersion === '<U6') {\n\t\t\tthrow new UnsupportedVersionError('Game Version < U6 is not supported in the parser. Please save the file in a newer game version.');\n\t\t}\n\n\t\t// inflate chunks\n\t\tconst inflateResult = reader.inflateChunks();\n\t\tsave.compressionInfo = inflateResult.compressionInfo;\n\n\t\t// call callback on decompressed save body\n\t\tif (options?.onDecompressedSaveBody !== undefined) {\n\t\t\toptions.onDecompressedSaveBody(reader.getBuffer());\n\t\t}\n\n\t\tif (reader.context.saveVersion >= SaveCustomVersion.IntroducedWorldPartition) {\n\n\t\t\t// save body validation hash\n\t\t\tsave.gridHash = reader.readSaveBodyHash();\n\n\t\t\t// parse grids\n\t\t\tsave.grids = reader.readGrids();\n\t\t}\n\n\n\t\t// parse levels\n\t\tsave.levels = reader.readLevels();\n\n\t\t// unresolved data, probably not even useful.\n\t\tconst countUnresolvedWorldSaveData = reader.readInt32();\n\t\tif (countUnresolvedWorldSaveData) {\n\t\t\tsave.unresolvedWorldSaveData = [];\n\t\t\tfor (let i = 0; i < countUnresolvedWorldSaveData; i++) {\n\t\t\t\tsave.unresolvedWorldSaveData.push(ObjectReference.read(reader));\n\t\t\t}\n\t\t}\n\n\t\treader.onProgressCallback(reader.getBufferProgress(), 'finished parsing.');\n\n\n\t\treturn save;\n\t}\n\n\t/**\n\t * serializes a {@link SatisfactorySave} into binary and reports back on individual callbacks.\n\t * @param save the {@link SatisfactorySave} to serialize into binary.\n\t * @param options provides callbacks. onBinaryBeforeCompressing gets called on the binary save body before it is compressed.\n\t * onHeader gets called on the binary save header, which is always uncompressed.\n\t * onChunk gets called when a chunk of the compressed save body was generated. Often, files' save bodies consist of multiple chunks.\n\t * @returns a summary of the generated chunks.\n\t */\n\tpublic static WriteSave(save: SatisfactorySave,\n\t\tonHeader: (header: Uint8Array) => void,\n\t\tonChunk: (chunk: Uint8Array) => void,\n\t\toptions?: Partial<{\n\t\t\tonBinaryBeforeCompressing: (buffer: ArrayBuffer) => void,\n\t\t}>\n\t): ChunkSummary[] {\n\n\t\tconst writer = new SaveWriter();\n\t\twriter.context.saveHeaderType = save.header.saveHeaderType;\n\t\twriter.context.saveVersion = save.header.saveVersion;\n\t\twriter.context.buildVersion = save.header.buildVersion;\n\t\twriter.context.mapName = save.header.mapName;\n\n\t\tSatisfactorySaveHeader.Serialize(writer, save.header);\n\t\tconst posAfterHeader = writer.getBufferPosition();\n\n\t\tif (writer.context.saveVersion >= SaveCustomVersion.IntroducedWorldPartition) {\n\t\t\tSaveWriter.WriteSaveBodyHash(writer, save.gridHash);\n\t\t\tSaveWriter.WriteGrids(writer, save.grids);\n\t\t}\n\n\t\tSaveWriter.WriteLevels(writer, save);\n\n\t\t// unresolved data\n\t\t// TODO: check if we ever encounter it.\n\t\tif (save.unresolvedWorldSaveData && save.unresolvedWorldSaveData.length > 0) {\n\t\t\twriter.writeInt32(save.unresolvedWorldSaveData?.length ?? 0);\n\t\t\tfor (const actor of save.unresolvedWorldSaveData ?? []) {\n\t\t\t\tObjectReference.write(writer, actor);\n\t\t\t}\n\t\t}\n\n\t\twriter.endWriting();\n\t\tconst chunkSummary = writer.generateChunks(save.compressionInfo!, posAfterHeader, options?.onBinaryBeforeCompressing ?? (() => { }), onHeader, onChunk);\n\t\treturn chunkSummary;\n\t}\n\n\t/**\n\t * Writes a {@link Blueprint} object to binary. And reports back on individual callbacks.\n\t * @param blueprint the blueprint to be written\n\t * @param options onMainFileBinaryBeforeCompressing gets called back when the main blueprint file binary is ready before compressing.\n\t * onMainFileHeader gets called back when the main blueprint file header is ready. onMainFileChunk gets called back when a main blueprint file chunk is ready.\n\t * @returns a chunk summary of the main file generated chunks. Plus the binary data of the config file, since it is often very small.\n\t */\n\tpublic static WriteBlueprintFiles(\n\t\tblueprint: Blueprint,\n\t\tonMainFileHeader: (header: Uint8Array) => void,\n\t\tonMainFileChunk: (chunk: Uint8Array) => void,\n\t\toptions?: Partial<{\n\t\t\tonMainFileBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\t}>\n\t): {\n\t\tmainFileChunkSummary: ChunkSummary[],\n\t\tconfigFileBinary: ArrayBuffer\n\t} {\n\n\t\t// write main blueprint file\n\t\tconst blueprintWriter = new BlueprintWriter();\n\t\tblueprintWriter.context.blueprintConfigVersion = blueprint.config.configVersion;\n\t\tblueprintWriter.context.saveVersion = blueprint.header.saveVersion;\n\t\tblueprintWriter.context.buildVersion = blueprint.header.buildVersion;\n\n\t\tBlueprintHeader.Serialize(blueprintWriter, blueprint.header);\n\t\tconst saveBodyPos = blueprintWriter.getBufferPosition();\n\t\tBlueprintWriter.SerializeObjects(blueprintWriter, blueprint.objects);\n\t\tblueprintWriter.endWriting();\n\t\tlet binaryChunks: Uint8Array[] = [];\n\t\tlet binaryHeader: Uint8Array;\n\t\tconst mainFileChunkSummary = blueprintWriter.generateChunks(\n\t\t\tblueprint.compressionInfo,\n\t\t\tsaveBodyPos,\n\t\t\t{\n\t\t\t\tonBinaryBeforeCompressing: options?.onMainFileBinaryBeforeCompressing ?? (() => { }),\n\t\t\t\tonHeader: onMainFileHeader,\n\t\t\t\tonChunk: onMainFileChunk\n\t\t\t}\n\t\t);\n\n\t\t// write config as well.\n\t\tconst configWriter = new BlueprintConfigWriter();\n\t\tconfigWriter.context.blueprintConfigVersion = blueprint.config.configVersion;\n\t\tblueprintWriter.context.saveVersion = blueprint.header.saveVersion;\n\t\tblueprintWriter.context.buildVersion = blueprint.header.buildVersion;\n\n\t\tBlueprintConfig.Serialize(configWriter, blueprint.config);\n\t\tconst configFileBinary = configWriter.endWriting();\n\n\t\treturn {\n\t\t\tmainFileChunkSummary,\n\t\t\tconfigFileBinary\n\t\t}\n\t}\n\n\t/**\n\t * Parses two buffers (main blueprint file + config file) into a {@link Blueprint object}\n\t * @param name the name of the blueprint, since it is not part of the binary data and has to be passed.\n\t * @param blueprintFile the main blueprint file \".sbp\"\n\t * @param blueprintConfigFile the config blueprint file \".sbpcfg\"\n\t * @param options provides callbacks. onDecompressedBlueprintBody gets called when the body of the main blueprint file is decompressed.\n\t * @returns \n\t */\n\tpublic static ParseBlueprintFiles(\n\t\tname: string,\n\t\tblueprintFile: ArrayBufferLike,\n\t\tblueprintConfigFile: ArrayBufferLike,\n\t\toptions?: Partial<{\n\t\t\tonDecompressedBlueprintBody: (buffer: ArrayBufferLike) => void\n\t\t}>\n\t): Blueprint {\n\n\t\t// read config file\n\t\tconst blueprintConfigReader = new BlueprintConfigReader(blueprintConfigFile);\n\t\tconst config = BlueprintConfig.Parse(blueprintConfigReader);\n\n\t\t// read actual blueprint file. with context from config\n\t\tconst blueprintReader = new BlueprintReader(blueprintFile);\n\t\tblueprintReader.context.blueprintConfigVersion = config.configVersion;\n\t\tconst header = BlueprintHeader.Parse(blueprintReader);\n\t\tconst inflateResult = blueprintReader.inflateChunks();\n\n\t\t// call back on decompressed body.\n\t\tif (options?.onDecompressedBlueprintBody !== undefined) {\n\t\t\toptions.onDecompressedBlueprintBody(inflateResult.inflatedData);\n\t\t}\n\n\t\tconst blueprintObjects = BlueprintReader.ParseObjects(blueprintReader);\n\t\tconst blueprint: Blueprint = {\n\t\t\tname,\n\t\t\tcompressionInfo: blueprintReader.compressionInfo,\n\t\t\theader: header,\n\t\t\tconfig,\n\t\t\tobjects: blueprintObjects\n\t\t};\n\t\treturn blueprint;\n\t}\n\n\t/**\n\t * It JSON.stringifies any parsed content safely. The original JSON.stringify() has some flaws that get in the way, so it is custom wrapped. The original has some problems:\n\t * 1. it cannot stringify bigints. So we help out by converting it into a string.\n\t * 2. It cannot distinguish between 0 and -0. But a float32 is encoded in a uint8Array for 0 to be [0,0,0,0] (0x00000000) and -0 to be [0,0,0,128] (0x00000080) in little endian.\n\t * @param obj basically anything that can be stringified\n\t * @param indent the indentation, just like with the real JSON stringify.\n\t * @returns a string that is safely stringified.\n\t */\n\tpublic static JSONStringifyModified = (obj: any, indent: number = 0): string =>\n\t\tJSON.stringify(obj, (key, value) => {\n\t\t\tif (typeof value === 'bigint') {\n\t\t\t\treturn value.toString();\n\t\t\t} else if (value === 0 && 1 / value < 0) {\t// -0\n\t\t\t\treturn '-0';\n\t\t\t}\n\t\t\treturn value;\n\t\t}, indent)\n\n}"]}
@@ -1029,6 +1029,10 @@ export declare const EDIT: {
1029
1029
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Building/Wall/SteelWallSet/Build_SteelWall_8x4_Gate_01.Build_SteelWall_8x4_Gate_01_C";
1030
1030
  readonly CLASS_NAME: "Build_SteelWall_8x4_Gate_01_C";
1031
1031
  };
1032
+ readonly BIG_GARAGE: {
1033
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Building/Doors/Build_BigGarageDoor_16x8.Build_BigGarageDoor_16x8_C";
1034
+ readonly CLASS_NAME: "Build_BigGarageDoor_16x8_C";
1035
+ };
1032
1036
  };
1033
1037
  readonly CONVEYOR: {
1034
1038
  readonly ONE_HOLE: {
@@ -1548,6 +1552,10 @@ export declare const EDIT: {
1548
1552
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Building/TarpFence/Build_ChainLinkFence.Build_ChainLinkFence_C";
1549
1553
  readonly CLASS_NAME: "Build_ChainLinkFence_C";
1550
1554
  };
1555
+ readonly BARRIER_CORNER: {
1556
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Building/Fence/Build_Barrier_Corner.Build_Barrier_Corner_C";
1557
+ readonly CLASS_NAME: "Build_Barrier_Corner_C";
1558
+ };
1551
1559
  };
1552
1560
  readonly WORKSHOP: {
1553
1561
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/Workshop/Build_Workshop.Build_Workshop_C";
@@ -1619,6 +1627,22 @@ export declare const EDIT: {
1619
1627
  readonly CLASS_NAME: "Build_Beam_Cable_C";
1620
1628
  readonly RECIPE: "/Game/FactoryGame/Prototype/Buildable/Beams/Recipe_Beam_Cable.Recipe_Beam_Cable_C";
1621
1629
  };
1630
+ readonly CABLE_CLUSTER: {
1631
+ readonly TYPE_PATH: "/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Cable_Cluster.Build_Beam_Cable_Cluster_C";
1632
+ readonly CLASS_NAME: "Build_Beam_Cable_Cluster_C";
1633
+ };
1634
+ readonly CONCRETE: {
1635
+ readonly TYPE_PATH: "/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Concrete.Build_Beam_Concrete_C";
1636
+ readonly CLASS_NAME: "Build_Beam_Concrete_C";
1637
+ };
1638
+ readonly SHELF: {
1639
+ readonly TYPE_PATH: "/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Shelf.Build_Beam_Shelf_C";
1640
+ readonly CLASS_NAME: "Build_Beam_Shelf_C";
1641
+ };
1642
+ readonly H: {
1643
+ readonly TYPE_PATH: "/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_H.Build_Beam_H_C";
1644
+ readonly CLASS_NAME: "Build_Beam_H_C";
1645
+ };
1622
1646
  readonly BUILDABLE_BEAM_LIGHTWEIGHT_DATA: {
1623
1647
  readonly TYPE_PATH: "/Script/FactoryGame.BuildableBeamLightweightData";
1624
1648
  };
@@ -1671,6 +1695,10 @@ export declare const EDIT: {
1671
1695
  readonly CLASS_NAME: "Build_RailroadTrack_C";
1672
1696
  readonly RECIPE: "/Game/FactoryGame/Recipes/Buildings/Recipe_RailroadTrack.Recipe_RailroadTrack_C";
1673
1697
  };
1698
+ readonly RAILROAD_STOP: {
1699
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/Train/EndStop/Build_RailroadEndStop.Build_RailroadEndStop_C";
1700
+ readonly CLASS_NAME: "Build_RailroadEndStop_C";
1701
+ };
1674
1702
  readonly HUB_TERMINAL: {
1675
1703
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/HubTerminal/Build_HubTerminal.Build_HubTerminal_C";
1676
1704
  readonly CLASS_NAME: "Build_HubTerminal_C";
@@ -1809,6 +1837,14 @@ export declare const EDIT: {
1809
1837
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C";
1810
1838
  readonly CLASS_NAME: "Build_ConveyorLiftMk6_C";
1811
1839
  };
1840
+ readonly MONITOR: {
1841
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConveyorMonitor/Build_ConveyorMonitor.Build_ConveyorMonitor_C";
1842
+ readonly CLASS_NAME: "Build_ConveyorMonitor_C";
1843
+ };
1844
+ readonly PRIORITY_MERGER: {
1845
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/CA_MergerPriority/Build_ConveyorAttachmentMergerPriority.Build_ConveyorAttachmentMergerPriority_C";
1846
+ readonly CLASS_NAME: "Build_ConveyorAttachmentMergerPriority_C";
1847
+ };
1812
1848
  };
1813
1849
  readonly PIPELINE: {
1814
1850
  readonly PIPELINE_MK1: {
@@ -1859,6 +1895,10 @@ export declare const EDIT: {
1859
1895
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/Holiday/Build_TreeGiftProducer/Build_TreeGiftProducer.Build_TreeGiftProducer_C";
1860
1896
  };
1861
1897
  };
1898
+ readonly SHELF: {
1899
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Building/StackableShelf/Build_StackableShelf.Build_StackableShelf_C";
1900
+ readonly CLASS_NAME: "Build_StackableShelf_C";
1901
+ };
1862
1902
  readonly FACTORY: {
1863
1903
  readonly CONSTRUCTOR: {
1864
1904
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/ConstructorMk1/Build_ConstructorMk1.Build_ConstructorMk1_C";
@@ -2144,6 +2184,20 @@ export declare const EDIT: {
2144
2184
  readonly BUILDGUN: {
2145
2185
  readonly TYPE_PATH: "/Script/FactoryGame.FGBuildGun";
2146
2186
  };
2187
+ readonly ELEVATOR: {
2188
+ readonly ELEVATOR_CABIN: {
2189
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/Elevator/BP_ElevatorCabin.BP_ElevatorCabin_C";
2190
+ readonly CLASS_NAME: "BP_ElevatorCabin_C";
2191
+ };
2192
+ readonly STOP: {
2193
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/Elevator/Build_ElevatorFloorStop.Build_ElevatorFloorStop_C";
2194
+ readonly CLASS_NAME: "Build_ElevatorFloorStop_C";
2195
+ };
2196
+ readonly ELEVATOR: {
2197
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/Elevator/Build_Elevator.Build_Elevator_C";
2198
+ readonly CLASS_NAME: "Build_Elevator_C";
2199
+ };
2200
+ };
2147
2201
  readonly HYPERTUBES: {
2148
2202
  readonly HYPERTUBE_SUPPORT: {
2149
2203
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/PipeHyperSupport/Build_PipeHyperSupport.Build_PipeHyperSupport_C";
@@ -2158,6 +2212,14 @@ export declare const EDIT: {
2158
2212
  readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/PipeHyper/Build_PipeHyper.Build_PipeHyper_C";
2159
2213
  readonly CLASS_NAME: "Build_PipeHyper_C";
2160
2214
  };
2215
+ readonly TJUNCTION: {
2216
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/PipeHyperTJunction/Build_HypertubeTJunction.Build_HypertubeTJunction_C";
2217
+ readonly CLASS_NAME: "Build_HypertubeTJunction_C";
2218
+ };
2219
+ readonly JUNCTION: {
2220
+ readonly TYPE_PATH: "/Game/FactoryGame/Buildable/Factory/PipeHyperJunction/Build_HyperTubeJunction.Build_HyperTubeJunction_C";
2221
+ readonly CLASS_NAME: "Build_HyperTubeJunction_C";
2222
+ };
2161
2223
  };
2162
2224
  readonly SUBSYSTEMS_AND_MANAGERS: {
2163
2225
  readonly WORLD_SETTINGS: {
@@ -1 +1 @@
1
- {"version":3,"file":"edit-constants.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/edit/edit-constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAi1EP,CAAC"}
1
+ {"version":3,"file":"edit-constants.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/edit/edit-constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+4EP,CAAC"}
@@ -1034,6 +1034,10 @@ exports.EDIT = {
1034
1034
  STEEL_WALL_GATE: {
1035
1035
  TYPE_PATH: '/Game/FactoryGame/Buildable/Building/Wall/SteelWallSet/Build_SteelWall_8x4_Gate_01.Build_SteelWall_8x4_Gate_01_C',
1036
1036
  CLASS_NAME: 'Build_SteelWall_8x4_Gate_01_C'
1037
+ },
1038
+ BIG_GARAGE: {
1039
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Building/Doors/Build_BigGarageDoor_16x8.Build_BigGarageDoor_16x8_C',
1040
+ CLASS_NAME: 'Build_BigGarageDoor_16x8_C'
1037
1041
  }
1038
1042
  },
1039
1043
  CONVEYOR: {
@@ -1553,6 +1557,10 @@ exports.EDIT = {
1553
1557
  CHAIN_LINK_FENCE: {
1554
1558
  TYPE_PATH: '/Game/FactoryGame/Buildable/Building/TarpFence/Build_ChainLinkFence.Build_ChainLinkFence_C',
1555
1559
  CLASS_NAME: 'Build_ChainLinkFence_C'
1560
+ },
1561
+ BARRIER_CORNER: {
1562
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Building/Fence/Build_Barrier_Corner.Build_Barrier_Corner_C',
1563
+ CLASS_NAME: 'Build_Barrier_Corner_C'
1556
1564
  }
1557
1565
  },
1558
1566
  WORKSHOP: {
@@ -1625,6 +1633,22 @@ exports.EDIT = {
1625
1633
  CLASS_NAME: 'Build_Beam_Cable_C',
1626
1634
  RECIPE: '/Game/FactoryGame/Prototype/Buildable/Beams/Recipe_Beam_Cable.Recipe_Beam_Cable_C'
1627
1635
  },
1636
+ CABLE_CLUSTER: {
1637
+ TYPE_PATH: '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Cable_Cluster.Build_Beam_Cable_Cluster_C',
1638
+ CLASS_NAME: 'Build_Beam_Cable_Cluster_C'
1639
+ },
1640
+ CONCRETE: {
1641
+ TYPE_PATH: '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Concrete.Build_Beam_Concrete_C',
1642
+ CLASS_NAME: 'Build_Beam_Concrete_C'
1643
+ },
1644
+ SHELF: {
1645
+ TYPE_PATH: '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_Shelf.Build_Beam_Shelf_C',
1646
+ CLASS_NAME: 'Build_Beam_Shelf_C'
1647
+ },
1648
+ H: {
1649
+ TYPE_PATH: '/Game/FactoryGame/Prototype/Buildable/Beams/Build_Beam_H.Build_Beam_H_C',
1650
+ CLASS_NAME: 'Build_Beam_H_C'
1651
+ },
1628
1652
  BUILDABLE_BEAM_LIGHTWEIGHT_DATA: {
1629
1653
  TYPE_PATH: '/Script/FactoryGame.BuildableBeamLightweightData'
1630
1654
  }
@@ -1677,6 +1701,10 @@ exports.EDIT = {
1677
1701
  CLASS_NAME: 'Build_RailroadTrack_C',
1678
1702
  RECIPE: '/Game/FactoryGame/Recipes/Buildings/Recipe_RailroadTrack.Recipe_RailroadTrack_C'
1679
1703
  },
1704
+ RAILROAD_STOP: {
1705
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Train/EndStop/Build_RailroadEndStop.Build_RailroadEndStop_C',
1706
+ CLASS_NAME: 'Build_RailroadEndStop_C'
1707
+ },
1680
1708
  HUB_TERMINAL: {
1681
1709
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/HubTerminal/Build_HubTerminal.Build_HubTerminal_C',
1682
1710
  CLASS_NAME: 'Build_HubTerminal_C'
@@ -1815,6 +1843,14 @@ exports.EDIT = {
1815
1843
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConveyorLiftMk6/Build_ConveyorLiftMk6.Build_ConveyorLiftMk6_C',
1816
1844
  CLASS_NAME: 'Build_ConveyorLiftMk6_C'
1817
1845
  },
1846
+ MONITOR: {
1847
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConveyorMonitor/Build_ConveyorMonitor.Build_ConveyorMonitor_C',
1848
+ CLASS_NAME: 'Build_ConveyorMonitor_C'
1849
+ },
1850
+ PRIORITY_MERGER: {
1851
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/CA_MergerPriority/Build_ConveyorAttachmentMergerPriority.Build_ConveyorAttachmentMergerPriority_C',
1852
+ CLASS_NAME: 'Build_ConveyorAttachmentMergerPriority_C'
1853
+ }
1818
1854
  },
1819
1855
  PIPELINE: {
1820
1856
  PIPELINE_MK1: {
@@ -1865,6 +1901,10 @@ exports.EDIT = {
1865
1901
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Holiday/Build_TreeGiftProducer/Build_TreeGiftProducer.Build_TreeGiftProducer_C'
1866
1902
  },
1867
1903
  },
1904
+ SHELF: {
1905
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Building/StackableShelf/Build_StackableShelf.Build_StackableShelf_C',
1906
+ CLASS_NAME: 'Build_StackableShelf_C'
1907
+ },
1868
1908
  FACTORY: {
1869
1909
  CONSTRUCTOR: {
1870
1910
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/ConstructorMk1/Build_ConstructorMk1.Build_ConstructorMk1_C'
@@ -2150,6 +2190,20 @@ exports.EDIT = {
2150
2190
  BUILDGUN: {
2151
2191
  TYPE_PATH: '/Script/FactoryGame.FGBuildGun'
2152
2192
  },
2193
+ ELEVATOR: {
2194
+ ELEVATOR_CABIN: {
2195
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Elevator/BP_ElevatorCabin.BP_ElevatorCabin_C',
2196
+ CLASS_NAME: 'BP_ElevatorCabin_C'
2197
+ },
2198
+ STOP: {
2199
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Elevator/Build_ElevatorFloorStop.Build_ElevatorFloorStop_C',
2200
+ CLASS_NAME: 'Build_ElevatorFloorStop_C'
2201
+ },
2202
+ ELEVATOR: {
2203
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/Elevator/Build_Elevator.Build_Elevator_C',
2204
+ CLASS_NAME: 'Build_Elevator_C'
2205
+ }
2206
+ },
2153
2207
  HYPERTUBES: {
2154
2208
  HYPERTUBE_SUPPORT: {
2155
2209
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyperSupport/Build_PipeHyperSupport.Build_PipeHyperSupport_C',
@@ -2163,6 +2217,14 @@ exports.EDIT = {
2163
2217
  HYPERTUBE: {
2164
2218
  TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyper/Build_PipeHyper.Build_PipeHyper_C',
2165
2219
  CLASS_NAME: 'Build_PipeHyper_C'
2220
+ },
2221
+ TJUNCTION: {
2222
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyperTJunction/Build_HypertubeTJunction.Build_HypertubeTJunction_C',
2223
+ CLASS_NAME: 'Build_HypertubeTJunction_C'
2224
+ },
2225
+ JUNCTION: {
2226
+ TYPE_PATH: '/Game/FactoryGame/Buildable/Factory/PipeHyperJunction/Build_HyperTubeJunction.Build_HyperTubeJunction_C',
2227
+ CLASS_NAME: 'Build_HyperTubeJunction_C'
2166
2228
  }
2167
2229
  },
2168
2230
  SUBSYSTEMS_AND_MANAGERS: {