@etothepii/satisfactory-file-parser 3.0.2 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/.github/workflows/publish-jsr.yml +21 -0
  2. package/.github/workflows/tests.yml +2 -1
  3. package/CHANGELOG.md +6 -0
  4. package/README.md +2 -2
  5. package/build/index.d.ts +2 -1
  6. package/build/index.d.ts.map +1 -1
  7. package/build/index.js +2 -1
  8. package/build/index.js.map +1 -1
  9. package/build/parser/satisfactory/blueprint/blueprint-config.d.ts.map +1 -1
  10. package/build/parser/satisfactory/blueprint/blueprint-config.js.map +1 -1
  11. package/build/parser/satisfactory/blueprint/blueprint-header-version.d.ts +8 -0
  12. package/build/parser/satisfactory/blueprint/blueprint-header-version.d.ts.map +1 -0
  13. package/build/parser/satisfactory/blueprint/blueprint-header-version.js +12 -0
  14. package/build/parser/satisfactory/blueprint/blueprint-header-version.js.map +1 -0
  15. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts +1 -8
  16. package/build/parser/satisfactory/blueprint/blueprint-header.d.ts.map +1 -1
  17. package/build/parser/satisfactory/blueprint/blueprint-header.js.map +1 -1
  18. package/build/parser/satisfactory/blueprint/blueprint-reader.js +2 -2
  19. package/build/parser/satisfactory/blueprint/blueprint-reader.js.map +1 -1
  20. package/build/parser/satisfactory/blueprint/blueprint-writer.js +3 -3
  21. package/build/parser/satisfactory/blueprint/blueprint-writer.js.map +1 -1
  22. package/build/parser/satisfactory/edit/edit-constants.d.ts +9 -0
  23. package/build/parser/satisfactory/edit/edit-constants.d.ts.map +1 -1
  24. package/build/parser/satisfactory/edit/edit-constants.js +9 -0
  25. package/build/parser/satisfactory/edit/edit-constants.js.map +1 -1
  26. package/build/parser/satisfactory/save/factory-game-custom-version.js.map +1 -1
  27. package/build/parser/satisfactory/save/level-to-destroyed-actors-map.d.ts.map +1 -1
  28. package/build/parser/satisfactory/save/level-to-destroyed-actors-map.js.map +1 -1
  29. package/build/parser/satisfactory/save/level.d.ts +29 -0
  30. package/build/parser/satisfactory/save/level.d.ts.map +1 -0
  31. package/build/parser/satisfactory/save/level.js +204 -0
  32. package/build/parser/satisfactory/save/level.js.map +1 -0
  33. package/build/parser/satisfactory/save/satisfactory-save-header.d.ts.map +1 -1
  34. package/build/parser/satisfactory/save/satisfactory-save-header.js.map +1 -1
  35. package/build/parser/satisfactory/save/satisfactory-save.d.ts +1 -1
  36. package/build/parser/satisfactory/save/satisfactory-save.d.ts.map +1 -1
  37. package/build/parser/satisfactory/save/satisfactory-save.js.map +1 -1
  38. package/build/parser/satisfactory/save/save-body-chunks.d.ts +1 -1
  39. package/build/parser/satisfactory/save/save-body-chunks.d.ts.map +1 -1
  40. package/build/parser/satisfactory/save/save-body-chunks.js +2 -2
  41. package/build/parser/satisfactory/save/save-body-chunks.js.map +1 -1
  42. package/build/parser/satisfactory/save/save-custom-version.d.ts +3 -2
  43. package/build/parser/satisfactory/save/save-custom-version.d.ts.map +1 -1
  44. package/build/parser/satisfactory/save/save-custom-version.js +3 -2
  45. package/build/parser/satisfactory/save/save-custom-version.js.map +1 -1
  46. package/build/parser/satisfactory/save/save-header-type.d.ts +3 -1
  47. package/build/parser/satisfactory/save/save-header-type.d.ts.map +1 -1
  48. package/build/parser/satisfactory/save/save-header-type.js +2 -0
  49. package/build/parser/satisfactory/save/save-header-type.js.map +1 -1
  50. package/build/parser/satisfactory/save/save-reader.d.ts +1 -1
  51. package/build/parser/satisfactory/save/save-reader.d.ts.map +1 -1
  52. package/build/parser/satisfactory/save/save-reader.js +2 -2
  53. package/build/parser/satisfactory/save/save-reader.js.map +1 -1
  54. package/build/parser/satisfactory/save/save-writer.d.ts +1 -1
  55. package/build/parser/satisfactory/save/save-writer.d.ts.map +1 -1
  56. package/build/parser/satisfactory/save/save-writer.js +5 -5
  57. package/build/parser/satisfactory/save/save-writer.js.map +1 -1
  58. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts +3 -3
  59. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.d.ts.map +1 -1
  60. package/build/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.js.map +1 -1
  61. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts +5 -5
  62. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.d.ts.map +1 -1
  63. package/build/parser/satisfactory/types/property/generic/SetProperty/SetProperty.js.map +1 -1
  64. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts +1 -14
  65. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.d.ts.map +1 -1
  66. package/build/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.js.map +1 -1
  67. package/build/parser/satisfactory/types/property/special/CircuitSpecialProperties.d.ts.map +1 -1
  68. package/build/parser/satisfactory/types/property/special/CircuitSpecialProperties.js.map +1 -1
  69. package/build/parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties.d.ts.map +1 -1
  70. package/build/parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties.js.map +1 -1
  71. package/build/parser/satisfactory/types/property/special/ConveyorSpecialProperties.d.ts.map +1 -1
  72. package/build/parser/satisfactory/types/property/special/ConveyorSpecialProperties.js.map +1 -1
  73. package/build/parser/satisfactory/types/property/special/ObjectsListSpecialProperties.d.ts.map +1 -1
  74. package/build/parser/satisfactory/types/property/special/ObjectsListSpecialProperties.js.map +1 -1
  75. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.d.ts.map +1 -1
  76. package/build/parser/satisfactory/types/property/special/PlayerSpecialProperties.js.map +1 -1
  77. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.d.ts.map +1 -1
  78. package/build/parser/satisfactory/types/property/special/PowerLineSpecialProperties.js.map +1 -1
  79. package/build/parser/satisfactory/types/property/special/SpecialDroneActionProperties.d.ts.map +1 -1
  80. package/build/parser/satisfactory/types/property/special/SpecialDroneActionProperties.js.map +1 -1
  81. package/build/parser/satisfactory/types/property/special/SpecialProperties.d.ts +2 -2
  82. package/build/parser/satisfactory/types/property/special/SpecialProperties.d.ts.map +1 -1
  83. package/build/parser/satisfactory/types/property/special/SpecialProperties.js.map +1 -1
  84. package/build/parser/satisfactory/types/property/special/VehicleSpecialProperties.d.ts.map +1 -1
  85. package/build/parser/satisfactory/types/property/special/VehicleSpecialProperties.js.map +1 -1
  86. package/build/parser/satisfactory/types/structs/VehiclePhysicsData.d.ts.map +1 -1
  87. package/build/parser/satisfactory/types/structs/VehiclePhysicsData.js.map +1 -1
  88. package/build/parser/stream/reworked/readable-stream-parser.d.ts.map +1 -1
  89. package/build/parser/stream/reworked/readable-stream-parser.js +3 -3
  90. package/build/parser/stream/reworked/readable-stream-parser.js.map +1 -1
  91. package/build/parser/stream/reworked/save-stream-json-stringifier.d.ts.map +1 -1
  92. package/build/parser/stream/reworked/save-stream-json-stringifier.js.map +1 -1
  93. package/build/parser/stream/reworked/save-stream-writer.class.d.ts.map +1 -1
  94. package/build/parser/stream/reworked/save-stream-writer.class.js.map +1 -1
  95. package/docs/assets/navigation.js +1 -1
  96. package/docs/assets/search.js +1 -1
  97. package/docs/classes/BlueprintConfigReader.html +4 -4
  98. package/docs/classes/BlueprintConfigWriter.html +4 -4
  99. package/docs/classes/BlueprintReader.html +4 -4
  100. package/docs/classes/BlueprintWriter.html +4 -4
  101. package/docs/classes/CompressionLibraryError.html +2 -2
  102. package/docs/classes/CorruptBlueprintError.html +2 -2
  103. package/docs/classes/CorruptSaveError.html +2 -2
  104. package/docs/classes/Parser.html +6 -6
  105. package/docs/classes/ParserError.html +2 -2
  106. package/docs/classes/ReadableStreamParser.html +2 -2
  107. package/docs/classes/SatisfactorySave.html +2 -2
  108. package/docs/classes/SaveComponent.html +2 -2
  109. package/docs/classes/SaveEntity.html +2 -2
  110. package/docs/classes/SaveObject.html +2 -2
  111. package/docs/classes/SaveReader.html +4 -4
  112. package/docs/classes/SaveStreamJsonStringifier.html +5 -4
  113. package/docs/classes/SaveStreamWriter.html +17 -16
  114. package/docs/classes/SaveWriter.html +4 -4
  115. package/docs/classes/TimeoutError.html +2 -2
  116. package/docs/classes/UnimplementedError.html +2 -2
  117. package/docs/classes/UnsupportedVersionError.html +2 -2
  118. package/docs/enums/BlueprintConfigVersion.html +2 -2
  119. package/docs/enums/BlueprintHeaderVersion.html +7 -0
  120. package/docs/enums/CompressionAlgorithmCode.html +2 -2
  121. package/docs/enums/FactoryGameCustomVersion.html +3 -3
  122. package/docs/enums/RuntimeBuildableInstanceDataVersion.html +2 -2
  123. package/docs/enums/SaveCustomVersion.html +11 -10
  124. package/docs/enums/SaveHeaderType.html +4 -2
  125. package/docs/functions/AbstractBaseProperty.Create.html +1 -1
  126. package/docs/functions/ArrayProperty.CalcOverhead.html +1 -1
  127. package/docs/functions/ArrayProperty.Parse.html +1 -1
  128. package/docs/functions/ArrayProperty.Serialize.html +1 -1
  129. package/docs/functions/BlueprintConfig.Parse.html +1 -1
  130. package/docs/functions/BlueprintConfig.Serialize.html +1 -1
  131. package/docs/functions/BlueprintHeader.Parse.html +1 -1
  132. package/docs/functions/BlueprintHeader.Serialize.html +1 -1
  133. package/docs/functions/BoolArrayProperty.Parse.html +1 -1
  134. package/docs/functions/BoolArrayProperty.Serialize.html +1 -1
  135. package/docs/functions/BoolProperty.CalcOverhead.html +1 -1
  136. package/docs/functions/BoolProperty.Parse.html +1 -1
  137. package/docs/functions/BoolProperty.ReadValue.html +1 -1
  138. package/docs/functions/BoolProperty.Serialize.html +1 -1
  139. package/docs/functions/BoolProperty.SerializeValue.html +1 -1
  140. package/docs/functions/BuildableSubsystemSpecialProperties.Parse.html +1 -1
  141. package/docs/functions/BuildableSubsystemSpecialProperties.Serialize.html +1 -1
  142. package/docs/functions/BuildableTypeInstance.Parse.html +1 -1
  143. package/docs/functions/BuildableTypeInstance.Serialize.html +1 -1
  144. package/docs/functions/ByteArrayProperty.Parse.html +1 -1
  145. package/docs/functions/ByteArrayProperty.Serialize.html +1 -1
  146. package/docs/functions/ByteProperty.CalcOverhead.html +1 -1
  147. package/docs/functions/ByteProperty.Parse.html +1 -1
  148. package/docs/functions/ByteProperty.ReadValue.html +1 -1
  149. package/docs/functions/ByteProperty.Serialize.html +1 -1
  150. package/docs/functions/ByteProperty.SerializeValue.html +1 -1
  151. package/docs/functions/CircuitSpecialProperties.Parse.html +1 -1
  152. package/docs/functions/CircuitSpecialProperties.Serialize.html +1 -1
  153. package/docs/functions/ConveyorChainActorSpecialProperties.Parse.html +1 -1
  154. package/docs/functions/ConveyorChainActorSpecialProperties.Serialize.html +1 -1
  155. package/docs/functions/ConveyorSpecialProperties.Parse.html +1 -1
  156. package/docs/functions/ConveyorSpecialProperties.Serialize.html +1 -1
  157. package/docs/functions/DoubleArrayProperty.Parse.html +1 -1
  158. package/docs/functions/DoubleArrayProperty.Serialize.html +1 -1
  159. package/docs/functions/DoubleProperty.CalcOverhead.html +1 -1
  160. package/docs/functions/DoubleProperty.Parse.html +1 -1
  161. package/docs/functions/DoubleProperty.ReadValue.html +1 -1
  162. package/docs/functions/DoubleProperty.Serialize.html +1 -1
  163. package/docs/functions/DoubleProperty.SerializeValue.html +1 -1
  164. package/docs/functions/DynamicStructPropertyValue.read.html +1 -1
  165. package/docs/functions/DynamicStructPropertyValue.write.html +1 -1
  166. package/docs/functions/EmptySpecialProperties.Parse.html +1 -1
  167. package/docs/functions/EmptySpecialProperties.Serialize.html +1 -1
  168. package/docs/functions/EnumArrayProperty.Parse.html +1 -1
  169. package/docs/functions/EnumArrayProperty.Serialize.html +1 -1
  170. package/docs/functions/EnumProperty.CalcOverhead.html +1 -1
  171. package/docs/functions/EnumProperty.Parse.html +1 -1
  172. package/docs/functions/EnumProperty.ReadValue.html +1 -1
  173. package/docs/functions/EnumProperty.Serialize.html +1 -1
  174. package/docs/functions/EnumProperty.SerializeValue.html +1 -1
  175. package/docs/functions/FGDynamicStruct.Parse.html +1 -1
  176. package/docs/functions/FGDynamicStruct.Serialize.html +1 -1
  177. package/docs/functions/FICFrameRange.Parse.html +1 -1
  178. package/docs/functions/FICFrameRange.Serialize.html +1 -1
  179. package/docs/functions/FloatArrayProperty.Parse.html +1 -1
  180. package/docs/functions/FloatArrayProperty.Serialize.html +1 -1
  181. package/docs/functions/FloatProperty.CalcOverhead.html +1 -1
  182. package/docs/functions/FloatProperty.Parse.html +1 -1
  183. package/docs/functions/FloatProperty.ReadValue.html +1 -1
  184. package/docs/functions/FloatProperty.Serialize.html +1 -1
  185. package/docs/functions/FloatProperty.SerializeValue.html +1 -1
  186. package/docs/functions/GUID.read.html +1 -1
  187. package/docs/functions/GUID.write.html +1 -1
  188. package/docs/functions/GUIDInfo.read.html +1 -1
  189. package/docs/functions/GUIDInfo.write.html +1 -1
  190. package/docs/functions/Int32ArrayProperty.Parse.html +1 -1
  191. package/docs/functions/Int32ArrayProperty.Serialize.html +1 -1
  192. package/docs/functions/Int32Property.CalcOverhead.html +1 -1
  193. package/docs/functions/Int32Property.Parse.html +1 -1
  194. package/docs/functions/Int32Property.ReadValue.html +1 -1
  195. package/docs/functions/Int32Property.Serialize.html +1 -1
  196. package/docs/functions/Int32Property.SerializeValue.html +1 -1
  197. package/docs/functions/Int32SetProperty.Parse.html +1 -1
  198. package/docs/functions/Int32SetProperty.Serialize.html +1 -1
  199. package/docs/functions/Int64ArrayProperty.Parse.html +1 -1
  200. package/docs/functions/Int64ArrayProperty.Serialize.html +1 -1
  201. package/docs/functions/Int64Property.CalcOverhead.html +1 -1
  202. package/docs/functions/Int64Property.Parse.html +1 -1
  203. package/docs/functions/Int64Property.ReadValue.html +1 -1
  204. package/docs/functions/Int64Property.Serialize.html +1 -1
  205. package/docs/functions/Int64Property.SerializeValue.html +1 -1
  206. package/docs/functions/Int8Property.CalcOverhead.html +1 -1
  207. package/docs/functions/Int8Property.Parse.html +1 -1
  208. package/docs/functions/Int8Property.ReadValue.html +1 -1
  209. package/docs/functions/Int8Property.Serialize.html +1 -1
  210. package/docs/functions/Int8Property.SerializeValue.html +1 -1
  211. package/docs/functions/Level.ReadAllObjectContents.html +1 -1
  212. package/docs/functions/Level.ReadAllObjectHeaders.html +1 -1
  213. package/docs/functions/Level.ReadLevel.html +1 -1
  214. package/docs/functions/Level.ReadNObjectContents.html +1 -1
  215. package/docs/functions/Level.ReadNObjectHeaders.html +1 -1
  216. package/docs/functions/Level.SerializeAllObjectContents.html +1 -1
  217. package/docs/functions/Level.SerializeAllObjectHeaders.html +1 -1
  218. package/docs/functions/Level.SerializeLevel.html +1 -1
  219. package/docs/functions/LevelToDestroyedActorsMap.read.html +1 -0
  220. package/docs/functions/LevelToDestroyedActorsMap.write.html +1 -0
  221. package/docs/functions/MD5Hash.read.html +1 -1
  222. package/docs/functions/MD5Hash.write.html +1 -1
  223. package/docs/functions/MapProperty.CalcOverhead.html +1 -1
  224. package/docs/functions/MapProperty.Parse.html +1 -1
  225. package/docs/functions/MapProperty.Serialize.html +1 -1
  226. package/docs/functions/ObjectArrayProperty.Parse.html +1 -1
  227. package/docs/functions/ObjectArrayProperty.Serialize.html +1 -1
  228. package/docs/functions/ObjectProperty.CalcOverhead.html +1 -1
  229. package/docs/functions/ObjectProperty.Parse.html +1 -1
  230. package/docs/functions/ObjectProperty.ReadValue.html +1 -1
  231. package/docs/functions/ObjectProperty.Serialize.html +1 -1
  232. package/docs/functions/ObjectProperty.SerializeValue.html +1 -1
  233. package/docs/functions/ObjectReference.IsEqual.html +1 -1
  234. package/docs/functions/ObjectReference.read.html +1 -1
  235. package/docs/functions/ObjectReference.write.html +1 -1
  236. package/docs/functions/ObjectSetProperty.Parse.html +1 -1
  237. package/docs/functions/ObjectSetProperty.Serialize.html +1 -1
  238. package/docs/functions/ObjectsListSpecialProperties.Parse.html +1 -1
  239. package/docs/functions/ObjectsListSpecialProperties.Serialize.html +1 -1
  240. package/docs/functions/PlayerSpecialProperties.Parse.html +1 -1
  241. package/docs/functions/PlayerSpecialProperties.Serialize.html +1 -1
  242. package/docs/functions/PowerLineSpecialProperties.Parse.html +1 -1
  243. package/docs/functions/PowerLineSpecialProperties.Serialize.html +1 -1
  244. package/docs/functions/PropertiesList.ParseList.html +1 -1
  245. package/docs/functions/PropertiesList.ParseSingleProperty.html +1 -1
  246. package/docs/functions/PropertiesList.SerializeList.html +1 -1
  247. package/docs/functions/PropertiesList.SerializeSingleProperty.html +1 -1
  248. package/docs/functions/SatisfactorySaveHeader.Parse.html +1 -1
  249. package/docs/functions/SatisfactorySaveHeader.Serialize.html +1 -1
  250. package/docs/functions/SaveBodyChunks.CompressDataIntoChunks.html +1 -1
  251. package/docs/functions/SaveBodyChunks.DecompressChunks.html +1 -1
  252. package/docs/functions/SetProperty.CalcOverhead.html +1 -1
  253. package/docs/functions/SetProperty.Parse.html +1 -1
  254. package/docs/functions/SetProperty.Serialize.html +1 -1
  255. package/docs/functions/SoftObjectArrayProperty.Parse.html +1 -1
  256. package/docs/functions/SoftObjectArrayProperty.Serialize.html +1 -1
  257. package/docs/functions/SoftObjectReference.read.html +1 -1
  258. package/docs/functions/SoftObjectReference.write.html +1 -1
  259. package/docs/functions/SpecialDroneActionProperties.Parse.html +1 -1
  260. package/docs/functions/SpecialDroneActionProperties.Serialize.html +1 -1
  261. package/docs/functions/SpecialProperties.ParseClassSpecificSpecialProperties.html +1 -1
  262. package/docs/functions/SpecialProperties.SerializeClassSpecificSpecialProperties.html +1 -1
  263. package/docs/functions/StrArrayProperty.Parse.html +1 -1
  264. package/docs/functions/StrArrayProperty.Serialize.html +1 -1
  265. package/docs/functions/StrProperty.CalcOverhead.html +1 -1
  266. package/docs/functions/StrProperty.Parse.html +1 -1
  267. package/docs/functions/StrProperty.ReadValue.html +1 -1
  268. package/docs/functions/StrProperty.Serialize.html +1 -1
  269. package/docs/functions/StrProperty.SerializeValue.html +1 -1
  270. package/docs/functions/StrSetProperty.Parse.html +1 -1
  271. package/docs/functions/StrSetProperty.Serialize.html +1 -1
  272. package/docs/functions/StructArrayProperty.Parse.html +1 -1
  273. package/docs/functions/StructArrayProperty.Serialize.html +1 -1
  274. package/docs/functions/StructProperty.CalcOverhead.html +1 -1
  275. package/docs/functions/StructProperty.Parse.html +1 -1
  276. package/docs/functions/StructProperty.ParseValue.html +1 -1
  277. package/docs/functions/StructProperty.Serialize.html +1 -1
  278. package/docs/functions/StructProperty.SerializeValue.html +1 -1
  279. package/docs/functions/StructSetProperty.Parse.html +1 -1
  280. package/docs/functions/StructSetProperty.Serialize.html +1 -1
  281. package/docs/functions/TextArrayProperty.Parse.html +1 -1
  282. package/docs/functions/TextArrayProperty.Serialize.html +1 -1
  283. package/docs/functions/TextProperty.CalcOverhead.html +1 -1
  284. package/docs/functions/TextProperty.Parse.html +1 -1
  285. package/docs/functions/TextProperty.ReadValue.html +1 -1
  286. package/docs/functions/TextProperty.Serialize.html +1 -1
  287. package/docs/functions/TextProperty.SerializeValue.html +1 -1
  288. package/docs/functions/Transform.Parse.html +1 -1
  289. package/docs/functions/Transform.ParseF.html +1 -1
  290. package/docs/functions/Transform.Serialize.html +1 -1
  291. package/docs/functions/Transform.SerializeF.html +1 -1
  292. package/docs/functions/Uint32Property.CalcOverhead.html +1 -1
  293. package/docs/functions/Uint32Property.Parse.html +1 -1
  294. package/docs/functions/Uint32Property.ReadValue.html +1 -1
  295. package/docs/functions/Uint32Property.Serialize.html +1 -1
  296. package/docs/functions/Uint32Property.SerializeValue.html +1 -1
  297. package/docs/functions/Uint32SetProperty.Parse.html +1 -1
  298. package/docs/functions/Uint32SetProperty.Serialize.html +1 -1
  299. package/docs/functions/Uint64Property.CalcOverhead.html +1 -1
  300. package/docs/functions/Uint64Property.Parse.html +1 -1
  301. package/docs/functions/Uint64Property.ReadValue.html +1 -1
  302. package/docs/functions/Uint64Property.Serialize.html +1 -1
  303. package/docs/functions/Uint64Property.SerializeValue.html +1 -1
  304. package/docs/functions/Uint8Property.CalcOverhead.html +1 -1
  305. package/docs/functions/Uint8Property.Parse.html +1 -1
  306. package/docs/functions/Uint8Property.ReadValue.html +1 -1
  307. package/docs/functions/Uint8Property.Serialize.html +1 -1
  308. package/docs/functions/Uint8Property.SerializeValue.html +1 -1
  309. package/docs/functions/VehiclePhysicsData.Parse.html +1 -1
  310. package/docs/functions/VehiclePhysicsData.Serialize.html +1 -1
  311. package/docs/functions/VehicleSpecialProperties.Parse.html +1 -1
  312. package/docs/functions/VehicleSpecialProperties.Serialize.html +1 -1
  313. package/docs/functions/col4.ParseBGRA.html +1 -1
  314. package/docs/functions/col4.ParseRGBA.html +1 -1
  315. package/docs/functions/col4.SerializeBGRA.html +1 -1
  316. package/docs/functions/col4.SerializeRGBA.html +1 -1
  317. package/docs/functions/isArrayProperty.html +1 -1
  318. package/docs/functions/isBoolArrayProperty.html +1 -1
  319. package/docs/functions/isBoolProperty.html +1 -1
  320. package/docs/functions/isBuildableSubsystemSpecialProperties.html +1 -1
  321. package/docs/functions/isByteArrayProperty.html +1 -1
  322. package/docs/functions/isByteProperty.html +1 -1
  323. package/docs/functions/isCircuitSpecialProperties.html +1 -1
  324. package/docs/functions/isConveyorChainActorSpecialProperties.html +1 -1
  325. package/docs/functions/isConveyorSpecialProperties.html +1 -1
  326. package/docs/functions/isDoubleArrayProperty.html +1 -1
  327. package/docs/functions/isDoubleProperty.html +1 -1
  328. package/docs/functions/isEmptySpecialProperties.html +1 -1
  329. package/docs/functions/isEnumArrayProperty.html +1 -1
  330. package/docs/functions/isEnumProperty.html +1 -1
  331. package/docs/functions/isFloatArrayProperty.html +1 -1
  332. package/docs/functions/isFloatProperty.html +1 -1
  333. package/docs/functions/isInt32ArrayProperty.html +1 -1
  334. package/docs/functions/isInt32Property.html +1 -1
  335. package/docs/functions/isInt32SetProperty.html +1 -1
  336. package/docs/functions/isInt64ArrayProperty.html +1 -1
  337. package/docs/functions/isInt64Property.html +1 -1
  338. package/docs/functions/isInt8Property.html +1 -1
  339. package/docs/functions/isMapProperty.html +1 -1
  340. package/docs/functions/isObjectArrayProperty.html +1 -1
  341. package/docs/functions/isObjectProperty.html +1 -1
  342. package/docs/functions/isObjectSetProperty.html +1 -1
  343. package/docs/functions/isObjectsListSpecialProperties.html +1 -1
  344. package/docs/functions/isPlayerSpecialProperties.html +1 -1
  345. package/docs/functions/isPowerLineSpecialProperties.html +1 -1
  346. package/docs/functions/isSaveComponent.html +1 -1
  347. package/docs/functions/isSaveEntity.html +1 -1
  348. package/docs/functions/isSetProperty.html +1 -1
  349. package/docs/functions/isSoftObjectArrayProperty.html +1 -1
  350. package/docs/functions/isSpecialDroneActionProperties.html +1 -1
  351. package/docs/functions/isStrArrayProperty.html +1 -1
  352. package/docs/functions/isStrProperty.html +1 -1
  353. package/docs/functions/isStrSetProperty.html +1 -1
  354. package/docs/functions/isStructArrayProperty.html +1 -1
  355. package/docs/functions/isStructProperty.html +1 -1
  356. package/docs/functions/isStructSetProperty.html +1 -1
  357. package/docs/functions/isTextArrayProperty.html +1 -1
  358. package/docs/functions/isTextProperty.html +1 -1
  359. package/docs/functions/isUInt64Property.html +1 -1
  360. package/docs/functions/isUint32Property.html +1 -1
  361. package/docs/functions/isUint32SetProperty.html +1 -1
  362. package/docs/functions/isUint8Property.html +1 -1
  363. package/docs/functions/isVehicleSpecialProperties.html +1 -1
  364. package/docs/functions/vec2.Parse.html +1 -1
  365. package/docs/functions/vec2.ParseF.html +1 -1
  366. package/docs/functions/vec2.Serialize.html +1 -1
  367. package/docs/functions/vec2.SerializeF.html +1 -1
  368. package/docs/functions/vec3.Parse.html +1 -1
  369. package/docs/functions/vec3.ParseF.html +1 -1
  370. package/docs/functions/vec3.ParseInt.html +1 -1
  371. package/docs/functions/vec3.Serialize.html +1 -1
  372. package/docs/functions/vec3.SerializeF.html +1 -1
  373. package/docs/functions/vec3.SerializeInt.html +1 -1
  374. package/docs/functions/vec3.add.html +1 -1
  375. package/docs/functions/vec3.length.html +1 -1
  376. package/docs/functions/vec3.mult.html +1 -1
  377. package/docs/functions/vec3.norm.html +1 -1
  378. package/docs/functions/vec3.sub.html +1 -1
  379. package/docs/functions/vec4.Parse.html +1 -1
  380. package/docs/functions/vec4.ParseF.html +1 -1
  381. package/docs/functions/vec4.Serialize.html +1 -1
  382. package/docs/functions/vec4.SerializeF.html +1 -1
  383. package/docs/index.html +4 -4
  384. package/docs/interfaces/Blueprint.html +2 -2
  385. package/docs/interfaces/BlueprintConfig-1.html +2 -2
  386. package/docs/interfaces/SaveComponentHeader.html +2 -2
  387. package/docs/interfaces/SaveEntityHeader.html +2 -2
  388. package/docs/interfaces/SaveObjectHeader.html +2 -2
  389. package/docs/modules/AbstractBaseProperty.html +1 -1
  390. package/docs/modules/ArrayProperty.html +1 -1
  391. package/docs/modules/BlueprintConfig.html +1 -1
  392. package/docs/modules/BlueprintHeader.html +1 -1
  393. package/docs/modules/BoolArrayProperty.html +1 -1
  394. package/docs/modules/BoolProperty.html +1 -1
  395. package/docs/modules/BuildableSubsystemSpecialProperties.html +1 -1
  396. package/docs/modules/BuildableTypeInstance.html +1 -1
  397. package/docs/modules/ByteArrayProperty.html +1 -1
  398. package/docs/modules/ByteProperty.html +1 -1
  399. package/docs/modules/CircuitSpecialProperties.html +1 -1
  400. package/docs/modules/ConveyorChainActorSpecialProperties.html +1 -1
  401. package/docs/modules/ConveyorSpecialProperties.html +1 -1
  402. package/docs/modules/DoubleArrayProperty.html +1 -1
  403. package/docs/modules/DoubleProperty.html +1 -1
  404. package/docs/modules/DynamicStructPropertyValue.html +1 -1
  405. package/docs/modules/EmptySpecialProperties.html +1 -1
  406. package/docs/modules/EnumArrayProperty.html +1 -1
  407. package/docs/modules/EnumProperty.html +1 -1
  408. package/docs/modules/FGDynamicStruct.html +1 -1
  409. package/docs/modules/FICFrameRange.html +1 -1
  410. package/docs/modules/FloatArrayProperty.html +1 -1
  411. package/docs/modules/FloatProperty.html +1 -1
  412. package/docs/modules/GUID.html +1 -1
  413. package/docs/modules/GUIDInfo.html +1 -1
  414. package/docs/modules/Int32ArrayProperty.html +1 -1
  415. package/docs/modules/Int32Property.html +1 -1
  416. package/docs/modules/Int32SetProperty.html +1 -1
  417. package/docs/modules/Int64ArrayProperty.html +1 -1
  418. package/docs/modules/Int64Property.html +1 -1
  419. package/docs/modules/Int8Property.html +1 -1
  420. package/docs/modules/Level.html +1 -1
  421. package/docs/modules/LevelToDestroyedActorsMap.html +3 -0
  422. package/docs/modules/MD5Hash.html +1 -1
  423. package/docs/modules/MapProperty.html +1 -1
  424. package/docs/modules/ObjectArrayProperty.html +1 -1
  425. package/docs/modules/ObjectProperty.html +1 -1
  426. package/docs/modules/ObjectReference.html +1 -1
  427. package/docs/modules/ObjectSetProperty.html +1 -1
  428. package/docs/modules/ObjectsListSpecialProperties.html +1 -1
  429. package/docs/modules/PlayerSpecialProperties.html +1 -1
  430. package/docs/modules/PowerLineSpecialProperties.html +1 -1
  431. package/docs/modules/PropertiesList.html +1 -1
  432. package/docs/modules/SatisfactorySaveHeader.html +1 -1
  433. package/docs/modules/SaveBodyChunks.html +1 -1
  434. package/docs/modules/SetProperty.html +1 -1
  435. package/docs/modules/SoftObjectArrayProperty.html +1 -1
  436. package/docs/modules/SoftObjectReference.html +1 -1
  437. package/docs/modules/SpecialDroneActionProperties.html +1 -1
  438. package/docs/modules/SpecialProperties.html +1 -1
  439. package/docs/modules/StrArrayProperty.html +1 -1
  440. package/docs/modules/StrProperty.html +1 -1
  441. package/docs/modules/StrSetProperty.html +1 -1
  442. package/docs/modules/StructArrayProperty.html +1 -1
  443. package/docs/modules/StructProperty.html +1 -1
  444. package/docs/modules/StructSetProperty.html +1 -1
  445. package/docs/modules/TextArrayProperty.html +1 -1
  446. package/docs/modules/TextProperty.html +1 -1
  447. package/docs/modules/Transform.html +1 -1
  448. package/docs/modules/Uint32Property.html +1 -1
  449. package/docs/modules/Uint32SetProperty.html +1 -1
  450. package/docs/modules/Uint64Property.html +1 -1
  451. package/docs/modules/Uint8Property.html +1 -1
  452. package/docs/modules/VehiclePhysicsData.html +1 -1
  453. package/docs/modules/VehicleSpecialProperties.html +1 -1
  454. package/docs/modules/col4.html +1 -1
  455. package/docs/modules/vec2.html +1 -1
  456. package/docs/modules/vec3.html +1 -1
  457. package/docs/modules/vec4.html +1 -1
  458. package/docs/modules.html +6 -3
  459. package/docs/types/AbstractBaseProperty-1.html +1 -1
  460. package/docs/types/ArrayProperty.AvailableArrayPropertyTypes.html +1 -1
  461. package/docs/types/ArrayPropertyStructValueFields.html +1 -1
  462. package/docs/types/BasicMultipleStructPropertyValue.html +1 -1
  463. package/docs/types/BasicStructPropertyValue.html +1 -1
  464. package/docs/types/BlueprintHeader-1.html +1 -1
  465. package/docs/types/BoolArrayProperty-1.html +1 -1
  466. package/docs/types/BoolProperty-1.html +1 -1
  467. package/docs/types/BoxStructPropertyValue.html +1 -1
  468. package/docs/types/BuildableSubsystemSpecialProperties-1.html +1 -1
  469. package/docs/types/BuildableTypeInstance-1.html +1 -1
  470. package/docs/types/ByteArray4.html +1 -1
  471. package/docs/types/ByteArrayProperty-1.html +1 -1
  472. package/docs/types/ByteProperty-1.html +1 -1
  473. package/docs/types/BytePropertyValue.html +1 -1
  474. package/docs/types/ChunkCompressionInfo.html +1 -1
  475. package/docs/types/ChunkSummary.html +1 -1
  476. package/docs/types/CircuitSpecialProperties-1.html +1 -1
  477. package/docs/types/ClientIdentityInfo.html +1 -1
  478. package/docs/types/ConveyorChainActorSpecialProperties-1.html +1 -1
  479. package/docs/types/ConveyorChainSegmentSpecialProperties.html +1 -1
  480. package/docs/types/ConveyorItemSpecialProperties.html +1 -1
  481. package/docs/types/ConveyorSpecialProperties-1.html +1 -1
  482. package/docs/types/DoubleArrayProperty-1.html +1 -1
  483. package/docs/types/DoubleProperty-1.html +1 -1
  484. package/docs/types/DynamicStructPropertyValue-1.html +1 -1
  485. package/docs/types/EmptySpecialProperties-1.html +1 -1
  486. package/docs/types/EnumArrayProperty-1.html +1 -1
  487. package/docs/types/EnumProperty-1.html +1 -1
  488. package/docs/types/FGDynamicStruct-1.html +1 -1
  489. package/docs/types/FICFrameRange-1.html +1 -1
  490. package/docs/types/FICFrameRangeStructPropertyValue.html +1 -1
  491. package/docs/types/FloatArrayProperty-1.html +1 -1
  492. package/docs/types/FloatProperty-1.html +1 -1
  493. package/docs/types/GENERIC_MAP_KEY_TYPE.html +1 -1
  494. package/docs/types/GENERIC_MAP_VALUE_TYPE.html +1 -1
  495. package/docs/types/GENERIC_STRUCT_PROPERTY_VALUE.html +1 -1
  496. package/docs/types/GUID-1.html +1 -1
  497. package/docs/types/GUIDInfo-1.html +1 -1
  498. package/docs/types/Grids.html +1 -1
  499. package/docs/types/Int32ArrayProperty-1.html +1 -1
  500. package/docs/types/Int32Property-1.html +1 -1
  501. package/docs/types/Int32SetProperty-1.html +1 -1
  502. package/docs/types/Int64ArrayProperty-1.html +1 -1
  503. package/docs/types/Int64Property-1.html +1 -1
  504. package/docs/types/Int8Property-1.html +1 -1
  505. package/docs/types/InventoryItemStructPropertyValue.html +1 -1
  506. package/docs/types/Level-1.html +2 -2
  507. package/docs/types/LevelToDestroyedActorsMap-1.html +1 -0
  508. package/docs/types/Levels.html +1 -1
  509. package/docs/types/MAP_STRUCT_KEY_PROXY.html +1 -1
  510. package/docs/types/MD5Hash-1.html +1 -1
  511. package/docs/types/MapProperty-1.html +1 -1
  512. package/docs/types/ModData.html +1 -1
  513. package/docs/types/ObjectArrayProperty-1.html +1 -1
  514. package/docs/types/ObjectProperty-1.html +1 -1
  515. package/docs/types/ObjectReference-1.html +1 -1
  516. package/docs/types/ObjectSetProperty-1.html +1 -1
  517. package/docs/types/ObjectsListSpecialProperties-1.html +1 -1
  518. package/docs/types/PlayerSpecialProperties-1.html +1 -1
  519. package/docs/types/PowerLineSpecialProperties-1.html +1 -1
  520. package/docs/types/PropertiesMap.html +1 -1
  521. package/docs/types/RailroadTrackPositionStructPropertyValue.html +1 -1
  522. package/docs/types/RoughSaveVersion.html +1 -1
  523. package/docs/types/SatisfactoryModMetadata.html +1 -1
  524. package/docs/types/SatisfactorySaveHeader-1.html +1 -1
  525. package/docs/types/SaveBodyChunks-1.html +1 -1
  526. package/docs/types/SaveBodyValidation.html +1 -1
  527. package/docs/types/SetProperty.AvailableSetPropertyTypes.html +1 -1
  528. package/docs/types/SoftObjectArrayProperty-1.html +1 -1
  529. package/docs/types/SoftObjectReference-1.html +1 -1
  530. package/docs/types/SpecialDroneAction.html +1 -1
  531. package/docs/types/SpecialDroneActionProperties-1.html +1 -1
  532. package/docs/types/SpecialProperties.AvailableSpecialPropertiesTypes.html +1 -1
  533. package/docs/types/StrArrayProperty-1.html +1 -1
  534. package/docs/types/StrProperty-1.html +1 -1
  535. package/docs/types/StrSetProperty-1.html +1 -1
  536. package/docs/types/StructArrayProperty-1.html +1 -1
  537. package/docs/types/StructProperty-1.html +1 -1
  538. package/docs/types/StructSetProperty-1.html +1 -1
  539. package/docs/types/TextArrayProperty-1.html +1 -1
  540. package/docs/types/TextProperty-1.html +1 -1
  541. package/docs/types/TextPropertyValue.html +1 -1
  542. package/docs/types/Transform-1.html +1 -1
  543. package/docs/types/Uint32Property-1.html +1 -1
  544. package/docs/types/Uint32SetProperty-1.html +1 -1
  545. package/docs/types/Uint64Property-1.html +1 -1
  546. package/docs/types/Uint8Property-1.html +1 -1
  547. package/docs/types/VehiclePhysicsData-1.html +1 -1
  548. package/docs/types/VehicleSpecialProperties-1.html +1 -1
  549. package/docs/types/col4-1.html +1 -1
  550. package/docs/types/vec2-1.html +1 -1
  551. package/docs/types/vec3-1.html +1 -1
  552. package/docs/types/vec4-1.html +1 -1
  553. package/docs/variables/DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE.html +1 -1
  554. package/docs/variables/EDIT.html +2 -1
  555. package/docs/variables/SaveBodyChunks.HEADER_V1.html +1 -1
  556. package/docs/variables/SaveBodyChunks.HEADER_V2.html +1 -1
  557. package/jsr.json +6 -0
  558. package/package.json +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"save-custom-version.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-custom-version.ts"],"names":[],"mappings":";;;AAIA,IAAY,iBAiKX;AAjKD,WAAY,iBAAiB;IAEzB,uGAA+B,CAAA;IAG/B,6FAAsB,CAAA;IAGtB,qGAA0B,CAAA;IAG1B,2GAA6B,CAAA;IAG7B,6GAA8B,CAAA;IAG9B,+GAA+B,CAAA;IAG/B,+FAAuB,CAAA;IAGvB,mHAAiC,CAAA;IAGjC,+GAA+B,CAAA;IAG/B,2HAAqC,CAAA;IAGrC,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,0GAA4B,CAAA;IAG5B,4GAA6B,CAAA;IAG7B,oKAAyD,CAAA;IAGzD,wGAA2B,CAAA;IAG3B,oIAAyC,CAAA;IAGzC,0GAA4B,CAAA;IAG5B,gHAA+B,CAAA;IAG/B,kGAAwB,CAAA;IAGxB,kFAAgB,CAAA;IAGhB,0FAAoB,CAAA;IAIpB,0FAAoB,CAAA;IAGpB,gGAAuB,CAAA;IAGvB,wFAAmB,CAAA;IAGnB,sFAAkB,CAAA;IAGlB,gGAAuB,CAAA;IAGvB,4FAAqB,CAAA;IAGrB,kGAAwB,CAAA;IAGxB,8FAAsB,CAAA;IAGtB,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,gGAAuB,CAAA;IAGvB,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,4FAAqB,CAAA;IAGrB,4EAAa,CAAA;IAGb,kGAAwB,CAAA;IAGxB,wFAAmB,CAAA;IAGnB,kGAAwB,CAAA;IAGxB,kGAAwB,CAAA;IAGxB,wGAA2B,CAAA;IAG3B,0GAA4B,CAAA;IAG5B,sFAAkB,CAAA;IAGlB,sHAAkC,CAAA;IAGlC,kEAAQ,CAAA;IAGR,0EAAY,CAAA;IAGZ,oJAAiD,CAAA;IAGjD,0FAAoB,CAAA;IAGpB,sGAA0B,CAAA;IAG1B,4HAAqC,CAAA;IAGrC,8EAAc,CAAA;IACd,4EAAkC,CAAA;AACtC,CAAC,EAjKW,iBAAiB,iCAAjB,iBAAiB,QAiK5B;AAAA,CAAC","sourcesContent":["\n/**\n * Source: SaveCustomVersion.h\n */\nexport enum SaveCustomVersion {\n /** 2016/12/20 - Initial version of the save system, saves some character stuff like inventory and health */\n BeforeCustomVersionWasAdded = 0,\n\n /** 2017/01/23 - Now storing transform for all saved actors */\n DROPPED_StoreTransform,\n\n /** 2017/01/25 - Change object header, stops storing map name in savefile. Breaks all backward compability */\n DROPPED_ChangeObjectHeader,\n\n /** 2017/01/30 - Changed serialization of property names to strings instead of ints. Breaks all backward compability */\n DROPPED_PropertyTagsAsStrings,\n\n /** 2017/01/31 - Now store the body state of all vehicles */\n DROPPED_StoreVehiclesBodyState,\n\n /** 2017/02/13 - Store if a actor was stored in the level in the actor TOC */\n DROPPED_ActorPlacedInLevelSaved,\n\n /** 2017/05/02 - Removed outer from save in actor header, now it's saved as a part of the actors property set */\n DROPPED_MovedActorOuter,\n\n /** 2017/05/23 - Rewrote power connections to use actor components. */\n DROPPED_PowerConnectionComponents,\n\n // 2017-10-09: Serialize train timetable\n DROPPED_SerializeTrainTimetable,\n\n // 2017-10-27: FactoryConnection transform converted from World to local\n DROPPED_FactoryConnectionWorldToLocal,\n\n // 2017-11-03: Circuits are now objects and not structs.\n DROPPED_CircuitObjects,\n\n // 2018-02-12: DockingStations now only have one inventory\n DROPPED_DockingStationSingleInventory,\n\n // 2018-03-06: Saving build shortcuts\n DROPPED_SavingBuildShortcuts,\n\n // 2018-04-05 Game Phase manager has been added and functionality has been moved from GameState.\n DROPPED_GamePhaseManagerAdded,\n\n // 2018-10-25 No longer save relative transforms for UFGConnectionComponent.\n DROPPED_RemovedRelativeTransformsFromConnectionComponents,\n\n // 2018-11-19 OnlineSubsystemMCP - Restore a lost pawn since we didn't have peoples EpicID\n DROPPED_MCP_RestoreLostPawn,\n\n // 2018-11-19 Wires no longer save locations, they span between connection components instead\n DROPPED_WireSpanFromConnnectionComponents,\n\n // 2019-01-30 Renamed SaveSessionId\n DROPPED_RenamedSaveSessionId,\n\n // 2019-06-20 GeoThermal generators didn't save resource nodes prior to this which results with issues when being dismantled\n ChangedGeoThermalGeneratorSaved,\n\n // 2019-06-24 NewRailroadSerialization to overwrite old railroad data\n OverwriteOldRailroadData,\n\n // 2019-07-24 Due to a bug in the network optimizations the legs data where trashed, reseting the legs to zero is the best option.\n ResetFactoryLegs,\n\n // 2019-08-28 The large portion of the save file is now compressed. The header is still intact at the start of the file but after that it is compressed with ZLIB.\n SaveFileIsCompressed,\n\n // 2020-02-09: This is so we can check if a save is older than BU3 and do certain migrations. \n // For example save old number of inventory and arm slots to new system\n BU3SaveCompatibility,\n\n // 2020-03-19: Factory Colors have been converted to Linear Color. The buildable subsystem needs to convert from FColor to Linear Color overriding the defaults\n BuildingColorConversion,\n\n // 2020-04-21 Lizard doggos that had the friend status set but did not have a valid spawner saved will be recoupled with their spawner so that they are not killed bc of orphan status\n RescuedFriendDoggos,\n\n // 2020-06-02 Check if we have saved items in our inventory that is relevant to know if they are picked up\n CheckPickedUpItems,\n\n // 2021-02-05 Migrate Building Colros to FCustomUserColorData\n PerInstanceCustomColors,\n\n // 2021-09-14 Fix incorrect positioning of double ramp meshes. We then adjust position of double ramps in older saves in order to account for the change.\n DoubleRampPositioning,\n\n // 2021-09-21 Migrate FGTrain from native only to a blueprint class BP_Train.\n TrainBlueprintClassAdded,\n\n // 2021-12-03: Added sublevel streaming support\n AddedSublevelStreaming,\n\n // 2022-08-10: Added additional track progression path to resource sink subsystem\n AddedResourceSinkTrack,\n\n // 2022-07-28: Added Coloring support to concrete pillars, in post load we check if the swatch if the default one, if so we swap it with concrete.\n AddedColoringSupportToConcretePillars,\n\n // 2022-10-24: Readded since AddedColoringSupportToConcretePillars was merged to main\n AddedResourceSinkTrack2,\n\n // 2022-10-18: Added Cached locations for wire locations for use in visualization in blueprint hologram (can't depend on connection components)\n AddedCachedLocationsForWire,\n\n // 2022-11-17: Added migration of inventories from the old splitters and mergers to the new ones that have a smaller inventories.\n ReworkedSplittersAndMergers,\n\n // 2022-11-23: Added new productivity monitor implementation.\n ReworkedProductivityMonitor,\n\n // 2022-11-25: Nativized shopping list and added blueprint support.\n NativizedShoppingList,\n\n // 2022-07-05: Unreal Engine 5 support\n UnrealEngine5,\n\n // 2022-11-10: Added support for partitioned worlds in conjunction to sub-level saving \n IntroducedWorldPartition,\n\n // 2023-01-09: Tobias: Refactored drone actions to no longer be uobjects in order to fix a crash.\n DroneActionRefactor,\n\n // 2023-01-13: Tobias: Refactored wires to support multiple wire meshes.\n MultipleWireMeshRefactor,\n\n // 2023-01-11: Switched FArchive support to be 64bit in SaveSession\n SwitchTo64BitSaveArchive,\n\n // 20223-06-14: Added PostLoad corrections for splines built from Blueprints (they were broken do to them being now rendered by a shader)\n ResetBrokenBlueprintSplines,\n\n // 2023-09-15: Inventory Item State Refactor - now we save ItemState on FInventoryItems as a FGDynamicStruct, as opposed to AActor pointer\n RefactoredInventoryItemState,\n\n // 2024-04-03: Save version to ensure the paint finishes are in the save data.\n AddedPaintFinishes,\n\n // 2024-06-25: Normailzed Arrive / Leave tangents for conveyor chain spline points on load (this is a migration to mimic current spline generation code)\n NormalizeChainSplineArriveAndLeave,\n\n // 2024-06-04: Arbitrary \"1.0\" version\n Version1,\n\n // 2025-03-12: Tobias: I refactored the poles (conveyor / pipe) a while ago, but missed some save migration code necessary for the pipe poles so I'm adding this now\n PoleRefactor,\n\n // 2025-03-18: Lightweight Buildable Subsystem serializes lightweight buildable version now, to avoid having to bump the save version when updating serialization format for lightweights\n LightweightBuildableSubsystemWritesRuntimeVersion,\n\n // 2025-03-24: ObjectFlags are now serialized for objects and actors during saving. NOTE: Versions from this version till SerializePerStreamableLevelTOCVersion are VOLATILE and might lose sublevel data!!\n SerializeObjectFlags,\n\n // 2025-03-26: Back-to-back railroad switches.\n BackToBackRailroadSwitches,\n\n // 2025-03-28: Serialize per Streamable Level TOC version rather than using the persistent level version for all streamable levels TOC serialization\n SerializePerStreamableLevelTOCVersion,\n\n // -----<new versions can be added above this line>-------------------------------------------------\n VersionPlusOne,\n LatestVersion = VersionPlusOne - 1\n};"]}
1
+ {"version":3,"file":"save-custom-version.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-custom-version.ts"],"names":[],"mappings":";;;AAIA,IAAY,iBAoKX;AApKD,WAAY,iBAAiB;IAEzB,uGAA+B,CAAA;IAG/B,6FAAsB,CAAA;IAGtB,qGAA0B,CAAA;IAG1B,2GAA6B,CAAA;IAG7B,6GAA8B,CAAA;IAG9B,+GAA+B,CAAA;IAG/B,+FAAuB,CAAA;IAGvB,mHAAiC,CAAA;IAGjC,+GAA+B,CAAA;IAG/B,2HAAqC,CAAA;IAGrC,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,0GAA4B,CAAA;IAG5B,4GAA6B,CAAA;IAG7B,oKAAyD,CAAA;IAGzD,wGAA2B,CAAA;IAG3B,oIAAyC,CAAA;IAGzC,0GAA4B,CAAA;IAG5B,gHAA+B,CAAA;IAG/B,kGAAwB,CAAA;IAGxB,kFAAgB,CAAA;IAGhB,0FAAoB,CAAA;IAIpB,0FAAoB,CAAA;IAGpB,gGAAuB,CAAA;IAGvB,wFAAmB,CAAA;IAGnB,sFAAkB,CAAA;IAGlB,gGAAuB,CAAA;IAGvB,4FAAqB,CAAA;IAGrB,kGAAwB,CAAA;IAGxB,8FAAsB,CAAA;IAGtB,8FAAsB,CAAA;IAGtB,4HAAqC,CAAA;IAGrC,gGAAuB,CAAA;IAGvB,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,wGAA2B,CAAA;IAG3B,4FAAqB,CAAA;IAGrB,4EAAa,CAAA;IAGb,kGAAwB,CAAA;IAGxB,wFAAmB,CAAA;IAGnB,kGAAwB,CAAA;IAGxB,kGAAwB,CAAA;IAGxB,wGAA2B,CAAA;IAG3B,0GAA4B,CAAA;IAG5B,sFAAkB,CAAA;IAGlB,sHAAkC,CAAA;IAGlC,kEAAQ,CAAA;IAGR,0EAAY,CAAA;IAGZ,oJAAiD,CAAA;IAGjD,0FAAoB,CAAA;IAGpB,sGAA0B,CAAA;IAG1B,4HAAqC,CAAA;IAGrC,8GAA8B,CAAA;IAG9B,8EAAc,CAAA;IACd,4EAAkC,CAAA;AACtC,CAAC,EApKW,iBAAiB,iCAAjB,iBAAiB,QAoK5B;AAAA,CAAC","sourcesContent":["\n/**\n * Source: SaveCustomVersion.h\n */\nexport enum SaveCustomVersion {\n /** 2016/12/20 - Initial version of the save system, saves some character stuff like inventory and health */\n BeforeCustomVersionWasAdded = 0,\n\n /** 2017/01/23 - Now storing transform for all saved actors */\n DROPPED_StoreTransform,\n\n /** 2017/01/25 - Change object header, stops storing map name in savefile. Breaks all backward compability */\n DROPPED_ChangeObjectHeader,\n\n /** 2017/01/30 - Changed serialization of property names to strings instead of ints. Breaks all backward compability */\n DROPPED_PropertyTagsAsStrings,\n\n /** 2017/01/31 - Now store the body state of all vehicles */\n DROPPED_StoreVehiclesBodyState,\n\n /** 2017/02/13 - Store if a actor was stored in the level in the actor TOC */\n DROPPED_ActorPlacedInLevelSaved,\n\n /** 2017/05/02 - Removed outer from save in actor header, now it's saved as a part of the actors property set */\n DROPPED_MovedActorOuter,\n\n /** 2017/05/23 - Rewrote power connections to use actor components. */\n DROPPED_PowerConnectionComponents,\n\n // 2017-10-09: Serialize train timetable\n DROPPED_SerializeTrainTimetable,\n\n // 2017-10-27: FactoryConnection transform converted from World to local\n DROPPED_FactoryConnectionWorldToLocal,\n\n // 2017-11-03: Circuits are now objects and not structs.\n DROPPED_CircuitObjects,\n\n // 2018-02-12: DockingStations now only have one inventory\n DROPPED_DockingStationSingleInventory,\n\n // 2018-03-06: Saving build shortcuts\n DROPPED_SavingBuildShortcuts,\n\n // 2018-04-05 Game Phase manager has been added and functionality has been moved from GameState.\n DROPPED_GamePhaseManagerAdded,\n\n // 2018-10-25 No longer save relative transforms for UFGConnectionComponent.\n DROPPED_RemovedRelativeTransformsFromConnectionComponents,\n\n // 2018-11-19 OnlineSubsystemMCP - Restore a lost pawn since we didn't have peoples EpicID\n DROPPED_MCP_RestoreLostPawn,\n\n // 2018-11-19 Wires no longer save locations, they span between connection components instead\n DROPPED_WireSpanFromConnnectionComponents,\n\n // 2019-01-30 Renamed SaveSessionId\n DROPPED_RenamedSaveSessionId,\n\n // 2019-06-20 GeoThermal generators didn't save resource nodes prior to this which results with issues when being dismantled\n ChangedGeoThermalGeneratorSaved,\n\n // 2019-06-24 NewRailroadSerialization to overwrite old railroad data\n OverwriteOldRailroadData,\n\n // 2019-07-24 Due to a bug in the network optimizations the legs data where trashed, reseting the legs to zero is the best option.\n ResetFactoryLegs,\n\n // 2019-08-28 The large portion of the save file is now compressed. The header is still intact at the start of the file but after that it is compressed with ZLIB.\n SaveFileIsCompressed,\n\n // 2020-02-09: This is so we can check if a save is older than BU3 and do certain migrations. \n // For example save old number of inventory and arm slots to new system\n BU3SaveCompatibility,\n\n // 2020-03-19: Factory Colors have been converted to Linear Color. The buildable subsystem needs to convert from FColor to Linear Color overriding the defaults\n BuildingColorConversion,\n\n // 2020-04-21 Lizard doggos that had the friend status set but did not have a valid spawner saved will be recoupled with their spawner so that they are not killed bc of orphan status\n RescuedFriendDoggos,\n\n // 2020-06-02 Check if we have saved items in our inventory that is relevant to know if they are picked up\n CheckPickedUpItems,\n\n // 2021-02-05 Migrate Building Colros to FCustomUserColorData\n PerInstanceCustomColors,\n\n // 2021-09-14 Fix incorrect positioning of double ramp meshes. We then adjust position of double ramps in older saves in order to account for the change.\n DoubleRampPositioning,\n\n // 2021-09-21 Migrate FGTrain from native only to a blueprint class BP_Train.\n TrainBlueprintClassAdded,\n\n // 2021-12-03: Added sublevel streaming support\n AddedSublevelStreaming,\n\n // 2022-08-10: Added additional track progression path to resource sink subsystem\n AddedResourceSinkTrack,\n\n // 2022-07-28: Added Coloring support to concrete pillars, in post load we check if the swatch if the default one, if so we swap it with concrete.\n AddedColoringSupportToConcretePillars,\n\n // 2022-10-24: Readded since AddedColoringSupportToConcretePillars was merged to main\n AddedResourceSinkTrack2,\n\n // 2022-10-18: Added Cached locations for wire locations for use in visualization in blueprint hologram (can't depend on connection components)\n AddedCachedLocationsForWire,\n\n // 2022-11-17: Added migration of inventories from the old splitters and mergers to the new ones that have a smaller inventories.\n ReworkedSplittersAndMergers,\n\n // 2022-11-23: Added new productivity monitor implementation.\n ReworkedProductivityMonitor,\n\n // 2022-11-25: Nativized shopping list and added blueprint support.\n NativizedShoppingList,\n\n // 2022-07-05: Unreal Engine 5 support\n UnrealEngine5,\n\n // 2022-11-10: Added support for partitioned worlds in conjunction to sub-level saving \n IntroducedWorldPartition,\n\n // 2023-01-09: Tobias: Refactored drone actions to no longer be uobjects in order to fix a crash.\n DroneActionRefactor,\n\n // 2023-01-13: Tobias: Refactored wires to support multiple wire meshes.\n MultipleWireMeshRefactor,\n\n // 2023-01-11: Switched FArchive support to be 64bit in SaveSession\n SwitchTo64BitSaveArchive,\n\n // 20223-06-14: Added PostLoad corrections for splines built from Blueprints (they were broken do to them being now rendered by a shader)\n ResetBrokenBlueprintSplines,\n\n // 2023-09-15: Inventory Item State Refactor - now we save ItemState on FInventoryItems as a FGDynamicStruct, as opposed to AActor pointer\n RefactoredInventoryItemState,\n\n // 2024-04-03: Save version to ensure the paint finishes are in the save data.\n AddedPaintFinishes,\n\n // 2024-06-25: Normailzed Arrive / Leave tangents for conveyor chain spline points on load (this is a migration to mimic current spline generation code)\n NormalizeChainSplineArriveAndLeave,\n\n // 2024-06-04: Arbitrary \"1.0\" version\n Version1,\n\n // 2025-03-12: Tobias: I refactored the poles (conveyor / pipe) a while ago, but missed some save migration code necessary for the pipe poles so I'm adding this now\n PoleRefactor,\n\n // 2025-03-18: Lightweight Buildable Subsystem serializes lightweight buildable version now, to avoid having to bump the save version when updating serialization format for lightweights\n LightweightBuildableSubsystemWritesRuntimeVersion,\n\n // 2025-03-24: ObjectFlags are now serialized for objects and actors during saving. NOTE: Versions from this version till SerializePerStreamableLevelTOCVersion are VOLATILE and might lose sublevel data!!\n SerializeObjectFlags,\n\n // 2025-03-26: Back-to-back railroad switches.\n BackToBackRailroadSwitches,\n\n // 2025-03-28: Serialize per Streamable Level TOC version rather than using the persistent level version for all streamable levels TOC serialization\n SerializePerStreamableLevelTOCVersion,\n\n // 2025-04-23: Cleaning up invalid train track connections for saves prior to 1.1. Clears out ghost / teleporting connections and adds railroad switches where needed if there's a junction that doesn't have them.\n RailroadTrackConnectionCleanup,\n\n // -----<new versions can be added above this line>-------------------------------------------------\n VersionPlusOne,\n LatestVersion = VersionPlusOne - 1\n};"]}
@@ -13,6 +13,8 @@ export declare enum SaveHeaderType {
13
13
  AddedWorldPartitionSupport = 11,
14
14
  AddedSaveModificationChecksum = 12,
15
15
  AddedIsCreativeModeEnabled = 13,
16
- AddedSaveName = 14
16
+ AddedSaveName = 14,
17
+ VersionPlusOne = 15,
18
+ LatestVersion = 14
17
19
  }
18
20
  //# sourceMappingURL=save-header-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"save-header-type.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-header-type.ts"],"names":[],"mappings":"AAIA,oBAAY,cAAc;IACtB,cAAc,IAAI;IAGlB,qBAAqB,IAAA;IAGrB,cAAc,IAAA;IAGd,iBAAiB,IAAA;IAGjB,+BAA+B,IAAA;IAG/B,sBAAsB,IAAA;IAGtB,gBAAgB,IAAA;IAGhB,iBAAiB,IAAA;IAGjB,kBAAkB,IAAA;IAGlB,iBAAiB,IAAA;IAGjB,mBAAmB,KAAA;IAGnB,0BAA0B,KAAA;IAG1B,6BAA6B,KAAA;IAG7B,0BAA0B,KAAA;IAG1B,aAAa,KAAA;CAChB"}
1
+ {"version":3,"file":"save-header-type.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-header-type.ts"],"names":[],"mappings":"AAIA,oBAAY,cAAc;IACtB,cAAc,IAAI;IAGlB,qBAAqB,IAAA;IAGrB,cAAc,IAAA;IAGd,iBAAiB,IAAA;IAGjB,+BAA+B,IAAA;IAG/B,sBAAsB,IAAA;IAGtB,gBAAgB,IAAA;IAGhB,iBAAiB,IAAA;IAGjB,kBAAkB,IAAA;IAGlB,iBAAiB,IAAA;IAGjB,mBAAmB,KAAA;IAGnB,0BAA0B,KAAA;IAG1B,6BAA6B,KAAA;IAG7B,0BAA0B,KAAA;IAG1B,aAAa,KAAA;IAGb,cAAc,KAAA;IACd,aAAa,KAAqB;CACrC"}
@@ -18,5 +18,7 @@ var SaveHeaderType;
18
18
  SaveHeaderType[SaveHeaderType["AddedSaveModificationChecksum"] = 12] = "AddedSaveModificationChecksum";
19
19
  SaveHeaderType[SaveHeaderType["AddedIsCreativeModeEnabled"] = 13] = "AddedIsCreativeModeEnabled";
20
20
  SaveHeaderType[SaveHeaderType["AddedSaveName"] = 14] = "AddedSaveName";
21
+ SaveHeaderType[SaveHeaderType["VersionPlusOne"] = 15] = "VersionPlusOne";
22
+ SaveHeaderType[SaveHeaderType["LatestVersion"] = 14] = "LatestVersion";
21
23
  })(SaveHeaderType || (exports.SaveHeaderType = SaveHeaderType = {}));
22
24
  //# sourceMappingURL=save-header-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"save-header-type.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-header-type.ts"],"names":[],"mappings":";;;AAIA,IAAY,cA4CX;AA5CD,WAAY,cAAc;IACtB,uEAAkB,CAAA;IAGlB,qFAAqB,CAAA;IAGrB,uEAAc,CAAA;IAGd,6EAAiB,CAAA;IAGjB,yGAA+B,CAAA;IAG/B,uFAAsB,CAAA;IAGtB,2EAAgB,CAAA;IAGhB,6EAAiB,CAAA;IAGjB,+EAAkB,CAAA;IAGlB,6EAAiB,CAAA;IAGjB,kFAAmB,CAAA;IAGnB,gGAA0B,CAAA;IAG1B,sGAA6B,CAAA;IAG7B,gGAA0B,CAAA;IAG1B,sEAAa,CAAA;AACjB,CAAC,EA5CW,cAAc,8BAAd,cAAc,QA4CzB","sourcesContent":["\n/**\n * Source: FGSaveManagerInterface.h\n */\nexport enum SaveHeaderType {\n InitialVersion = 0,\n\n // @2017-01-20: Added BuildVersion, MapName and MapOptions\n PrepareForLoadingMaps,\n\n // @2017-02-07: Added SessionId for autosaves\n AddedSessionId,\n\n // @2018-02-23 Added PlayDuration to header\n AddedPlayDuration,\n\n // @2018-04-10 SessionID from int32 to FString, also added when the save was saved\n SessionIDStringAndSaveTimeAdded,\n\n // @2019-01-15 Added session visibility to the header so we can set it up with the same visibility\n AddedSessionVisibility,\n\n // @2019-06-19 This was put in the wrong save version thingy and is now on experimental so can't remove it.\n LookAtTheComment,\n\n // @2021-01-22 UE4.25 Engine Upgrade. FEditorObjectVersion Changes occurred (notably with FText serialization)\n UE425EngineUpdate,\n\n // @2021-03-24 Added Modding properties and support\n AddedModdingParams,\n\n // @2021-04-15 UE4.26 Engine Upgrade. FEditorObjectVersion Changes occurred\n UE426EngineUpdate,\n\n // @2022-03-22 Added GUID to identify saves, it is for analytics purposes.\n AddedSaveIdentifier,\n\n // @2022-11-14 Added support for partitioned worlds (UE5)\n AddedWorldPartitionSupport,\n\n // @2023-03-08 Added checksum to detect save game modifications.\n AddedSaveModificationChecksum,\n\n // @2023-04-18 Added variable to indicate if creative mode is enabled for this save.\n AddedIsCreativeModeEnabled,\n\n // @2024-09-12 Added saveName to the header to have proper names on Consoles\t<FL> [bgr]\n AddedSaveName,\n}"]}
1
+ {"version":3,"file":"save-header-type.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-header-type.ts"],"names":[],"mappings":";;;AAIA,IAAY,cAgDX;AAhDD,WAAY,cAAc;IACtB,uEAAkB,CAAA;IAGlB,qFAAqB,CAAA;IAGrB,uEAAc,CAAA;IAGd,6EAAiB,CAAA;IAGjB,yGAA+B,CAAA;IAG/B,uFAAsB,CAAA;IAGtB,2EAAgB,CAAA;IAGhB,6EAAiB,CAAA;IAGjB,+EAAkB,CAAA;IAGlB,6EAAiB,CAAA;IAGjB,kFAAmB,CAAA;IAGnB,gGAA0B,CAAA;IAG1B,sGAA6B,CAAA;IAG7B,gGAA0B,CAAA;IAG1B,sEAAa,CAAA;IAGb,wEAAc,CAAA;IACd,sEAAkC,CAAA;AACtC,CAAC,EAhDW,cAAc,8BAAd,cAAc,QAgDzB","sourcesContent":["\n/**\n * Source: FGSaveManagerInterface.h\n */\nexport enum SaveHeaderType {\n InitialVersion = 0,\n\n // @2017-01-20: Added BuildVersion, MapName and MapOptions\n PrepareForLoadingMaps,\n\n // @2017-02-07: Added SessionId for autosaves\n AddedSessionId,\n\n // @2018-02-23 Added PlayDuration to header\n AddedPlayDuration,\n\n // @2018-04-10 SessionID from int32 to FString, also added when the save was saved\n SessionIDStringAndSaveTimeAdded,\n\n // @2019-01-15 Added session visibility to the header so we can set it up with the same visibility\n AddedSessionVisibility,\n\n // @2019-06-19 This was put in the wrong save version thingy and is now on experimental so can't remove it.\n LookAtTheComment,\n\n // @2021-01-22 UE4.25 Engine Upgrade. FEditorObjectVersion Changes occurred (notably with FText serialization)\n UE425EngineUpdate,\n\n // @2021-03-24 Added Modding properties and support\n AddedModdingParams,\n\n // @2021-04-15 UE4.26 Engine Upgrade. FEditorObjectVersion Changes occurred\n UE426EngineUpdate,\n\n // @2022-03-22 Added GUID to identify saves, it is for analytics purposes.\n AddedSaveIdentifier,\n\n // @2022-11-14 Added support for partitioned worlds (UE5)\n AddedWorldPartitionSupport,\n\n // @2023-03-08 Added checksum to detect save game modifications.\n AddedSaveModificationChecksum,\n\n // @2023-04-18 Added variable to indicate if creative mode is enabled for this save.\n AddedIsCreativeModeEnabled,\n\n // @2024-09-12 Added saveName to the header to have proper names on Consoles\t<FL> [bgr]\n AddedSaveName,\n\n // -----<new versions can be added above this line>-----\n VersionPlusOne,\n LatestVersion = VersionPlusOne - 1 // Last version to use\n}"]}
@@ -1,5 +1,5 @@
1
1
  import { ContextReader } from '../../context/context-reader';
2
- import { Level } from './level.class';
2
+ import { Level } from './level';
3
3
  import { ChunkCompressionInfo } from './save-body-chunks';
4
4
  import { RoughSaveVersion } from './save.types';
5
5
  export declare const DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;
@@ -1 +1 @@
1
- {"version":3,"file":"save-reader.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAkB,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;CAClB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IACnB,CAAC,UAAU,EAAE,MAAM,GAAG;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE;YACT,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;SACvB,CAAA;KACD,CAAA;CACD,CAAC;AACF,qBAAa,UAAW,SAAQ,aAAa;IAKI,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI;IAF5G,gBAAuB,WAAW,uBAAuB;gBAE7C,UAAU,EAAE,eAAe,EAAS,kBAAkB,GAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAgB;IAIjH,MAAM,UAAW,GAAG,YAAY,GAAG,UAIxC;IAEF,OAAc,mBAAmB,gBAAiB,MAAM,KAAG,gBAAgB,CAYzE;IACF,OAAc,yBAAyB,gBAAiB,MAAM,aAA4E;IAC1I,OAAc,uBAAuB,gBAAiB,MAAM,aAA+C;IAC3G,OAAc,uBAAuB,gBAAiB,MAAM,aAAoD;IAChH,OAAc,0BAA0B,gBAAiB,MAAM,aAA6D;IAErH,aAAa,IAAI;QAAE,eAAe,EAAE,oBAAoB,CAAA;KAAE;IAoB1D,gBAAgB,QAAO,kBAAkB,CAsB9C;IAEK,SAAS,QAAO,KAAK,CAiC1B;IAEK,UAAU,IAAI;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;KAAE;CA2BpD"}
1
+ {"version":3,"file":"save-reader.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAkB,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;CAClB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IACnB,CAAC,UAAU,EAAE,MAAM,GAAG;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE;YACT,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;SACvB,CAAA;KACD,CAAA;CACD,CAAC;AACF,qBAAa,UAAW,SAAQ,aAAa;IAKI,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI;IAF5G,gBAAuB,WAAW,uBAAuB;gBAE7C,UAAU,EAAE,eAAe,EAAS,kBAAkB,GAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAgB;IAIjH,MAAM,UAAW,GAAG,YAAY,GAAG,KAAG,IAAI,CAI/C;IAEF,OAAc,mBAAmB,gBAAiB,MAAM,KAAG,gBAAgB,CAYzE;IACF,OAAc,yBAAyB,gBAAiB,MAAM,aAA4E;IAC1I,OAAc,uBAAuB,gBAAiB,MAAM,aAA+C;IAC3G,OAAc,uBAAuB,gBAAiB,MAAM,aAAoD;IAChH,OAAc,0BAA0B,gBAAiB,MAAM,aAA6D;IAErH,aAAa,IAAI;QAAE,eAAe,EAAE,oBAAoB,CAAA;KAAE;IAoB1D,gBAAgB,QAAO,kBAAkB,CAsB9C;IAEK,SAAS,QAAO,KAAK,CAiC1B;IAEK,UAAU,IAAI;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;KAAE;CA2BpD"}
@@ -4,7 +4,7 @@ exports.SaveReader = exports.DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = void 0;
4
4
  const alignment_enum_1 = require("../../byte/alignment.enum");
5
5
  const context_reader_1 = require("../../context/context-reader");
6
6
  const parser_error_1 = require("../../error/parser.error");
7
- const level_class_1 = require("./level.class");
7
+ const level_1 = require("./level");
8
8
  const save_body_chunks_1 = require("./save-body-chunks");
9
9
  const save_custom_version_1 = require("./save-custom-version");
10
10
  exports.DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;
@@ -84,7 +84,7 @@ class SaveReader extends context_reader_1.ContextReader {
84
84
  if (i % 500 === 0) {
85
85
  this.onProgressCallback(this.getBufferProgress(), `reading level [${(i + 1)}/${(levelCount + 1)}] ${levelSingleName}`);
86
86
  }
87
- levels[levelSingleName] = level_class_1.Level.ReadLevel(this, levelSingleName);
87
+ levels[levelSingleName] = level_1.Level.ReadLevel(this, levelSingleName);
88
88
  }
89
89
  return levels;
90
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"save-reader.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":"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","sourcesContent":["import { Alignment } from '../../byte/alignment.enum';\nimport { ContextReader } from '../../context/context-reader';\nimport { CorruptSaveError, ParserError, UnsupportedVersionError } from '../../error/parser.error';\nimport { Level } from './level.class';\nimport { ChunkCompressionInfo, SaveBodyChunks } from './save-body-chunks';\nimport { SaveCustomVersion } from './save-custom-version';\nimport { RoughSaveVersion } from './save.types';\n\n\nexport const DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;\n\nexport type ByteArray4 = [number, number, number, number];\n\nexport type SaveBodyValidation = {\n\tversion: number;\n\thash1: ByteArray4;\n\thash2: ByteArray4;\n}\n\nexport type Grids = {\n\t[parentName: string]: {\n\t\tcellSize: number;\n\t\tgridHash: number;\n\t\tchildren: {\n\t\t\t[name: string]: number;\t// children object contains names and their binary size.\n\t\t}\n\t}\n};\nexport class SaveReader extends ContextReader {\n\n\t// the number of .net ticks at the unix epoch\n\tpublic static readonly EPOCH_TICKS = 621355968000000000n;\n\n\tconstructor(fileBuffer: ArrayBufferLike, public onProgressCallback: (progress: number, msg?: string) => void = () => { }) {\n\t\tsuper(fileBuffer, Alignment.LITTLE_ENDIAN);\n\t}\n\n\tpublic expect = (value: any, expected: any) => {\n\t\tif (value !== expected) {\n\t\t\tconsole.warn(`Read a value that's usually ${expected}, but this time ${value}. Meaning unclear. Raise an issue or contact me if you want.`);\n\t\t}\n\t};\n\n\tpublic static GetRoughSaveVersion = (saveVersion: number): RoughSaveVersion => {\n\t\tif (SaveReader.IsGameVersionAtLeast_U1_1(saveVersion)) {\n\t\t\treturn 'U1.1+';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U1(saveVersion)) {\n\t\t\treturn 'U1.0';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U8(saveVersion)) {\n\t\t\treturn 'U8';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U6_U7(saveVersion)) {\n\t\t\treturn 'U6/U7';\n\t\t} else {\n\t\t\treturn '<U6';\n\t\t}\n\t};\n\tpublic static IsGameVersionAtLeast_U1_1 = (saveVersion: number) => saveVersion >= SaveCustomVersion.SerializePerStreamableLevelTOCVersion;\n\tpublic static IsGameVersionAtLeast_U1 = (saveVersion: number) => saveVersion >= SaveCustomVersion.Version1;\n\tpublic static IsGameVersionAtLeast_U8 = (saveVersion: number) => saveVersion >= SaveCustomVersion.UnrealEngine5;\t// Could be anywhere from UnrealEngine5 (37) to ResetBrokenBlueprintSplinnes (42)\n\tpublic static IsGameVersionAtLeast_U6_U7 = (saveVersion: number) => saveVersion >= SaveCustomVersion.AddedSublevelStreaming;\n\n\tpublic inflateChunks(): { compressionInfo: ChunkCompressionInfo } {\n\n\t\tconst result = SaveBodyChunks.DecompressChunks(this.fileBuffer.slice(this.currentByte), this.alignment);\n\n\t\t// reset on decompressed data.\n\t\tthis.currentByte = 0;\n\t\tthis.fileBuffer = result.uncompressedData.buffer;\n\t\tthis.maxByte = this.fileBuffer.byteLength;\n\t\tthis.bufferView = new DataView(this.fileBuffer);\n\n\t\tconst totalBodyRestSize = this.readInt32();\n\t\tif (result.uncompressedData.byteLength !== (totalBodyRestSize + (this.context.saveVersion >= SaveCustomVersion.UnrealEngine5 ? 8 : 4))) {\n\t\t\tthrow new CorruptSaveError(`Possibly corrupt. Indicated size of total save body (${totalBodyRestSize + 8}) does not match the uncompressed real size of ${result.uncompressedData.byteLength}.`);\n\t\t}\n\n\t\treturn {\n\t\t\tcompressionInfo: result.compressionInfo\n\t\t};\n\t}\n\n\tpublic readSaveBodyHash = (): SaveBodyValidation => {\n\n\t\tthis.expect(this.readInt32(), 0);\n\n\t\tconst saveBodyValidationVersion = this.readInt32(); // seems constant, always 06 00 00 00\n\n\t\tthis.expect(this.readString(), 'None');\n\t\tthis.expect(this.readInt32(), 0);\n\n\t\tconst hash1 = Array.from(this.readBytes(4)) as ByteArray4; // some weird binary hash - 67 21 E7 F7 / DC 7E 81 48 / 59 E4 1E 1B -- changes not when collecting a slug or dismantling an object. Grids havent changed. So it must depend on grid-related things.\n\n\t\tthis.expect(this.readInt32(), 1);\n\t\tthis.expect(this.readString(), 'None');\n\n\t\t// TODO: check\n\t\tconst hash2 = Array.from(this.readBytes(4)) as ByteArray4; // no idea, changes somehow when level content changes. So we save it for now. -- 8B 08 EB 00\n\n\t\treturn {\n\t\t\tversion: saveBodyValidationVersion,\n\t\t\thash1,\n\t\t\thash2\n\t\t} satisfies SaveBodyValidation;\n\t};\n\n\tpublic readGrids = (): Grids => {\n\t\tconst grids: Grids = {};\n\n\t\tconst readGrid = () => {\n\t\t\tconst gridName = this.readString();\n\t\t\tconst cellSize = this.readInt32();\n\t\t\tconst gridHash = this.readUint32();\n\t\t\tgrids[gridName] = { children: {}, cellSize, gridHash };\n\n\t\t\tconst childrenCount = this.readUint32();\n\t\t\tfor (let i = 0; i < childrenCount; i++) {\n\t\t\t\tconst levelInstanceName = this.readString();\n\t\t\t\tconst cellHash = this.readUint32();\n\t\t\t\tgrids[gridName].children[levelInstanceName] = cellHash;\n\t\t\t}\n\t\t};\n\n\t\t// main grid\n\t\treadGrid();\n\n\t\t// landscape grid\n\t\treadGrid();\n\n\t\t// exploration grid\n\t\treadGrid();\n\n\t\t// foliage grid\n\t\treadGrid();\n\n\t\t// hlod0\n\t\treadGrid();\n\n\t\treturn grids;\n\t};\n\n\tpublic readLevels(): { [levelName: string]: Level; } {\n\n\t\tif (!this.context.saveVersion || !this.context.saveHeaderType) {\n\t\t\tthrow new ParserError('ParserError', 'Header and its context must be set before objects can be read.');\n\t\t}\n\n\t\t// guard save version\n\t\tconst roughSaveVersion = SaveReader.GetRoughSaveVersion(this.context.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\tconst levels: { [levelName: string]: Level; } = {};\n\t\tconst levelCount = this.readInt32();\n\t\tthis.onProgressCallback(this.getBufferProgress(), `reading pack of ${levelCount + 1} levels.`);\n\n\t\tfor (let i = 0; i <= levelCount; i++) {\n\t\t\tlet levelSingleName = i === levelCount ? this.context.mapName! : this.readString();\n\t\t\tif (i % 500 === 0) {\n\t\t\t\tthis.onProgressCallback(this.getBufferProgress(), `reading level [${(i + 1)}/${(levelCount + 1)}] ${levelSingleName}`);\n\t\t\t}\n\n\t\t\tlevels[levelSingleName] = Level.ReadLevel(this, levelSingleName);\n\t\t}\n\n\t\treturn levels;\n\t}\n}\n\n\n"]}
1
+ {"version":3,"file":"save-reader.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-reader.ts"],"names":[],"mappings":"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","sourcesContent":["import { Alignment } from '../../byte/alignment.enum';\nimport { ContextReader } from '../../context/context-reader';\nimport { CorruptSaveError, ParserError, UnsupportedVersionError } from '../../error/parser.error';\nimport { Level } from './level';\nimport { ChunkCompressionInfo, SaveBodyChunks } from './save-body-chunks';\nimport { SaveCustomVersion } from './save-custom-version';\nimport { RoughSaveVersion } from './save.types';\n\n\nexport const DEFAULT_SATISFACTORY_CHUNK_HEADER_SIZE = 49;\n\nexport type ByteArray4 = [number, number, number, number];\n\nexport type SaveBodyValidation = {\n\tversion: number;\n\thash1: ByteArray4;\n\thash2: ByteArray4;\n}\n\nexport type Grids = {\n\t[parentName: string]: {\n\t\tcellSize: number;\n\t\tgridHash: number;\n\t\tchildren: {\n\t\t\t[name: string]: number;\t// children object contains names and their binary size.\n\t\t}\n\t}\n};\nexport class SaveReader extends ContextReader {\n\n\t// the number of .net ticks at the unix epoch\n\tpublic static readonly EPOCH_TICKS = 621355968000000000n;\n\n\tconstructor(fileBuffer: ArrayBufferLike, public onProgressCallback: (progress: number, msg?: string) => void = () => { }) {\n\t\tsuper(fileBuffer, Alignment.LITTLE_ENDIAN);\n\t}\n\n\tpublic expect = (value: any, expected: any): void => {\n\t\tif (value !== expected) {\n\t\t\tconsole.warn(`Read a value that's usually ${expected}, but this time ${value}. Meaning unclear. Raise an issue or contact me if you want.`);\n\t\t}\n\t};\n\n\tpublic static GetRoughSaveVersion = (saveVersion: number): RoughSaveVersion => {\n\t\tif (SaveReader.IsGameVersionAtLeast_U1_1(saveVersion)) {\n\t\t\treturn 'U1.1+';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U1(saveVersion)) {\n\t\t\treturn 'U1.0';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U8(saveVersion)) {\n\t\t\treturn 'U8';\n\t\t} else if (SaveReader.IsGameVersionAtLeast_U6_U7(saveVersion)) {\n\t\t\treturn 'U6/U7';\n\t\t} else {\n\t\t\treturn '<U6';\n\t\t}\n\t};\n\tpublic static IsGameVersionAtLeast_U1_1 = (saveVersion: number) => saveVersion >= SaveCustomVersion.SerializePerStreamableLevelTOCVersion;\n\tpublic static IsGameVersionAtLeast_U1 = (saveVersion: number) => saveVersion >= SaveCustomVersion.Version1;\n\tpublic static IsGameVersionAtLeast_U8 = (saveVersion: number) => saveVersion >= SaveCustomVersion.UnrealEngine5;\t// Could be anywhere from UnrealEngine5 (37) to ResetBrokenBlueprintSplinnes (42)\n\tpublic static IsGameVersionAtLeast_U6_U7 = (saveVersion: number) => saveVersion >= SaveCustomVersion.AddedSublevelStreaming;\n\n\tpublic inflateChunks(): { compressionInfo: ChunkCompressionInfo } {\n\n\t\tconst result = SaveBodyChunks.DecompressChunks(this.fileBuffer.slice(this.currentByte), this.alignment);\n\n\t\t// reset on decompressed data.\n\t\tthis.currentByte = 0;\n\t\tthis.fileBuffer = result.uncompressedData.buffer;\n\t\tthis.maxByte = this.fileBuffer.byteLength;\n\t\tthis.bufferView = new DataView(this.fileBuffer);\n\n\t\tconst totalBodyRestSize = this.readInt32();\n\t\tif (result.uncompressedData.byteLength !== (totalBodyRestSize + (this.context.saveVersion >= SaveCustomVersion.UnrealEngine5 ? 8 : 4))) {\n\t\t\tthrow new CorruptSaveError(`Possibly corrupt. Indicated size of total save body (${totalBodyRestSize + 8}) does not match the uncompressed real size of ${result.uncompressedData.byteLength}.`);\n\t\t}\n\n\t\treturn {\n\t\t\tcompressionInfo: result.compressionInfo\n\t\t};\n\t}\n\n\tpublic readSaveBodyHash = (): SaveBodyValidation => {\n\n\t\tthis.expect(this.readInt32(), 0);\n\n\t\tconst saveBodyValidationVersion = this.readInt32(); // seems constant, always 06 00 00 00\n\n\t\tthis.expect(this.readString(), 'None');\n\t\tthis.expect(this.readInt32(), 0);\n\n\t\tconst hash1 = Array.from(this.readBytes(4)) as ByteArray4; // some weird binary hash - 67 21 E7 F7 / DC 7E 81 48 / 59 E4 1E 1B -- changes not when collecting a slug or dismantling an object. Grids havent changed. So it must depend on grid-related things.\n\n\t\tthis.expect(this.readInt32(), 1);\n\t\tthis.expect(this.readString(), 'None');\n\n\t\t// TODO: check\n\t\tconst hash2 = Array.from(this.readBytes(4)) as ByteArray4; // no idea, changes somehow when level content changes. So we save it for now. -- 8B 08 EB 00\n\n\t\treturn {\n\t\t\tversion: saveBodyValidationVersion,\n\t\t\thash1,\n\t\t\thash2\n\t\t} satisfies SaveBodyValidation;\n\t};\n\n\tpublic readGrids = (): Grids => {\n\t\tconst grids: Grids = {};\n\n\t\tconst readGrid = () => {\n\t\t\tconst gridName = this.readString();\n\t\t\tconst cellSize = this.readInt32();\n\t\t\tconst gridHash = this.readUint32();\n\t\t\tgrids[gridName] = { children: {}, cellSize, gridHash };\n\n\t\t\tconst childrenCount = this.readUint32();\n\t\t\tfor (let i = 0; i < childrenCount; i++) {\n\t\t\t\tconst levelInstanceName = this.readString();\n\t\t\t\tconst cellHash = this.readUint32();\n\t\t\t\tgrids[gridName].children[levelInstanceName] = cellHash;\n\t\t\t}\n\t\t};\n\n\t\t// main grid\n\t\treadGrid();\n\n\t\t// landscape grid\n\t\treadGrid();\n\n\t\t// exploration grid\n\t\treadGrid();\n\n\t\t// foliage grid\n\t\treadGrid();\n\n\t\t// hlod0\n\t\treadGrid();\n\n\t\treturn grids;\n\t};\n\n\tpublic readLevels(): { [levelName: string]: Level; } {\n\n\t\tif (!this.context.saveVersion || !this.context.saveHeaderType) {\n\t\t\tthrow new ParserError('ParserError', 'Header and its context must be set before objects can be read.');\n\t\t}\n\n\t\t// guard save version\n\t\tconst roughSaveVersion = SaveReader.GetRoughSaveVersion(this.context.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\tconst levels: { [levelName: string]: Level; } = {};\n\t\tconst levelCount = this.readInt32();\n\t\tthis.onProgressCallback(this.getBufferProgress(), `reading pack of ${levelCount + 1} levels.`);\n\n\t\tfor (let i = 0; i <= levelCount; i++) {\n\t\t\tlet levelSingleName = i === levelCount ? this.context.mapName! : this.readString();\n\t\t\tif (i % 500 === 0) {\n\t\t\t\tthis.onProgressCallback(this.getBufferProgress(), `reading level [${(i + 1)}/${(levelCount + 1)}] ${levelSingleName}`);\n\t\t\t}\n\n\t\t\tlevels[levelSingleName] = Level.ReadLevel(this, levelSingleName);\n\t\t}\n\n\t\treturn levels;\n\t}\n}\n\n\n"]}
@@ -8,7 +8,7 @@ export declare class SaveWriter extends ContextWriter {
8
8
  static WriteSaveBodyHash: (writer: ContextWriter, saveBodyValidation: SaveBodyValidation) => void;
9
9
  static WriteGrids: (writer: ContextWriter, grids: Grids) => void;
10
10
  static WriteLevels(writer: ContextWriter, save: SatisfactorySave): void;
11
- static GenerateCompressedChunksFromData(bufferArray: ArrayBuffer, compressionInfo: ChunkCompressionInfo, onBinaryBeforeCompressing: (binary: ArrayBuffer) => void, onChunk: (chunk: Uint8Array) => void, alignment?: Alignment): ChunkSummary[];
11
+ static GenerateCompressedChunksFromData(bufferArray: ArrayBuffer, compressionInfo: ChunkCompressionInfo, blueprintOrSave: 'blueprint' | 'save', onBinaryBeforeCompressing: (binary: ArrayBuffer) => void, onChunk: (chunk: Uint8Array) => void, alignment?: Alignment): ChunkSummary[];
12
12
  generateChunks(compressionInfo: ChunkCompressionInfo, posAfterHeader: number, onBinaryBeforeCompressing: (binary: ArrayBuffer) => void, onHeader: (header: Uint8Array) => void, onChunk: (chunk: Uint8Array) => void): ChunkSummary[];
13
13
  }
14
14
  //# sourceMappingURL=save-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"save-writer.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG1D,qBAAa,UAAW,SAAQ,aAAa;;IAM5C,OAAc,iBAAiB,WAAY,aAAa,sBAAsB,kBAAkB,KAAG,IAAI,CAStG;IAED,OAAc,UAAU,WAAY,aAAa,SAAS,KAAK,KAAG,IAAI,CAYpE;WAEY,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;WAUhE,gCAAgC,CAC7C,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,oBAAoB,EACrC,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,EACxD,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,SAAS,GAAE,SAAmC,GAC5C,YAAY,EAAE;IAKV,cAAc,CACpB,eAAe,EAAE,oBAAoB,EACrC,cAAc,EAAE,MAAM,EAEtB,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,EACxD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAClC,YAAY,EAAE;CAgBjB"}
1
+ {"version":3,"file":"save-writer.d.ts","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG1D,qBAAa,UAAW,SAAQ,aAAa;;IAM5C,OAAc,iBAAiB,WAAY,aAAa,sBAAsB,kBAAkB,KAAG,IAAI,CAStG;IAED,OAAc,UAAU,WAAY,aAAa,SAAS,KAAK,KAAG,IAAI,CAYpE;WAEY,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;WAUhE,gCAAgC,CAC7C,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,oBAAoB,EACrC,eAAe,EAAE,WAAW,GAAG,MAAM,EACrC,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,EACxD,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EACpC,SAAS,GAAE,SAAmC,GAC5C,YAAY,EAAE;IAKV,cAAc,CACpB,eAAe,EAAE,oBAAoB,EACrC,cAAc,EAAE,MAAM,EAEtB,yBAAyB,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,EACxD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAClC,YAAY,EAAE;CAgBjB"}
@@ -4,7 +4,7 @@ exports.SaveWriter = void 0;
4
4
  const alignment_enum_1 = require("../../byte/alignment.enum");
5
5
  const context_writer_1 = require("../../context/context-writer");
6
6
  const parser_error_1 = require("../../error/parser.error");
7
- const level_class_1 = require("./level.class");
7
+ const level_1 = require("./level");
8
8
  const save_body_chunks_1 = require("./save-body-chunks");
9
9
  class SaveWriter extends context_writer_1.ContextWriter {
10
10
  constructor() {
@@ -16,11 +16,11 @@ class SaveWriter extends context_writer_1.ContextWriter {
16
16
  if (level.name !== save.header.mapName) {
17
17
  writer.writeString(level.name);
18
18
  }
19
- level_class_1.Level.SerializeLevel(writer, level);
19
+ level_1.Level.SerializeLevel(writer, level);
20
20
  }
21
21
  }
22
- static GenerateCompressedChunksFromData(bufferArray, compressionInfo, onBinaryBeforeCompressing, onChunk, alignment = alignment_enum_1.Alignment.LITTLE_ENDIAN) {
23
- return save_body_chunks_1.SaveBodyChunks.CompressDataIntoChunks(bufferArray, compressionInfo, onBinaryBeforeCompressing, onChunk, alignment);
22
+ static GenerateCompressedChunksFromData(bufferArray, compressionInfo, blueprintOrSave, onBinaryBeforeCompressing, onChunk, alignment = alignment_enum_1.Alignment.LITTLE_ENDIAN) {
23
+ return save_body_chunks_1.SaveBodyChunks.CompressDataIntoChunks(bufferArray, compressionInfo, blueprintOrSave, onBinaryBeforeCompressing, onChunk, alignment);
24
24
  }
25
25
  generateChunks(compressionInfo, posAfterHeader, onBinaryBeforeCompressing, onHeader, onChunk) {
26
26
  if (posAfterHeader <= 0) {
@@ -29,7 +29,7 @@ class SaveWriter extends context_writer_1.ContextWriter {
29
29
  const header = new Uint8Array(this.bufferArray.slice(0, posAfterHeader));
30
30
  onHeader(header);
31
31
  this.bufferArray = this.bufferArray.slice(posAfterHeader);
32
- const chunkSummary = SaveWriter.GenerateCompressedChunksFromData(this.bufferArray, compressionInfo, onBinaryBeforeCompressing, onChunk, this.alignment);
32
+ const chunkSummary = SaveWriter.GenerateCompressedChunksFromData(this.bufferArray, compressionInfo, 'save', onBinaryBeforeCompressing, onChunk, this.alignment);
33
33
  return chunkSummary;
34
34
  }
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"save-writer.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Alignment } from \"../../byte/alignment.enum\";\nimport { ContextWriter } from '../../context/context-writer';\nimport { ParserError } from \"../../error/parser.error\";\nimport { Level } from './level.class';\nimport { SatisfactorySave } from \"./satisfactory-save\";\nimport { ChunkCompressionInfo, ChunkSummary, SaveBodyChunks } from \"./save-body-chunks\";\nimport { Grids, SaveBodyValidation } from './save-reader';\n\n\nexport class SaveWriter extends ContextWriter {\n\n\tconstructor() {\n\t\tsuper(Alignment.LITTLE_ENDIAN);\n\t}\n\n\tpublic static WriteSaveBodyHash = (writer: ContextWriter, saveBodyValidation: SaveBodyValidation): void => {\n\t\twriter.writeInt32(0);\n\t\twriter.writeInt32(saveBodyValidation.version);\n\t\twriter.writeString('None');\n\t\twriter.writeInt32(0);\n\t\twriter.writeBytesArray(saveBodyValidation.hash1);\n\t\twriter.writeInt32(1);\n\t\twriter.writeString('None');\n\t\twriter.writeBytesArray(saveBodyValidation.hash2);\n\t}\n\n\tpublic static WriteGrids = (writer: ContextWriter, grids: Grids): void => {\n\t\tfor (const gridEntry of Object.entries(grids)) {\n\t\t\twriter.writeString(gridEntry[0]);\n\t\t\twriter.writeInt32(gridEntry[1].cellSize);\n\t\t\twriter.writeUint32(gridEntry[1].gridHash);\n\n\t\t\twriter.writeUint32(Object.values(gridEntry[1].children).length);\n\t\t\tfor (const child of Object.entries(gridEntry[1].children)) {\n\t\t\t\twriter.writeString(child[0]);\n\t\t\t\twriter.writeUint32(child[1]);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic static WriteLevels(writer: ContextWriter, save: SatisfactorySave): void {\n\t\twriter.writeInt32(Object.keys(save.levels).length - 1);\n\t\tfor (const level of Object.values(save.levels)) {\n\t\t\tif (level.name !== save.header.mapName) {\n\t\t\t\twriter.writeString(level.name);\n\t\t\t}\n\t\t\tLevel.SerializeLevel(writer, level);\n\t\t}\n\t}\n\n\tpublic static GenerateCompressedChunksFromData(\n\t\tbufferArray: ArrayBuffer,\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\tonBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\tonChunk: (chunk: Uint8Array) => void,\n\t\talignment: Alignment = Alignment.LITTLE_ENDIAN\n\t): ChunkSummary[] {\n\n\t\treturn SaveBodyChunks.CompressDataIntoChunks(bufferArray, compressionInfo, onBinaryBeforeCompressing, onChunk, alignment);\n\t}\n\n\tpublic generateChunks(\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\tposAfterHeader: number,\n\n\t\tonBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\tonHeader: (header: Uint8Array) => void,\n\t\tonChunk: (chunk: Uint8Array) => void\n\t): ChunkSummary[] {\n\n\t\tif (posAfterHeader <= 0) {\n\t\t\tthrow new ParserError('ParserError', 'Seems like this buffer has no header. Please write the header first before you can generate chunks.');\n\t\t}\n\n\t\t// send plain header first.\n\t\tconst header = new Uint8Array(this.bufferArray.slice(0, posAfterHeader));\n\t\tonHeader(header);\n\n\t\t// create save body\n\t\tthis.bufferArray = this.bufferArray.slice(posAfterHeader);\n\t\tconst chunkSummary = SaveWriter.GenerateCompressedChunksFromData(this.bufferArray, compressionInfo, onBinaryBeforeCompressing, onChunk, this.alignment);\n\n\t\treturn chunkSummary;\n\t}\n}\n"]}
1
+ {"version":3,"file":"save-writer.js","sourceRoot":"","sources":["../../../../src/parser/satisfactory/save/save-writer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Alignment } from \"../../byte/alignment.enum\";\nimport { ContextWriter } from '../../context/context-writer';\nimport { ParserError } from \"../../error/parser.error\";\nimport { Level } from './level';\nimport { SatisfactorySave } from \"./satisfactory-save\";\nimport { ChunkCompressionInfo, ChunkSummary, SaveBodyChunks } from \"./save-body-chunks\";\nimport { Grids, SaveBodyValidation } from './save-reader';\n\n\nexport class SaveWriter extends ContextWriter {\n\n\tconstructor() {\n\t\tsuper(Alignment.LITTLE_ENDIAN);\n\t}\n\n\tpublic static WriteSaveBodyHash = (writer: ContextWriter, saveBodyValidation: SaveBodyValidation): void => {\n\t\twriter.writeInt32(0);\n\t\twriter.writeInt32(saveBodyValidation.version);\n\t\twriter.writeString('None');\n\t\twriter.writeInt32(0);\n\t\twriter.writeBytesArray(saveBodyValidation.hash1);\n\t\twriter.writeInt32(1);\n\t\twriter.writeString('None');\n\t\twriter.writeBytesArray(saveBodyValidation.hash2);\n\t}\n\n\tpublic static WriteGrids = (writer: ContextWriter, grids: Grids): void => {\n\t\tfor (const gridEntry of Object.entries(grids)) {\n\t\t\twriter.writeString(gridEntry[0]);\n\t\t\twriter.writeInt32(gridEntry[1].cellSize);\n\t\t\twriter.writeUint32(gridEntry[1].gridHash);\n\n\t\t\twriter.writeUint32(Object.values(gridEntry[1].children).length);\n\t\t\tfor (const child of Object.entries(gridEntry[1].children)) {\n\t\t\t\twriter.writeString(child[0]);\n\t\t\t\twriter.writeUint32(child[1]);\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic static WriteLevels(writer: ContextWriter, save: SatisfactorySave): void {\n\t\twriter.writeInt32(Object.keys(save.levels).length - 1);\n\t\tfor (const level of Object.values(save.levels)) {\n\t\t\tif (level.name !== save.header.mapName) {\n\t\t\t\twriter.writeString(level.name);\n\t\t\t}\n\t\t\tLevel.SerializeLevel(writer, level);\n\t\t}\n\t}\n\n\tpublic static GenerateCompressedChunksFromData(\n\t\tbufferArray: ArrayBuffer,\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\tblueprintOrSave: 'blueprint' | 'save',\n\t\tonBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\tonChunk: (chunk: Uint8Array) => void,\n\t\talignment: Alignment = Alignment.LITTLE_ENDIAN\n\t): ChunkSummary[] {\n\n\t\treturn SaveBodyChunks.CompressDataIntoChunks(bufferArray, compressionInfo, blueprintOrSave, onBinaryBeforeCompressing, onChunk, alignment);\n\t}\n\n\tpublic generateChunks(\n\t\tcompressionInfo: ChunkCompressionInfo,\n\t\tposAfterHeader: number,\n\n\t\tonBinaryBeforeCompressing: (binary: ArrayBuffer) => void,\n\t\tonHeader: (header: Uint8Array) => void,\n\t\tonChunk: (chunk: Uint8Array) => void\n\t): ChunkSummary[] {\n\n\t\tif (posAfterHeader <= 0) {\n\t\t\tthrow new ParserError('ParserError', 'Seems like this buffer has no header. Please write the header first before you can generate chunks.');\n\t\t}\n\n\t\t// send plain header first.\n\t\tconst header = new Uint8Array(this.bufferArray.slice(0, posAfterHeader));\n\t\tonHeader(header);\n\n\t\t// create save body\n\t\tthis.bufferArray = this.bufferArray.slice(posAfterHeader);\n\t\tconst chunkSummary = SaveWriter.GenerateCompressedChunksFromData(this.bufferArray, compressionInfo, 'save', onBinaryBeforeCompressing, onChunk, this.alignment);\n\n\t\treturn chunkSummary;\n\t}\n}\n"]}
@@ -12,10 +12,10 @@ import { SoftObjectArrayProperty } from './SoftObjectArrayProperty';
12
12
  import { StrArrayProperty } from './StrArrayProperty';
13
13
  import { StructArrayProperty } from './StructArrayProperty';
14
14
  import { TextArrayProperty } from './TextArrayProperty';
15
- export declare const isArrayProperty: (obj: any) => obj is BoolArrayProperty | ByteArrayProperty | DoubleArrayProperty | EnumArrayProperty | FloatArrayProperty | Int32ArrayProperty | Int64ArrayProperty | ObjectArrayProperty | SoftObjectArrayProperty | StrArrayProperty | StructArrayProperty | TextArrayProperty;
15
+ export declare const isArrayProperty: (obj: any) => obj is ArrayProperty.AvailableArrayPropertyTypes;
16
16
  export declare namespace ArrayProperty {
17
- type AvailableArrayPropertyTypes = ReturnType<typeof Parse>;
18
- const Parse: (reader: ContextReader, ueType: string, index: number, size: number) => BoolArrayProperty | ByteArrayProperty | DoubleArrayProperty | EnumArrayProperty | FloatArrayProperty | Int32ArrayProperty | Int64ArrayProperty | ObjectArrayProperty | SoftObjectArrayProperty | StrArrayProperty | StructArrayProperty | TextArrayProperty;
17
+ type AvailableArrayPropertyTypes = BoolArrayProperty | ByteArrayProperty | DoubleArrayProperty | EnumArrayProperty | FloatArrayProperty | Int32ArrayProperty | Int64ArrayProperty | ObjectArrayProperty | SoftObjectArrayProperty | StrArrayProperty | StructArrayProperty | TextArrayProperty;
18
+ const Parse: (reader: ContextReader, ueType: string, index: number, size: number) => AvailableArrayPropertyTypes;
19
19
  const CalcOverhead: (property: AvailableArrayPropertyTypes) => number;
20
20
  const Serialize: (writer: ContextWriter, property: AvailableArrayPropertyTypes) => void;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAyB,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAyB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAA6B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAsB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAyB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,eAAe,QAAS,GAAG,uQAYT,CAAC;AAEhC,yBAAiB,aAAa,CAAC;IAE3B,KAAY,2BAA2B,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IAE5D,MAAM,KAAK,WAAY,aAAa,UAAU,MAAM,SAAS,MAAM,QAAQ,MAAM,gQA+DvF,CAAA;IAEM,MAAM,YAAY,aAAc,2BAA2B,KAAG,MAEpE,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,2BAA2B,KAAG,IAiCxF,CAAA;CACJ"}
1
+ {"version":3,"file":"ArrayProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAyB,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAyB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAA6B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAsB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAyB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,eAAe,QAAS,GAAG,KAAG,GAAG,IAAI,aAAa,CAAC,2BAYjC,CAAC;AAEhC,yBAAiB,aAAa,CAAC;IAE3B,KAAY,2BAA2B,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;IAE/R,MAAM,KAAK,WAAY,aAAa,UAAU,MAAM,SAAS,MAAM,QAAQ,MAAM,KAAG,2BA+D1F,CAAA;IAEM,MAAM,YAAY,aAAc,2BAA2B,KAAG,MAEpE,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,2BAA2B,KAAG,IAiCxF,CAAA;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.ts"],"names":[],"mappings":";;;AAEA,oEAAuE;AACvE,2DAA6E;AAC7E,2DAA6E;AAC7E,+DAAmF;AACnF,2DAA6E;AAC7E,6DAAgF;AAChF,6DAAgF;AAChF,6DAAgF;AAChF,+DAAmF;AACnF,uEAA+F;AAC/F,yDAA0E;AAC1E,+DAAmF;AACnF,2DAA6E;AAEtE,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE,CACxC,IAAA,uCAAmB,EAAC,GAAG,CAAC;OACrB,IAAA,uCAAmB,EAAC,GAAG,CAAC;OACxB,IAAA,2CAAqB,EAAC,GAAG,CAAC;OAC1B,IAAA,uCAAmB,EAAC,GAAG,CAAC;OACxB,IAAA,yCAAoB,EAAC,GAAG,CAAC;OACzB,IAAA,yCAAoB,EAAC,GAAG,CAAC;OACzB,IAAA,yCAAoB,EAAC,GAAG,CAAC;OACzB,IAAA,2CAAqB,EAAC,GAAG,CAAC;OAC1B,IAAA,mDAAyB,EAAC,GAAG,CAAC;OAC9B,IAAA,qCAAkB,EAAC,GAAG,CAAC;OACvB,IAAA,2CAAqB,EAAC,GAAG,CAAC;OAC1B,IAAA,uCAAmB,EAAC,GAAG,CAAC,CAAC;AAZnB,QAAA,eAAe,mBAYI;AAEhC,IAAiB,aAAa,CA2G7B;AA3GD,WAAiB,aAAa;IAIb,mBAAK,GAAG,CAAC,MAAqB,EAAE,MAAc,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;QACxF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,QAAQ,CAAC;QACb,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,QAAQ,OAAO,EAAE,CAAC;YACd,KAAK,eAAe;gBAChB,QAAQ,GAAG,uCAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClF,MAAM;YAEV,KAAK,cAAc;gBACf,QAAQ,GAAG,qCAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACjF,MAAM;YAEV,KAAK,aAAa;gBACd,QAAQ,GAAG,uCAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClF,MAAM;YAEV,KAAK,eAAe;gBAChB,QAAQ,GAAG,uCAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClF,MAAM;YAEV,KAAK,gBAAgB;gBACjB,QAAQ,GAAG,yCAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACnF,MAAM;YAEV,KAAK,cAAc;gBACf,QAAQ,GAAG,qCAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACjF,MAAM;YAEV,KAAK,aAAa;gBACd,QAAQ,GAAG,mCAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAChF,MAAM;YAEV,KAAK,cAAc;gBACf,QAAQ,GAAG,qCAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACjF,MAAM;YAEV,KAAK,cAAc;gBACf,QAAQ,GAAG,qCAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACjF,MAAM;YAEV,KAAK,mBAAmB,CAAC;YACzB,KAAK,gBAAgB;gBACjB,QAAQ,GAAG,yCAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACnF,MAAM;YAEV,KAAK,oBAAoB;gBACrB,QAAQ,GAAG,iDAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvF,MAAM;YAGV,KAAK,gBAAgB;gBACjB,QAAQ,GAAG,yCAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBACnF,MAAM;YAEV;gBACI,MAAM,IAAI,iCAAkB,CAAC,kCAAkC,OAAO,QAAQ,MAAM,oBAAoB,CAAC,CAAC;QAElH,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAA;IAEY,0BAAY,GAAG,CAAC,QAAqC,EAAU,EAAE;QAC1E,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAA;IAEY,uBAAS,GAAG,CAAC,MAAqB,EAAE,QAAqC,EAAQ,EAAE;QAE5F,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,IAAA,yCAAoB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,uCAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,IAAA,uCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,qCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAA,yCAAoB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,uCAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,IAAA,yCAAoB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,uCAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,IAAA,2CAAqB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,yCAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAA,uCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,qCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAA,qCAAkB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,mCAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,IAAA,uCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,qCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAA,uCAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,qCAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,IAAA,2CAAqB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,yCAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAA,mDAAyB,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,iDAAuB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAA,2CAAqB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,yCAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,iCAAkB,CAAC,wCAAyC,QAAgB,CAAC,IAAI,IAAI,EAAE,KAAM,QAAgB,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7I,CAAC;IACL,CAAC,CAAA;AACL,CAAC,EA3GgB,aAAa,6BAAb,aAAa,QA2G7B","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { UnimplementedError } from '../../../../../error/parser.error';\nimport { BoolArrayProperty, isBoolArrayProperty } from './BoolArrayProperty';\nimport { ByteArrayProperty, isByteArrayProperty } from './ByteArrayProperty';\nimport { DoubleArrayProperty, isDoubleArrayProperty } from './DoubleArrayProperty';\nimport { EnumArrayProperty, isEnumArrayProperty } from './EnumArrayProperty';\nimport { FloatArrayProperty, isFloatArrayProperty } from './FloatArrayProperty';\nimport { Int32ArrayProperty, isInt32ArrayProperty } from './Int32ArrayProperty';\nimport { Int64ArrayProperty, isInt64ArrayProperty } from './Int64ArrayProperty';\nimport { isObjectArrayProperty, ObjectArrayProperty } from './ObjectArrayProperty';\nimport { isSoftObjectArrayProperty, SoftObjectArrayProperty } from './SoftObjectArrayProperty';\nimport { isStrArrayProperty, StrArrayProperty } from './StrArrayProperty';\nimport { isStructArrayProperty, StructArrayProperty } from './StructArrayProperty';\nimport { isTextArrayProperty, TextArrayProperty } from './TextArrayProperty';\n\nexport const isArrayProperty = (obj: any) =>\n isBoolArrayProperty(obj)\n || isByteArrayProperty(obj)\n || isDoubleArrayProperty(obj)\n || isEnumArrayProperty(obj)\n || isFloatArrayProperty(obj)\n || isInt32ArrayProperty(obj)\n || isInt64ArrayProperty(obj)\n || isObjectArrayProperty(obj)\n || isSoftObjectArrayProperty(obj)\n || isStrArrayProperty(obj)\n || isStructArrayProperty(obj)\n || isTextArrayProperty(obj);\n\nexport namespace ArrayProperty {\n\n export type AvailableArrayPropertyTypes = ReturnType<typeof Parse>;\n\n export const Parse = (reader: ContextReader, ueType: string, index: number, size: number) => {\n const subtype = reader.readString();\n reader.skipBytes(1); // 0\n\n let property;\n const elementCount = reader.readInt32();\n switch (subtype) {\n case \"FloatProperty\":\n property = FloatArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"BoolProperty\":\n property = BoolArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"IntProperty\":\n property = Int32ArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"Int64Property\":\n property = Int64ArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"DoubleProperty\":\n property = DoubleArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"ByteProperty\":\n property = ByteArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"StrProperty\":\n property = StrArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"EnumProperty\":\n property = EnumArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"TextProperty\":\n property = TextArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"InterfaceProperty\":\n case \"ObjectProperty\":\n property = ObjectArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"SoftObjectProperty\":\n property = SoftObjectArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n\n case \"StructProperty\":\n property = StructArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n default:\n throw new UnimplementedError(`Unknown array property subtype ${subtype} for ${ueType}. Not implemented.`);\n\n }\n\n return property;\n }\n\n export const CalcOverhead = (property: AvailableArrayPropertyTypes): number => {\n return property.subtype.length + 5 + 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: AvailableArrayPropertyTypes): void => {\n\n writer.writeString(property.subtype);\n writer.writeByte(0);\n writer.writeInt32(property.values.length);\n\n if (isFloatArrayProperty(property)) {\n FloatArrayProperty.Serialize(writer, property);\n } else if (isBoolArrayProperty(property)) {\n BoolArrayProperty.Serialize(writer, property);\n } else if (isInt32ArrayProperty(property)) {\n Int32ArrayProperty.Serialize(writer, property);\n } else if (isInt64ArrayProperty(property)) {\n Int64ArrayProperty.Serialize(writer, property);\n } else if (isDoubleArrayProperty(property)) {\n DoubleArrayProperty.Serialize(writer, property);\n } else if (isByteArrayProperty(property)) {\n ByteArrayProperty.Serialize(writer, property);\n } else if (isStrArrayProperty(property)) {\n StrArrayProperty.Serialize(writer, property);\n } else if (isEnumArrayProperty(property)) {\n EnumArrayProperty.Serialize(writer, property);\n } else if (isTextArrayProperty(property)) {\n TextArrayProperty.Serialize(writer, property);\n } else if (isObjectArrayProperty(property)) {\n ObjectArrayProperty.Serialize(writer, property);\n } else if (isSoftObjectArrayProperty(property)) {\n SoftObjectArrayProperty.Serialize(writer, property);\n } else if (isStructArrayProperty(property)) {\n StructArrayProperty.Serialize(writer, property);\n } else {\n throw new UnimplementedError(`Unknown array property to serialize. ${(property as any).type ?? ''}, ${(property as any).subtype ?? ''}`);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ArrayProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/ArrayProperty/ArrayProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { UnimplementedError } from '../../../../../error/parser.error';\nimport { BoolArrayProperty, isBoolArrayProperty } from './BoolArrayProperty';\nimport { ByteArrayProperty, isByteArrayProperty } from './ByteArrayProperty';\nimport { DoubleArrayProperty, isDoubleArrayProperty } from './DoubleArrayProperty';\nimport { EnumArrayProperty, isEnumArrayProperty } from './EnumArrayProperty';\nimport { FloatArrayProperty, isFloatArrayProperty } from './FloatArrayProperty';\nimport { Int32ArrayProperty, isInt32ArrayProperty } from './Int32ArrayProperty';\nimport { Int64ArrayProperty, isInt64ArrayProperty } from './Int64ArrayProperty';\nimport { isObjectArrayProperty, ObjectArrayProperty } from './ObjectArrayProperty';\nimport { isSoftObjectArrayProperty, SoftObjectArrayProperty } from './SoftObjectArrayProperty';\nimport { isStrArrayProperty, StrArrayProperty } from './StrArrayProperty';\nimport { isStructArrayProperty, StructArrayProperty } from './StructArrayProperty';\nimport { isTextArrayProperty, TextArrayProperty } from './TextArrayProperty';\n\nexport const isArrayProperty = (obj: any): obj is ArrayProperty.AvailableArrayPropertyTypes =>\n isBoolArrayProperty(obj)\n || isByteArrayProperty(obj)\n || isDoubleArrayProperty(obj)\n || isEnumArrayProperty(obj)\n || isFloatArrayProperty(obj)\n || isInt32ArrayProperty(obj)\n || isInt64ArrayProperty(obj)\n || isObjectArrayProperty(obj)\n || isSoftObjectArrayProperty(obj)\n || isStrArrayProperty(obj)\n || isStructArrayProperty(obj)\n || isTextArrayProperty(obj);\n\nexport namespace ArrayProperty {\n\n export type AvailableArrayPropertyTypes = BoolArrayProperty | ByteArrayProperty | DoubleArrayProperty | EnumArrayProperty | FloatArrayProperty | Int32ArrayProperty | Int64ArrayProperty | ObjectArrayProperty | SoftObjectArrayProperty | StrArrayProperty | StructArrayProperty | TextArrayProperty;\n\n export const Parse = (reader: ContextReader, ueType: string, index: number, size: number): AvailableArrayPropertyTypes => {\n const subtype = reader.readString();\n reader.skipBytes(1); // 0\n\n let property: AvailableArrayPropertyTypes;\n const elementCount = reader.readInt32();\n switch (subtype) {\n case \"FloatProperty\":\n property = FloatArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"BoolProperty\":\n property = BoolArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"IntProperty\":\n property = Int32ArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"Int64Property\":\n property = Int64ArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"DoubleProperty\":\n property = DoubleArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"ByteProperty\":\n property = ByteArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"StrProperty\":\n property = StrArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"EnumProperty\":\n property = EnumArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"TextProperty\":\n property = TextArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"InterfaceProperty\":\n case \"ObjectProperty\":\n property = ObjectArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"SoftObjectProperty\":\n property = SoftObjectArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n\n case \"StructProperty\":\n property = StructArrayProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n default:\n throw new UnimplementedError(`Unknown array property subtype ${subtype} for ${ueType}. Not implemented.`);\n\n }\n\n return property;\n }\n\n export const CalcOverhead = (property: AvailableArrayPropertyTypes): number => {\n return property.subtype.length + 5 + 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: AvailableArrayPropertyTypes): void => {\n\n writer.writeString(property.subtype);\n writer.writeByte(0);\n writer.writeInt32(property.values.length);\n\n if (isFloatArrayProperty(property)) {\n FloatArrayProperty.Serialize(writer, property);\n } else if (isBoolArrayProperty(property)) {\n BoolArrayProperty.Serialize(writer, property);\n } else if (isInt32ArrayProperty(property)) {\n Int32ArrayProperty.Serialize(writer, property);\n } else if (isInt64ArrayProperty(property)) {\n Int64ArrayProperty.Serialize(writer, property);\n } else if (isDoubleArrayProperty(property)) {\n DoubleArrayProperty.Serialize(writer, property);\n } else if (isByteArrayProperty(property)) {\n ByteArrayProperty.Serialize(writer, property);\n } else if (isStrArrayProperty(property)) {\n StrArrayProperty.Serialize(writer, property);\n } else if (isEnumArrayProperty(property)) {\n EnumArrayProperty.Serialize(writer, property);\n } else if (isTextArrayProperty(property)) {\n TextArrayProperty.Serialize(writer, property);\n } else if (isObjectArrayProperty(property)) {\n ObjectArrayProperty.Serialize(writer, property);\n } else if (isSoftObjectArrayProperty(property)) {\n SoftObjectArrayProperty.Serialize(writer, property);\n } else if (isStructArrayProperty(property)) {\n StructArrayProperty.Serialize(writer, property);\n } else {\n throw new UnimplementedError(`Unknown array property to serialize. ${(property as any).type ?? ''}, ${(property as any).subtype ?? ''}`);\n }\n }\n}\n"]}
@@ -5,11 +5,11 @@ import { ObjectSetProperty } from './ObjectSetProperty';
5
5
  import { StrSetProperty } from './StrSetProperty';
6
6
  import { StructSetProperty } from './StructSetProperty';
7
7
  import { Uint32SetProperty } from './Uint32SetProperty';
8
- export declare const isSetProperty: (obj: any) => obj is Int32SetProperty | ObjectSetProperty | StrSetProperty | StructSetProperty | Uint32SetProperty;
8
+ export declare const isSetProperty: (obj: any) => obj is SetProperty.AvailableSetPropertyTypes;
9
9
  export declare namespace SetProperty {
10
- type AvailableSetPropertyTypes = ReturnType<typeof Parse>;
11
- const Parse: (reader: ContextReader, ueType: string, index: number, propertyName: string) => Int32SetProperty | ObjectSetProperty | StrSetProperty | StructSetProperty | Uint32SetProperty;
12
- const CalcOverhead: (property: SetProperty.AvailableSetPropertyTypes) => number;
13
- const Serialize: (writer: ContextWriter, property: SetProperty.AvailableSetPropertyTypes) => void;
10
+ type AvailableSetPropertyTypes = Uint32SetProperty | Int32SetProperty | ObjectSetProperty | StrSetProperty | StructSetProperty;
11
+ const Parse: (reader: ContextReader, ueType: string, index: number, propertyName: string) => AvailableSetPropertyTypes;
12
+ const CalcOverhead: (property: AvailableSetPropertyTypes) => number;
13
+ const Serialize: (writer: ContextWriter, property: AvailableSetPropertyTypes) => void;
14
14
  }
15
15
  //# sourceMappingURL=SetProperty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/SetProperty/SetProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAoB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,aAAa,QAAS,GAAG,yGAKP,CAAC;AAEhC,yBAAiB,WAAW,CAAC;IAEzB,KAAY,yBAAyB,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IAE1D,MAAM,KAAK,WAAY,aAAa,UAAU,MAAM,SAAS,MAAM,gBAAgB,MAAM,kGAuC/F,CAAA;IAEM,MAAM,YAAY,aAAc,WAAW,CAAC,yBAAyB,KAAG,MAE9E,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,WAAW,CAAC,yBAAyB,KAAG,IAmBlG,CAAA;CACJ"}
1
+ {"version":3,"file":"SetProperty.d.ts","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/SetProperty/SetProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAoB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAuB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,aAAa,QAAS,GAAG,KAAG,GAAG,IAAI,WAAW,CAAC,yBAK7B,CAAC;AAEhC,yBAAiB,WAAW,CAAC;IAEzB,KAAY,yBAAyB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,GAAG,iBAAiB,CAAC;IAE/H,MAAM,KAAK,WAAY,aAAa,UAAU,MAAM,SAAS,MAAM,gBAAgB,MAAM,KAAG,yBAuClG,CAAA;IAEM,MAAM,YAAY,aAAc,yBAAyB,KAAG,MAElE,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,yBAAyB,KAAG,IAmBtF,CAAA;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"SetProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/SetProperty/SetProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { UnimplementedError } from '../../../../../error/parser.error';\nimport { Int32SetProperty, isInt32SetProperty } from './Int32SetProperty';\nimport { isObjectSetProperty, ObjectSetProperty } from './ObjectSetProperty';\nimport { isStrSetProperty, StrSetProperty } from './StrSetProperty';\nimport { isStructSetProperty, StructSetProperty } from './StructSetProperty';\nimport { isUint32SetProperty, Uint32SetProperty } from './Uint32SetProperty';\n\nexport const isSetProperty = (obj: any) =>\n isUint32SetProperty(obj)\n || isInt32SetProperty(obj)\n || isObjectSetProperty(obj)\n || isStrSetProperty(obj)\n || isStructSetProperty(obj);\n\nexport namespace SetProperty {\n\n export type AvailableSetPropertyTypes = ReturnType<typeof Parse>;\n\n export const Parse = (reader: ContextReader, ueType: string, index: number, propertyName: string) => {\n\n const subtype = reader.readString();\n reader.skipBytes(1); // 0\n const numElementsToRemove = reader.readInt32();\n if (numElementsToRemove > 0) {\n // not observed so far.\n throw new UnimplementedError('SetPreperty does not yet support Number of Elements to be removed. Feel free to raise an issue.');\n }\n const elementCount = reader.readInt32();\n\n let property;\n switch (subtype) {\n\n case \"UInt32Property\":\n property = Uint32SetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"IntProperty\":\n property = Int32SetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"ObjectProperty\":\n property = ObjectSetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"NameProperty\":\n property = StrSetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"StructProperty\":\n property = StructSetProperty.Parse(reader, elementCount, subtype, ueType, index, propertyName);\n break;\n\n default:\n throw new Error(`Not Implemented SetProperty of ${subtype}.`);\n }\n\n return property;\n }\n\n export const CalcOverhead = (property: SetProperty.AvailableSetPropertyTypes): number => {\n return property.subtype.length + 5 + 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: SetProperty.AvailableSetPropertyTypes): void => {\n writer.writeString(property.subtype);\n writer.writeByte(0);\n writer.writeInt32(0);\n writer.writeInt32(property.values.length);\n\n if (isInt32SetProperty(property)) {\n Int32SetProperty.Serialize(writer, property);\n } else if (isUint32SetProperty(property)) {\n Uint32SetProperty.Serialize(writer, property);\n } else if (isObjectSetProperty(property)) {\n ObjectSetProperty.Serialize(writer, property);\n } else if (isStrSetProperty(property)) {\n StrSetProperty.Serialize(writer, property);\n } else if (isStructSetProperty(property)) {\n StructSetProperty.Serialize(writer, property);\n } else {\n throw new UnimplementedError(`Not Implemented Serializing SetProperty of ${(property as any).subtype}.`);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"SetProperty.js","sourceRoot":"","sources":["../../../../../../../src/parser/satisfactory/types/property/generic/SetProperty/SetProperty.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../../context/context-reader';\nimport { ContextWriter } from '../../../../../context/context-writer';\nimport { UnimplementedError } from '../../../../../error/parser.error';\nimport { Int32SetProperty, isInt32SetProperty } from './Int32SetProperty';\nimport { isObjectSetProperty, ObjectSetProperty } from './ObjectSetProperty';\nimport { isStrSetProperty, StrSetProperty } from './StrSetProperty';\nimport { isStructSetProperty, StructSetProperty } from './StructSetProperty';\nimport { isUint32SetProperty, Uint32SetProperty } from './Uint32SetProperty';\n\nexport const isSetProperty = (obj: any): obj is SetProperty.AvailableSetPropertyTypes =>\n isUint32SetProperty(obj)\n || isInt32SetProperty(obj)\n || isObjectSetProperty(obj)\n || isStrSetProperty(obj)\n || isStructSetProperty(obj);\n\nexport namespace SetProperty {\n\n export type AvailableSetPropertyTypes = Uint32SetProperty | Int32SetProperty | ObjectSetProperty | StrSetProperty | StructSetProperty;\n\n export const Parse = (reader: ContextReader, ueType: string, index: number, propertyName: string): AvailableSetPropertyTypes => {\n\n const subtype = reader.readString();\n reader.skipBytes(1); // 0\n const numElementsToRemove = reader.readInt32();\n if (numElementsToRemove > 0) {\n // not observed so far.\n throw new UnimplementedError('SetPreperty does not yet support Number of Elements to be removed. Feel free to raise an issue.');\n }\n const elementCount = reader.readInt32();\n\n let property: AvailableSetPropertyTypes;\n switch (subtype) {\n\n case \"UInt32Property\":\n property = Uint32SetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"IntProperty\":\n property = Int32SetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"ObjectProperty\":\n property = ObjectSetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"NameProperty\":\n property = StrSetProperty.Parse(reader, elementCount, subtype, ueType, index);\n break;\n\n case \"StructProperty\":\n property = StructSetProperty.Parse(reader, elementCount, subtype, ueType, index, propertyName);\n break;\n\n default:\n throw new Error(`Not Implemented SetProperty of ${subtype}.`);\n }\n\n return property;\n }\n\n export const CalcOverhead = (property: AvailableSetPropertyTypes): number => {\n return property.subtype.length + 5 + 1;\n }\n\n export const Serialize = (writer: ContextWriter, property: AvailableSetPropertyTypes): void => {\n writer.writeString(property.subtype);\n writer.writeByte(0);\n writer.writeInt32(0);\n writer.writeInt32(property.values.length);\n\n if (isInt32SetProperty(property)) {\n Int32SetProperty.Serialize(writer, property);\n } else if (isUint32SetProperty(property)) {\n Uint32SetProperty.Serialize(writer, property);\n } else if (isObjectSetProperty(property)) {\n ObjectSetProperty.Serialize(writer, property);\n } else if (isStrSetProperty(property)) {\n StrSetProperty.Serialize(writer, property);\n } else if (isStructSetProperty(property)) {\n StructSetProperty.Serialize(writer, property);\n } else {\n throw new UnimplementedError(`Not Implemented Serializing SetProperty of ${(property as any).subtype}.`);\n }\n }\n}\n"]}
@@ -32,20 +32,7 @@ export type BuildableTypeInstance = {
32
32
  instanceSpecificData?: FGDynamicStruct;
33
33
  };
34
34
  export declare namespace BuildableTypeInstance {
35
- const Parse: (reader: ContextReader, lightWeightVersion: number) => {
36
- transform: Transform;
37
- primaryColor: col4;
38
- secondaryColor: col4;
39
- usedSwatchSlot: ObjectReference;
40
- usedMaterial: ObjectReference;
41
- usedPattern: ObjectReference;
42
- usedSkin: ObjectReference;
43
- usedRecipe: ObjectReference;
44
- usedPaintFinish: ObjectReference;
45
- patternRotation: number;
46
- blueprintProxy: ObjectReference;
47
- instanceSpecificData: FGDynamicStruct | undefined;
48
- };
35
+ const Parse: (reader: ContextReader, lightWeightVersion: number) => BuildableTypeInstance;
49
36
  const Serialize: (writer: ContextWriter, instance: BuildableTypeInstance, lightweightVersion: number) => void;
50
37
  }
51
38
  //# sourceMappingURL=BuildableSubsystemSpecialProperties.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuildableSubsystemSpecialProperties.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKpD,eAAO,MAAM,qCAAqC,QAAS,GAAG,KAAG,GAAG,IAAI,mCAAyF,CAAC;AAElK,MAAM,MAAM,mCAAmC,GAAG;IAC9C,IAAI,EAAE,qCAAqC,CAAC;IAC5C,UAAU,EAAE;QACR,aAAa,EAAE,eAAe,CAAC;QAC/B,SAAS,EAAE,qBAAqB,EAAE,CAAC;KACtC,EAAE,CAAC;IACJ,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,yBAAiB,mCAAmC,CAAC;IAC1C,MAAM,KAAK,WAAY,aAAa,KAAG,mCAgC7C,CAAC;IAEK,MAAM,SAAS,WAAY,aAAa,YAAY,mCAAmC,SAkB7F,CAAC;CACL;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,IAAI,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,EAAE,eAAe,CAAC;IAChC,oBAAoB,CAAC,EAAE,eAAe,CAAC;CAC1C,CAAC;AAEF,yBAAiB,qBAAqB,CAAC;IAC5B,MAAM,KAAK,WAAY,aAAa,sBAAsB,MAAM;;;;;;;;;;;;;KAmCtE,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,qBAAqB,sBAAsB,MAAM,SAmB3G,CAAA;CACJ"}
1
+ {"version":3,"file":"BuildableSubsystemSpecialProperties.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKpD,eAAO,MAAM,qCAAqC,QAAS,GAAG,KAAG,GAAG,IAAI,mCAAyF,CAAC;AAElK,MAAM,MAAM,mCAAmC,GAAG;IAC9C,IAAI,EAAE,qCAAqC,CAAC;IAC5C,UAAU,EAAE;QACR,aAAa,EAAE,eAAe,CAAC;QAC/B,SAAS,EAAE,qBAAqB,EAAE,CAAC;KACtC,EAAE,CAAC;IACJ,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,yBAAiB,mCAAmC,CAAC;IAC1C,MAAM,KAAK,WAAY,aAAa,KAAG,mCAgC7C,CAAC;IAEK,MAAM,SAAS,WAAY,aAAa,YAAY,mCAAmC,KAAG,IAkBhG,CAAC;CACL;AAED,MAAM,MAAM,qBAAqB,GAAG;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,IAAI,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,EAAE,eAAe,CAAC;IAChC,oBAAoB,CAAC,EAAE,eAAe,CAAC;CAC1C,CAAC;AAEF,yBAAiB,qBAAqB,CAAC;IAC5B,MAAM,KAAK,WAAY,aAAa,sBAAsB,MAAM,KAAG,qBAmCzE,CAAA;IAEM,MAAM,SAAS,WAAY,aAAa,YAAY,qBAAqB,sBAAsB,MAAM,KAAG,IAmB9G,CAAA;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"BuildableSubsystemSpecialProperties.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { SaveCustomVersion } from '../../../save/save-custom-version';\nimport { col4 } from '../../structs/col4';\nimport { FGDynamicStruct } from '../../structs/FGDynamicStruct';\nimport { ObjectReference } from '../../structs/ObjectReference';\nimport { Transform } from '../../structs/Transform';\nimport { RuntimeBuildableInstanceDataVersion } from './runtime-buildable-instance-data-version';\n\n\n\nexport const isBuildableSubsystemSpecialProperties = (obj: any): obj is BuildableSubsystemSpecialProperties => obj.type === 'BuildableSubsystemSpecialProperties';\n\nexport type BuildableSubsystemSpecialProperties = {\n type: 'BuildableSubsystemSpecialProperties';\n buildables: {\n typeReference: ObjectReference;\n instances: BuildableTypeInstance[];\n }[];\n currentLightweightVersion?: number;\n};\n\nexport namespace BuildableSubsystemSpecialProperties {\n export const Parse = (reader: ContextReader): BuildableSubsystemSpecialProperties => {\n\n const property: BuildableSubsystemSpecialProperties = {\n type: 'BuildableSubsystemSpecialProperties',\n buildables: [],\n currentLightweightVersion: 0\n };\n\n if (reader.context.saveVersion >= SaveCustomVersion.LightweightBuildableSubsystemWritesRuntimeVersion) {\n property.currentLightweightVersion = reader.readInt32();\n }\n\n const entriesCount = reader.readInt32();\n if (entriesCount > 0) {\n\n for (let i = 0; i < entriesCount; i++) {\n const typeReference = ObjectReference.read(reader);\n const count = reader.readInt32();\n\n const instances: BuildableTypeInstance[] = [];\n for (let j = 0; j < count; j++) {\n instances.push(BuildableTypeInstance.Parse(reader, property.currentLightweightVersion ?? 0));\n }\n\n property.buildables.push({\n typeReference,\n instances\n });\n }\n }\n\n return property;\n };\n\n export const Serialize = (writer: ContextWriter, property: BuildableSubsystemSpecialProperties) => {\n\n if (writer.context.saveVersion >= SaveCustomVersion.LightweightBuildableSubsystemWritesRuntimeVersion) {\n writer.writeInt32(property.currentLightweightVersion ?? 1);\n }\n\n writer.writeInt32(Object.keys(property.buildables).length);\n\n if (Object.keys(property.buildables).length > 0) {\n\n for (const buildable of property.buildables) {\n ObjectReference.write(writer, buildable.typeReference);\n writer.writeInt32(buildable.instances.length);\n for (const instance of buildable.instances) {\n BuildableTypeInstance.Serialize(writer, instance, property.currentLightweightVersion ?? 0);\n }\n }\n }\n };\n}\n\nexport type BuildableTypeInstance = {\n transform: Transform;\n primaryColor: col4;\n secondaryColor: col4;\n usedSwatchSlot: ObjectReference;\n usedPattern: ObjectReference;\n usedMaterial: ObjectReference;\n usedSkin: ObjectReference;\n usedPaintFinish: ObjectReference;\n patternRotation: number;\n usedRecipe: ObjectReference;\n blueprintProxy: ObjectReference;\n instanceSpecificData?: FGDynamicStruct;\n};\n\nexport namespace BuildableTypeInstance {\n export const Parse = (reader: ContextReader, lightWeightVersion: number) => {\n const transform = Transform.Parse(reader);\n\n const usedSwatchSlot = ObjectReference.read(reader);\n const usedMaterial = ObjectReference.read(reader);\n const usedPattern = ObjectReference.read(reader);\n const usedSkin = ObjectReference.read(reader);\n\n const primaryColor = col4.ParseRGBA(reader);\n const secondaryColor = col4.ParseRGBA(reader);\n\n const usedPaintFinish = ObjectReference.read(reader);\n const patternRotation = reader.readByte();\n const usedRecipe = ObjectReference.read(reader);\n const blueprintProxy = ObjectReference.read(reader);\n\n let instanceSpecificData;\n if (lightWeightVersion >= RuntimeBuildableInstanceDataVersion.AddedTypeSpecificData) {\n instanceSpecificData = FGDynamicStruct.Parse(reader);\n }\n\n return {\n transform,\n primaryColor,\n secondaryColor,\n usedSwatchSlot,\n usedMaterial,\n usedPattern,\n usedSkin,\n usedRecipe,\n usedPaintFinish,\n patternRotation,\n blueprintProxy,\n instanceSpecificData\n } satisfies BuildableTypeInstance;\n }\n\n export const Serialize = (writer: ContextWriter, instance: BuildableTypeInstance, lightweightVersion: number) => {\n Transform.Serialize(writer, instance.transform);\n\n ObjectReference.write(writer, instance.usedSwatchSlot);\n ObjectReference.write(writer, instance.usedMaterial);\n ObjectReference.write(writer, instance.usedPattern);\n ObjectReference.write(writer, instance.usedSkin);\n\n col4.SerializeRGBA(writer, instance.primaryColor);\n col4.SerializeRGBA(writer, instance.secondaryColor);\n\n ObjectReference.write(writer, instance.usedPaintFinish);\n writer.writeByte(instance.patternRotation);\n ObjectReference.write(writer, instance.usedRecipe);\n ObjectReference.write(writer, instance.blueprintProxy);\n\n if (lightweightVersion >= RuntimeBuildableInstanceDataVersion.AddedTypeSpecificData) {\n FGDynamicStruct.Serialize(writer, instance.instanceSpecificData!);\n }\n }\n};\n\n"]}
1
+ {"version":3,"file":"BuildableSubsystemSpecialProperties.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/BuildableSubsystemSpecialProperties.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { SaveCustomVersion } from '../../../save/save-custom-version';\nimport { col4 } from '../../structs/col4';\nimport { FGDynamicStruct } from '../../structs/FGDynamicStruct';\nimport { ObjectReference } from '../../structs/ObjectReference';\nimport { Transform } from '../../structs/Transform';\nimport { RuntimeBuildableInstanceDataVersion } from './runtime-buildable-instance-data-version';\n\n\n\nexport const isBuildableSubsystemSpecialProperties = (obj: any): obj is BuildableSubsystemSpecialProperties => obj.type === 'BuildableSubsystemSpecialProperties';\n\nexport type BuildableSubsystemSpecialProperties = {\n type: 'BuildableSubsystemSpecialProperties';\n buildables: {\n typeReference: ObjectReference;\n instances: BuildableTypeInstance[];\n }[];\n currentLightweightVersion?: number;\n};\n\nexport namespace BuildableSubsystemSpecialProperties {\n export const Parse = (reader: ContextReader): BuildableSubsystemSpecialProperties => {\n\n const property: BuildableSubsystemSpecialProperties = {\n type: 'BuildableSubsystemSpecialProperties',\n buildables: [],\n currentLightweightVersion: 0\n };\n\n if (reader.context.saveVersion >= SaveCustomVersion.LightweightBuildableSubsystemWritesRuntimeVersion) {\n property.currentLightweightVersion = reader.readInt32();\n }\n\n const entriesCount = reader.readInt32();\n if (entriesCount > 0) {\n\n for (let i = 0; i < entriesCount; i++) {\n const typeReference = ObjectReference.read(reader);\n const count = reader.readInt32();\n\n const instances: BuildableTypeInstance[] = [];\n for (let j = 0; j < count; j++) {\n instances.push(BuildableTypeInstance.Parse(reader, property.currentLightweightVersion ?? 0));\n }\n\n property.buildables.push({\n typeReference,\n instances\n });\n }\n }\n\n return property;\n };\n\n export const Serialize = (writer: ContextWriter, property: BuildableSubsystemSpecialProperties): void => {\n\n if (writer.context.saveVersion >= SaveCustomVersion.LightweightBuildableSubsystemWritesRuntimeVersion) {\n writer.writeInt32(property.currentLightweightVersion ?? 1);\n }\n\n writer.writeInt32(Object.keys(property.buildables).length);\n\n if (Object.keys(property.buildables).length > 0) {\n\n for (const buildable of property.buildables) {\n ObjectReference.write(writer, buildable.typeReference);\n writer.writeInt32(buildable.instances.length);\n for (const instance of buildable.instances) {\n BuildableTypeInstance.Serialize(writer, instance, property.currentLightweightVersion ?? 0);\n }\n }\n }\n };\n}\n\nexport type BuildableTypeInstance = {\n transform: Transform;\n primaryColor: col4;\n secondaryColor: col4;\n usedSwatchSlot: ObjectReference;\n usedPattern: ObjectReference;\n usedMaterial: ObjectReference;\n usedSkin: ObjectReference;\n usedPaintFinish: ObjectReference;\n patternRotation: number;\n usedRecipe: ObjectReference;\n blueprintProxy: ObjectReference;\n instanceSpecificData?: FGDynamicStruct;\n};\n\nexport namespace BuildableTypeInstance {\n export const Parse = (reader: ContextReader, lightWeightVersion: number): BuildableTypeInstance => {\n const transform = Transform.Parse(reader);\n\n const usedSwatchSlot = ObjectReference.read(reader);\n const usedMaterial = ObjectReference.read(reader);\n const usedPattern = ObjectReference.read(reader);\n const usedSkin = ObjectReference.read(reader);\n\n const primaryColor = col4.ParseRGBA(reader);\n const secondaryColor = col4.ParseRGBA(reader);\n\n const usedPaintFinish = ObjectReference.read(reader);\n const patternRotation = reader.readByte();\n const usedRecipe = ObjectReference.read(reader);\n const blueprintProxy = ObjectReference.read(reader);\n\n let instanceSpecificData;\n if (lightWeightVersion >= RuntimeBuildableInstanceDataVersion.AddedTypeSpecificData) {\n instanceSpecificData = FGDynamicStruct.Parse(reader);\n }\n\n return {\n transform,\n primaryColor,\n secondaryColor,\n usedSwatchSlot,\n usedMaterial,\n usedPattern,\n usedSkin,\n usedRecipe,\n usedPaintFinish,\n patternRotation,\n blueprintProxy,\n instanceSpecificData\n } satisfies BuildableTypeInstance;\n }\n\n export const Serialize = (writer: ContextWriter, instance: BuildableTypeInstance, lightweightVersion: number): void => {\n Transform.Serialize(writer, instance.transform);\n\n ObjectReference.write(writer, instance.usedSwatchSlot);\n ObjectReference.write(writer, instance.usedMaterial);\n ObjectReference.write(writer, instance.usedPattern);\n ObjectReference.write(writer, instance.usedSkin);\n\n col4.SerializeRGBA(writer, instance.primaryColor);\n col4.SerializeRGBA(writer, instance.secondaryColor);\n\n ObjectReference.write(writer, instance.usedPaintFinish);\n writer.writeByte(instance.patternRotation);\n ObjectReference.write(writer, instance.usedRecipe);\n ObjectReference.write(writer, instance.blueprintProxy);\n\n if (lightweightVersion >= RuntimeBuildableInstanceDataVersion.AddedTypeSpecificData) {\n FGDynamicStruct.Serialize(writer, instance.instanceSpecificData!);\n }\n }\n};\n\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CircuitSpecialProperties.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/CircuitSpecialProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE,eAAO,MAAM,0BAA0B,QAAS,GAAG,KAAG,GAAG,IAAI,wBAAmE,CAAC;AAEjI,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,0BAA0B,CAAC;IACjC,QAAQ,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,eAAe,EAAE,eAAe,CAAC;KACpC,EAAE,CAAC;CACP,CAAC;AAEF,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,KAAK,WAAY,aAAa,KAAG,wBAc7C,CAAC;IAEK,MAAM,SAAS,WAAY,aAAa,YAAY,wBAAwB,SAMlF,CAAC;CACL"}
1
+ {"version":3,"file":"CircuitSpecialProperties.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/CircuitSpecialProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIhE,eAAO,MAAM,0BAA0B,QAAS,GAAG,KAAG,GAAG,IAAI,wBAAmE,CAAC;AAEjI,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,0BAA0B,CAAC;IACjC,QAAQ,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,eAAe,EAAE,eAAe,CAAC;KACpC,EAAE,CAAC;CACP,CAAC;AAEF,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,KAAK,WAAY,aAAa,KAAG,wBAc7C,CAAC;IAEK,MAAM,SAAS,WAAY,aAAa,YAAY,wBAAwB,KAAG,IAMrF,CAAC;CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"CircuitSpecialProperties.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/CircuitSpecialProperties.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAIzD,MAAM,0BAA0B,GAAG,CAAC,GAAQ,EAAmC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,0BAA0B,CAAC;AAApH,QAAA,0BAA0B,8BAA0F;AAUjI,IAAiB,wBAAwB,CAwBxC;AAxBD,WAAiB,wBAAwB;IACxB,8BAAK,GAAG,CAAC,MAAqB,EAA4B,EAAE;QACrE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE;gBACtB,eAAe,EAAE,iCAAe,CAAC,IAAI,CAAC,MAAM,CAAC;aAChD,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACH,IAAI,EAAE,0BAA0B;YAChC,QAAQ;SACX,CAAC;IACN,CAAC,CAAC;IAEW,kCAAS,GAAG,CAAC,MAAqB,EAAE,QAAkC,EAAE,EAAE;QACnF,MAAM,CAAC,UAAU,CAAE,QAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1E,KAAK,MAAM,OAAO,IAAK,QAAqC,CAAC,QAAQ,EAAE,CAAC;YACpE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9B,iCAAe,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC,CAAC;AACN,CAAC,EAxBgB,wBAAwB,wCAAxB,wBAAwB,QAwBxC","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { ObjectReference } from '../../structs/ObjectReference';\n\n\n\nexport const isCircuitSpecialProperties = (obj: any): obj is CircuitSpecialProperties => obj.type === 'CircuitSpecialProperties';\n\nexport type CircuitSpecialProperties = {\n type: 'CircuitSpecialProperties';\n circuits: {\n id: number;\n objectReference: ObjectReference;\n }[];\n};\n\nexport namespace CircuitSpecialProperties {\n export const Parse = (reader: ContextReader): CircuitSpecialProperties => {\n const count = reader.readInt32();\n const circuits = [];\n for (let i = 0; i < count; i++) {\n circuits.push({\n id: reader.readInt32(),\n objectReference: ObjectReference.read(reader)\n });\n }\n\n return {\n type: 'CircuitSpecialProperties',\n circuits\n };\n };\n\n export const Serialize = (writer: ContextWriter, property: CircuitSpecialProperties) => {\n writer.writeInt32((property as CircuitSpecialProperties).circuits.length);\n for (const circuit of (property as CircuitSpecialProperties).circuits) {\n writer.writeInt32(circuit.id);\n ObjectReference.write(writer, circuit.objectReference);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"CircuitSpecialProperties.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/CircuitSpecialProperties.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAIzD,MAAM,0BAA0B,GAAG,CAAC,GAAQ,EAAmC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,0BAA0B,CAAC;AAApH,QAAA,0BAA0B,8BAA0F;AAUjI,IAAiB,wBAAwB,CAwBxC;AAxBD,WAAiB,wBAAwB;IACxB,8BAAK,GAAG,CAAC,MAAqB,EAA4B,EAAE;QACrE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE;gBACtB,eAAe,EAAE,iCAAe,CAAC,IAAI,CAAC,MAAM,CAAC;aAChD,CAAC,CAAC;QACP,CAAC;QAED,OAAO;YACH,IAAI,EAAE,0BAA0B;YAChC,QAAQ;SACX,CAAC;IACN,CAAC,CAAC;IAEW,kCAAS,GAAG,CAAC,MAAqB,EAAE,QAAkC,EAAQ,EAAE;QACzF,MAAM,CAAC,UAAU,CAAE,QAAqC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1E,KAAK,MAAM,OAAO,IAAK,QAAqC,CAAC,QAAQ,EAAE,CAAC;YACpE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9B,iCAAe,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC,CAAC;AACN,CAAC,EAxBgB,wBAAwB,wCAAxB,wBAAwB,QAwBxC","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { ObjectReference } from '../../structs/ObjectReference';\n\n\n\nexport const isCircuitSpecialProperties = (obj: any): obj is CircuitSpecialProperties => obj.type === 'CircuitSpecialProperties';\n\nexport type CircuitSpecialProperties = {\n type: 'CircuitSpecialProperties';\n circuits: {\n id: number;\n objectReference: ObjectReference;\n }[];\n};\n\nexport namespace CircuitSpecialProperties {\n export const Parse = (reader: ContextReader): CircuitSpecialProperties => {\n const count = reader.readInt32();\n const circuits = [];\n for (let i = 0; i < count; i++) {\n circuits.push({\n id: reader.readInt32(),\n objectReference: ObjectReference.read(reader)\n });\n }\n\n return {\n type: 'CircuitSpecialProperties',\n circuits\n };\n };\n\n export const Serialize = (writer: ContextWriter, property: CircuitSpecialProperties): void => {\n writer.writeInt32((property as CircuitSpecialProperties).circuits.length);\n for (const circuit of (property as CircuitSpecialProperties).circuits) {\n writer.writeInt32(circuit.id);\n ObjectReference.write(writer, circuit.objectReference);\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConveyorChainActorSpecialProperties.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI1C,eAAO,MAAM,qCAAqC,QAAS,GAAG,KAAG,GAAG,IAAI,mCAAyF,CAAC;AAElK,MAAM,MAAM,mCAAmC,GAAG;IAC9C,IAAI,EAAE,qCAAqC,CAAC;IAC5C,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,qCAAqC,EAAE,CAAC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,6BAA6B,EAAE,CAAC;CAC1C,CAAC;AAEF,yBAAiB,mCAAmC,CAAC;IAC1C,MAAM,KAAK,WAAY,aAAa,KAAG,mCAoE7C,CAAC;IAEK,MAAM,SAAS,WAAY,aAAa,YAAY,mCAAmC,SAqC7F,CAAC;CACL;AACD,MAAM,MAAM,qCAAqC,GAAG;IAChD,aAAa,EAAE,eAAe,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE;QACV,QAAQ,EAAE,IAAI,CAAC;QACf,aAAa,EAAE,IAAI,CAAC;QACpB,YAAY,EAAE,IAAI,CAAC;KACtB,EAAE,CAAC;IACJ,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,eAAe,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"ConveyorChainActorSpecialProperties.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI1C,eAAO,MAAM,qCAAqC,QAAS,GAAG,KAAG,GAAG,IAAI,mCAAyF,CAAC;AAElK,MAAM,MAAM,mCAAmC,GAAG;IAC9C,IAAI,EAAE,qCAAqC,CAAC;IAC5C,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,qCAAqC,EAAE,CAAC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,6BAA6B,EAAE,CAAC;CAC1C,CAAC;AAEF,yBAAiB,mCAAmC,CAAC;IAC1C,MAAM,KAAK,WAAY,aAAa,KAAG,mCAoE7C,CAAC;IAEK,MAAM,SAAS,WAAY,aAAa,YAAY,mCAAmC,KAAG,IAqChG,CAAC;CACL;AACD,MAAM,MAAM,qCAAqC,GAAG;IAChD,aAAa,EAAE,eAAe,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE;QACV,QAAQ,EAAE,IAAI,CAAC;QACf,aAAa,EAAE,IAAI,CAAC;QACpB,YAAY,EAAE,IAAI,CAAC;KACtB,EAAE,CAAC;IACJ,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,eAAe,CAAC;CAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConveyorChainActorSpecialProperties.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { ObjectReference } from '../../structs/ObjectReference';\nimport { vec3 } from '../../structs/vec3';\n\n\n\nexport const isConveyorChainActorSpecialProperties = (obj: any): obj is ConveyorChainActorSpecialProperties => obj.type === 'ConveyorChainActorSpecialProperties';\n\nexport type ConveyorChainActorSpecialProperties = {\n type: 'ConveyorChainActorSpecialProperties';\n firstBelt: ObjectReference;\n lastBelt: ObjectReference;\n beltsInChain: ConveyorChainSegmentSpecialProperties[];\n totalLength: number;\n totalNumberItemsMaybe: number;\n firstChainItemIndex: number;\n lastChainItemIndex: number;\n items: ConveyorItemSpecialProperties[];\n};\n\nexport namespace ConveyorChainActorSpecialProperties {\n export const Parse = (reader: ContextReader): ConveyorChainActorSpecialProperties => {\n\n const lastBelt = ObjectReference.read(reader);\n const firstBelt = ObjectReference.read(reader);\n const countBeltsInChain = reader.readInt32();\n\n const beltsInChain: ConveyorChainSegmentSpecialProperties[] = [];\n for (let i = 0; i < countBeltsInChain; i++) {\n const chainActorRef = ObjectReference.read(reader);\n const beltRef = ObjectReference.read(reader);\n const splinePointsCount = reader.readInt32();\n\n const splinePoints: { location: vec3; arriveTangent: vec3; leaveTangent: vec3; }[] = [];\n for (let j = 0; j < splinePointsCount; j++) {\n splinePoints.push({\n location: vec3.Parse(reader),\n arriveTangent: vec3.Parse(reader),\n leaveTangent: vec3.Parse(reader),\n });\n }\n\n // indices which items of this chain are on this belt.\n const offsetAtStart = reader.readFloat32();\n const startsAtLength = reader.readFloat32();\n const endsAtLength = reader.readFloat32();\n const firstItemIndex = reader.readInt32();\n const lastItemIndex = reader.readInt32();\n const beltIndexInChain = reader.readInt32();\n\n beltsInChain.push({\n chainActorRef,\n beltRef,\n splinePoints,\n offsetAtStart,\n startsAtLength,\n endsAtLength,\n firstItemIndex,\n lastItemIndex,\n beltIndexInChain\n });\n }\n\n const totalLength = reader.readFloat32();\n const totalNumberItemsMaybe = reader.readInt32();\n\n const firstChainItemIndex = reader.readInt32();\n const lastChainItemIndex = reader.readInt32();\n const countItemsInChain = reader.readInt32();\n\n const items: ConveyorItemSpecialProperties[] = [];\n for (let n = 0; n < countItemsInChain; n++) {\n const item = ObjectReference.read(reader);\n reader.readInt32(); //0\n const position = reader.readInt32();\n items.push({ itemReference: item, position });\n }\n\n return {\n type: 'ConveyorChainActorSpecialProperties',\n firstBelt: firstBelt,\n lastBelt: lastBelt,\n beltsInChain,\n totalLength,\n totalNumberItemsMaybe,\n firstChainItemIndex,\n lastChainItemIndex,\n items\n };\n };\n\n export const Serialize = (writer: ContextWriter, property: ConveyorChainActorSpecialProperties) => {\n\n ObjectReference.write(writer, property.lastBelt);\n ObjectReference.write(writer, property.firstBelt);\n writer.writeInt32(property.beltsInChain.length);\n\n for (const belt of property.beltsInChain) {\n ObjectReference.write(writer, belt.chainActorRef);\n ObjectReference.write(writer, belt.beltRef);\n writer.writeInt32(belt.splinePoints.length);\n\n\n for (const splinepoint of belt.splinePoints) {\n vec3.Serialize(writer, splinepoint.location);\n vec3.Serialize(writer, splinepoint.arriveTangent);\n vec3.Serialize(writer, splinepoint.leaveTangent);\n }\n\n writer.writeFloat32(belt.offsetAtStart);\n writer.writeFloat32(belt.startsAtLength);\n writer.writeFloat32(belt.endsAtLength);\n writer.writeInt32(belt.firstItemIndex);\n writer.writeInt32(belt.lastItemIndex);\n writer.writeInt32(belt.beltIndexInChain);\n }\n\n writer.writeFloat32(property.totalLength);\n writer.writeInt32(property.totalNumberItemsMaybe);\n writer.writeInt32(property.firstChainItemIndex);\n writer.writeInt32(property.lastChainItemIndex);\n writer.writeInt32(property.items.length);\n\n for (const item of property.items) {\n ObjectReference.write(writer, item.itemReference);\n writer.writeInt32(0);\n writer.writeInt32(item.position);\n }\n };\n}\nexport type ConveyorChainSegmentSpecialProperties = {\n chainActorRef: ObjectReference;\n beltRef: ObjectReference;\n splinePoints: {\n location: vec3;\n arriveTangent: vec3;\n leaveTangent: vec3;\n }[];\n offsetAtStart: number;\n startsAtLength: number;\n endsAtLength: number;\n firstItemIndex: number;\n lastItemIndex: number;\n beltIndexInChain: number;\n};\nexport type ConveyorItemSpecialProperties = {\n position: number;\n itemReference: ObjectReference;\n};\n\n"]}
1
+ {"version":3,"file":"ConveyorChainActorSpecialProperties.js","sourceRoot":"","sources":["../../../../../../src/parser/satisfactory/types/property/special/ConveyorChainActorSpecialProperties.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextReader } from '../../../../context/context-reader';\nimport { ContextWriter } from '../../../../context/context-writer';\nimport { ObjectReference } from '../../structs/ObjectReference';\nimport { vec3 } from '../../structs/vec3';\n\n\n\nexport const isConveyorChainActorSpecialProperties = (obj: any): obj is ConveyorChainActorSpecialProperties => obj.type === 'ConveyorChainActorSpecialProperties';\n\nexport type ConveyorChainActorSpecialProperties = {\n type: 'ConveyorChainActorSpecialProperties';\n firstBelt: ObjectReference;\n lastBelt: ObjectReference;\n beltsInChain: ConveyorChainSegmentSpecialProperties[];\n totalLength: number;\n totalNumberItemsMaybe: number;\n firstChainItemIndex: number;\n lastChainItemIndex: number;\n items: ConveyorItemSpecialProperties[];\n};\n\nexport namespace ConveyorChainActorSpecialProperties {\n export const Parse = (reader: ContextReader): ConveyorChainActorSpecialProperties => {\n\n const lastBelt = ObjectReference.read(reader);\n const firstBelt = ObjectReference.read(reader);\n const countBeltsInChain = reader.readInt32();\n\n const beltsInChain: ConveyorChainSegmentSpecialProperties[] = [];\n for (let i = 0; i < countBeltsInChain; i++) {\n const chainActorRef = ObjectReference.read(reader);\n const beltRef = ObjectReference.read(reader);\n const splinePointsCount = reader.readInt32();\n\n const splinePoints: { location: vec3; arriveTangent: vec3; leaveTangent: vec3; }[] = [];\n for (let j = 0; j < splinePointsCount; j++) {\n splinePoints.push({\n location: vec3.Parse(reader),\n arriveTangent: vec3.Parse(reader),\n leaveTangent: vec3.Parse(reader),\n });\n }\n\n // indices which items of this chain are on this belt.\n const offsetAtStart = reader.readFloat32();\n const startsAtLength = reader.readFloat32();\n const endsAtLength = reader.readFloat32();\n const firstItemIndex = reader.readInt32();\n const lastItemIndex = reader.readInt32();\n const beltIndexInChain = reader.readInt32();\n\n beltsInChain.push({\n chainActorRef,\n beltRef,\n splinePoints,\n offsetAtStart,\n startsAtLength,\n endsAtLength,\n firstItemIndex,\n lastItemIndex,\n beltIndexInChain\n });\n }\n\n const totalLength = reader.readFloat32();\n const totalNumberItemsMaybe = reader.readInt32();\n\n const firstChainItemIndex = reader.readInt32();\n const lastChainItemIndex = reader.readInt32();\n const countItemsInChain = reader.readInt32();\n\n const items: ConveyorItemSpecialProperties[] = [];\n for (let n = 0; n < countItemsInChain; n++) {\n const item = ObjectReference.read(reader);\n reader.readInt32(); //0\n const position = reader.readInt32();\n items.push({ itemReference: item, position });\n }\n\n return {\n type: 'ConveyorChainActorSpecialProperties',\n firstBelt: firstBelt,\n lastBelt: lastBelt,\n beltsInChain,\n totalLength,\n totalNumberItemsMaybe,\n firstChainItemIndex,\n lastChainItemIndex,\n items\n };\n };\n\n export const Serialize = (writer: ContextWriter, property: ConveyorChainActorSpecialProperties): void => {\n\n ObjectReference.write(writer, property.lastBelt);\n ObjectReference.write(writer, property.firstBelt);\n writer.writeInt32(property.beltsInChain.length);\n\n for (const belt of property.beltsInChain) {\n ObjectReference.write(writer, belt.chainActorRef);\n ObjectReference.write(writer, belt.beltRef);\n writer.writeInt32(belt.splinePoints.length);\n\n\n for (const splinepoint of belt.splinePoints) {\n vec3.Serialize(writer, splinepoint.location);\n vec3.Serialize(writer, splinepoint.arriveTangent);\n vec3.Serialize(writer, splinepoint.leaveTangent);\n }\n\n writer.writeFloat32(belt.offsetAtStart);\n writer.writeFloat32(belt.startsAtLength);\n writer.writeFloat32(belt.endsAtLength);\n writer.writeInt32(belt.firstItemIndex);\n writer.writeInt32(belt.lastItemIndex);\n writer.writeInt32(belt.beltIndexInChain);\n }\n\n writer.writeFloat32(property.totalLength);\n writer.writeInt32(property.totalNumberItemsMaybe);\n writer.writeInt32(property.firstChainItemIndex);\n writer.writeInt32(property.lastChainItemIndex);\n writer.writeInt32(property.items.length);\n\n for (const item of property.items) {\n ObjectReference.write(writer, item.itemReference);\n writer.writeInt32(0);\n writer.writeInt32(item.position);\n }\n };\n}\nexport type ConveyorChainSegmentSpecialProperties = {\n chainActorRef: ObjectReference;\n beltRef: ObjectReference;\n splinePoints: {\n location: vec3;\n arriveTangent: vec3;\n leaveTangent: vec3;\n }[];\n offsetAtStart: number;\n startsAtLength: number;\n endsAtLength: number;\n firstItemIndex: number;\n lastItemIndex: number;\n beltIndexInChain: number;\n};\nexport type ConveyorItemSpecialProperties = {\n position: number;\n itemReference: ObjectReference;\n};\n\n"]}